var LESS_ONE_ROOM = '< 1 ROOM';
var STUDIO = 'STUDIO APT';
var BED_1 = '1 BEDROOM';
var BED_1_PLUS = '1 BEDROOM PLUS';
var BED_2 = '2 BEDROOM';
var BED_2_PLUS = '2 BEDROOM PLUS';
var BED_3 = '3 BEDROOM';
var BED_3_PLUS = '3 BEDROOM PLUS';
var BED_4 = '4 BEDROOM';
var BED_4_PLUS = '4 BEDROOM PLUS';
var BED_5_PLUS = '5 BEDROOM PLUS';
var OTHER = 'OTHER';
var NONE = 'NONE';
var STORAGE_5X10  = "5' X 10' STORAGE";
var STORAGE_10X10 = "10' X 10' STORAGE";
var STORAGE_10X20 = "10' X 20' STORAGE";
var EnteredOnce = false;
var blnSearchFocus1 = false;
var blnSearchFocus2 = false;
var blnSearchFocusNav = false;
var blnTrackShipment = false;
var strIntraStateMsg = 'ABF U-Pack Moving does not have authority to handle instate moves.';
var strIntraCAMsg = 'ABF U-Pack Moving does not handle Canada to Canada moves.';
var strIntraMXMsg = 'ABF U-Pack Moving does not handle Mexico to Mexico moves.';
var strActiveForm;

function upWinXY(winName,whatWin,winX,winY,scrollB,resizable,useMinWin) {
   var strS = 'no'

   if (scrollB) { strS = 'yes' }
   strR = resizable? 'yes' : 'no'

   if (useMinWin) whatWin = '/include/minwin.asp?pg=' + whatWin;

   eval("if (("+winName+") && (!"+winName+".closed)) { "+winName+".close() }")

	if (navigator.appName == "Microsoft Internet Explorer") {
      eval(winName+" = window.open(whatWin,'','left=10,top=10,status=no,toolbar=no,location=no,resizable="+strR+",copyhistory=no,menubar=no,scrollbars="+strS+",width="+winX+",height="+winY+"')")
   }
   else {
      eval(winName+" = window.open(whatWin,'"+winName+"','screenX=10,screenY=10,status=no,toolbar=no,location=no,resizable="+strR+",copyhistory=no,menubar=no,scrollbars="+strS+",width="+winX+",height="+winY+"')")
   }
}

function gotosite(site) {
	if (site != '') { window.parent.location.href = site; }
}

