var strValErrorMSG = "";
var boolTruckLocations = false;
var clientPrefix = "";

function setTruckLocations(value)
{
	boolTruckLocations = value;
}

function setClientPrefix(value)
{
	clientPrefix = value;
}

function redirectTrucks(objSender)
{
	if(objSender.selectedIndex == 1)
	{
		window.location.href = '/trucks/default.aspx';
	}
	else if(objSender.selectedIndex == 0)
	{
		window.location.href = '/default.aspx';
	}
}

function clearFields(ctrlPrefix)
{
	var firstName = document.getElementById(ctrlPrefix + "_txtFirstName");
	if(firstName != null){	firstName.value = ""; }
		
	var surname = document.getElementById(ctrlPrefix + "_txtLastName");
	if(surname != null){ surname.value = ""; }
	
	var phoneNumber = document.getElementById(ctrlPrefix + "_txtPhoneNumber");
	if(phoneNumber != null){ phoneNumber.value = ""; }
	
	var emailAddress = document.getElementById(ctrlPrefix + "_txtEmailAddress");
	if(emailAddress != null){ emailAddress.value = ""; }
}

function toggleAirportLocations(ctrlPrefix, boolChecked)
{
	try
	{
		var selectPickup = document.getElementById(ctrlPrefix + "_pickupLocation");
		var selectDropoff = document.getElementById(ctrlPrefix + "_dropoffLocation");
		
		var locationListAll = document.getElementById(ctrlPrefix + "_pickupLocationListAll");
		var locationListAir = document.getElementById(ctrlPrefix + "_pickupLocationListAirport");
		
		// delete existing options -  always same number in both lists
		var numberOfOptions = selectPickup.options.length;
		for (i=0;i<numberOfOptions;i++)
		{ 
			selectPickup.remove(0); 
			selectDropoff.remove(0);
		}
		
		var codeString = "";
		var nameString = "";
		
		// all locations	
		if(!boolChecked)
		{
			var locationDataAll = locationListAll.value.split("#");
			codeString = locationDataAll[0];
			nameString = locationDataAll[1];

			//alert("ALL: codeString = " + codeString + "\r\nnameString = " + nameString);
		}
		else // airport locations only
		{
			var locationDataAir = locationListAir.value.split("#");
					
			var codeString = locationDataAir[0];
			var nameString = locationDataAir[1];
		
			//alert("AIR: codeString = " + codeString + "\r\nnameString = " + nameString);
		}
		
		var codeArray = codeString.split(',');
		var nameArray = nameString.split(',');
		
		for(y=0; y<codeArray.length; y++)
		{
			var newOption = document.createElement('option');
			newOption.text = nameArray[y];
			newOption.value = codeArray[y];
			selectPickup.options.add(newOption);
			var newOption2 = document.createElement('option');
			newOption2.text = nameArray[y];
			newOption2.value = codeArray[y];
			selectDropoff.options.add(newOption2);
		}
		
	}
	catch(ex)
	{
		// alert(ex.message);
	}
}

/// set the hidden input to the location value selected for pickup
function setPickupLocation(strLocationId)
{
	var hiddenLocation = document.getElementById(clientPrefix + '_txtPickUpLocationId');
	
	if(hiddenLocation != null)
	{
		hiddenLocation.value = strLocationId;
	}
}


/// set the hidden input to the location value selected for pickup
function setDropOffLocation(strLocationId)
{
	var hiddenLocation = document.getElementById(clientPrefix + '_txtDropOffLocationId');
	
	if(hiddenLocation != null)
	{
		hiddenLocation.value = strLocationId;
	}
}


/// redirect to other sites
function redirectOtherSites(otherCountrySite)
{
	window.location.href = otherCountrySite;
}

///show block area in qucik booking
function showBlock(objBlockName)
{
	try
	{
		var obDiv = document.getElementById(objBlockName.replace("pnl", "div"));
		var obBlock = document.getElementById(objBlockName)

		if(obBlock)
		{
			obBlock.style.display = (obBlock.style.display == "block") ? "none" : "block";
			if(obDiv) obDiv.className = (obBlock.style.display == "block") ? "orange_arrow_dn" : "orange_arrow";
		}
	}
	catch(e)
	{
		//alert(e.message);
	}
}

