var menuLeft		= 20;
var menuTop			= 96;
var menuHeight		= 4;
var menuWidth		= 750;
var menuSpacing		= 5;
var submenuSpacing	= 15;
var submenuAlign	= "right";
var subOffsetDict	= new Object;

//***Browser Sniff******************************************************
var agt = navigator.userAgent.toLowerCase();

var is_major	= parseInt(navigator.appVersion);
var is_minor	= parseFloat(navigator.appVersion);
var is_nav		= ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
					&& (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
		            && (agt.indexOf('webtv')==-1));
var is_nav2		= (is_nav && (is_major == 2));
var is_nav3		= (is_nav && (is_major == 3));
var is_nav4		= (is_nav && (is_major == 4));
var is_nav4up	= (is_nav && (is_major >= 4));
var is_navonly  = (is_nav && ((agt.indexOf(";nav") != -1) 
					|| (agt.indexOf("; nav") != -1)) );
var is_nav5		= (is_nav && (is_major == 5));
var is_nav5up	= (is_nav && (is_major >= 5));
var is_moz7		= (agt.indexOf('0.7')!=-1)
var is_ie		= (agt.indexOf("msie") != -1);
var is_ie3		= (is_ie && (is_major < 4));
var is_ie4		= (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")==-1) );
var is_ie4up	= (is_ie  && (is_major >= 4));
var is_ie5		= (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
var is_ie5up	= (is_ie  && !is_ie3 && !is_ie4);
var is_win		= ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );
var is_mac		= (agt.indexOf("mac")!=-1);
//************************************************************************

if (is_nav4) {
	fShow="show";   
	fHide="hide";
}else{
	fShow="visible";
	fHide="hidden";
}

window.onerror=new Function("return true")

////////////////////////////////////////////////////////////////////////////
// Function Menu()                                                        //
////////////////////////////////////////////////////////////////////////////
rightX = 0;
function Menu()
{
	rightY = 0;
	leftY = 0;
	leftX = 0;

	lastMenu = null;

	HTMLstr = "";
	HTMLstr += "<!-- MENU PANE DECLARATION BEGINS -->\n";
	HTMLstr += "\n";

	if (is_nav4) {
		HTMLstr += "<layer id='MainTable' left='"+menuLeft+"' top='"+menuTop+"' height='"+menuHeight+"' width='"+menuWidth+"' z-index='1'>\n";
	} else {
		HTMLstr += "<div id='MainTable' style='position:absolute; left:"+menuLeft+"px; top:"+menuTop+"px; height:"+menuHeight+" width:"+menuWidth+"px; Z-INDEX: 1;'>\n";
	}

	HTMLstr += "<table border=0 width='"+menuWidth+"'>\n";
	HTMLstr += "<tr align='right'>";

	HTMLstr += "<!-- MAIN MENU STARTS -->\n";
	HTMLstr += "<!-- MAIN_MENU -->\n";
	HTMLstr += "<!-- MAIN MENU ENDS -->\n";

	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 (is_nav4) {
		HTMLstr+= "</layer>\n";
	} else {
		HTMLstr+= "</div>\n";
	}

	HTMLstr += "<!-- MENU PANE DECALARATION ENDS -->\n";

	this.addItem    = addItem;
	this.addSubItem = addSubItem;
	this.showMenu   = showMenu;

}

function addItem(idItem, text, hint, location, hasSub, subOffset)
{
	var Lookup = "<!-- ITEM "+idItem+" -->";
	if (HTMLstr.indexOf(Lookup) != -1)
	{
		alert(idParent + " already exist");
		return;
	}
	var MENUitem = "";
	MENUitem += "\n<!-- ITEM "+idItem+" -->\n";
	
	if (is_nav4) {
		MENUitem += "<td>";
		MENUitem += "<ilayer name="+idItem+" z-index='1'>";
		
		if (hasSub != false) 
		{
			if (location != null)
			{
				MENUitem += "<a href='"+location+"' class=clsMenuItemNS onmouseover=\"displaySubMenu('"+idItem+"')\">";
			}
			else
			{
				MENUitem += "<a href='.' class=clsMenuItemNS onmouseover=\"displaySubMenu('"+idItem+"')\" onclick=\"return false;\">";	
			}

			subOffsetDict[idItem] = subOffset;

		}else{
			MENUitem += "<a href='"+location+"' class=clsMenuItemNS onmouseover=\"hideAll()\">";
		}		
		MENUitem += text;
		MENUitem += "</a>";
		MENUitem += "</ilayer>";
		MENUitem += "</td>";
		MENUitem += "<td width='"+menuSpacing+"'>&nbsp;</td>";
	} else {
		MENUitem += "<td>\n";
		MENUitem += "<div id='"+idItem+"' style='position:relative;Z-INDEX: 1'>\n";
		MENUitem += "<a ";
		MENUitem += "class=clsMenuItemIE ";
		
		if (hint != null) MENUitem += "title='"+hint+"' ";
			
		if (hasSub != false) 
		{
			if (location != null)
			{
				MENUitem += "href='"+location+"' ";
				MENUitem += "onmouseover=\"displaySubMenu('"+idItem+"')\" ";
			}
			else
			{
				MENUitem += "href='.' ";
				MENUitem += "onmouseover=\"displaySubMenu('"+idItem+"')\" ";
				MENUitem += "onclick=\"return false;\" "
			}
			subOffsetDict[idItem] = subOffset;
		}else{
			MENUitem += "href='"+location+"' onmouseover=\"hideAll()\" ";
		}
		MENUitem += ">";
		MENUitem += text;
		MENUitem += "</a>\n";
		MENUitem += "</div>\n";
		MENUitem += "</td>\n";
		MENUitem += "<td width='"+menuSpacing+"'>&nbsp;</td>\n";
	}
	MENUitem += "<!-- END OF ITEM "+idItem+" -->\n\n";
	MENUitem += "<!-- MAIN_MENU -->\n";

	HTMLstr = HTMLstr.replace("<!-- MAIN_MENU -->\n", MENUitem);
}


function addSubItem(idParent, text, hint, location, seperator)
{
	var MENUitem = "";
	Lookup = "<!-- ITEM "+idParent+" -->";
	if (HTMLstr.indexOf(Lookup) == -1)
	{
		alert(idParent + " not found");
		return;
	}
	Lookup = "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->";
	if (HTMLstr.indexOf(Lookup) == -1)
	{
		if (is_nav4) {
			MENUitem += "\n";
			MENUitem += "<layer id='"+idParent+"submenu' visibility='hide' z-index='3'>\n";
			MENUitem += "<table>\n<tr>\n<td align='"+submenuAlign+"'>\n";
			MENUitem += "<table>\n<tr>\n";
			MENUitem += "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->\n";
			MENUitem += "</tr>\n</table>\n";
			MENUitem += "</td>\n</tr>\n</table>\n";
			MENUitem += "</layer>\n";
			MENUitem += "\n";
		} else {
			MENUitem += "\n";
			MENUitem += "<div id='"+idParent+"submenu' style='position:absolute; visibility: hidden; width: 800px; '>\n";
			MENUitem += "<table>\n<tr>\n<td align='"+submenuAlign+"'>\n";
			MENUitem += "<table>\n<tr>\n";
			MENUitem += "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->\n";
			MENUitem += "</tr>\n</table>\n";
			MENUitem += "</td>\n</tr>\n</table>\n";
			MENUitem += "</div>\n";
			MENUitem += "\n";
		}
		MENUitem += "<!-- SUB_MENU -->\n";
		HTMLstr = HTMLstr.replace("<!-- SUB_MENU -->\n", MENUitem);
		
	}

	Lookup = "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->\n";
	
	if (is_nav4) {
		MENUitem = "<td align='center' nowrap><a class=clsSubMenuItemNS title='"+hint+"' href='"+location+"'>"+text+"</a></td><td align='center' width='"+submenuSpacing+"'><span class='clsMenuItemIE1'>"+seperator+"</span></td>\n";
	} else {
		MENUitem = "<td align='center' nowrap><a class=clsSubMenuItemIE title='"+hint+"' href='"+location+"'>"+text+"</a></td><td align='center' width='"+submenuSpacing+"'><span class='clsMenuItemIE1'>"+seperator+"</span></td>\n";
	}

	MENUitem += Lookup;
	HTMLstr = HTMLstr.replace(Lookup, MENUitem);
	
}

function showMenu()
{
	document.writeln(HTMLstr);
	
/*	
	var TristateFalse = 0;

//	var FileMode = 1;   //ForReading
	var FileMode = 2;   //ForWriting
//	var FileMode = 8;   //ForAppending
	
	myActiveXObject = new ActiveXObject("Scripting.FileSystemObject");
	myActiveXObject.CreateTextFile("c:\\menuDebug.txt");
	file = myActiveXObject.GetFile("c:\\menuDebug.txt");
	text = file.OpenAsTextStream(FileMode, TristateFalse);
	text.Write(HTMLstr);
	text.Close();

	
	var strLength = 0;
	strLength = HTMLstr.length;
	
	alert(HTMLstr.substring(strLength-500, strLength));
*/	
}


function displaySubMenu(idMainMenu)
{
	var menu;
	var submenu;
	
	if (is_nav4) {
	
		menu = grabObj(idMainMenu);
		submenu = grabObj(idMainMenu+"submenu");
		if (lastMenu != null && lastMenu != submenu) hideAll();
		
		submenu.left = subOffsetDict[idMainMenu]-10;
		submenu.top  = menu.top + 15;
		submenu.visibility = fShow;
		lastMenu = submenu;
	
	} else {			
	
		if (is_ie) {		

			menu = eval(idMainMenu);
			submenu = eval(idMainMenu+"submenu.style");
			if (lastMenu != null && lastMenu != submenu) hideAll();
		
			submenu.left = subOffsetDict[idMainMenu];	
			submenu.top  = menu.style.top + 19;
			submenu.visibility = fShow;
			lastMenu = submenu;

		}else{

			menu = document.getElementById(idMainMenu);
			submenu = document.getElementById(idMainMenu+"submenu");		
			
			if (lastMenu != null && lastMenu != submenu) hideAll();
			
			submenu.style.left = subOffsetDict[idMainMenu];
			submenu.style.top  = menu.style.top + 18;
			submenu.style.visibility = fShow;
			lastMenu = submenu;

		}
	}
}

function grabObj(obj_id) { 

  var theObj,ss,sr,i,j,doc_layers=new Array();

  if (is_ie4up || is_nav5up) {
    if((document.all[obj_id].style.position != 'absolute') && (document.all[obj_id].style.position != 'relative')){
      for (ss=0 ; ss < document.styleSheets.length; ss++) {
        for (sr=0 ; sr < document.styleSheets(ss).rules.length; sr++) { 
          if (document.styleSheets(ss).rules(sr).selectorText == '#' + WM_id) {
            theObj = document.styleSheets(ss).rules(sr).style;
            break;
          }
        }
      }
    } else {
      theObj = document.all[obj_id].style;
    }
  } else if(is_nav4) {
    doc_layers = new Array();
    with (document) {
      for (i=0; i<layers.length; i++) doc_layers[i]=layers[i]; {
        for (i=0; i<doc_layers.length; i++) {
          if (doc_layers[i].document && doc_layers[i].document.layers) {
            for (j=0; j<doc_layers[i].document.layers.length; j++) {
              doc_layers[doc_layers.length] = doc_layers[i].document.layers[j];
            }
            if(doc_layers[i].name == obj_id){
              // So if the code matches the name of the layer, 
              // return the reference. 
              theObj = doc_layers[i];
            }
          }
        }
      }
    }
  }
  return theObj;
}


function hideAll()
{
	if (is_nav5up){
		if (lastMenu != null) {lastMenu.style.visibility = fHide;lastMenu.style.left = 0;}
	} else {
		if (lastMenu != null) {lastMenu.visibility = fHide;lastMenu.left = 0;}
	}
}




