//author    ：  cjinfu
//function  ：  下拉菜单数据源
//first time：  2009-12-6
//last time ：  2009-12-6
//warring   ：  
(function($){
	$.fn.UE_MenuHtml=function(opt){
		var settings=jQuery.extend(
			{
				menuList:false,//数组
				menuFirstCss:"fMenu",//第一级导航附加css
				menuIsSubCss:"isSub",//存在下级css
				menuCrumb:false,//面包屑
				menuCrumbCss:"isCrumb"//面包屑css
			},
			opt
		);
		var menuList=settings.menuList,
			menuFirstCss=settings.menuFirstCss,
			menuIsSubCss=settings.menuIsSubCss,
			menuCrumb=settings.menuCrumb,
			menuCrumbCss=settings.menuCrumbCss;
		var addHtml=function(menuList,parentCrumb){
			var mLen=menuList.length;
			var mHtml="";
			for(var i=0;i<mLen;i++){
				var parentCrumbN=parentCrumb+i+",";
				//crumb
				if(!menuCrumb){
					if(menuList[i].crumb){
					}else{
						menuList[i].crumb=parentCrumbN;
					}
				}
				//css
				var css="";
				var subMenu=menuList[i].subMenu;
				if(subMenu){
					css=" class='"+menuIsSubCss+"'";
				}
				if(menuCrumb){
					if(menuCrumb.indexOf(menuList[i].crumb)==0){
						if(css.indexOf(menuIsSubCss)>0){
							css=" class='"+menuIsSubCss+" "+menuCrumbCss+"'";
						}else{
							css=" class='"+menuCrumbCss+"'";
						}
					}
				}
				if(menuList[i].css){
					css=css.replace("class='","class='"+menuList[i].css+" ");
				}
				//html
				mHtml+="<li"+css+"><a"+css+" href='"+menuList[i].href+"'>"+menuList[i].txt+"</a>";
				if(subMenu){
					mHtml+='<table border="0" cellspacing="0" cellpadding="0"><tr><td class="t1"><div></div></td></tr><tr><td class="t2"><ul>';
					mHtml+=addHtml(subMenu,parentCrumbN);
					mHtml+='</ul></td></tr><tr><td class="t3"><div></div></td></tr></table>';
				}
				mHtml+="</li>";
			}
			return mHtml;
		};
		$(this).html(addHtml(menuList,""));
		settings.menuList=menuList;
		$(this).data("settings",settings);
		$(this).children("li").addClass(menuFirstCss);
		$(this).children("li").children("a").addClass(menuFirstCss);
		return $(this);
	};
})(jQuery);
//cookie-start
$.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options=$.extend({},options);options.expires=-1;}var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}expires='; expires='+date.toUTCString();}var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}return cookieValue;}};
//cookie-end
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//id
var menuAllBox="#menuAllBox",//所有菜单
	menuCrumb="#menuCrumb",//面包屑菜单
	menuNow="#menuNow",//当前位置
	menuOther="#menuOther",//您可能感兴趣的
	cssFMenu="fMenu",//第一级菜单
	cssSubMenu="isSub",//存在子级的菜单样式
	cssCrumb="isCrumb";//面包屑样式
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//主菜单创建
var menu1=$(menuAllBox).UE_MenuHtml({
	menuList:menuList,//数组
	menuFirstCss:cssFMenu,//第一级导航附加css
	menuIsSubCss:cssSubMenu//存在下级css
});
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//主菜单划分
menuAllSplit(menuAllBox);
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//cookies 存值
$(menuAllBox+" > li").find("li").click(function(e){e.stopPropagation();});
var typeLi=$("#menuAllBox  > li > a");
typeLi.click(function(e){
	var li=$(this).parent();
	if(li.hasClass("bMenu1")){
		li.removeClass("bMenu1");
		li.children("div").hide("slow");
	}else{
		$("#menuAllBox > li").removeClass("bMenu1");
		$("#menuAllBox > li").children("div").hide("slow");
		li.addClass("bMenu1");
		li.children("div").show("slow");
	}
	return false;
});
$(document).ready(function(){
	$("#menuAllBox > li:first-child").addClass("bMenu1");
	$("#menuAllBox > li:first-child").children("div").show("slow");
});
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
$(menuAllBox).UE_menu({
	mUlAutoWidth:true,//菜单ul是否自动设定宽度，此设置针对二级上菜单
	mUlAutoWidthLeftOver:-10,//菜单（普通模式路径：ul）左偏移
	mUlLiAOnCss:"on",//二级以上菜单当前菜单状态保持的css，该css同时作用在（普通模式路径：ul > li和ul > li >a） 上面
	mFirstSelector:" > li > div > div > ul > li",//第一级选择器，链接selector组合选择器
	mParent:"li",//this find选择器，事件增加对象
	mSub:"table",//this children选择器，将要展开的ul子集
	mBugIdLayerWidth:function($ul,w){
		if($ul.children("li").css("width")=="auto"){
			$ul.children("li").width(w);
		}
		if($ul.children("li").children("a").css("width")=="auto"){
			$ul.children("li").children("a").width(w-20);
		}
	},mBugIdLayerWidth:false,
	  //ie 6,7下存在的（普通模式路径：li）宽度无法自适应大小的bug补充。
	  //如果你的ie6也出现这样的情况请开启该功能，该功能的开启有一定的性能损失，关闭功能请直接赋值false
	mBugFirstIeLayerNextMarginTop:-2,//mBugIeLayerNextMarginTop:-3
										//与下面相同，适用首项bug。
	mBugIeLayerNextMarginTop:false//mBugIeLayerNextMarginTop:-3
								  //ie 7下存在的有子集情况元素底部跳空bug，根据布局不同可能出现的像素差也不一样，请手工设置该值，将next元素margin top设置一个负值即可。
								  //该功能的开启有一定的性能损失，关闭该功能直接把值设置为false即可。
});
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
var crumb="";
var getCrumb=function(menuList){
	var mLen=menuList.length;
	for(var i=0;i<mLen;i++){
		if(window.location.href.indexOf(menuList[i].href)==0 && menuList[i].href!=""){
			crumb=menuList[i].crumb;
			return;
		}
		if(menuList[i].subMenu){
			getCrumb(menuList[i].subMenu);
		}
		if(crumb)return;
	}
	if(crumb)return;
};
var tList=menu1.data("settings").menuList;
getCrumb(tList);
var crumbs=[];
if(crumb){
	crumbs=crumb.split(",");
}
var cLen=crumbs.length;
var isSub=true;
if(cLen>1){
	var newList=[];
	for(var i=0;i<cLen-1;i++){
		tList=tList[crumbs[i]];
		//newList.push({txt:tList.txt,href:tList.href,subMenu:tList.subMenu,crumb:tList.crumb});
		if(i==(cLen-2)){
			if(!tList.subMenu){
				isSub=false;
				newList.push({txt:tList.txt,href:tList.href,crumb:tList.crumb,css:"lMenu"});
			}else{
				newList.push(tList);
			}
		}else{
			newList.push(tList);
		}
		tList=tList.subMenu;
	}
	$(menuCrumb).UE_MenuHtml({
		menuList:newList,//数组
		menuFirstCss:cssFMenu,//第一级导航附加css
		menuIsSubCss:cssSubMenu,//存在下级css});
		menuCrumb:crumb,//面包屑
		menuCrumbCss:cssCrumb//面包屑css
	});
	$(menuCrumb).UE_menu({
		mUlAutoWidth:true,//菜单ul是否自动设定宽度，此设置针对二级上菜单
		mUlAutoWidthLeftOver:-10,//菜单（普通模式路径：ul）左偏移
		mUlLiAOnCss:"on",//二级以上菜单当前菜单状态保持的css，该css同时作用在（普通模式路径：ul > li和ul > li >a） 上面
		mFirstSelector:" > li",//第一级选择器，链接selector组合选择器
		mParent:"li",//this find选择器，事件增加对象
		mSub:"table",//this children选择器，将要展开的ul子集
		mBugIdLayerWidth:function($ul,w){
			if($ul.children("li").css("width")=="auto"){
				$ul.children("li").width(w);
			}
			if($ul.children("li").children("a").css("width")=="auto"){
				$ul.children("li").children("a").width(w-20);
			}
		},//mBugIdLayerWidth:false,
		  //ie 6,7下存在的（普通模式路径：li）宽度无法自适应大小的bug补充。
		  //如果你的ie6也出现这样的情况请开启该功能，该功能的开启有一定的性能损失，关闭功能请直接赋值false
		mBugFirstIeLayerNextMarginTop:false,//mBugIeLayerNextMarginTop:-3
											//与下面相同，适用首项bug。
		mBugIeLayerNextMarginTop:false//mBugIeLayerNextMarginTop:-3
									  //ie 7下存在的有子集情况元素底部跳空bug，根据布局不同可能出现的像素差也不一样，请手工设置该值，将next元素margin top设置一个负值即可。
									  //该功能的开启有一定的性能损失，关闭该功能直接把值设置为false即可。
	});
	//now
	var newListLen=newList.length;
	var newListNow=newList[newListLen-1];
	if(isSub){
		$(menuNow).html("<a class='menuSelf' href='"+newListNow.href+"'>"+newListNow.txt+"</a>");
	}else{
		if(newList[newListLen-2]){
			var parentListNow=newList[newListLen-2];
			$(menuNow).html("<a href='"+parentListNow.href+"'>"+parentListNow.txt+"</a>");
		}else{
			$(menuNow).html("<a class='menuSelf' href='"+newListNow.href+"'>"+newListNow.txt+"</a>");
		}
	}
	//other
	var html="";
	if(isSub){
		newListNow=newList[newListLen-1].subMenu;
		for(var i=0;i<newListNow.length;i++){
			html+="<a href='"+newListNow[i].href+"'>"+newListNow[i].txt+"</a> | ";
		}
	}else{
		if(cLen==2){
			tList=menu1.data("settings").menuList;
			for(var i=0;i<tList.length;i++){
				if(i!=crumbs[0]){
					html+="<a href='"+tList[i].href+"'>"+tList[i].txt+"</a> | ";
				}else{
					html+="<a class='menuSelf' href='"+tList[i].href+"'>"+tList[i].txt+"</a> | ";
				}
			}
		}else if(cLen>2){
			newListNow=newList[newListLen-2].subMenu;
			var nowIndex=crumbs[cLen-2];
			for(var i=0;i<newListNow.length;i++){
				if(i!=nowIndex){
					html+="<a href='"+newListNow[i].href+"'>"+newListNow[i].txt+"</a> | ";
				}else{
					html+="<a class='menuSelf' href='"+newListNow[i].href+"'>"+newListNow[i].txt+"</a> | ";
				}
			}
		}
	}
	$(menuOther).html(html);
}