///show block area in quick booking
function showBlockCbo(objSender, objBlockName)
{
	try
	{
		if(objSender.checked)
		{
			if(document.getElementById(objBlockName) != null)
			{
				document.getElementById(objBlockName).style.display = "none";
			}
		}
		else
		{
			if(document.getElementById(objBlockName) != null)
			{
				document.getElementById(objBlockName).style.display = "block";
			}		
		}
	}
	catch(e)
	{
		//alert(e.message);
	}
}


///display block area in AU quick booking
function displayBlockCbo(objSender, objBlockName)
{
	try
	{
		if(objSender.checked)
		{
			if(document.getElementById(objBlockName) != null)
			{
				document.getElementById(objBlockName).style.display = "block";
			}
		}
		else
		{
			if(document.getElementById(objBlockName) != null)
			{
				document.getElementById(objBlockName).style.display = "none";
			}		
		}
	}
	catch(e)
	{
		alert(e.message);
	}
}


///hide block area in qucik booking
function hideBlock(objBlockName)
{
	try
	{
		if(document.getElementById(objBlockName) != null)
		{
			document.getElementById(objBlockName).style.display = "none";
		}
	}
	catch(e)
	{
		//alert(e.message);
	}
}

///show block area in reservation area
function showHideDetailsForOnRequest(objSender, objBlockId, sipp, ctrlID, countryId, locationState, isOnRequest)
{
	try
	{
		if(document.getElementById(objBlockId) != null)
		{
			if(document.getElementById(objBlockId).style.display == "block")
			{
				///hide block
				document.getElementById(objBlockId).style.display = "none";
				///change sender bg images
				if(objSender.parentNode != null)
				{
					objSender.parentNode.style.backgroundPosition = "top";
				}
			}
			else
			{				

				var fn_test = function() 
				{
					///change sender bg images
					if(objSender.parentNode != null)
					{
						objSender.parentNode.style.backgroundPosition = "bottom";
					}
					
					///show block
					document.getElementById(objBlockId).style.display = "block";
				}
				
				if	(
						document.getElementById(ctrlID + "_divEstimatedTotal")					!= null 
					&& 
						document.getElementById(ctrlID + "_divEstimatedTotal").innerHTML.length	== 0
					)
				{
					///change sender bg images
					if(objSender.parentNode != null)
					{
						objSender.parentNode.style.backgroundPosition = "0px -20px";
					}
				
					///load rate request
					if(isOnRequest)
					{
						getOnRequestRateDetails(sipp, ctrlID, countryId, locationState, fn_test, true);
					}
					else
					{
						getRateDetails(sipp, ctrlID, countryId, locationState, fn_test);
					}
				}
				else
				{
					///change sender bg images
					if(objSender.parentNode != null)
					{
						objSender.parentNode.style.backgroundPosition = "bottom";
					}
				
					///show block
					document.getElementById(objBlockId).style.display = "block";
				}
			}
		}
	}
	catch(e)
	{
		alert(e.message);
	}
}

///show block area in reservation area
function showHideDetails(objSender, objBlockId, sipp, ctrlID, countryId, locationState)
{
	try
	{
		if(document.getElementById(objBlockId) != null)
		{
			if(document.getElementById(objBlockId).style.display == "block")
			{
				///hide block
				document.getElementById(objBlockId).style.display = "none";
				///change sender bg images
				if(objSender.parentNode != null)
				{
					objSender.parentNode.style.backgroundPosition = "top";
				}
			}
			else
			{				

				var fn_test = function() 
				{
					///change sender bg images
					if(objSender.parentNode != null)
					{
						objSender.parentNode.style.backgroundPosition = "bottom";
					}
					
					///show block
					document.getElementById(objBlockId).style.display = "block";
				}
				
				if	(
						document.getElementById(ctrlID + "_divEstimatedTotal")					!= null 
					&& 
						document.getElementById(ctrlID + "_divEstimatedTotal").innerHTML.length	== 0
					)
				{
					///change sender bg images
					if(objSender.parentNode != null)
					{
						objSender.parentNode.style.backgroundPosition = "0px -20px";
					}
				
					///load rate request
					getRateDetails(sipp, ctrlID, countryId, locationState, fn_test);
				}
				else
				{
					///change sender bg images
					if(objSender.parentNode != null)
					{
						objSender.parentNode.style.backgroundPosition = "bottom";
					}
				
					///show block
					document.getElementById(objBlockId).style.display = "block";
				}
			}
		}
	}
	catch(e)
	{
		alert(e.message);
	}
}

