/*--------------------------------------------
  グローバル関数設定
--------------------------------------------*/
var d = document;
var dE = d.documentElement;
var jsName = "js/default.js";
var jsdefaultpath = "";
var debugflg = false;


/*--------------------------------------------
  インクルードするJS設定
--------------------------------------------*/
var ar_include = new Array();
ar_include.push("css_switch/js/css_switch.js","","css_switch.end();");
ar_include.push("js/rollover.js","","rollover.end();");
ar_include.push("js/popup.js","","");
ar_include.push("js/effects.js","","");

//スクロールTOP機能
ar_include.push("scrolltop/js/auto-scroll.js","","");




/*--------------------------------------------
  HTML　イベント機能
--------------------------------------------*/
//HTMLが読み込み完了時に発生するイベント
document.observe('dom:loaded', function () {
  if(debugflg){//デバックモードの時に実行
    debug._init();
    debug._settext("-------------デバックモード発動<br>");

    debug._settext("-------------onload<br>");
    debug._settext("jsdefaultpath："+jsdefaultpath+"<br>");
  }

  //include.setloadFun();
});

//HTMLがアンロード時（ページを抜けるとき?）に発生するイベント
window.onunload = function() {
  if(debugflg){//デバックモードの時に実行
    debug._settext("-------------onunload<br>");
  }
  include.setonloadFun();
}

/*--------------------------------------------
  JSインクルード機能
--------------------------------------------*/
var include = new Object();

include={
  _init:function(){
//    alert("-------------include.init<br>");
    var script = d.getElementsByTagName("script");
    for(i=0;i<script.length;i++){
      if(script[i].getAttribute("src").indexOf(jsName)!="-1"){
        jsdefaultpath=script[i].getAttribute("src").slice(0,-1 * jsName.length);
      }
    }


    var roop = ar_include.length/3;
    var name;
    var loadfun;
    var onloadfun;
    var jsname ="";
    this.jsloadfun ="";
    this.jsonunloadfun ="";

    for(i=0; i<=roop-1; i++){
      name = i * 3;
      loadfun = i * 3+1;
      onloadfun = i * 3+2;
      if(ar_include[name]!=""){
        jsname =ar_include[name];
        include.setJS(jsname);
      }

      if(ar_include[loadfun]!=""){
        this.jsloadfun +=ar_include[loadfun];
      }

      if(ar_include[onloadfun]!=""){
        this.jsonunloadfun +=ar_include[onloadfun];
      }
    //alert("jsloadfun"+this.jsloadfun);
    //alert("jsonunloadfun:"+this.jsonunloadfun);
    }
  },
  setJS:function(astrFile){
    document.write("<sc" + "ript type=\'text/javascript\' src=\'" + jsdefaultpath + astrFile + "\'></sc" + "ript>");


/*
    script = document.createElement("script");
    script.setAttribute("src",filePath);
    script.setAttribute("type","text/javascript");
    document.getElementsByTagName("head")[0].appendChild(script);
*/
  },
  setloadFun:function(){
    debug._settext("-------------include.setFun<br>");
      debug._settext("jsloadfun = " + this.jsloadfun +"<br>");
        eval(this.jsloadfun);
  },
  setonloadFun:function(){
    debug._settext("-------------include.setFun<br>");
      debug._settext("jsonunloadfun = " + this.jsonunloadfun +"<br>");
        eval(this.jsonunloadfun);

  }

};



/*--------------------------------------------
  指定した空のDIVを作成
--------------------------------------------*/
function addDiv(idname) {
debug._settext("-------------addDiv<br>");
  var element = document.createElement('div');
  element.id = idname;
//  element.style.display = 'none';
  element.innerHTML = idname;
  var objBody = document.getElementsByTagName("body").item(0);
  objBody.appendChild(element); // body要素にdivエレメントを追加
debug._settext("element.innerHTML = " + element.innerHTML + "<br>");

}

/*--------------------------------------------
  ClassNameを指定機能
--------------------------------------------*/
document.getElementsByClassName = function(classname) {
  var elements = new Array();
  var re = new RegExp('(^| )'+classname+'( |$)');
  var ael = document.getElementsByTagName('*');
  var op = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
  if (document.all && !op) ael = document.all;
    for(i=0, j=0 ; i<ael.length ; i++) {
      if(re.test(ael[i].className)) {
        elements[j]=ael[i];
        j++;
      }
    }
  return elements;
};

/*--------------------------------------------
  デバック機能
--------------------------------------------*/
var debug = new Object();

debug={
  _init:function(){//デバック用に空のDIVを作成
    var element = d.createElement('div');
    element.id = "test";
    element.style.background = '#c0c0c0';
    element.style.position = "fixed";
    element.style.width = "320px";
    element.style.height = "400px";
    element.style.left = "000px";
    element.style.top  = "10px";
    element.style.padding = '10px';
    element.style.overflow="scroll";
    var objBody = d.getElementsByTagName("body").item(0);
    objBody.appendChild(element);
    // body要素にdivエレメントを追加
  },
  _settext:function(val){//空のDIV（test）にコメントを追加
    if(debugflg){
      d.getElementById("test").innerHTML += val;
    }
  },
  _settext2:function(val){//空のDIV（test）のコメントを差し替え
    if(debugflg){
      d.getElementById("test").innerHTML = val;
    }
  }
}

include._init();
