(function(){
 /*Use Object Detection to detect IE6*/
 var  m = document.uniqueID /*IE*/
 && document.compatMode  /*>=IE6*/
 && !window.XMLHttpRequest /*<=IE6*/
 && document.execCommand ;
 
 try{
  if(!!m){
   m("BackgroundImageCache", false, true) /* = IE6 only */ 
  }
 }catch(oh){};
})();

  var modsCodeline = Class.create({
    version       : "1.1",
    author        : "SQUALL",
    createDate    : "2009.11.11",
    lastModifyDate: "2009.11.11",
    initialize: function(){},
    drawLine: function(obj){
      var myCodes = jQuery("."+obj.findClass);
      jQuery.each(myCodes, function(i, n){
        var p_out = [];
        var nh = parseInt(jQuery(n).height());
        p_out.push("<div class=\""+obj.attatchClass+"\" style=\"height:"+nh+"px\">");
        var nums = parseInt(nh/18).rangeFrom(1);
        jQuery.each(nums, function(i, n){
          p_out.push(n+"<br/>");
        });
        p_out.push("</div>");
        jQuery(n).prepend(p_out.join(''));
      });
    }
  });
  var myCodeLine = new modsCodeline();

	var myMenu = new modsTree();

  /*
  * id : user identify, nm : name, fm : format, at : attribute, cn : childNodes, _id : process identify [hidden value]
  */
	var sitemenus = [
		{id:"0", nm:"소개", fm:"t2", at:"/intro/default.do"},
		{id:"1", nm:"일러두기", fm:"t3", at:"/intro/legend.do"},
		{id:"2", nm:"modsAX.js", fm:"t0", cn:[
			{id:"2.0", nm:"소개 및 사용법", fm:"t1", at:"/modsAX/intro.do"},
			{id:"2.1", nm:"Prototype 메소드", fm:"t1", at:"/modsAX/method.do"},
			{id:"2.2", nm:"mods 객체", fm:"t1", at:"/modsAX/oop.do"},
			{id:"2.3", nm:"Extend Easing", fm:"t1", at:"/modsAX/easing.do"},
			{id:"2.4", nm:"mods 공용 클래스", fm:"t1", at:"/modsAX/class.do"}
		]},
		{id:"3", nm:"modsDrag.js", fm:"t0", cn:[
			{id:"3.0", nm:"미리보기", fm:"t1", at:"/modsAX/modsDrag/sample.do"},
			{id:"3.1", nm:"매뉴얼", fm:"t1", at:"/modsAX/modsDrag/manual.do"},
			{id:"3.2", nm:"객체참조", fm:"t1", at:"/modsAX/modsDrag/reference.do"}
		]},
		{id:"4", nm:"modsTree.js", fm:"t0", cn:[
			{id:"4.0", nm:"미리보기", fm:"t1", at:"/modsAX/modsTree/sample.do"},
			{id:"4.1", nm:"매뉴얼", fm:"t1", at:"/modsAX/modsTree/manual.do"},
			{id:"4.2", nm:"객체참조", fm:"t1", at:"/modsAX/modsTree/reference.do"}
		]},
		{id:"5", nm:"modsInput.js", fm:"t0", cn:[
		{id:"5.0", nm:"미리보기", fm:"t1", at:"/modsAX/modsInput/sample.do"},
		{id:"5.1", nm:"매뉴얼", fm:"t1", at:"/modsAX/modsInput/manual.do"},
		{id:"5.2", nm:"객체참조", fm:"t1", at:"/modsAX/modsInput/reference.do"}
		]},
		{id:"6", nm:"modsTail.js", fm:"t0", cn:[
			{id:"6.0", nm:"미리보기", fm:"t1", at:"/modsAX/modsTail/sample.do"},
			{id:"6.1", nm:"매뉴얼", fm:"t1", at:"/modsAX/modsTail/manual.do"},
			{id:"6.2", nm:"객체참조", fm:"t1", at:"/modsAX/modsTail/reference.do"}
		]},
		{id:"7", nm:"modsDate.js", fm:"t0", cn:[
			{id:"7.0", nm:"미리보기", fm:"t1", at:"/modsAX/modsDate/sample.do"},
			{id:"7.1", nm:"매뉴얼", fm:"t1", at:"/modsAX/modsDate/manual.do"},
			{id:"7.2", nm:"객체참조", fm:"t1", at:"/modsAX/modsDate/reference.do"}
		]},
		{id:"8", nm:"modsGrid.js", fm:"t0", cn:[
			{id:"8.0", nm:"미리보기", fm:"t1", at:"/modsAX/modsGrid/sample.do"}
			/*,
			{id:"8.1", nm:"매뉴얼", fm:"t1", at:"/modsAX/modsGrid/manual.do"},
			{id:"8.2", nm:"객체참조", fm:"t1", at:"/modsAX/modsGrid/reference.do"}*/
		]},
		{id:"9", nm:"modsEditor.js", fm:"t0", cn:[
			{id:"9.0", nm:"미리보기", fm:"t1", at:"/modsAX/modsEditor/sample.do"}	    	
		]},
		{id:"10", nm:"modsFlash.js", fm:"t0", cn:[
			{id:"10.0", nm:"미리보기", fm:"t1", at:"/modsAX/modsFlash/sample.do"}
			/*,
			{id:"10.1", nm:"매뉴얼", fm:"t1", at:"/modsAX/modsFlash/manual.do"},
			{id:"10.2", nm:"객체참조", fm:"t1", at:"/modsAX/modsFlash/reference.do"}*/
		]},
		{id:"11", nm:"modsUpload.js", fm:"t0", cn:[
			{id:"10.0", nm:"미리보기", fm:"t1", at:"/modsAX/modsUpload/sample.do"}
			/*,
			{id:"10.1", nm:"매뉴얼", fm:"t1", at:"/modsAX/modsFlash/manual.do"},
			{id:"10.2", nm:"객체참조", fm:"t1", at:"/modsAX/modsFlash/reference.do"}*/
		]},
		{id:"91", nm:"연락처", fm:"t4", at:"/intro/contact.do"},
		{id:"92", nm:"후원하기", fm:"t5", at:"/intro/donate.do"},
		{id:"93", nm:"라이선스", fm:"t6", at:"/license/"},
		{id:"94", nm:"다운로드", fm:"t1", at:"/intro/download.do"}
	];

  var windowResizer;
  var fmObj = {
    pageOnLoad: function(){
      var firstMeet = mods.getCookie("firstMeet");
      
      if(firstMeet == ""){
        jQuery("#menuContainer").animate({"left":["0px", "expoOut"]}, 500, function(){
          fmObj.alignBox(fmObj.pageStart);
        });
      }else{
        jQuery("#menuContainer").css("left", "0px");
        jQuery("#logo").css("display", "");
        jQuery("#menuBox").css("display", "");
        fmObj.alignBox(fmObj.pageStart);
      }
      myCodeLine.drawLine({findClass:"code", attatchClass:"codeline"});
    },
	  pageStart: function(){
	    mods.setCookie("firstMeet", "1");
      var mydocCode = jQuery("#docCode").text();
      if(mydocCode != ""){
        var docCodes =  mydocCode.split(/,/g);
        var myObj = sitemenus;
        var depth = 0;
        jQuery.each(docCodes, function(index, n){
          var fo = myObj.getObj(function(m){
            var mid = m.id.split(".");
            return mid[depth] == n;
          });
          if(fo){
            if(index == (docCodes.length-1)){
              myObj[fo.index]._sl = 1;
            }else{
              myObj[fo.index]._op = 1;
            }
            myObj = myObj[fo.index].cn;
            depth++;
          }
        });
      }

      myMenu.setConfig({
	      rootElementID :"menuBox",
	      dataType      :"script",
	      alterable     :false,
	      DBLclickable  :false,
	      onclick: fmObj.myMenuClick,
	      onOpen : function(res){
	        if(res.parent == "#menuBox") myMenu.scrollToSelect();
	      }
	      });
	    //script mode
	    myMenu.load(sitemenus);
	    
	  },
	  myMenuClick: function(cobj, event){
      if(cobj.at) location.href = (cobj.at);
	  },
	  alignBox: function(onAlign){
  	    var bodyHeight = 0;
  	    (mods.docTD == "Q") ? bodyHeight = document.body.clientHeight : bodyHeight = document.documentElement.clientHeight;

  	    var firstMeet = mods.getCookie("firstMeet");
        if(firstMeet == ""){
          jQuery("#menuBox").animate({"height":[(bodyHeight-65)+"px", "backOut"]}, 500, function(){
  	        if(onAlign) onAlign();
  	      });
        }else{
          if(Object.isFunction(onAlign)){
            jQuery("#menuBox").css({"height":(bodyHeight-65)+"px"});
            onAlign();
          }else{
            jQuery("#menuBox").animate({"height":[(bodyHeight-65)+"px", "backOut"]}, 500, function(){
              myMenu.scrollToSelect();
            });
          }
        }
	  },
	  onresizefn: function(){
	    if(windowResizer) clearTimeout(windowResizer);
      windowResizer = setTimeout(fmObj.alignBox, 250);
	  },
	  onscrollfn: function(){
	    jQuery("#menuContainer").css({top:document.documentElement.scrollTop});
	  }
	}

	jQuery(document).ready(function(){
	  fmObj.pageOnLoad();
	});
	
	jQuery(window).bind("resize", function(){
	  fmObj.onresizefn();
	});
	
	jQuery(document).keydown(function(event){
	  if(event.keyCode == "116") mods.setCookie("firstMeet", "");
	});

  if(mods.browser.browser == "ie" && mods.browser.version <= 6){
  	jQuery(window).bind("scroll", function(){
  	  fmObj.onscrollfn();
  	});
  }
