//<script language="JavaScript" type="text/javascript">
String.prototype.Replace = function(o, n) { return this.split(o).join(n); };

var showingMenu='',overElemName='',prevMenu='',parentMenu,menuWrapperTop,menuWrapperBottom,menuItem,dropMenu,LinkURL='',belowParent=false;
var menu_class,menu_class_over,selected_item,no_class_for_parent;
var menuDirection='down';
if (document.all) { // Internet Explorer
    document.onmouseover = DoMouseOver;
} else if (document.getElementById) { // Netcsape 6
    document.onmouseover = DoMouseOver;
}

function DoMouseOver(e) {
	if (document.all) {
		e = window.event
		overElemName = e.srcElement.id;
    } else{
		overElemName = e.target.id;
    }
	if (typeof(overElemName.id)=="string") 
		overElemName=overElemName.id; //temp fix
	
	if (overElemName.indexOf(showingMenu) == -1) showMenu(0,false);
	if (showingMenu == ""){//to hide all menus when they should not be showing
	  if (document.getElementById('drop_menu')) {
	    document.getElementById('drop_menu').style.display = 'none';
	  }
	  else {
			for (var i = 1; i < 7; i++){
				if (document.getElementById("menu_" + i)){
					document.getElementById("menu_" + i).style.display = "none";
				}
			}
	  }
		if (parentMenu) { if (parentMenu.id.indexOf(selected_item) == -1 || selected_item == '') {parentMenu.onmouseout=_menu_onmouseout;parentMenu.onmouseout();} parentMenu=null;}
	}
	else if (!document.getElementById('drop_menu')) {
	  for (var i = 1; i < 7; i++){
			if (document.getElementById("menu_" + i)){
			  if (("menu_" + i) != showingMenu){
				document.getElementById("menu_" + i).style.display = "none";
			  }
			}
	  }
	}
}

function Menu() {
	this.menuItems = new Array();
	this.addItem = addMenuItem;
}

function addMenuItem(menuItem, menutext, target) {
	this.menuItems[menuItem] = {
		text : menutext,link : menuItem, Target : (target ? target : "_self")
	}
}

function loadMenu(menu, elm) {
  var theHTML = menuWrapperTop.Replace('MENU_ID', menu);
  var curMenu = dropMenu[menu];
  var contentHTML = '';
  
  var style_suffix='';
 if (parentMenu) if (parentMenu.getAttribute("style_suffix")!="") style_suffix = parentMenu.getAttribute("style_suffix");

  var menu_wrapper = menuItem.Replace('MENU_ID', menu);
	for (var MenuItem in curMenu.menuItems) {
	  if (curMenu.menuItems[MenuItem]['text'] != '' && typeof(curMenu.menuItems[MenuItem]) != 'function') {
		contentHTML += menu_wrapper.Replace('ITEM_LINK', LinkURL + curMenu.menuItems[MenuItem]['link']);
		contentHTML = contentHTML.Replace('MENU_TEXT', curMenu.menuItems[MenuItem]['text']);
		contentHTML = contentHTML.Replace('ITEM_TARGET', curMenu.menuItems[MenuItem].Target);
	  }
	}
	theHTML+=contentHTML;
	theHTML+=menuWrapperBottom
	theHTML=theHTML.Replace("<<STYLE_SUFFIX>>", style_suffix);
  if (contentHTML != '')
		elm.innerHTML = theHTML;
  else
  	elm.innerHTML = '';
}

function gvWaitFor(sAction,sIfExpression, iInterval)
{
	if(eval(sIfExpression))
		eval(sAction);
	else {
		var TimeOutAction = "gvWaitFor(\"" + sAction + "\",\"" + sIfExpression + "\"," + iInterval+ ")"
		window.setTimeout(TimeOutAction, iInterval)
	}
}

function checkElem(sAction){
  if (overElemName.indexOf(showingMenu) == -1){
  	eval(sAction)
		showingMenu = '';
		if (parentMenu && (parentMenu.id.indexOf(selected_item) == -1 || selected_item == '')) {parentMenu.onmouseout=_menu_onmouseout;parentMenu.onmouseout();}
  }
}

function _menu_onmouseout() {
	if (typeof(_menu_toggle) == 'function') {
		_menu_toggle(this, false);
	}
	else if (menu_class && !no_class_for_parent) this.className=menu_class;
}