function validateQuickQuote(frm) {
	var objForm;
   if (frm == "frmQuickQuote"){
	   objForm = eval(document.frmQuickQuote);
	}
	else if (frm == "frmQuickQuote2"){
	   objForm = eval(document.frmQuickQuote2);
	}

	if (validateQuickQuoteAJAX(frm))
	{
		objForm.submit();
	}
}
function validateQuickQuoteAJAX(frm) {
   var strIntraStateMsg = 'ABF U-Pack Moving does not have authority to handle instate moves.'
   var strIntraCAMsg = 'ABF U-Pack Moving does not handle Canada to Canada moves.'
   var objForm;

   if (frm == "frmQuickQuote"){
	   objForm = eval(document.frmQuickQuote);
	}
	else if (frm == "frmQuickQuote2"){
	   objForm = eval(document.frmQuickQuote2);
	}


   var fromState = trimWhiteSpace(objForm.cboFromState.options[objForm.cboFromState.selectedIndex].value);
   var fromCity  = trimWhiteSpace(objForm.txtFromCity.value);
   var fromZip   = trimWhiteSpace(objForm.txtFromZip.value);
   var toState   = trimWhiteSpace(objForm.cboToState.options[objForm.cboToState.selectedIndex].value);
   var toCity    = trimWhiteSpace(objForm.txtToCity.value);
   var toZip     = trimWhiteSpace(objForm.txtToZip.value);

   if ((fromState.indexOf('-') > -1))
   {
   	return warnInvalid(objForm.cboFromState, 'Please select a valid from STATE, not a Country...');
   }

   if ((toState.indexOf('-') > -1))
   {
   	return warnInvalid(objForm.cboFromState, 'Please select a valid to STATE, not a Country...');
   }

   if (objForm.quickquotestate) {
   	objForm.quickquotestate.value = QuickQuoteState;
   }
	 if ((isWhitespace(fromCity) && !isWhitespace(fromState)) || (!isWhitespace(fromCity) && isWhitespace(fromState)))
	 {
	 	return warnInvalid(objForm.txtFromCity, 'A valid moving from CITY and STATE is required...')
	 }

	 if ((isWhitespace(toCity) && !isWhitespace(toState)) || (!isWhitespace(toCity) && isWhitespace(toState)))
	 {
	 	return warnInvalid(objForm.txtToCity, 'A valid moving to CITY and STATE is required...')
	 }


   if ((isWhitespace(fromCity)) && (isWhitespace(fromState)) && (isWhitespace(fromZip))) {
      return warnInvalid(objForm.txtFromCity, 'A valid moving from CITY and STATE or ZIP is required...')
   }

   if ((isWhitespace(toCity)) && (isWhitespace(toState)) && (isWhitespace(toZip))) {
      return warnInvalid(objForm.txtToCity, 'A valid moving to CITY and STATE or ZIP is required...')
   }

   if (!isWhitespace(fromZip)) {
      if (!ValidUPackZip(objForm.cboFromState, objForm.txtFromZip)) {
         return warnInvalid(objForm.txtFromZip, 'A valid moving from zip is required...')
      }
   }

   if (!isWhitespace(toZip)) {
      if (!ValidUPackZip(objForm.cboToState, objForm.txtToZip)) {
         return warnInvalid(objForm.txtToZip, 'A valid moving to zip is required...')
      }
   }
/*
   if (!isWhitespace(toState)) {
      if (fromState.substring(2) == 'CA' && toState.substring(2) == 'CA') {
         trackWebEvent("INTRA-CANADIAN MOVE");
         return warnInvalid(objForm.cboFromState,strIntraCAMsg);
      }
      else if (fromState.substring(2) == 'MX' && toState.substring(2) == 'MX') {
         trackWebEvent("INTRA-MEXICAN MOVE");
         return warnInvalid(objForm.cboFromState,strIntraMXMsg);
      }
   }
*/
   if ( objForm.cboMovingOutOf ) {
	   if (objForm.cboMovingOutOf.selectedIndex == 0) {
	      return warnInvalid(objForm.cboMovingOutOf,'You must specify the SIZE OF RESIDENCE from which you are moving...');
	   }
	 }

	 if (objForm.cboCouponCode) {
		 if (objForm.cboCouponCode.selectedIndex == 0) {
		    return warnInvalid(objForm.cboCouponCode,'Please select the coupon code shown on the back of your postcard...');
		 }
	 }

	EnteredOnce = true;
   return true;
}

function ValidUPackZip(cboSt, txtZp) {

    txtZp.value = trimWhiteSpace(txtZp.value);
    if (cboSt.options[cboSt.selectedIndex].value.substr(2,2) == 'US')
    {
       return ValidUSZip(txtZp);
    }
    else if (cboSt.options[cboSt.selectedIndex].value.substr(2,2) == 'CA')
    {
       return ValidCAZip(txtZp);
    }
    else if (cboSt.options[cboSt.selectedIndex].value.substr(2,2) == 'MX')
    {
       return ValidMXZip(txtZp);
    }
    else
    {
    	return (ValidUSZip(txtZp) || ValidCAZip(txtZp) || ValidMXZip(txtZp));
    }

   return true;
}

//function to validate a number
function isNumber(item,len) {
   var number = /\d{9}/;

   return number.test(item);
}

//function to validate ABF Pro Number
function ValidPronumber(item) {
   if ((item.length < 9) || (item.length > 11) || (!isNumber(item.substring(0,9)))) return false;
   return true;
}

//function to validate U-Pack Quote Number
function ValidSchedID(item) {
   if (item.length < 10) return false;
   return true;
}

// main validation function
function validateQuickTrack() {
   var objForm = document.frmTrace;

   if ((objForm.optRef[0].checked) && (!ValidSchedID(objForm.txtRefNo.value))) {
      return warnInvalid(objForm.txtRefNo,'Enter a valid reference number OR make sure you have selected the correct reference type.');
   }
   if ((objForm.optRef[1].checked) && (!ValidPronumber(objForm.txtRefNo.value))) {
      return warnInvalid(objForm.txtRefNo,'Enter a valid ABF tracking number OR make sure you have selected the correct reference type.');
   }
   objForm.submit();
}