///grab all a-tag chilld element in parnet nav
function loadMenu()
{
	try
	{
		///Left Menu
		var sfEls = document.getElementById("mn_left").getElementsByTagName("li");
		for (var i = 0; i < sfEls.length; i++) 
		{
			sfEls[i].onmouseover = fn_menuTopOnMouseOver
			sfEls[i].onmouseout = fn_menuTopOnMouseOut
		}
		
		///Right Menu
		var sfEls = document.getElementById("mn_right").getElementsByTagName("li");
		for (var i=0; i < sfEls.length; i++)
		{
			if(sfEls[i].parentNode == document.getElementById("mn_right") && sfEls[i].className != "sep")
			{
				sfEls[i].onmouseover	= fn_menuTopOnMouseOver
				sfEls[i].onmouseout		= fn_menuTopOnMouseOut
				
				///bug in IE, a layer cant overlap a select. will fix later on
				if(is_buggy_ie)
				{
					objIFrame = document.createElement("iframe");
					objIFrame.src = "blank.html";
					sfEls[i].appendChild(objIFrame);
				} 
			}
		}
	}
	catch(e)
	{
		//alert(e.message + " x 3");
	}
}


var fn_menuTopOnMouseOver = function()
{
	if(this.getElementsByTagName("ul").length > 0) {
		this.getElementsByTagName("ul")[0].className = "over";
		if(is_buggy_ie && this.getElementsByTagName("iframe").length > 0)
		{
			this.getElementsByTagName("iframe")[0].style.display = "block";
			this.getElementsByTagName("iframe")[0].style.width = this.getElementsByTagName("UL")[0].scrollWidth + 2;
			this.getElementsByTagName("iframe")[0].style.height = this.getElementsByTagName("UL")[0].scrollHeight + 1;
		}
	}
}

var fn_menuTopOnMouseOut = function()
{
	if(this.getElementsByTagName("ul").length > 0) {
		this.getElementsByTagName("ul")[0].className = "";
		if(is_buggy_ie && this.getElementsByTagName("iframe").length > 0)
			this.getElementsByTagName("iframe")[0].style.display = "none";
	}
}


function menuHideAll(senderId)
{
	try
	{
		if(document.getElementById("menu") != null)
		{
			var objULTag = document.getElementById("menu").getElementsByTagName("UL");
			for(var i=0; i<objULTag.length; i++)
			{
				if(objULTag[i].parentNode.parentNode.id.slice(3) != senderId)
				{
					fn_sub(objULTag[i].parentNode.id.slice(3), 0)
				}
			}
		}
	}
	catch(e)
	{
		//alert(e.message);
	}
}

function fn_sub(id, state) {

	var hd = document.getElementById("mn_" + id);
	if (hd) 
	{
		var sm; 
		var hds = hd.getElementsByTagName("div");
		for(var i = 0; i <= hds.length; i++) 
		{
			if (hds[i].className == "sub_wrapper") 
			{
				sm = hds[i];
				break;
			}
		}
		
		hd.style.backgroundPosition = (state ? 'bottom' : 'top');
		
		if (sm) 
		{
			sm.style.display = (state ? 'block' : 'none');
			
			///bug in IE
			///a layer cant overlap a select
			if(is_buggy_ie)
			{
				if(hd.getElementsByTagName("iframe").length <= 0)
				{
					var objIFrame = document.createElement("iframe");
					objIFrame.style.position			= "absolute";
					objIFrame.style.left				= getOffsetLeft(sm, false);
					objIFrame.style.top					= (getOffsetTop(sm, false) + 10);
					objIFrame.style.height				= (sm.offsetHeight - 11);
					objIFrame.style.width				= sm.offsetWidth;
					objIFrame.style.overflow			= "hidden";
					objIFrame.style.display				= "none";
					objIFrame.style.zindex				= (sm.style.zindex - 1);
					objIFrame.frameborder				= "0";
					objIFrame.scrolling					= "no";
					hd.appendChild(objIFrame);
				}
				if(hd.getElementsByTagName("iframe").length > 0)
				{
					var objIframe = hd.getElementsByTagName("iFrame");
					objIframe[0].style.display = sm.style.display;
				}
			}
		}
	}
}


