/*====================================================================================================
//////////////////////////////////////////////////////////////////////////////////////////////////////

 created: 2007/11/01
 update : 2010/02/26 nagai

//////////////////////////////////////////////////////////////////////////////////////////////////////
====================================================================================================*/

var jsLoader = {
    conf : {
        loader : "jsLoader.js",
        loadJS : [
        	'ie6png.htc',
            'ie6csshover.htc',
            'rollover.js',
            'smoothScroll.js',
            'stripeTable.js',
            'mailAddrDecoder.js'
			// "gMapLoader"
        ]
    },
    
    main : function()
    {
        var script = document.getElementsByTagName("script");
        for(var i=0;i<script.length;i++){
            if(script[i].getAttribute("src") && script[i].getAttribute("src").match(jsLoader.conf.loader)){
                
                locationStr = location+""
                var DirArray = new Array();
                var 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 loaderDir = "";
                if(scriptSrc.match(/^http\:|^https\:|^file\:|^\//)){
                    loaderDir = scriptSrc.replace(jsLoader.conf.loader, "");
                }
                else {
                    var upperDirLength = script[i].getAttribute("src").match(/\.\.\//g) ? script[i].getAttribute("src").match(/\.\.\//g).length : 0 ;
                    
                    for (j = 0; j < (DirArray.length - upperDirLength); j++){
                        loaderDir += DirArray[j]+'/'
                    }
                    loaderDir = loaderDir.slice(0, -1) + '/' + scriptSrc ;
                    loaderDir = loaderDir.slice(0,-1 * jsLoader.conf.loader.length);
                }                
                
                for (j = 0; j < jsLoader.conf.loadJS.length; j++){
                    
                    if (!jsLoader.conf.loadJS[j].match(/^\/|^http\:|^https\:|^\.\.\//)) {
                        jsLoader.setJS(loaderDir+jsLoader.conf.loadJS[j])
                    }
                    else if (jsLoader.conf.loadJS[j].match(/^\/|^http\:|^https\:/)) {
                        jsLoader.setJS(jsLoader.conf.loadJS[j])
                    }
                    else if (jsLoader.conf.loadJS[j].match(/^\.\.\//)) {
                        
                        var setDirArray = new Array();
                        
                        setDir = loaderDir;
                        N = 0;
                        while (true) { 
                            setDirArray[N] = setDir.slice(0,setDir.indexOf("/"));
                            setDir = setDir.slice(setDir.indexOf("/")+1,setDir.length);
                            N++;
                            if (setDir.indexOf("/") == -1) {
                                break;
                            }
                        }
                        
                        upperDirArray = jsLoader.conf.loadJS[j].match(/\.\.\//g);
                        var dir = "";
                        for(k = 0; k < (setDirArray.length - upperDirArray.length); k++) {
                            dir += setDirArray[k]+'/';
                        }

                        // remove "../"
                        jsLoader.conf.loadJS[j] = dir + jsLoader.conf.loadJS[j].replace(/\.\.\//g, "");
                        jsLoader.setJS(jsLoader.conf.loadJS[j]);
                        
                    }
                }
                
            break;
            }
        }
    }, // END OF jsLoader.main
        
    setJS : function(filePath)
    {
        script = document.createElement("script");
        script.setAttribute("src", filePath);
        script.setAttribute("type", "text/javascript");
        document.getElementsByTagName("head")[0].appendChild(script);
    }
};

jsLoader.main();