function trackClientEvent(strMsg) {
   if (document.getElementById) {
      if (document.getElementById("eventTrackIFrame")) {
         document.getElementById("eventTrackIFrame").src = "/Include/ClientSideEvent.asp?EVENT=" + strMsg + "&VERSION=" + Math.random();
      }
   }
}

function trackWebAnalyticEvent(intID, strValue)
{
	var objAJAX = new clsAJAX();

	objAJAX.open("GET", "/AJAX/webAnalyticsEvent.asp?eid="+intID+"&ev="+strValue+"&vs="+strWAVisitorSession+"&vi="+intWAVisitID+"&site="+strWAPage+"&page="+strWASite+"&date="+Date(), true);
	objAJAX.send(null);
}

function trackWebEventsEvent(strPage, strEvent)
{
	var objAJAX = new clsAJAX();

	objAJAX.open("GET", "/AJAX/webEventsEvent.asp?page="+strPage+"&event="+strEvent+"&date="+Date(), true);
	objAJAX.send(null);
}

function trackWebEvent(msg) {
   var objForm = document.frmQuote;
   var pg = "QUOTE";
	var callpage = "";

	if (!objForm) { objForm = document.frmQuickQuote; }

	if (objForm)
	{
		if (objForm.callpage) {
			if (objForm.callpage.value != "") {
				callpage = objForm.callpage.value.toUpperCase();
			}
		}

		if (callpage != "")
		{
			pg = callpage + "/QUOTE";
		}
		else
		{
			pg = "QUOTE";
	   }

	   trackClientEvent(pg + ";" + objForm.sid.value + ";" + msg);
	}
}

function trackWebEvent(msg, version) {
   var objForm = document.frmQuote;
   var pg = "QUOTE";
	var callpage = "";

	if (!objForm)	{ objForm = document.frmQuickQuote; }

	if (objForm)
	{
		if (objForm.callpage) {
			if (objForm.callpage.value != "") {
				callpage = objForm.callpage.value.toUpperCase();
			}
		}

		if (callpage != "")
		{
			pg = callpage + "/QUOTE";
		}
		else
		{
			if(version == "")
			{
				pg = "QUOTE";
			}
			else
			{
				pg = "QUOTEV" + version;
			}
	  }

	   trackClientEvent(pg + ";" + objForm.sid.value + ";" + msg);
	}
}

function Up(index) {
   if (typeof navimg2 != 'undefined') {
      if (document.images) document.images['nav' + index].src = navimg2[index].src;
   }
}

function Down(index) {
   if (typeof navimg1 != 'undefined') {
      if (document.images) document.images['nav' + index].src = navimg1[index].src;
   }
}

function getIndexInList(list, item) {
   var blnFound = false;
   for (i = 0; i < list.length; i++) {
      if (list.options[i].value == item) {
         blnFound = true;
         break;
      }
   }
   if (!blnFound) {i = 0};

   return i;
}

// updates the combo boxes when a new city is selected
function UpdateCityZipSt(city, state, zip, cityZipRec) {
   if ((cityZipRec != 'NONE') && (cityZipRec != '')) {
      city.value  = cityZipRec.substring(0, (cityZipRec.indexOf('{')));
      var st = cityZipRec.substring((cityZipRec.indexOf('{')+1), cityZipRec.indexOf('}'));
      for (i = 0; i < state.options.length; i++) {
         if (st == state.options[i].value.substr(0, 2)) {
            break;
         }
      }
      state.options.selectedIndex = i;
      zip.value   = cityZipRec.substring(cityZipRec.indexOf('}')+1);
   }
}

function setFocus(strField) {
	if (eval("document.getElementById('"+strField+"')"))
	{
		eval("document.getElementById('"+strField+"').focus()");
	}
}

function setLinearFt(frm, blnUnder, blnOver) {
   var objForm;
   if (frm == "frmQuickQuote"){
   	objForm = document.frmQuickQuote;
	}
	else if (frm == "frmQuickQuote2"){
   	objForm = document.frmQuickQuote2;
	}
   var residence = objForm.cboMovingOutOf.options[objForm.cboMovingOutOf.selectedIndex].value;
   var linearFt = 0;

   if (residence != OTHER) linearFt = getResidenceFt(residence, blnUnder, blnOver);
   else if (residence == OTHER) linearFt = 10;

   if (linearFt != 0) {
      objForm.cboLinearFeet.value = linearFt;
   }
}