function getOffsetLeft(obj, countBody) 
{
	try
	{
		var ol = obj.offsetLeft;
		
		while((obj = obj.offsetParent) != null)
		{
			if(countBody || obj.tagName.toLowerCase() != "body")
			{
				ol += obj.offsetLeft;
			}
		}
		return ol;
	}
	catch(e)
	{
		//alert(e.message)
	}
}

function getOffsetTop(obj, countBody) 
{
	try
	{
		var ot = obj.offsetTop;
		while((obj = obj.offsetParent) != null)
		{
			if(countBody || obj.tagName.toLowerCase() != "body")
			{
				ot += obj.offsetTop;
			}
		}
		return ot;
	}
	catch(e)
	{
		//alert(e.message)
	}
}
function showXY(obj)
{
	try
	{
		var x = getOffsetLeft(obj, false);
		var y = getOffsetTop(obj, false);
		alert(x+' , '+y);
	}
	catch(e)
	{
		//alert(e.message)
	}
}


function selectDealState(ddlId, selecedIndex)
{
	try
	{
		if(document.getElementById(ddlId) != null)
		{
			
			///select item
			document.getElementById(ddlId).selectedIndex = selecedIndex;
			
			///do a postback
			__doPostBack('+ ddlId.replace("_","$")+ ','');
		}
	}
	catch(e)
	{
		//alert(e.message)
	}
}


function openTerraPagesWin(strSender, isSecure)
{
	try
	{
		var terraPagePopUp = window.open('/terraPagePopUp.aspx?senderId='+ strSender +'&isSecure='+ isSecure +'','winTerraPagePopUp','location=0,menubar=0,width=750,height=580,status=1');
	}
	catch(e)
	{
		//alert(e.message);
	}
}

function openLocationMapWin(locationCode)
{
	try
	{
		var terraPagePopUp = window.open('/locationMapPopUp.aspx?locationCode=' + locationCode + '','winLocationPagePopUp','width=261,height=261,status=no');
	}
	catch(e)
	{
		//alert(e.message);
	}
}


function openLocationPreviousRentalWin()
{
	try
	{
		var terraPagePopUp = window.open('/PreviousRentalPopUp.aspx','_self','width=700,height=670,menubar=1,toolbar=1,status=0,scrollbars=1',false);
	}
	catch(e)
	{
		//alert(e.message);
	}
}

///this will be used in locations on by Suburb or Postcode
function clearFindBySiblingForm(frmSelectId, frmTextId)
{
	try
	{
		if(document.getElementById(frmSelectId) != null && document.getElementById(frmTextId) != null)
		{
			document.getElementById(frmSelectId).selectedIndex = 0;
			document.getElementById(frmTextId).value = "";
		}
	}
	catch(e)
	{
		//alert(e.message);
	}	
}

function LoadCountrySite(objSel)
{
	try
	{
		if(objSel.selectedIndex > 0)
		{
			window.open(objSel.options[objSel.selectedIndex].value, "", "");
		}
	}
	catch(e)
	{
		//alert(e.message);
	}
}


function footerLink(url)
{
	try
	{
		var footerlink = window.open(url, "", "location=0,menubar=0,scrollbars=yes,width=780,height=500");
		return footerlink;
	}
	catch(e)
	{
		//alert(e.message);
	}
}

