var blnOpen = false;
var strOpenMenu;
var intTopNavTabNum;

function findPos(obj)
{
	var curleft = curtop = 0;
	if (obj.offsetParent)
	{
		do
		{
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		}
		while (obj = obj.offsetParent);
		return [curleft,curtop];
	}
}

function menuOpen(objTab)
{
	closeAll(objTab);
	var arrPos = findPos(objTab);
	var intCellNum = objTab.className;
	var objDD = document.getElementById('navMenu'+intCellNum);
	objDD.style.height = "";
	objDD.style.top = '134px';
	objDD.style.display='block';
	objDD.style.left = arrPos[0];
	objDD.style.top = arrPos[1] + objTab.offsetHeight;
	blnOpen = true;
	strOpenMenu = 'navMenu'+intCellNum;
}

function startMenuClose(objTab)
{
	blnOpen = false;
	var intCellNum = objTab.className;
	var objDD = document.getElementById('navMenu'+intCellNum);

	if(!blnOpen)
	{
		setTimeout("menuClose(document.getElementById('"+objTab.id+"'));", 500);
	}
}

function menuClose(objTab)
{
	var intCellNum = objTab.className;
	var objDD = document.getElementById('navMenu'+intCellNum);

	setTimeout("if(!blnOpen){recursiveClose('"+objDD.id+"');}", 500);
}

function menuIn(objMenu)
{
	blnOpen = true;
	strOpenMenu = objMenu.id;
	objMenu.style.height = "";
	objMenu.style.zIndex = "120";
}

function menuOut(objMenu)
{
	blnOpen = false;
	if(!blnOpen)
	{
		setTimeout("if(!blnOpen){recursiveClose('"+objMenu.id+"');}", 1000);
	}
	objMenu.style.zIndex = "119";
}

function closeAll(objTab)
{
	var intNumNav = document.getElementById('navlinks').cells.length;
	for(i=0; i<intNumNav; i++)
	{
		if(objTab.className != i+1)
		{
			var objMenu =	document.getElementById('navMenu'+(i+1));
			setTimeout("recursiveClose('"+objMenu.id+"');", 5);
		}
	}
}

function recursiveClose(strId)
{
	var objMenu =	document.getElementById(strId);
	var intMenuXPos = objMenu.style.height.replace("px", "");

	if(objMenu.style.height == "")
	{
		objMenu.style.height = objMenu.offsetHeight;
	}

	if(intMenuXPos > 1 && (!blnOpen || (strId != strOpenMenu)))
	{
		var intDecrement = 10;

		if(intDecrement < intMenuXPos)
		{
			intMenuXPos = intMenuXPos - intDecrement;
		}
		else
		{
			intMenuXPos = intMenuXPos - 1;
		}

		objMenu.style.height = intMenuXPos + "px";
		setTimeout("recursiveClose('"+strId+"')", 10);
	}
	else if(intMenuXPos == "" && intMenuXPos < 1 && (!blnOpen || (strId != strOpenMenu)))
	{
		setTimeout("recursiveClose('"+strId+"')", 10);
	}
	else
	{
		if(intMenuXPos > 1)
		{
		setTimeout("recursiveClose('"+strId+"')", 10);
		}
		else
		{
			if (intMenuXPos != "" && intMenuXPos.substring(0,1) != "0")
			{
				objMenu.style.display = "none";
			}
		}
	}
}