function getResidenceFt(residence, blnUnder, blnOver) {
   var linearFt;

   if ((residence == LESS_ONE_ROOM) || (residence == STUDIO)) linearFt = 5;
   else if ((residence == BED_1) || (residence == STORAGE_5X10)) linearFt = 6;
   else if (residence == BED_1_PLUS) linearFt = 8;
   else if (residence == BED_2) linearFt = 10;
   else if (residence == STORAGE_10X10) linearFt = 12;
   else if (residence == STORAGE_10X20) linearFt = 24;
   else if (blnOver) {
      if (residence == BED_2_PLUS) linearFt = 12;
      else if (residence == BED_3) linearFt = 16;
      else if (residence == BED_3_PLUS) linearFt = 19;
      else if (residence == BED_4) linearFt = 21;
      else if (residence == BED_4_PLUS) linearFt = 28;
      else if (residence == BED_5_PLUS) linearFt = 42;
   }
   else linearFt = 0;

   return linearFt;
}

function validateVideoRequest(frm) {
   if (frm.chkVideo.checked) {
      if (isWhitespace(trimWhiteSpace(frm.txtVideoName.value))) {
         return warnInvalid(frm.txtVideoName,'A Name must be entered upon requesting a DVD.');
      }
      if (isWhitespace(trimWhiteSpace(frm.txtVideoAddress.value))) {
         return warnInvalid(frm.txtVideoAddress,'A mailing Address must be entered upon requesting a DVD.');
      }
      if (isWhitespace(trimWhiteSpace(frm.txtVideoCity.value))) {
         return warnInvalid(frm.txtVideoCity, 'A City must be entered upon requesting a DVD.');
      }
      if (frm.cboVideoState.selectedIndex == 0) {
         return warnInvalid(frm.cboVideoState, 'A State must be selected upon requesting a DVD.');
      }
      if (!ValidUSZip(frm.txtVideoZip) && !ValidCAZip(frm.txtVideoZip)) {
         return warnInvalid(frm.txtVideoZip, 'A valid Zip must be entered upon requesting a DVD.');
      }
      if (!checkUSPhone(frm.txtVideoPhone, 'In order to request a DVD, the Phone Number entered', 'false')) {
         return false
      }
   }
   return true;
}

