var crtMenu = null;
var lastMenuStarter = null;
var mytimer = null;
var timerOn = false;
var opera = window.opera ? true : false;
var menuroot;
var menurootOffset;
var selectedItem = 1;

function get_browser(){
  
  var detect = navigator.userAgent.toLowerCase();
  
  var browser,version,place;
  
  //find browser
  if (detect.indexOf('konqueror') + 1){
	 browser = "konqueror";
	 OS = "Linux";
	 place = detect.indexOf('konqueror') + 1;
  } else if (detect.indexOf('safari') + 1){ 
    browser = "safari";
	  place = detect.indexOf('safari') + 1;
  } else if (detect.indexOf('omniweb') + 1){
    browser = "omniweb";
	  place = detect.indexOf('omniweb') + 1;
  } else if (detect.indexOf('opera') + 1){
    browser = "opera";
	  place = detect.indexOf('opera') + 1;
  } else if (detect.indexOf('webtv') + 1){
    browser = "webtv";
	  place = detect.indexOf('webtv') + 1; 
  } else if (detect.indexOf('icab') + 1){
    browser = "icab";
	  place = detect.indexOf('icab') + 1;
  } else if (detect.indexOf('msie') + 1){
    browser = "msie";
	  place = detect.indexOf('msie') + 1;
  } else if (!detect.indexOf('compatible')){
	 browser = "netscape"
	 version = detect.charAt(8);
  } else if (!detect.indexOf('mozilla')){
	 browser = "mozilla"
	 place = detect.indexOf('mozilla') + 1;
  }
  else{
    browser = "unknown";
  }
  if (detect.charAt(place+4) == '7'){
	  browser = browser+'7';
  }
  return browser;
}
function initme(){
	browser = get_browser();
	if (browser == 'msie'){
		counter = 0;
		element_id = 'menubar0';
		element = document.getElementById(element_id);
		while(element){
			element.className = 'menubarie';
			counter ++;
			element = document.getElementById('menubar'+counter);
		}
	}
	if (browser == 'msie7') {
		 document.getElementById('menuList').id='menuListie7';
		 menuroot = document.getElementById("menuListie7");
	} else {
		menuroot = document.getElementById("menuList");
	}
	
	menurootOffset = menuroot.offsetLeft;
	listMenus(menuroot, menuroot);
}

function initDummy(dummy, menuroot) {
	var x;
	dummy.onmouseover = function() {
		containingMenu = this.parentNode.parentNode;
		for (x = 0; x < containingMenu.childNodes.length; x++) {
			if (containingMenu.childNodes[x].nodeName.toUpperCase() == "LI") {
				if (containingMenu.childNodes[x].getElementsByTagName("ul").length > 0) {
					containingMenu.childNodes[x].getElementsByTagName("UL").item(0).style.visibility = 'hidden';
				}
			}
		}
	}
	dummy.onfocus = function() {
		dummy.onmouseover();
	}
}