function navHover(cell,x,mblnReset)
{
	var objParentNode = cell.parentNode;
	//subtract one to account for the search box on the nav bar
	var intCellCount = objParentNode.cells.length;
	var objSubLinks = document.getElementById("nav-sub-links");
	var intLinkCount = objSubLinks.cells.length;
	blnOpen = true;
	strOpenMenu = cell.id;
	var intCellNum = strOpenMenu.substring(strOpenMenu.length-1, strOpenMenu.length);
	var mUp;
	for(i=0; i<(intCellCount); i++)
	{
		var mDiv = objParentNode.cells[i].id;
		var mDivId = mDiv.substring(0,mDiv.length-1);
		if (i > 10)
		{
			// The tabs on the right need to be green...
			mUp = "NavBGUpG";
		}
		else
		{
			mUp = "NavBGUp";
		}
		if ((mDivId != "topnavlend") && (mDivId != "topnavdiv") && (mDivId != "topnavrend")) /*Don't mess with the dividers or ends...*/
		{
			objParentNode.cells[i].className = "UNAV " + mUp;
		}
	}

	if(cell.id==document.getElementById(strDefaultSubNav).id)
	{
		cell.className = "UNAV NavBGDown";
	}
	else
	{
		cell.className = "UNAV NavBGHover";
	}

	while(objSubLinks.cells.length != 0)
	{
		objSubLinks.deleteCell(0);
	}
   switch(strOpenMenu) {
   	case "topnavtd1":
   		//*** Get Estimate
   		intTopNavTabNum = 1;
   		document.getElementById("NavArrow1").innerHTML = '<span class="UPHEADER NavArrow" align="CENTER">&nbsp;</span>';
   		document.getElementById("NavArrow2").innerHTML = '';
   		document.getElementById("NavArrow3").innerHTML = '';
   		document.getElementById("NavArrow4").innerHTML = '';
   		document.getElementById("NavArrow5").innerHTML = '';
   		document.getElementById("NavArrow6").innerHTML = '';
   		document.getElementById("NavArrow7").innerHTML = '';
			if (gblnReserved)
			{
				insertSublink('/moving-estimate/view-estimate.asp','View My Estimate',true,false);
				insertSublink('/moving-boxes/moving-boxes.asp','Buy Moving Boxes',false,false);
			}
			else if (gstrQuoteId != '')
			{
				insertSublink(gstrReserveLink,'Book My Move',true,false);
				insertSublink('/moving-estimate/view-estimate.asp','View My Estimate',true,false);
				insertSublink('/moving-estimate/change-estimate.asp','Change My Estimate',false,false);
			}
			else
			{
				insertSublink('/moving-estimate/default.asp','Get an Estimate',true,false);
				insertSublink('/moving-estimate/view-estimate.asp','View My Estimate',true,false);
				insertSublink('/moving-estimate/change-estimate.asp','Change My Estimate',true,false);
				insertSublink('/moving-estimate/forgot-reference.asp','Forgot Reference Number?',false,false);
			}
			break;
   	case 'topnavtd2':
   		//*** Moving Services
   		intTopNavTabNum = 3;
   		document.getElementById("NavArrow1").innerHTML = '';
   		document.getElementById("NavArrow2").innerHTML = '<span class="UPHEADER NavArrow" align="CENTER">&nbsp;</span>';
   		document.getElementById("NavArrow3").innerHTML = '';
   		document.getElementById("NavArrow4").innerHTML = '';
   		document.getElementById("NavArrow5").innerHTML = '';
   		document.getElementById("NavArrow6").innerHTML = '';
   		document.getElementById("NavArrow7").innerHTML = '';
   		insertSublink('/moving-services/full-service-moving.asp','Full Service Moving',true,false);
			//insertSublink('/moving-services/self-moving.asp','Partial Self-Moving',true,false);
			insertSublink('/moving-services/storage.asp','Storage',true,false);
			//insertSublink('/moving-services/military-moving.asp','Government / Military Moving',true,false);
			//insertSublink('/moving-services/corporate-relocation.asp','Corporate Relocation',true,false);
			insertSublink('/moving-services/long-distance-moving.asp','Long Distance Moving',true,false);
			insertSublink('/moving-services/cross-country-moving.asp','Cross Country Moving',true,false);
			insertSublink('/moving-services/guaranteed-moving.asp','Guaranteed Moving',true,false);
			insertSublink('/moving-services/coverage/',gconCoShortName + ' Service Points',false,false);
			break;
   	case 'topnavtd3':
   		//*** Compare Movers
   		intTopNavTabNum = 2;
   		document.getElementById("NavArrow1").innerHTML = '';
   		document.getElementById("NavArrow2").innerHTML = '';
   		document.getElementById("NavArrow3").innerHTML = '<span class="UPHEADER NavArrow" align="CENTER">&nbsp;</span>';
   		document.getElementById("NavArrow4").innerHTML = '';
   		document.getElementById("NavArrow5").innerHTML = '';
   		document.getElementById("NavArrow6").innerHTML = '';
   		document.getElementById("NavArrow7").innerHTML = '';
			insertSublink('/compare-movers/fast-moving.asp','Fast Moving',true,false);
			insertSublink('/compare-movers/safety-rating.asp','Safety Rating',true,false);
			insertSublink('/compare-movers/moving-budget.asp','Moving Budget',false,false);
			break;
   	case 'topnavtd4':
   		//*** Moving Resources
   		intTopNavTabNum = 4;
   		document.getElementById("NavArrow1").innerHTML = '';
   		document.getElementById("NavArrow2").innerHTML = '';
   		document.getElementById("NavArrow3").innerHTML = '';
   		document.getElementById("NavArrow4").innerHTML = '<span class="UPHEADER NavArrow" align="CENTER">&nbsp;</span>';
   		document.getElementById("NavArrow5").innerHTML = '';
   		document.getElementById("NavArrow6").innerHTML = '';
   		document.getElementById("NavArrow7").innerHTML = '';
			insertSublink('/moving-resources/moving-questions.asp','Moving FAQs',true,false);
			insertSublink('/moving-resources/moving-checklist.asp','Moving Checklist',true,false);
			insertSublink('/moving-resources/moving-tips.asp','Moving Tips',true,false);
			insertSublink('/moving-resources/moving-forms.asp', 'Forms and Documents', true, false);
			insertSublink('/abf/abf-freight/', 'ABF Freight', false, false);
			break;
   	case 'topnavtd5':
   		//*** Moving Boxes
   		intTopNavTabNum = 5;
   		document.getElementById("NavArrow1").innerHTML = '';
   		document.getElementById("NavArrow2").innerHTML = '';
   		document.getElementById("NavArrow3").innerHTML = '';
   		document.getElementById("NavArrow4").innerHTML = '';
   		document.getElementById("NavArrow5").innerHTML = '<span class="UPHEADER NavArrow" align="CENTER">&nbsp;</span>';
   		document.getElementById("NavArrow6").innerHTML = '';
   		document.getElementById("NavArrow7").innerHTML = '';
			insertSublink('/moving-boxes/','Moving Boxes',false,false);
			break;
   	case 'topnavtd6':
   		//*** Corporate Relocation
   		intTopNavTabNum = 6;
   		document.getElementById("NavArrow1").innerHTML = '';
   		document.getElementById("NavArrow2").innerHTML = '';
   		document.getElementById("NavArrow3").innerHTML = '';
   		document.getElementById("NavArrow4").innerHTML = '';
   		document.getElementById("NavArrow5").innerHTML = '';
   		document.getElementById("NavArrow6").innerHTML = '<span class="UPHEADER NavArrow" align="CENTER">&nbsp;</span>';
   		document.getElementById("NavArrow7").innerHTML = '';
			insertSublink('/moving-services/corporate-relocation.asp','Corporate Relocation',false,false);
			break;
   	case 'topnavtd7':
   		//*** Government / Military
   		intTopNavTabNum = 7;
   		document.getElementById("NavArrow1").innerHTML = '';
   		document.getElementById("NavArrow2").innerHTML = '';
   		document.getElementById("NavArrow3").innerHTML = '';
   		document.getElementById("NavArrow4").innerHTML = '';
   		document.getElementById("NavArrow5").innerHTML = '';
   		document.getElementById("NavArrow6").innerHTML = '';
   		document.getElementById("NavArrow7").innerHTML = '<span class="UPHEADER NavArrow" align="CENTER">&nbsp;</span>';
			insertSublink('/moving-services/military-moving.asp','Government / Military',false,false);
			break;
      default:
//			alert(strOpenMenu);
         break;
	}
	document.getElementById("nav-bottom").onmouseover = subNavIn;
//	document.getElementById("nav-bottom").onmouseout = subNavOut;
}