function checkKeyPress(e)
{
	var objEvent;
	var objSource;
	var objForm;

	if (document.frmQuote)
	{
		objForm = document.frmQuote;
	}
	else if (document.frmQuickQuote)
	{
		objForm = document.frmQuickQuote;
	}
	else
	{
		objForm = document.frmTrace;
	}

	if (ns6)
	{
		objEvent = e
	}
	else
	{
		objEvent = window.event
		objSource = objEvent.srcElement
	}

   if (objEvent.target) {
      objSource = objEvent.target
   }
   else {
      objSource = objEvent.srcElement
   }

   if ((objEvent.keyCode == 13) && (EnteredOnce == false))
   {
      switch(objForm.name) {
         case 'frmQuote':
         	var blnContactPage = false;
            if (objForm.hidContactPage)
            {
            	blnContactPage = true;
            }
            else if (document.getElementById("hidPageNum"))
         	{
	            if (document.getElementById("hidPageNum").value == "PageNumThree")
	         	{
	            	blnContactPage = true;
	         	}
            }

	         if (blnContactPage)
	         {
	            if(blnSearchFocus1==false && blnSearchFocus2==false && blnSearchFocusNav==false)
	            {
		         	if (document.getElementById("chkSendEmailCopy"))
		         	{
		         		validateOptOutPage();
		         	}
		         	else if (document.getElementById("viewquote"))
	         		{
							if (document.getElementById("viewquote").value == "E")
							{
								alert('Please click on a button to print your quote, send it to your email or make a reservation...');
							}
							else
							{
								alert('Please click on a button to print your quote or make a reservation...');
							}
	         		}
		         	else if (document.getElementById("hidQuotePage"))
	         		{
	         			if (document.getElementById("hidQuotePage").value == "agent")
	         			{
	         				if (document.getElementById("hidResubmit").value == "True")
	         				{
		         				resubmitQuote();
	         				}
	         				else
         					{
         						if (document.getElementById("hidValidate"))
         						{
         							if (document.getElementById("hidValidate").value == "1,0") validateThenGo(1,0);
         							else if (document.getElementById("hidValidate").value == "1,2") validateThenGo(1,2);
         							else if (document.getElementById("hidValidate").value == "2,0") validateThenGo(2,0);
									}
         					}
	         			}
	         		}
	         		else
	         		{
			            validateContactPage();
	         		}
		         }
		         else if(blnSearchFocus1)
	            {
	            	document.frmSearch1.submit();
	            }
		         else if(blnSearchFocus2)
	            {
	            	document.frmSearch2.submit();
	            }
	            else
	            {
	            	document.frmSearchNav.submit();
	            }
	         }
				else
				{
		         if (document.getElementById("hidInitCoupon") && document.getElementById("hlpRefNum"))
		         {
			         if ((document.getElementById("hidInitCoupon").value == "SAVE25") &&
			             (document.getElementById("hlpRefNum").style.display == "inline"))
						{
		            	processRefNum();
							break;
		            }
	            }
	            if(blnSearchFocus1==false && blnSearchFocus2==false && blnSearchFocusNav==false)
	            {
		         	if (document.getElementById("hidQuotePage"))
	         		{
	         			if (document.getElementById("hidQuotePage").value == "agent")
	         			{
	         				if (document.getElementById("hidResubmit").value == "True")
	         				{
		         				resubmitQuote();
	         				}
	         				else
         					{
         						if (document.getElementById("hidValidate"))
         						{
         							if (document.getElementById("hidValidate").value == "1,0") validateThenGo(1,0);
         							else if (document.getElementById("hidValidate").value == "1,2") validateThenGo(1,2);
         							else if (document.getElementById("hidValidate").value == "2,0") validateThenGo(2,0);
									}
         					}
	         			}
	         		}
	         		else
	         		{
		            	validateQuoteForm();
		         	}
		         }
		         else if(blnSearchFocus1)
	            {
	            	document.frmSearch1.submit();
	            }
		         else if(blnSearchFocus2)
	            {
	            	document.frmSearch2.submit();
	            }
	            else
	            {
	            	document.frmSearchNav.submit();
	            }
         	}
            break;
         case 'frmQuickQuote':
            if(blnSearchFocus1==false && blnSearchFocus2==false && blnSearchFocusNav==false && blnTrackShipment==false)
            {
	            validateQuickQuote('frmQuickQuote');
            }
            else if(blnSearchFocus1)
            {
            	document.frmSearch1.submit();
            }
            else if(blnSearchFocus2)
            {
            	document.frmSearch2.submit();
            }
	         else if(blnSearchFocusNav)
            {
            	document.frmSearchNav.submit();
            }
            else
            {
            	document.frmTrace.submit();
            }
            break;
         case 'frmTrace':
         	Validate();
         default:
            break;
      }

      objEvent.returnValue = false
	   return false
   }
}

function ClickTab(tabName,CustomerClicked) {
	var objForm = "";
   var pg = "";
	var callpage = "";
	var eventVal = "";
	var trackClick = true;
	var onQuotePage;

	if (CustomerClicked) { eventVal = "TAB"; }
	else {eventVal = "INIT"; }

	if (document.getElementById("uquotetabs"))
	{
		objForm = document.frmQuote;
		onQuotePage = true;
	}
	else
	{
		objForm = document.frmQuickQuote;
		onQuotePage = false;
	}

	if (objForm.callpage) {
		if (objForm.callpage.value != "") {
			callpage = objForm.callpage.value.toUpperCase();
		}
	}

	if (callpage != "")
	{
		pg = callpage + "/QUOTE";
		if ((onQuotePage) && (eventVal == "INIT"))
		{
			//Don't track any INIT clicks if we are coming from a quick quote to the quote page...
			trackClick = false;
		}
	}
	else
	{
		pg = "QUOTE";
	}


   document.onkeypress = checkKeyPress;
	QuickQuoteState = tabName;
	if (tabName == "tabBasic")
	{
		if (trackClick)
		{
			trackClientEvent(pg + ";;" + eventVal + " BASIC")
		}
		if (document.getElementById("imgTabBasic"))
		{
			document.getElementById("imgTabBasic").src    = eval('"/images/quote/tabs/basictabup.gif"');
			document.getElementById("imgTabDetailed").src = eval('"/images/quote/tabs/detailedtabdown.gif"');
		}
	}
	else
	{
		if (trackClick)
		{
			trackClientEvent(pg + ";;" + eventVal + " DETAILED")
		}
		if (document.getElementById("imgTabBasic"))
		{
			document.getElementById("imgTabBasic").src    = eval('"/images/quote/tabs/basictabdown.gif"');
			document.getElementById("imgTabDetailed").src = eval('"/images/quote/tabs/detailedtabup.gif"');
		}
	}
	if (document.getElementById("uquotetabs"))
	{
		ToggleSections(tabName,CustomerClicked);
	}
	else
	{
		setFocus("txtFromCity");
	}
}

