var navLevel = -1; // 1=full functionality || 0=limited functionality || -1=no functionality; see getNavLevel()
var navCellArray = new Array();
var navATagArray = new Array();
var navLinkArray = new Array();
var navLocations = new Array();
var navTop = 116;
var menuArray = ["Home","Earthmoving","Power","Parts","Rental","AboutUs"];
var menuFlashNames = ["menuHome","menuEarthmoving","menuPower","menuParts","menuRental","menuAboutUs"];
var menuFlashSizes = [[1,1],[140,55],[140,55],[140,55],[161,80],[161,155]]; //[Menu][x,y]
var menuObjArray = new Array();
var activeMenus = false;
var testing = false;
var initiateOnLoad = false;
var debugMethod = 1; //force debug message method ; -1 = no set method || 0 = alerts only || 1 = DebugDiv only

function debug(method, message) {
	if (testing) {
		if (debugMethod>-1) method = debugMethod;
		switch (method) {
			case 0:
				alert(message);
				break;
			case 1:
				if (navLevel > 0) {
					displayDebugDiv(true);
					writeDebug(message);
				} else {
					alert(message);
				}
				break;
			default:
				alert(message);
				break;
		}
	}
}

function displayDebugDiv(bin) {
	objDiv = document.getElementById("debugDiv");
	if (bin) {
		objDiv.style.display = "block";
	} else {
		objDiv.style.display = "none";
	}
}
function writeDebug(msg) {
	objDiv = document.getElementById("debugDiv");
	while (msg.indexOf("\n")>=0) {
		msg = msg.replace(/\n/,"<br>");
	}
	objDiv.innerHTML = "<p>"+msg+"</p>"+objDiv.innerHTML;
}
function navMouseOver(ob,dir,n) {
	if (dir) {
		ob.style.backgroundImage="url(images/nav_bg_light.gif)";
		if (activeMenus) displayMenu(true,n);
	} else {
		ob.style.backgroundImage="url(images/nav_bg.gif)";
		//if (activeMenus) displayMenu(false,n); //disabled - onmouseMove will detect if menus must be closed;
	}
}
function navWriteFlashObj(num) {
	debug(1,"Writing Flash Menus ["+num+"]\nMenu: "+"+menuFlashNames[num]+"+" ["+menuFlashSizes[num][0]+"x"+menuFlashSizes[num][0]+"]");
	var returnString = "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0' ";
	returnString += "width='"+menuFlashSizes[num][0]+"' height='"+menuFlashSizes[num][1]+"' id='"+menuFlashNames[num]+"' ";
	returnString += "align='middle'><param name='allowScriptAccess' value='sameDomain' />";
	returnString += "<param name='movie' value='images/"+menuFlashNames[num]+".swf' />";
	returnString += "<param name='quality' value='high' /><param name='bgcolor' value='#ffffff' /><param name='wmode' value='transparent'>";
	returnString += "<embed src='images/"+menuFlashNames[num]+".swf'";
	returnString += "wmode='transparent' quality='high' bgcolor='#ffffff'";
	returnString += "width='"+menuFlashSizes[num][0]+"' height='"+menuFlashSizes[num][1]+"' name='"+menuFlashNames[num]+"'";
	returnString += "align='middle' allowScriptAccess='sameDomain' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' /></object>";
	return returnString;
}
function navWriteMenus() {
	for (j=0;j<menuArray.length;j++) {
		document.body.innerHTML+="<div class='menu' id='menu"+menuArray[j]+"'>"+navWriteFlashObj(j)+"</div>"
		menuObjArray[j] = document.getElementById("menu"+menuArray[j]);
	}
	applyNavLocations();
}
function setNavLocations() {
	navLocations = new Array();
	for (k=0;k<navCellArray.length;k++) {
		navLocations[k] = navCellArray[k].offsetLeft;
	}
	debug(1,"Nav Locations: "+navLocations+"\nNav Top: "+navTop);
}
function applyNavLocations() {
	setNavLocations();
	var tempMenuObj;
	for (l=0;l<menuArray.length;l++) {
		tempMenuObj = document.getElementById("menu"+menuArray[l]);
		tempMenuObj.style.left = [navLocations[l]+10]+"px";
		tempMenuObj.style.top = navTop+"px";
		debug(1,"Menu: "+tempMenuObj.id+"\n Location: "+[navLocations[l]+10]);
	}
}
function displayMenu(bin,num){
	var tempMenuObj;
	for (m=0;m<menuArray.length;m++) {
		tempMenuObj = document.getElementById("menu"+menuArray[m]);
		tempMenuObj.style.visibility = "hidden";
	}
	if (bin){
		tempMenuObj = document.getElementById("menu"+menuArray[num]);
		tempMenuObj.style.visibility = "visible";
	}
	debug(1,menuObjArray[num].id+" ["+num+"]\nVisibility: "+menuObjArray[num].style.visibility+"\nSwitch: "+bin);
}
function menuHide(ev) {
	if (activeMenus) {
		hoverObj = ev.target;
		var hoverReference;
		if (hoverObj.className) {
			hoverReference = hoverObj.className.toString();
		} else if (hoverObj.id) {
			hoverReference = hoverObj.id.toString();
		} else if (hoverObj.name) {
			hoverReference = hoverObj.name.toString();
		} else {
			hoverReference = "[Unknown]";
		}
		debug(1,"Hover Reference: "+hoverReference)
		if (hoverReference.substr(0,4)=="menu"||hoverReference.substr(0,3)=="nav") {
			debug(1,"Over Menu: "+hoverObj.className);
		} else {
			displayMenu(false,0);
		}
	}
}
function enableNav() {
	if (navLevel>-1) {
		if (navLevel>0) {
			navCellArray = document.getElementsByName("navCell");
			if (activeMenus) navWriteMenus();
			for (i=0;i<navCellArray.length;i++) {
				navATagArray[i] = navCellArray[i].getElementsByTagName("a")[0].innerHTML;
				navLinkArray[i] = navCellArray[i].getElementsByTagName("a")[0];
				navCellArray[i].onmouseover = new Function("navMouseOver(this,true,"+i+")");
				navCellArray[i].onmouseout = new Function("navMouseOver(this,false,"+i+")");
				navCellArray[i].onmouseup = new Function("document.location='"+navLinkArray[i]+"';");
			}
			debug(0, "Function: enableNav\nnavLevel: "+navLevel+"\nCell Array:\n"+navCellArray+"\nTag Array\n"+navATagArray+"\nLink Array:\n"+navLinkArray);
		} else {
			navCellArray = ['object']; ///////////////////////////////////////////////Set up for IE 4
			debug(0, "Function: enableNav()\nnavLevel: "+navLevel+"\nSetup IE 4");////////////////////////////////////////////////////////////////////////
		}
		if (activeMenus) {
			debug(0,"Function: enableNav()\nnavLevel: "+navLevel+"\nActivate Menus");/////////////////////////////////////////////////////////////////////
		}
	}
}
function setNavLevel() {
	if ((document.getElementById)&&(document.getElementsByName)) { //IE 5.5, NS 7, FFx 1, etc
		navLevel = 1;
	} else if (document.all) { //IE 4
		navLevel = 0;
	} else { //NS 4, IE 3
		navLevel = -1;
	}
	debug(0, "navLevel: "+navLevel);
}

function clearSearchBox() {
	if (navLevel>0) {
		var fieldValue = document.getElementById("searchBox").value;
		debug(1, "SearchBox Focus");
		if (fieldValue=="Search") {
			document.getElementById("searchBox").value = "";
			debug(1, "SearchBox Changed");
		}
		
	}
}
function initiate() {
	setNavLevel();
	enableNav();
	if (navLevel>0) {
		document.getElementById("searchBox").onfocus = function () { clearSearchBox(); }
	}
}
// ------
if (initiateOnLoad) {
	window.onload=new Function("initiate()");
	window.onresize=new Function("applyNavLocations()");
	window.onmousemove =function (e) { menuHide(e); }
	//window.onerror=function (err) { debug(1,err); return true;"; }
}

//--------------------
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

//----------------------------------