function insertSublink(strText,strName,blnBorder,blnSmallFont)
{
	var objSubLinks = document.getElementById("nav-sub-links");
	var intLinkCount = objSubLinks.cells.length;
	var newCell = objSubLinks.insertCell(intLinkCount);
	var mOnClick = ' onclick="trackWebAnalyticEvent(92, \'sub nav ' + intTopNavTabNum + '-' + strName + '\');"';
	var mName = strName;
	var mTitle = strName;

	if (strName == "Book My Move") {
		mName = "<b>"+strName+"</b>";
	}

	if ((strPathInfo.indexOf(strText) >= 0) && (strName != "Service Center Lookup")) {
		newCell.innerHTML = '<span title="You are currently on '+strName+'...">'+mName+'</span>';
		newCell.className = "navCurPage";
	}
	else if ((strPathInfo.indexOf(strText) >= 0) && (strName == "Service Center Lookup")) {
		newCell.innerHTML = '<a href="'+strText + '" title="Return to Coverage Map..."' + mOnClick + '>'+mName+'</a>';
		newCell.className = "navCurPage";
	}
	else {
		if (gblnCallFocusQuoteResponse && ((strName == "Book My Move") || (strName == "Change My Estimate") || (strName == "Space Estimators") || (strName == "Will My Price Change?")))
		{
			var mEventName = '\''+gstrEventPrefix+' SNAV '+intTopNavTabNum+'-'+strName+'\'';
			var mEvent = '\''+gstrWAEventName+'\','+mEventName;
			mOnClick = ' onclick="trackWebEvent('+mEvent+');' +
									   'trackWebAnalyticEvent('+mEvent+');"';
			if (gblnWAdiagsReviewer) {
				mOnClick += '" onmouseover="showWAdiags('+mEventName+');" onmouseout="hideWAdiags();"';
			}
		}
		newCell.innerHTML = '<a href="'+strText + '" title="'+mTitle+'"' + mOnClick + '>'+mName+'</a>';
		newCell.className += 'navDiffPage';
	}
	if (blnBorder) {
		var newPipeCell = objSubLinks.insertCell(intLinkCount+1);
		newPipeCell.innerHTML = '<span class="NavDiv">I</span>';
	}
	if (blnSmallFont) {
		newCell.className += ' navSmall';
		if (blnBorder) {
			newPipeCell.className += ' navSmall';
		}
	}
	else
	{
		newCell.className += ' navNorm';
	}
}

function resetNav(cell,x)
{
	blnOpen = false;
	setTimeout("resetNavMenu('"+cell.id+"',"+x+");", 20);
}
function resetNavMenu(strId,x)
{
	if(!blnOpen)
	{
		navHover(document.getElementById(strDefaultSubNav),x,true);
	}

}

function subNavIn()
{
	blnOpen = true;
}
function subNavOut()
{
	blnOpen = false;
	resetNav(document.getElementById(strOpenMenu));
}

function toggleSearchButton()
{
	if(document.frmNavSearch.q.value.length > 0) {
		document.getElementById('searchbutton').className = 'UPHEADER UPSearchButton mag';
	}
}

function removeDefaultText()
{
	if(document.frmNavSearch.q.value == ' search') {
		document.frmNavSearch.q.value = '';
	}
}

function resetDefaultText()
{
	if (document.frmNavSearch.q.value == '') {
		document.frmNavSearch.q.value = ' search';
	}
}

function submitSearch()
{
	document.frmNavSearch.submit();
}