function UpTab(tabName) {
	if (tabName != QuickQuoteState)
	{
		if (tabName == "tabBasic")
		{
			document.getElementById("imgTabBasic").src = eval('"/images/quote/tabs/basictabdown.gif"');
		}
		else
		{
			document.getElementById("imgTabDetailed").src = eval('"/images/quote/tabs/detailedtabdown.gif"');
		}
	}
}

function DownTab(tabName) {
	if (tabName != QuickQuoteState)
	{
		if (tabName == "tabBasic")
		{
			document.getElementById("imgTabBasic").src = eval('"/images/quote/tabs/basictabover.gif"');
		}
		else
		{
			document.getElementById("imgTabDetailed").src = eval('"/images/quote/tabs/detailedtabover.gif"');
		}
	}
}

function sendInfoToOmniture(objData)
{	
	try
	{
		GAOmnitureTrackingConverter(objData);
	}
	catch(err)
	{
	}

	return;
}

function clsOmnitureData()
{
	/* You may give each page an identifying name, server, and channel on
		 the next lines. */
	this.pageName = "";
	this.server=""
	this.channel=""
	this.pageType=""
	this.prop1=""
	this.prop2=""
	this.prop3=""
	this.prop4=""
	this.prop5=""
	/* E-commerce Variables */
	this.campaign=""
	this.state=""
	this.zip=""
	this.events=""
	this.products=""
	this.purchaseID=""
	this.eVar1=""
	this.eVar2=""
	this.eVar3=""
	this.eVar4=""
	this.eVar5=""
	/* Hierarchy Variables */
	this.hier1=""
}
function showMessage(e, strID)
{
	var objMessage = document.getElementById(strID);

	if (objMessage)
	{
		var mWidth = parseInt(objMessage.style.width)
		if (mWidth==0)
		{
			mWidth = 70
		}
		else
		{
			mWidth = (mWidth / 2) + 5
		}

		objMessage.style.display = "inline";
		objMessage.style.left = mouseX(e)-mWidth;
		objMessage.style.top = mouseY(e) + 15;
	}
}
function showMessage(e, strID, mLeft, mTop)
{
	var objMessage = document.getElementById(strID);

	if (objMessage)
	{
		if (!isSignedInteger(mLeft))
		{
			mLeft = 0;
		}
		if (!isSignedInteger(mTop))
		{
			mTop = 0;
		}
		var mWidth = parseInt(objMessage.style.width)
		if (mWidth==0)
		{
			mWidth = 70
		}
		else
		{
			mWidth = (mWidth / 2) + 5
		}

		objMessage.style.display = "inline";
		objMessage.style.zIndex = "222";
		objMessage.style.left = mouseX(e)-mWidth + mLeft;
		objMessage.style.top = mouseY(e) + 15 + mTop;
	}
}
function hideMessage(strID)
{
	if (document.getElementById(strID))
	{
		var objMessage = document.getElementById(strID);
		objMessage.style.display = "none";
	}
	else { return false; }
}
function mouseX(evt) {
	if (evt.pageX) return evt.pageX;
	else if (evt.clientX)
	   return evt.clientX + (document.documentElement.scrollLeft ?
	   document.documentElement.scrollLeft :
	   document.body.scrollLeft);
	else return null;
}
function mouseY(evt) {
	if (evt.pageY) return evt.pageY;
	else if (evt.clientY)
	   return evt.clientY + (document.documentElement.scrollTop ?
	   document.documentElement.scrollTop :
	   document.body.scrollTop);
	else return null;
}
function displayTransparentOverlay()
{
	var objTransOverlay;
	objTransOverlay = document.getElementById("transOverlay");
	objTransOverlay.style.display = "block";
	document.body.style.overflow = "hidden";
	objTransOverlay.style.top = document.body.scrollTop;
}