function _menu_onmouseover(){
	if (typeof(_menu_toggle) == 'function') {
		_menu_toggle(this, true);
	}
	this.className=menu_class_over;
}

function showMenu(num,vSwitch,obj){
	if (parentMenu && obj && menu_class) {
		if (obj != parentMenu && (parentMenu.id.indexOf(selected_item) == -1 || selected_item == '')) {
			parentMenu.onmouseout=_menu_onmouseout
			parentMenu.onmouseout();
  	}
	}
	switch (num){
		case 0:
			if (showingMenu != ""){
			  if (overElemName.indexOf(showingMenu) == -1 && overElemName != 'navmenu'){
				window.setTimeout("checkElem(\"document.getElementById('" + showingMenu + "').style.display = 'none'\")", 500)
			  }
			}
			if (prevMenu != "" && prevMenu != showingMenu){
				if (document.getElementById(prevMenu)){
					document.getElementById(prevMenu).style.display = 'none';
				}
			}
		break;
		default:
		  if (menu_class) {
			if (!no_class_for_parent) parentMenu = obj;
			if (!no_class_for_parent) parentMenu.className = menu_class_over;
			if (!no_class_for_parent) parentMenu.onmouseout=_menu_onmouseover;
				showingMenu = 'drop_menu';
		  }
		  
			if (vSwitch && document.getElementById("menu_" + num)){
				switch (menuDirection) {
				  case 'right' :
					  var topPos = getElmPos_left(document.getElementById("menu_" + num));
					  var menuItemTopPos = getElmPos_left(obj);
						document.getElementById("menu_" + num).style.left = menuItemTopPos;
					break;
					default:
					  var leftPos = getElmPos_left(document.getElementById("menu_" + num));
					  var menuItemLeftPos = getElmPos_left(obj);
						document.getElementById("menu_" + num).style.left = menuItemLeftPos;
					break;
				}

				document.getElementById("menu_" + num).style.display = '';

				prevMenu = showingMenu;
				showingMenu = "menu_" + num;
			}
			
			if (vSwitch && (document.getElementById("drop_menu") || document.getElementById("menu_" + num))){
			  if (!document.getElementById("menu_" + num)) {
					loadMenu(num, document.getElementById("drop_menu"));
					menuElm = document.getElementById("drop_menu");
					if (menuElm.innerHTML == '') return;
					showingMenu = 'drop_menu';
			  }
			  else {
			  	menuElm = document.getElementById("menu_" + num)
					showingMenu = 'menu_' + num;
			  }
				
				switch (menuDirection) {
				  case 'right' :
					  var topPos = getElmPos_top(menuElm);
					 	var menuItemLeftPos = getElmPos_left(obj);
						var menuItemTopPos = getElmPos_top(obj)
						var menuItemWidth= getElmWidth(obj)
						menuElm.style.display = '';
		
						menuElm.style.top = menuItemTopPos;
						menuElm.style.left = menuItemLeftPos + (belowParent ? menuItemWidth : 0);
						prevMenu = showingMenu;
					break;
					default:
					  var leftPos = getElmPos_left(menuElm);
					 	var menuItemLeftPos = getElmPos_left(obj);
						var menuItemTopPos = getElmPos_top(obj)
						var menuItemHeight = getElmHeight(obj)
						menuElm.style.display = '';
		
						menuElm.style.left = menuItemLeftPos;
						menuElm.style.top = menuItemTopPos + (belowParent ? menuItemHeight : 0);
						prevMenu = showingMenu;
					break;
				}
			}
		break;
	}
}

function setShowingMenu(val){
	showingMenu = val
}

function getElmPos_left(elm){
	var left = elm.offsetLeft;
	while((elm = elm.offsetParent) != null)
	{
		left += elm.offsetLeft;
	}
	return left;
}

function getElmPos_top(elm) {
	var top = elm.offsetTop;
	while((elm = elm.offsetParent) != null)	{
		top += elm.offsetTop;
	}
	return top;
}

function getElmWidth(elm){
	return elm.offsetWidth;
}

function getElmHeight(elm){
	return elm.offsetHeight;
}

function navmenu_DoFSCommand(command, args) { 
  if (command) { 
    eval(command + "(" + args + ")");
  }
}
//</script>