//== 更新履歴 ============================================================
// 2009/09/01 新規作成
//========================================================================

//== リスト ==============================================================
// 01.外部jsファイル読込み
//========================================================================

//========================================================================
// 01.外部jsファイル読込み
//========================================================================

var loadExternalFile = {
	config:{
		thisName:"common.js",
		loadJsFile:[
					"/tenori-on/common/js/linkwindow.js",
					"/tenori-on/common/js/imagecontroll.js",
					"/tenori-on/common/js/smoothscroll.js"
					]
		},

	loadJs:function(){
		var script = document.getElementsByTagName("script");
		for(i = 0; i<script.length; i++){
			if(script[i].getAttribute("src").indexOf(this.config.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;
						}
				}
				
				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*this.config.thisName.length);
				
				for(j = 0; j<this.config.loadJsFile.length; j++){
					if(!this.config.loadJsFile[j].match(/^\/|^http\:|^https\:|^\.\.\//)){
						this.writeJS(thisDir+this.config.loadJsFile[j]);
						}else if(this.config.loadJsFile[j].match(/^\/|^http\:|^https\:/)){
							this.writeJS(this.config.loadJsFile[j]);
							}else if(this.config.loadJsFile[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;
										}
									}
								upperDirArray = this.config.loadJsFile[j].match(/\.\.\//g);
								var dir = "";
								for(k = 0; k<(writeDirArray.length - upperDirArray.length); k++){
									dir += writeDirArray[k]+'/';
									}
								
								// remove "../"
								this.config.loadJsFile[j] = dir + this.config.loadJsFile[j].replace(/\.\.\//g, "");
								this.writeJS(this.config.loadJsFile[j]);
								}
					}
				break;
				}
			}
		}, // END OF this.loadJs
		
	writeJS:function(filePath){
		script = document.createElement("script");
		script.setAttribute("type", "text/javascript");
		script.setAttribute("charset", "utf-8");
		script.setAttribute("src", filePath);
		document.getElementsByTagName("head")[0].appendChild(script);
		}
	}
loadExternalFile.loadJs();