function initMenu(menu, starter, menuroot) {
	
	var leftstarter = false;
	if (menu == null || starter == null || menu == '' || !menu) {
		return;
	} else {
		crtMenu = menu;
	}
	if(crtMenu){
		starter.onmouseover = function() {
			selectedItem = 1;
			if (crtMenu) {
				if (this.parentNode.parentNode != crtMenu) {
					crtMenu.style.visibility = "hidden";
					hideAllMenus(crtMenu, menuroot);
					
				}
				if (this.parentNode.parentNode == menuroot) {
					while (crtMenu.parentNode.parentNode != menuroot) {
						crtMenu.parentNode.parentNode.style.visibility = "hidden";
						crtMenu = crtMenu.parentNode.parentNode;
					}
				}
				crtMenu = null;
				this.showMenuMain();
			}
		}
		
		menu.onmouseover = function() {
			selectedItem = 1;
			if (crtMenu) {
				crtMenu = null;
				this.showMenuMain();
			}
		}	
		menu.onmouseout = function(event) {
			selectedItem = 0;
			this.hideMenuMain();
		}
		starter.showMenuMain = function() {
			
			if (!opera) {
				if (this.parentNode.parentNode == menuroot) {
					menu.style.left = this.offsetLeft + "px";
					menu.style.top = this.offsetTop + this.offsetHeight + "px";
					if (menu.offsetWidth < this.offsetWidth) menu.style.width = this.offsetWidth;
				}
				else {
					menu.style.left = this.offsetLeft + this.offsetWidth + "px";
					menu.style.top = this.offsetTop + "px";
				}
			}
			else {
				var menurootOffset = menuroot.offsetLeft;
				if (this.parentNode.parentNode==menuroot) {
					menu.style.left = this.offsetLeft - menurootOffset + "px";
					menu.style.width = this.offsetWidth;
					menu.style.top = this.offsetHeight + "px";
				}
				else {
					menu.style.left = this.offsetWidth - menurootOffset + "px";
					menu.style.top = this.offsetTop + "px"; 
				}
				
			}
			menu.style.visibility = "visible";
			crtMenu = menu;
		}
		
		/*starter.onfocus	 = function() {
			starter.onmouseover();
		}*/
		
		menu.showMenuMain = function() {
			menu.style.visibility = "visible";
			crtMenu = menu;
		}
		
		menu.hideMenuMain = function()  {
			var x;
			if (timerOn == false) {
				mytimer = setInterval("hideMenuMain('" + this.id + "', '" + menuroot.id + "');", 2000);
				timerOn = true;
				for (x = 0; x < menu.childNodes.length; x++) {
					if (menu.childNodes[x].nodeName=="LI") {
						if (menu.childNodes[x].getElementsByTagName("UL").length > 0) {
							menuItem = menu.childNodes[x].getElementsByTagName("UL").item(0);
							menuItem.style.visibility = "hidden";
						}
					}
				}
			}
		}
		
		
		menu.onblur = function() {
			this.hideMenuMain();
		}
		starter.onmouseout = function() {
			var x
			for (x = 0; x < menu.childNodes.length; x++) {
				if (menu.childNodes[x].nodeName == "LI") {
					if (menu.childNodes[x].getElementsByTagName("UL").length > 0) {
						menuItem = menu.childNodes[x].getElementsByTagName("UL").item(0);
						menuItem.style.visibility = "hidden";
					}
				}
			}
			menu.style.visibility = "hidden";
		}
	}
}
function hideMenuMain(menu, menuroot) {
	var menu = document.getElementById(menu);
	var menuroot = document.getElementById(menuroot);
	var x;
//	alert(menu);
	if(menu){
		menu.style.visibility = "hidden";
		for (x = 0; x < menu.childNodes.length; x++) {
			if (menu.childNodes[x].nodeName=="LI") {
				if (menu.childNodes[x].getElementsByTagName("UL").length > 0) {
					menuItem = menu.childNodes[x].getElementsByTagName("UL").item(0);
					menuItem.style.visibility = "hidden";
				}
			}
		}
		while (menu.parentNode.parentNode != menuroot) {
			menu.parentNode.parentNode.style.visibility = "hidden";
			menu = menu.parentNode.parentNode;
		}
	} else {
		if(selectedItem == 0){
			hideAllMenus(menuroot, menuroot);
		}
	}
	
}

function listMenus(elementItem, menuroot) {
	var selectedItem;
	var menuStarter;
	var menuItem;
	var x
	for (x = 0; x < elementItem.childNodes.length; x++) {
		if (elementItem.childNodes[x].nodeName.toUpperCase()=="LI") {
			if (elementItem.childNodes[x].getElementsByTagName("ul").length > 0) {
				menuStarter = elementItem.childNodes[x].getElementsByTagName("A").item(0);
				menuItem = elementItem.childNodes[x].getElementsByTagName("UL").item(0);
				listMenus(menuItem, menuroot);
				initMenu(menuItem, menuStarter, menuroot);
			}
			else {
				initDummy(elementItem.childNodes[x].getElementsByTagName("A").item(0), menuroot);
			}
		}
	}
}
function hideAllMenus(elementItem, menuroot) {
	var x;
	for (x = 0; x < elementItem.childNodes.length; x++) {
		if (elementItem.childNodes[x].nodeName.toUpperCase()=="LI") {
			if (elementItem.childNodes[x].getElementsByTagName("ul").length > 0) {
				elementItem.childNodes[x].getElementsByTagName("UL").item(0).style.visibility = 'hidden';
				hideAllMenus(elementItem.childNodes[x].getElementsByTagName("UL").item(0), menuroot);
			} else {
				continue;
			}
		} else {
			continue;
		}
	}
}
