
var mainNavi = {
	mnObj : null,
	mnItems:new Array(),
	currentSeq:null,
	initSeq:null,
	marker:null,
	Timer:null,
	useMarker:false,
	isOver:false,
	init:function(objId,seq){

		
		var this_s  = this;
		this.mnObj = $("#" + objId);
		this.mnItems = $("> li > a ",$(this.mnObj)) ;		
		this.mnItemsImg = $("> li > a  img ",$(this.mnObj)) ;

		//이미지 로딩이 완료되었는지 체크 후 재 로드(사파리,크롬에서 이미지 로딩되기 전에 사이즈 계산하는 오류)
		if(!isIe6){
		var chkImgLoad = true;
		for (i=0;i<this.mnItemsImg.length ;i++ )
		{
			if(!this.mnItemsImg[i].complete) chkImgLoad = false;
		}
		if(!chkImgLoad) {this.Loader = setTimeout("mainNavi.init('"+objId+"',"+seq+")",50);return;}
		else{
			clearTimeout(this.Loader);
		}
		}
		
		this.initSeq = seq;

		$("a",$(this.mnObj)).bind("mouseover focus", function(){	 this_s.isOver = true;	});
		$("> li > ul",$(this.mnObj)).bind("mouseover focus", function(){	 this_s.isOver = true;	});

		$("a",$(this.mnObj)).bind("mouseout blur", function(){	this_s.setMenuOut();	});
		$("> li > ul",$(this.mnObj)).bind("mouseout blur", function(){	this_s.setMenuOut();	});

		var mnImgs = $("img",$(this.mnObj));
		for (i=0;i<mnImgs.length ;i++ )
		{
			var orgSrc = $(mnImgs[i]).attr("src");
			var ovSrc = $(mnImgs[i]).attr("ovImg");
			$(mnImgs[i]).attr("orgSrc",orgSrc);
			if(ovSrc!=undefined) $(mnImgs[i]).attr("ovSrc",ovSrc);
		}
			
		//1차메뉴 실제 크기를 구함
		var tmpItems = $("> li ",$(this.mnObj)) ;
		var tmpWidth = 0;
		for (i=0;i<tmpItems.length ;i++ )
		{
			tmpWidth += $(tmpItems[i]).width();
		}

		//서브메뉴 사이즈,위치 조정
		//메인메뉴 위치, 사이즈

		var mnObjOffset = {
			left:$(this.mnObj).offset().left,
			right:$(this.mnObj).offset().left + tmpWidth	//$(this.mnObj).width()		-> 서브메뉴가 출력된 위치까지 포함해서 계산하므로 계산 오류 생김
		}


		for (i=0;i<tmpItems.length ;i++ )
		{
			var thisSubObj = $(".depth2" ,$(tmpItems[i]));
			
			if(thisSubObj.length>0){
				//탑메뉴 시작위치와 맞춤
				var toLeft  =  $(tmpItems[i]).offset().left - this.mnObj.offset().left;
				$(thisSubObj).css({"left":toLeft+"px"});

				$(thisSubObj).show();
				var subMenus = $("li",$(thisSubObj));
				var subObjWidth = 0;
				for (j=0;j<subMenus.length ;j++ )
				{
					subObjWidth +=$(subMenus[j]).width()
				}
				$(thisSubObj).css("width",(subObjWidth +15)+"px");
				var chkPosition = $(thisSubObj).offset().left + $(thisSubObj).width();
				if(chkPosition > mnObjOffset.right) { $(thisSubObj).css({"right":"0px","left":"auto"});}
			}
			

		}


		//대메뉴 설정 
		for (var i=0; i < this.mnItems.length ; i++ ){
			this.mnItems[i].seq = i + 1;
			$(this.mnItems[i]).bind("mouseover focus",function(){ this_s.setMenuOn(this.seq);})
		}


		if(this.initSeq<1) { 

		}else{
			this.setMenuOn(this.initSeq);
		}

		
	},
	setMenuOn:function(){
		clearTimeout(this.Timer );
		var this_s = this;
		var s  = new Array();
		for(var i=0; i<arguments.length;i++){
			s[i] = arguments[i];	
		}
		
		var thisMenu = $("> li:eq(" + ( s[0]-1 ) +")", this.mnObj);
		var subMenu = $("> ul",$(thisMenu));
		var otherMenu = $("> li:not(:eq(" + ( s[0]-1 ) +"))", this.mnObj);
		var otherSubMenu = $("> ul",$(otherMenu));
		var thisMnImg = $("a:first-child img", thisMenu);
		var otherMnImg = $("a:first-child img", otherMenu);
		
		$(thisMenu).addClass("over");
		$(thisMnImg).attr("src",$(thisMnImg).attr("ovSrc"));
		
		
		$(subMenu).show();
		$(subMenu).css("visibility","visible");
		//$(subMenu).fadeIn();
		//$(subMenu).slideDown();
		
		$(otherMenu).removeClass("over");
		$(otherSubMenu).hide();
		$(otherSubMenu).css("visibility","hidden");
		for(i=0; i<otherMnImg.length;i++){
			$(otherMnImg[i]).attr("src",$(otherMnImg[i]).attr("orgSrc"));
		}
		//$(otherMnImg).attr("src",$(otherMnImg).attr("orgSrc"));
		//$(otherSubMenu).fadeOut();

		if(this.marker && this.useMarker && s[0] > 0){
			$(this.marker).show();
			$(this.marker).width($(thisMenu).width());
			$(this.marker).height($(thisMenu).height());
			var newOffset = this.getMarkerOffset(s[0]-1);
			$(this.marker).animate({"left": newOffset.left + "px"},"slow");
		}else{$(this.marker).hide();}

		this.currentSeq = s[0];

		
	},
	getMarkerOffset:function(seq){
			var parentOffset = $(this.mnObj).offset();
			var orgOffset = $(this.marker).offset();
			var targetOffset = $(":parent",this.mnItems[seq]).offset();

			var moveOffest = {left:targetOffset.left - parentOffset.left, top: targetOffset.top - parentOffset.top};
			return moveOffest;
	},
	setMenuOut:function(){
		clearTimeout(this.Timer );
		var this_s = this;
		this.isOver = false;	
		this.Timer = setTimeout(function(){
			if(this_s.isOver==false) {
				this_s.setMenuOn(this_s.initSeq);
			}
		},400);
	}
}

function initNavigation(seq) {
//	alert(seq);

	if(parseInt(seq)<1) seq = 1;
	mainNavi.init("topmenu",seq);

}



