var bgcolor = "#99CC00",border = "0";
var subborder = "0",subbgcolor = "#CCF946";
var sub_width = 90;
var menu_dy = 90;
var lastMenu = "";
var ie=0,ns=0,DIVshow,DIVhide;
var rightX = 0,rightY = 0,leftY = 0,leftX = 0;

var main_mun=0;

if (document.all)	{
	ie=1;
	DIVshow="visible";
	DIVhide="hidden";
	menu_dy-=-20;
	}
else	{
	ns=1;
	DIVshow="show";
	DIVhide="hide";
}

function makemenu() {
	this.addMainItem = addMainItem;
	this.addSubItem = addSubItem;

	this.write2page = write2page;
	lastMenu = null;
    main_num=0;
    
	HTMLstr = "";
	HTMLstr += "<!-- MENU MAKE BEGINS -->\n";
	HTMLstr += "\n";

	if(ie)	HTMLstr += "<DIV ID='MainMenuTable' STYLE='POSITION:relateve;' align='center'>\n";

	HTMLstr += "<TABLE WIDTH='100%' BGCOLOR='"+bgcolor+"' BORDER='"+border+"' CELLSPACING='0' CLASS='menu'>\n";
	HTMLstr += "<TR>";
	//if (ns)
	//HTMLstr += "<TD>;";
	//HTMLstr += "</TD>";
	HTMLstr += "<TD>";

	HTMLstr += "<!-- MAIN MENU STARTS -->\n";
	HTMLstr += "<!-- MAIN_MENU -->\n";
	HTMLstr += "<!-- MAIN MENU ENDS -->\n";

	//if (ns) 
	HTMLstr += "</TD>";
	HTMLstr += "</TR>\n";
	HTMLstr += "</TABLE>\n";

	HTMLstr += "\n";
	HTMLstr += "<!-- SUB MENU STARTS -->\n";
	HTMLstr += "<!-- SUB_MENU -->\n";
	HTMLstr += "<!-- SUB MENU ENDS -->\n";
	HTMLstr += "\n";

	if(ie)	HTMLstr+= "</div>\n";

	HTMLstr += "<!-- MENU MAKE ENDS -->\n";
}

function addMainItem(main,name,loc,sub) {
	
	var SEARCH = "<!-- MAIN ITEM "+main+" -->";
	main_num++;
	
	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='wt'>";
				MENUstr += "\n";
				MENUstr += name;
				MENUstr += "</a>\n";
			}
			else {
				MENUstr += "<a href=\""+loc+"\" class='wt' onmouseover=\"displaySubMenu('"+main+"')\">";
				MENUstr += "\n";
				MENUstr += name;
				MENUstr += "</a>\n";
			}
		}
		else {
			MENUstr += "<a href='javascript://' class='wt' onmouseover=\"displaySubMenu('"+main+"');\" onclick=\"hideAll();\">";
			MENUstr += "";
			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='wt'>";
				MENUstr += "\n";
				MENUstr += name;
				MENUstr += "</a>\n";
			}
			else {
				MENUstr += "<a href=\""+loc+"\" class='wt' onmouseover=\"displaySubMenu('"+main+"')\">";
				MENUstr += "\n";
				MENUstr += name;
				MENUstr += "</a>\n";
			}
		}
		else {
			MENUstr += "<a href=\".\" class='wt' onmouseover=\"displaySubMenu('"+main+"')\" onclick=\"return false;\">";
			MENUstr += "\n";
			MENUstr += name;
			MENUstr += "</a>\n";
		}
		MENUstr += "</DIV>\n";
		
	}

	MENUstr += "</TD>\n"
		if (main_num%6==0) {
			MENUstr += "</TR>\n<TR>";
		}
	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+" CLASS='menu'>\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: 20; left: 0;'>\n";
			MENUstr += "<table border='"+subborder+"' bgcolor='"+subbgcolor+"' width='"+sub_width+"' CLASS='menu'>\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='wt'>"+name+"</a><br></td></tr>\n";
	else if (ie) MENUstr = "<tr><td><a href='"+loc+"' class='wt'>"+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) {
		submenu = document.layers[idMainMenu+"submenu"];
		if (lastMenu != null && lastMenu != submenu) hideAll();
		submenu.left = document.layers[idMainMenu].pageX;
		submenu.top  = document.layers[idMainMenu].pageY + menu_dy;
		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 = calculateSumOffset(menu, 'offsetTop')+15;
//		submenu.top  = menu.style.top+menu_dy;//alert(idMainMenu + " 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);
}