function hideTransparentOverlay()
{
	var objTransOverlay;
	objTransOverlay = document.getElementById("transOverlay");
	objTransOverlay.style.display = "none";
	document.body.style.overflow = "auto";
}

function setCookie(name, value, expires, path, domain, secure) {
	var today = new Date();
	today.setTime( today.getTime() );
	var expires_date = new Date(expires);
	document.cookie = name+'='+escape( value ) +
		( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()
		( ( path ) ? ';path=' + path : ';path=/' ) +
		( ( domain ) ? ';domain=' + domain : '' ) +
		( ( secure ) ? ';secure' : '' );
}

function getCookie(name) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ';', len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

function deleteCookie(name, path, domain) {
	if ( getCookie( name ) ) document.cookie = name + '=' +
			( ( path ) ? ';path=' + path : '') +
			( ( domain ) ? ';domain=' + domain : '' ) +
			';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}

function trackSpaceEst(strResidence)
{
	var objAJAXRequest = new clsAJAX();
	objAJAXRequest.open("GET", "/AJAX/SpaceEstimator.asp?size=" + strResidence + "&date="+Date(), true);
  objAJAXRequest.send();
}

function trackChatVars(strPreQuoteStatus)
{
	//i already know they have requested to chat, so i can call omniture and set the chat status on evar8
	var objOmnSendChat = new clsOmnitureData();
	objOmnSendChat.eVar8 = strPreQuoteStatus;
	sendInfoToOmniture(objOmnSendChat);

	var objAJAXRequest = new clsAJAX();
	objAJAXRequest.open("GET", "/AJAX/LiveChat.asp?repState=" + repState + "&date="+Date(), true);
	objAJAXRequest.send();
}

function printSection(node){
	var content=node.innerHTML
	var pwin=window.open('','print_content','width=80,height=80');
	pwin.document.open();
	pwin.document.write('<html>'+
  								'<head>'+
  									'<link href="/style/common.css" type="text/css" rel="stylesheet" />'+
  							 		'<link href="/style/interior.css" type="text/css" rel="stylesheet" />'+
  							 		'<link href="/style/quickquote_1024.css" type="text/css" rel="stylesheet" />'+
  							 		'<style>body {margin: 0;text-align: left;background: #ffffff;font-family: verdana, arial, helvetica;font-size: 12px;}</style>'+
  							 		'<scr'+'ipt language="JavaScript">'+
	  							 		'function printThis() { '+
								  		'if (document.getElementById("divNoPrint")) {'+
								  			'document.getElementById("divNoPrint").className="hidden";} window.print();'+
								  		'}'+
							  		'</scr'+'ipt>'+
  							 	'</head>'+
  							 	'<body style="background:#ffffff;" onload="printThis();">'+
  							 		'<form name="frmPrint" method="POST">'+content+'</form>'+
  							 	'</body></html>');
	pwin.document.close();
	setTimeout(function(){pwin.close();},1000);
}

function selectItem(objSelectBox, strSelectText)
{
	for(var i = 0; i < objSelectBox.options.length; i++)
	{
		if(objSelectBox.options[i].text == strSelectText)
		{
			objSelectBox.options[i].selected = true;
		}
	}
}

function showWAdiags(mEvent) {
	if (document.getElementById("divWAdiags"))
	{
		document.getElementById("divWAdiags").innerHTML = mEvent;
		document.getElementById("divWAdiags").className = "WAdiags";
	}
}

function hideWAdiags() {
	if (document.getElementById("divWAdiags"))
	{
		document.getElementById("divWAdiags").innerHTML = "";
		document.getElementById("divWAdiags").className = "hidden";
	}
}

function lookupTransitTime()
{
	var zip;
	zip = document.getElementById("txtTTZip").value;
	if(zip.length > 4){
		document.getElementById("divTTReturn").style.textAlign = 'center';
		document.getElementById("divTTReturn").innerHTML = '<span><img src="/images/loadingAnim.gif" border="0" /></span><br />';
		var objAJAXRequest = new clsAJAX();
		var d = new Date();
		var dt = d.getTime();
		objAJAXRequest.open("GET", "/AJAX/TransitTime.asp?zip=" + zip + "&dt=" + dt, true);
		objAJAXRequest.ajaxRequest.onreadystatechange = function()
		{
			//If results returned from the server
			if(objAJAXRequest.ajaxRequest.readyState == 4)
			{
				zip = objAJAXRequest.ajaxRequest.responseText;
				document.getElementById("divTTReturn").style.textAlign = 'left';
				document.getElementById("divTTReturn").innerHTML = zip;
			}
		}
		objAJAXRequest.send();
	}
	else{
		alert('Please enter a valid zip code.');
	}
}

/*
	Developed by Robert Nyman, http://www.robertnyman.com
	Code/licensing: http://code.google.com/p/getelementsbyclassname/
*/
var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};

var Dom =
{
	get: function(el, frm)
	{
		if (typeof el === 'string')
		{
			if (frm == "frmQuickQuote")
			{
				return eval(document.frmQuickQuote.el);
			}
			else if (frm == "frmQuickQuote2")
			{
				return eval(document.frmQuickQuote2.el);
			}
			else
			{
				return document.getElementById(el);
			}
		}
		else
		{
			return el;
		}
	},

	add: function(el, dest, frm)
	{
		var el = this.get(el, frm);
		var dest = this.get(dest, frm);
		dest.appendChild(el);
	},

	remove: function(el, frm)
	{
		var el = this.get(el, frm);
		el.parentNode.removeChild(el);
	}
};

var Event =
{
	add: function()
	{
		if (window.addEventListener)
		{
			return function(el, type, fn)
			{
				Dom.get(el).addEventListener(type, fn, false);
			};
		}
		else if (window.attachEvent)
		{
			return function(el, type, fn)
			{
				var f = function()
				{
					fn.call(Dom.get(el), window.event);
				};
				Dom.get(el).attachEvent('on' + type, f);
			};
		}
	}()
};

function getQueryVariable(variable)
{
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++)
  {
    var pair = vars[i].split("=");
    if (pair[0] == variable)
    {
      return pair[1];
    }
  }
  alert('Query Variable ' + variable + ' not found');
}