function openHelp(sender, content, rightOffSet)
{
	if (!document.getElementById("help_popup"))
	{
		var help_popup = document.createElement("div");
		help_popup.id = "help_popup";
		help_popup.innerHTML = '<div id="heading"><img src="images/popup_heading.gif" alt="Help" title="Help" width="79" height="29" border="0" /></div>'
		 + '<div class="content_head"><img src="images/popup_content_head.gif" alt="" title="" width="251" height="13" /></div>'
		 + '<div class="content">'
		 + '<div class="contentScroll" id="helpContent"></div>'
		 + '</div>'
		 + '<div class="contentClose">'
		 + '<div class="close"><a href="javascript:closeHelp();" onclick="closeHelp(); return false;"><img src="images/btn_close.gif" alt="Close" title="Close" width="61" height="18" border="0" /></a></div>'
		 + '</div>'
		 + '<div class="content_foot"><img src="images/popup_content_foot.gif" alt="" title="" width="251" height="15" /></div>'
		 + '</div>'
		document.body.appendChild(help_popup);

		if(is_buggy_ie)
		{
			if(!document.getElementById("help_iframe"))
			{
				var help_iframe = document.createElement("iframe");
				help_iframe.id = "help_iframe";
				help_iframe.src = "blank.html";
				help_iframe.frameborder	= "0";
				help_iframe.scrolling	= "no";
				help_iframe.style.position = "absolute";
				document.body.appendChild(help_iframe);
			}
		}
	}

	if (arguments.length == 4) document.getElementById("helpContent").style.height = arguments[3] + "px";
	else document.getElementById("helpContent").style.height = "90px";

	var help_popup = document.getElementById("help_popup");
	var oL = (is_ie) ? getOffsetLeft(sender, false) : sender.offsetLeft;
	var oT = (is_ie) ? getOffsetTop(sender, false) : sender.offsetTop;
	document.getElementById("helpContent").innerHTML = content;
	help_popup.style.display = 'block';
	help_popup.style.bottom = (document.body.offsetHeight - oT) + 'px';
	help_popup.style.right = (document.body.offsetWidth - oL - rightOffSet) + 'px';
	
	if(is_buggy_ie)
	{
		var help_iframe = document.getElementById("help_iframe");
		if(help_iframe)
		{
			help_iframe.style.display = 'block';
			help_iframe.style.height = (help_popup.offsetHeight) + "px";
			help_iframe.style.width = (help_popup.offsetWidth) + "px";
			help_iframe.style.bottom = (document.body.offsetHeight - oT) + 'px';
			help_iframe.style.right = (document.body.offsetWidth - oL - rightOffSet) + 'px';
		}
	}
}

function closeHelp()
{
	try 
	{
		document.getElementById("help_popup").style.display = 'none';
		if(is_buggy_ie) document.getElementById("help_iframe").style.display = 'none';
	}
	catch(e)
	{
		//alert(e.message);
	}
}

function helpBox(sender)
{
	try
	{
		var objPopup = window.open('/helpPopUp.aspx?text='+ sender.alt.split("\n").join("<br>").split("#").join("%23").split("&").join("and") + '', 'winHelp', 'location=0,menubar=0,width=251,height=200,status=1');
		return objPopup;
	}
	catch(e)
	{
		//alert(e.message);
	}
}

function hideHelpBox(sender)
{
	try
	{
		if(document.getElementById("helpBox_" + sender.id) != null)	
		{
			document.getElementById("helpBox_" + sender.id).style.display		= "none";
			document.getElementById("helpBox_" + sender.id).style.visibility	= "hidden";
		}
	}
	catch(e)
	{
		//alert(e.message);
	}
}

function hideAlt(sender)
{
	try
	{
		sender.title = sender.alt;
		sender.alt = sender.alt.split("\\n").join("\n").split("<b>").join("");
	}
	catch(e)
	{
		//alert(e.message);
	}
}

function fn_checkDatepostBack(sender, compareStr)
{
	try
	{
		if(isNaN(Date.parse(sender.value)) == false && sender.value != compareStr)
		{
			__doPostBack('"+ sender.id +"','');
		}
	}
	catch(e)
	{
	//	alert(e.message);
	}
}

function fn_addEnterEvent(objId)
{
	try
	{
		if(document.getElementById(objId) != null)
		{
			if(event.which || event.keyCode)
			{
				if ((event.which == 13) || (event.keyCode == 13)) 
				{
					document.getElementById(objId).click();
					return false;
				}
			} 
			else 
			{
				return true;
			}		
		}
	}
	catch(e)
	{
		alert(e.message);
	}	
}