//////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Author : http://www.yomotsu.net
// created: 2007/11/01
// Licensed under the GNU Lesser General Public License version 2.1
// 
// JSを読み込むためのスクリプト
//
//////////////////////////////////////////////////////////////////////////////////////////////////////

var yomotsuLoader = {

	conf : {
		thisName : "jsloader.js",//このJSのファイル名
		loadJS   : ["gnavpop.js","rollover.js","openwin.js","iepng.js","replaceascii.js","scrolltotop.js"]//JS達のパス。相対で指定したい場合はこのJSからみたパス
	},

	
	main : function(){
		var script = document.getElementsByTagName("script");
		for(i=0;i<script.length;i++){
			if(script[i].getAttribute("src").indexOf(yomotsuLoader.conf.thisName)!=0){
				
				
				
				locationStr = location+""
				var DirArray = new Array();
				N=0;
				while (true) { 
				 DirArray[N] = locationStr.slice(0,locationStr.indexOf("/"));
				 locationStr = locationStr.slice(locationStr.indexOf("/")+1,locationStr.length);
				 N++;
				 if (locationStr.indexOf("/")==-1) {
					break;
				 }
				}
				
				//alert(DirArray) //現在のHTMLがあるディレクトリ
				
				
				
				
				var scriptSrc = script[i].getAttribute("src");
				scriptSrc      = scriptSrc.replace(/\.\.\//g, "");
				var upperDirLength = script[i].getAttribute("src").match(/\.\.\//g) ? script[i].getAttribute("src").match(/\.\.\//g).length : 0 ;  // "../"の数
				
				var thisDir = ""
				for(j=0;j<(DirArray.length - upperDirLength);j++){
					thisDir += DirArray[j]+'/'
				}
				thisDir = thisDir.slice(0, -1) + '/' + scriptSrc ;
				thisDir = thisDir.slice(0,-1 * yomotsuLoader.conf.thisName.length)
				//alert(thisDir) //このJSがあるディレクトリ
		

		
				for(j=0;j<yomotsuLoader.conf.loadJS.length;j++){
					
					if (!yomotsuLoader.conf.loadJS[j].match(/^\/|^http\:|^https\:|^\.\.\//)) {
						//このJSと同階層かそれ以下にある場合
						yomotsuLoader.writeJS(thisDir+yomotsuLoader.conf.loadJS[j])
					}
					else if (yomotsuLoader.conf.loadJS[j].match(/^\/|^http\:|^https\:/)) {
						//フルパス、またはサイトルートからのパスの場合
						yomotsuLoader.writeJS(yomotsuLoader.conf.loadJS[j])
					}
					else if (yomotsuLoader.conf.loadJS[j].match(/^..\//)) {
						//パスに"../"が入っている場合
						
						var writeDirArray = new Array();
						
						writeDir = thisDir;
						N=0;
						while (true) { 
							writeDirArray[N] = writeDir.slice(0,writeDir.indexOf("/"));
							writeDir = writeDir.slice(writeDir.indexOf("/")+1,writeDir.length);
							N++;
							if (writeDir.indexOf("/")==-1) {
								break;
							}
						}
						
						//alert(writeDirArray)
						
						upperDirArray = yomotsuLoader.conf.loadJS[j].match(/\.\.\//g);
						var dir =""
						for(k=0;k<(writeDirArray.length - upperDirArray.length);k++){
							dir += writeDirArray[k]+'/'
						}

						// remove "../"
						yomotsuLoader.conf.loadJS[j] = dir + yomotsuLoader.conf.loadJS[j].replace(/\.\.\//g, "")
						yomotsuLoader.writeJS(yomotsuLoader.conf.loadJS[j])
						
					}
				}
				
			break;
			}
		}
	}, // END OF yomotsu.main
	
	
		
	writeJS : function(filePath){
		document.write('\n<sc' + 'ript type="text/javascript" src="' + filePath + '"></sc' + 'ript>');
	}
	
}

yomotsuLoader.main()
