// 一些初始化的宣告
var bgcolor = "#1261A2",border = "0";
var subborder = "0",subbgcolor = "#1261A2";
var sub_width = 167;
var menu_dy = 25;
var webdatasubmenu = 1;
var lastMenu = 1;

var ie=0,ns=0,DIVshow,DIVhide;
var rightX = 0,rightY = 0,leftY = 0,leftX = 0;

if (document.all)	{
	ie=1;
	DIVshow="visible";
	DIVhide="hidden";
	menu_dy-=-2;
	}
else	{
	ns=1;
	DIVshow="show";
	DIVhide="hide";
}

function onloadover(){
	}

function makemenu() {
	this.addMainItem = addMainItem;		//在主选单中加入选项的函数
	this.addSubItem = addSubItem;		//建立新的次选单,并加入选项
	

	this.write2page = write2page;		//把处理好的HTMLstr写到网页 
	lastMenu = null;			//游标所移到的主类别

	HTMLstr = "";
	HTMLstr += "<!-- MENU MAKE BEGINS -->\n";
	HTMLstr += "\n";

	if(ie)	HTMLstr += "<DIV ID='MainMenuTable' STYLE='POSITION: relative;'>\n";
		HTMLstr+="<table  width='790' bgcolor='#1261A2' border='0'  CELLSPACING='0'  cellpadding='0'>\n";
		HTMLstr+="<TR><TD width='170'><IMG src='images/logo.gif' border='0' width='110' height='25'></TD><TD>\n";

         	   //  if(ns)         HTMLstr += "<layer  name='MainMenuTable' >\n";

	HTMLstr += "<TABLE WIDTH='80%' align='right' BGCOLOR='"+bgcolor+"' BORDER='"+border+"'  CELLSPACING='2'  cellpadding='0'>\n";
	HTMLstr += "<TR>";
	//if (ns)
	//HTMLstr += "<TD>&nbsp;";
	//HTMLstr += "</TD>";
	HTMLstr += "<TD>";

	HTMLstr += "<!-- MAIN MENU STARTS -->\n";
	HTMLstr += "<!-- MAIN_MENU -->\n";
	HTMLstr += "<!-- MAIN MENU ENDS -->\n";

	//if (ns) 
	HTMLstr += "&nbsp;</TD>";
	HTMLstr += "</TR>\n";
	HTMLstr += "</TABLE>\n";

	HTMLstr+="</td></tr></table>";
	HTMLstr += "\n";
	HTMLstr += "<!-- SUB MENU STARTS -->\n";
	HTMLstr += "<!-- SUB_MENU -->\n";
	HTMLstr += "<!-- SUB MENU ENDS -->\n";
	HTMLstr += "\n";


	if(ie)	HTMLstr+= "</div>\n";
             //     if(ns)         HTMLstr+="</layer>\n";
	HTMLstr += "<!-- MENU MAKE ENDS -->\n";
}

function addMainItem(main,name,loc,sub) {
	var SEARCH = "<!-- MAIN ITEM "+main+" -->";

	if (HTMLstr.indexOf(SEARCH) != -1) {
		alert(main + " already exist");
		return;
	}

	MENUstr = "";
	MENUstr += "<!-- MAIN ITEM "+main+" -->";

	if(ns) {
		MENUstr += "<Ilayer name="+main+">";
		if(loc != null)	{
			if(sub != null) {
				MENUstr += "<a href=\""+loc+"\" class=\"menuns\">";
				MENUstr += "|&nbsp;\n";
				MENUstr += name;
				MENUstr += "</a>\n";
			}
			else {
				MENUstr += "<a href=\""+loc+"\" class=\"menuns\" onmouseover=\"displaySubMenu('"+main+"')\">";
				MENUstr += "|&nbsp;\n";
				MENUstr += name;
				MENUstr += "</a>";
			}
		}
		else {
			MENUstr += "<a href='javascript://' class=menuns onmouseover=\"displaySubMenu('"+main+"');\" onclick=\"hideAll();\">";
			MENUstr += "|&nbsp;";
			MENUstr += name;
			MENUstr += "</a>";
		}
		MENUstr += "</ilayer>";
	}
	else {
		MENUstr += "<DIV ID='"+main+"' style='position:relative;'>";
		if(loc != null)	{
			if(sub != null) {
				MENUstr += "<a href=\""+loc+"\" class=\"menuns\">";
				MENUstr += "|&nbsp;\n";
				MENUstr += name;
				MENUstr += "</a>\n";
			}
			else {
				MENUstr += "<a href=\""+loc+"\" class=\"menuns\" onmouseover=\"displaySubMenu('"+main+"')\" onclick=\"return false;\">";
				MENUstr += "|&nbsp;\n";
				MENUstr += name;
				MENUstr += "</a>\n";
			}
		}
		else {
			MENUstr += "<a href=\".\" class=\"menuns\" onmouseover=\"displaySubMenu('"+main+"')\" onclick=\"return false;\">";
			MENUstr += "|&nbsp;\n";
			MENUstr += name;
			MENUstr += "</a>\n";
		}
		MENUstr += "</DIV>\n";
	}

	if(ie) MENUstr += "</TD>\n";
	if(ie) MENUstr += "<TD>\n";
	MENUstr += "<!-- END OF ITEM "+main+" -->\n\n";
	MENUstr += "<!-- MAIN_MENU -->\n"

	HTMLstr = HTMLstr.replace("<!-- MAIN_MENU -->\n", MENUstr);
}

