var currentMenu = null;
var opera = window.opera ? true : false;
var starterArrowOffsetWidth = 6;
var MacOffsetWidth = 0;
var MacOffsetHeight = 0;

if (document.all && !window.print) {
	MacOffsetWidth = 7;
    MacOffsetHeight = 2;
}

var IESubmenuOffsetWidth = 115;

if (!document.all) {
	IESubmenuOffsetWidth = 107;
}

if (!document.getElementById)
	document.getElementById = function() { return null; }
	
function initializeMenu(menu, starter, root) {
	var leftstarter = false;	
	
		
	if (menu == null || starter == null) return;
	currentMenu = menu;	
	
	//start another fine rnj cludge - this doesn't work - it messes up the left opening.
	menu.style.right = "0px";
	//end  another fine rnj cludge
	
		
	starter.onmouseover = function() {
		swapMenu(starter.id, "roll"); 
					
		if (currentMenu) {
		
			// IS this IF block needed? Doesn't seem to be for IE on WINDOWS
			if (this.parentNode.parentNode!=currentMenu) {
				currentMenu.style.visibility = "hidden";	
			}
				
			currentMenu = null;
			
			if (!opera) {
			
				if (this.parentNode.parentNode==root) {
					
					if (starter.id=='forowners_starter'){
						// Adjust right opening final menu item. Was 84.
						menu.style.left = (this.offsetLeft + starterArrowOffsetWidth - 37 ) + "px";


                    } else if (starter.id=='aboutsaab_starter') {
                       menu.style.left = (this.offsetLeft + starterArrowOffsetWidth - 15 ) + "px";

                    } else if (starter.id=='certifiedpreowned_starter') {
                     //  menu.style.left = (this.offsetLeft + starterArrowOffsetWidth - 20 ) + "px";
                     menu.style.left =  "398px";

                    } else if (starter.id=='shopandbuy_starter') {
                       menu.style.left = (this.offsetLeft + starterArrowOffsetWidth - 26 ) + "px";

                    } else if (starter.id=='vehicles_starter') {
                       menu.style.left = (this.offsetLeft + starterArrowOffsetWidth - 27 ) + "px";


					}else{	
						menu.style.left = (this.offsetLeft + starterArrowOffsetWidth) + "px";
					}	
					
					menu.style.top = (this.offsetTop + this.offsetHeight - MacOffsetHeight) + "px";
					
				}else{
          			
					if(this.className=="reverse") {
          			
						menu.style.right = (this.offsetLeft + this.offsetWidth - 1  - MacOffsetWidth) + "px";
          			}else{
              			menu.style.left = (this.offsetLeft + this.offsetWidth - 1 - MacOffsetWidth) + "px";          
          			}
				 
          			menu.style.top = (this.offsetTop - MacOffsetHeight) + "px";
          			
          			
          			for (var x=0;x<menu.childNodes.length;x++) {
        				
	          			if (menu.childNodes[x].nodeName=="LI") {
		          			
               				menu.childNodes[x].getElementsByTagName("A").item(0).style.width = IESubmenuOffsetWidth + "px";
               				
               				
        				}
        			}
        			
        			
				}
			}else{
			
				if (this.parentNode.parentNode==root) {
					menu.style.left = this.offsetLeft + "px";
					menu.style.top = this.offsetHeight + "px";
				}else{
				 	menu.style.left = (this.offsetWidth - 1) + "px";
				 	menu.style.top = this.offsetTop + "px"; 
				}

			}
			
			
			
			menu.style.visibility = "visible";
			currentMenu = menu;
			
			
		
		}
	}
	
	menu.onmouseover = function() {
	
		if (currentMenu) {
			
						
			currentMenu = null;
			var tempStr = menu.id;
			tempStr = tempStr.replace("submenu_", "");
			tempStr = tempStr + "_starter";
			swapMenu(tempStr, "roll");
			this.style.visibility = "visible";
			currentMenu = this;
			
			
	 	}
	}	
	
	menu.hideL3 = function(){
		for (var 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.onmouseout = function(event) {
			
						
			this.hideL3(); 
			killMenu(this.id, root.id);
		
	}

		
	starter.onmouseout = function() {
		menu.style.visibility = "hidden";
			swapMenu(starter.id, "off");
			menu.hideL3();
	}
}
	function killMenu(menu, root) {
		var menu = document.getElementById(menu); 	
		var root = document.getElementById(root);
		
		
		var tempStr = menu.id;
		tempStr = tempStr.replace("submenu_", "");
		tempStr = tempStr + "_starter";
		swapMenu(tempStr, "off"); 
		
		menu.style.visibility = "hidden"; 
		
		while (menu.parentNode.parentNode!=root) {
			menu.parentNode.parentNode.style.visibility = "hidden"; 
			menu = menu.parentNode.parentNode;
		}
	}
	

	window.onload = function() {
		var root = document.getElementById("menuList");
		getMenus(root, root);
	}

function getMenus(elementItem, root) {
	var menuStarter;
	var menuItem;
	for (var x=0;x<elementItem.childNodes.length;x++) {
		if (elementItem.childNodes[x].nodeName=="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);
				getMenus(menuItem, root);
				initializeMenu(menuItem, menuStarter, root);
			}
		}
	}
}