function GAOmnitureTrackingConverter(objData)
{
		if(trim(objData.eVar22) != "")
		{
			pageTracker._trackEvent("Quote", "Learn About Us", objData.eVar22);
		}

		if(trim(objData.eVar34).toLowerCase() == "true")
		{
			pageTracker._trackEvent("Quote", "Request DVD");
		}
		
		if(trim(objData.prop35) != "")
		{
			pageTracker._trackEvent("Internal Search", "Search Terms", objData.prop35);
		}
		
		if(trim(objData.prop34) == "0")
		{
			pageTracker._trackEvent("Internal Search", "No Results Search Terms", objData.prop35);
		}
		
		if(trim(objData.prop33) != "")
		{
			pageTracker._trackEvent("Videos", "Videos Start", objData.prop33);
		}

		var arrEvents = objData.events.split(",");
		
		var i;
		
		for(i = 0; i < arrEvents.length; i++)
		{
			var regExEvents = /event[0-9]+/;
			var matches = regExEvents.exec(arrEvents[i]);

			if(matches == "event1")
			{
				pageTracker._trackEvent("Quotes", "Quote Start");
			}
			else if(matches == "event33")
			{
				pageTracker._trackEvent("Quotes", "Quote Completions");
			}
			else if(matches == "event6")
			{
				pageTracker._trackEvent("Quotes", "Quote Revisions");
			}
			else if(matches == "event3")
			{
				pageTracker._trackEvent("Online Reservations", "Reservation Starts");
			}
			else if(matches == "event4")
			{
				pageTracker._trackEvent("Online Reservations", "Reservation Completions");
			}
			else if(matches == "event5")
			{
				pageTracker._trackEvent("Tools", "Track Moves");
			}
			else if(matches == "event7")
			{
				pageTracker._trackEvent("Quotes", "Request Free DVD");
			}
			else if(matches == "event11")
			{
				pageTracker._trackEvent("Videos", "Video Completions");
			}
		}
}

function trim(strInput) 
{
	if(strInput != null)
	{
		var strTemp;
		strTemp = strInput.replace(/^\s+/, "");
		strTemp = strTemp.replace(/\s+$/, "");
		return strTemp;
	}
	else{return ""}
}