// 开始写次选项的图层
function addSubItem(idMain,name,loc) {
	MENUstr = "";
	SEARCH = "<!-- MAIN ITEM "+idMain+" -->";

	if (HTMLstr.indexOf(SEARCH) == -1) {
		alert(idMain + " not found");
		return;
	}

	SEARCH = "<!-- NEXT ITEM OF SUB MENU "+ idMain +" -->";
	if (HTMLstr.indexOf(SEARCH) == -1) {
		if (ns)
		{
			MENUstr += "\n";
			MENUstr += "<layer id='"+idMain+"submenu' visibility=hide bgcolor="+subbgcolor+">\n";
			MENUstr += "<table border='"+subborder+"' bgcolor='"+subbgcolor+"' width="+sub_width+">\n";
			MENUstr += "<!-- NEXT ITEM OF SUB MENU "+ idMain +" -->\n";
			MENUstr += "</table>\n";
			MENUstr += "</layer>\n";
			MENUstr += "\n";
		}
		else if (ie) {
			MENUstr += "\n";
			MENUstr += "<div id='"+idMain+"submenu' style='position:absolute; visibility: hidden; top: 30; left: 0;'>\n";
			MENUstr += "<table border='"+subborder+"' bgcolor='"+subbgcolor+"' width='"+sub_width+"'>\n";
			MENUstr += "<!-- NEXT ITEM OF SUB MENU "+ idMain +" -->\n";
			MENUstr += "</table>\n";
			MENUstr += "</div>\n";
			MENUstr += "\n";
		}
		MENUstr += "<!-- SUB_MENU -->\n";
		HTMLstr = HTMLstr.replace("<!-- SUB_MENU -->\n", MENUstr);
	}

	SEARCH = "<!-- NEXT ITEM OF SUB MENU "+ idMain +" -->\n";

	if(loc == null)	alert("compiler error")

	if (ns)  MENUstr = "<tr><td><a href='"+loc+"' class=menuns>"+name+"</a><br></td></tr>\n";
	else if (ie) MENUstr = "<tr><td><a href='"+loc+"' class=menuns>"+name+"</a><br></td></tr>\n";

	MENUstr += SEARCH;
	HTMLstr = HTMLstr.replace(SEARCH, MENUstr);
}


function write2page() {
	document.write(HTMLstr);
}


function displaySubMenu(idMainMenu) {
	var menu;
	var submenu;
	if (ns) {
		
		idSubMenu=idMainMenu+"submenu";
		submenu = document.layers[idSubMenu];
		if (lastMenu != null && lastMenu != submenu) hideAll();
		submenu.left = document.layers[idMainMenu].pageX;
		submenu.top  = document.layers[idMainMenu].pageY + menu_dy;
		if (submenu) submenu.visibility = DIVshow;


		leftX  = document.layers[idMainMenu+"submenu"].left;
		rightX = leftX + document.layers[idMainMenu+"submenu"].clip.width;
		leftY  = document.layers[idMainMenu+"submenu"].top + document.layers[idMainMenu+"submenu"].clip.height+20;//增加移动范围
		rightY = leftY;
	}
	else {
		menu = eval(idMainMenu);
		submenu = eval(idMainMenu+"submenu.style");
		submenu.left = calculateSumOffset(menu, 'offsetLeft');
		submenu.top  = menu.style.top+menu_dy;
		submenu.visibility = DIVshow;
		if (lastMenu != null && lastMenu != submenu) hideAll();

		leftX  = document.all[idMainMenu+"submenu"].style.posLeft;
		rightX = leftX + document.all[idMainMenu+"submenu"].offsetWidth;

		leftY  = document.all[idMainMenu+"submenu"].style.posTop+document.all[idMainMenu+"submenu"].offsetHeight+20;//增加移动范围
		rightY = leftY;
		
	}
	lastMenu = submenu;
}

function calculateSumOffset(idItem, offsetName) {
	var totalOffset = 0;
	var item = eval('idItem');
	do
	{
		totalOffset += eval('item.'+offsetName);
		item = eval('item.offsetParent');
	} while (item != null);
	return totalOffset;
}

function hideAll() {
	if (lastMenu != null) {
		lastMenu.visibility = DIVhide;
		lastMenu.left = 0;
	}
}

function updateIt(e) {
	if (ie) {
		var x = window.event.clientX;
		var y = window.event.clientY;

		if (x > rightX || x < leftX) hideAll();
		else if (y > rightY) hideAll();
	}
	else {
		var x = e.pageX;
		var y = e.pageY;

		if (x > rightX || x < leftX) hideAll();
		else if (y > rightY) hideAll();
	}
}

if (document.all) {
	document.body.onclick=hideAll;
	document.body.onscroll=hideAll;
	document.body.onmousemove=updateIt;
}
if (document.layers) {
	document.onmousedown=hideAll;
	document.onmousemove=updateIt;
	document.captureEvents(Event.MOUSEMOVE||Event.MOUSEDOWN);
}