var _isDebug = false;

function dlert(message)
{
	if(_isDebug)
	{
		alert(message);
	}
}
function fn_onloading()
{
	$("#divEstimatedTotal").html("<img height='15' src='/images/loading_icon.gif'>");
	
	if(upgradeSIPPs != null)
	{
		for(var i = 0; i < upgradeSIPPs.length; i++)
		{
			$("#divEstimatedTotal_" + upgradeSIPPs[i]).html("<img height='20' src='/images/loading_icon.gif'>");
		}
	}
}
function updateExcessReduction()
{
		
		fn_onloading();

}
function getOptionUpdate(ctrlID, onlineCounterProductId, quantity)
{
	//alert("getOptionUpdate");
	//alert("onlineCounterProductId:" + onlineCounterProductId);
	//alert("quantity:" + quantity);

	try
	{
		fn_onloading();
	
		var url = "/service/RateRequest.asmx/getOptionUpdate?onlineCounterProductId=" + onlineCounterProductId + "&quantity=" + quantity;
		
		var conn = new initHTTPXML()

		var fn_action = function()
		{
			if(conn.getXmlHttp.readyState == conn.ReadyState.Complete)
			{
				if(conn.getXmlHttp.status ==  conn.HttpStatus.OK)
				{			
					try
					{
						var XMLdoc = conn.getXmlHttp.responseXML.documentElement;
						
						if(XMLdoc.getElementsByTagName("error").length == 0)
						{
							var elmDays					= XMLdoc.getElementsByTagName("Days");
							var elmHours				= XMLdoc.getElementsByTagName("Hours");
							var elmRentalCharges		= XMLdoc.getElementsByTagName("RentalCharges");					
							var elmDailyRate			= XMLdoc.getElementsByTagName("DailyRate");
							var elmAirportFee			= XMLdoc.getElementsByTagName("AirportFee");
							var elmRegoRecoveryFee		= XMLdoc.getElementsByTagName("RegoRecoveryFee");
							var elmStampDuty			= XMLdoc.getElementsByTagName("StampDuty");
							var elmGst					= XMLdoc.getElementsByTagName("Gst");
							var elmOneWayFee			= XMLdoc.getElementsByTagName("OneWayFee");
							var elmEstimatedTotal		= XMLdoc.getElementsByTagName("EstimatedTotal");
							var elmIncludedKms			= XMLdoc.getElementsByTagName("IncludedKms");	
							var elmExcessChargePerKm	= XMLdoc.getElementsByTagName("ExcessChargePerKm");	
							var elmFreeDays				= XMLdoc.getElementsByTagName("FreeDays");
							var elmFreeDaysRate			= XMLdoc.getElementsByTagName("FreeDaysRate");	
							var elmFreeDaysTitle		= XMLdoc.getElementsByTagName("FreeDaysTitle");								
							var elmMovePack				= XMLdoc.getElementsByTagName("MovePack");
							var elmRemoteSurcharge	    = XMLdoc.getElementsByTagName("RemoteSurcharge");
							var elmFixedDayPromotion    = XMLdoc.getElementsByTagName("FixedDayPromotion");						
							var elmOnlineCounterProducts= XMLdoc.getElementsByTagName("OnlineCounterProduct");						
								
								///populating data
							if(document.getElementById(ctrlID + "_divBaseRateBreakDown") != null)
							{
								var days = parseInt(elmDays[0].firstChild.data);
								var theFixedRate = 0;
								
								if(elmFixedDayPromotion != null && elmFixedDayPromotion.length > 0)
								{
									cleanWhitespace(elmFixedDayPromotion.item(0));
									theFixedRate = parseFloat(elmFixedDayPromotion.item(0).childNodes[0].firstChild.data);
									days--;
								}								
							
								document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML			= days + " day" + ((days == 1) ? "" : "s") + ", "+ elmHours[0].firstChild.data +" hours, $"+ elmDailyRate[0].firstChild.data +" per 1 Day";
								
								if(elmFixedDayPromotion != null && elmFixedDayPromotion.length > 0)
								{
									document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML		+= ", and <span style='color:#FF6600;'>$" + theFixedRate + " per 1 fixed day.</span>";
								}
								
								// Excess Km Charges
								if (elmIncludedKms[0].firstChild.data * 1 == 0
									//586-28530 NZ - Budget Trucks hide per kilometre note on Step 3
									&& elmExcessChargePerKm[0].firstChild.data * 1 == 0)
								{
									document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML		+= "<br />Unlimited Kilometres";
								} 
								else 
								{
									document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML		+= "<br />" + elmIncludedKms[0].firstChild.data + " kms incl.";
									if (elmExcessChargePerKm[0].firstChild.data *1 != 0)
									{									
										document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML		+= " Excess charged at $" + elmExcessChargePerKm[0].firstChild.data + "/km";
									}
								}
							}
							if(document.getElementById(ctrlID + "_divBaseRate") != null)
							{
								document.getElementById(ctrlID + "_divBaseRate").innerHTML					= elmRentalCharges[0].firstChild.data;
							}
							if(document.getElementById(ctrlID + "_divContainerFreeDayPromo") != null)
							{
								document.getElementById(ctrlID + "_divContainerFreeDayPromoTitle").innerHTML	= elmFreeDaysTitle[0].firstChild.data;
								document.getElementById(ctrlID + "_divContainerFreeDayPromoRate").innerHTML		= elmFreeDaysRate[0].firstChild.data;
								document.getElementById(ctrlID + "_divContainerFreeDayPromo").style.display		= (parseInt(elmFreeDays[0].firstChild.data) > 0) ? "block" : "none";
							}
							if(document.getElementById(ctrlID + "_divAirportFee") != null)
							{
								document.getElementById(ctrlID + "_divAirportFee").innerHTML				= elmAirportFee[0].firstChild.data;
								document.getElementById(ctrlID + "_divContainerAirportFee").style.display	= (parseInt(elmAirportFee[0].firstChild.data) > 0) ? "block" : "none";
							}
							if(document.getElementById(ctrlID + "_divRecoveryFee") != null)
							{
								document.getElementById(ctrlID + "_divRecoveryFee").innerHTML				= elmRegoRecoveryFee[0].firstChild.data;
								document.getElementById(ctrlID + "_divContainerRecoveryFee").style.display	= (parseInt(elmRegoRecoveryFee[0].firstChild.data) > 0) ? "block" : "none";
							}
							if(document.getElementById(ctrlID + "_divOneWayFee") != null)
							{
								document.getElementById(ctrlID + "_divOneWayFee").innerHTML					= elmOneWayFee[0].firstChild.data;
								///display container?
								document.getElementById(ctrlID + "_divContainerOneWayFee").style.display	= (parseInt(elmOneWayFee[0].firstChild.data) > 0) ? "block" : "none";
							}
							
							if(document.getElementById(ctrlID + "_divStampDutyFee") != null)
							{
								document.getElementById(ctrlID + "_divStampDutyFee").innerHTML				= elmStampDuty[0].firstChild.data;
								document.getElementById(ctrlID + "_divContainerStampDutyFee").style.display	= (parseInt(elmStampDuty[0].firstChild.data) > 0) ? "block" : "none";
							}
							if(document.getElementById(ctrlID + "_divGstPercent") != null)
							{
								document.getElementById(ctrlID + "_divGstPercent").innerHTML = elmGst[0].firstChild.data;
							}
							if(document.getElementById(ctrlID + "_divEstimatedTotal") != null)
							{
								document.getElementById(ctrlID + "_divEstimatedTotal").innerHTML="$" + elmEstimatedTotal[0].firstChild.data;
							}
							
							if(document.getElementById(ctrlID + "_divGST") != null)
							{
								document.getElementById(ctrlID + "_divGST").innerHTML				= elmGst[0].firstChild.data;
							}
							
							if($("#" + ctrlID + "_divContainerBreackdownOptions") != null)
							{
								var l_innerHtml = "";
								
								if(elmOnlineCounterProducts.length > 0)
								{
									
									for(var i = 0; i < elmOnlineCounterProducts.length; i++)
									{
										l_innerHtml += "<div>";
										l_innerHtml += "  <div class='text'><b>" + elmOnlineCounterProducts[i].getElementsByTagName("DisplayText")[0].firstChild.data + ":</b></div>";
										l_innerHtml += "  <div class='price'>$<span>" + elmOnlineCounterProducts[i].getElementsByTagName("Charges")[0].firstChild.data + "</span></div>";
										l_innerHtml += "  <div class='clear'><img height='1' src='/images/trans.gif' width='1'></div>";
										l_innerHtml += "</div>";
									}
									
								}							
								
								$("#" + ctrlID + "_divContainerBreackdownOptions").html(l_innerHtml);
							}
							
							if(document.getElementById(ctrlID + "_divContainerMovePack") != null)
							{
								document.getElementById(ctrlID + "_divMovePack").innerHTML = elmMovePack[0].firstChild.data;
								document.getElementById(ctrlID + "_divContainerMovePack").style.display	= (parseInt(elmMovePack[0].firstChild.data) > 0) ? "block" : "none";
							}
							
							$("#" + ctrlID + "_ibConfirmBooking").css('background-position', 'top');

						}
						else
						{
							jAlert("Error! " + XMLdoc.getElementsByTagName("error")[0].firstChild.data);
						}
						
						
					}
					catch(e)
					{
						dlert(e.message);
					}

				}
				else
				{
					dlert("Error! " + conn.getXmlHttp.status + url);
				}
			}
		}	
		
				///load request
		requestHTTPXML(fn_action, conn.getXmlHttp, url); 
		
		updateUpgradeOptions(_currentSiteId);
	}
	catch(e)
	{
		dlert(e.message);
	}
}

function updateUpgradeOptions(siteId)
{
	try
	{
		var url = "/service/BudgetWS.asmx/ListUpgradOptions?siteId=" + siteId;
		
		var conn = initHTTPXML();
		
		var fn_action = function()
		{
			if(conn.getXmlHttp.readyState == conn.ReadyState.Complete)
			{
				try
				{
					var XMLDoc = conn.getXmlHttp.responseXML.documentElement;
					
					if(XMLDoc.getElementsByTagName("error").length == 0)
					{
						var upgradeOptions = XMLDoc.getElementsByTagName("UpgradeOption");
						
						if(upgradeOptions.length > 0)
						{
							for(var i = 0; i < upgradeOptions.length; i++)
							{
								var sipp = upgradeOptions[i].getElementsByTagName("SIPP")[0].firstChild.data
								
								if(document.getElementById("divVUpgrade_" + sipp) != null)
								{
									var isApplicable = upgradeOptions[i].getElementsByTagName("IsApplicable")[0].firstChild.data == "true";
									if(isApplicable)
									{
										var estimatedTotal = upgradeOptions[i].getElementsByTagName("EstimatedTotal")[0].firstChild.data
										var more = upgradeOptions[i].getElementsByTagName("JustMore")[0].firstChild.data
										
										document.getElementById("divEstimatedTotal_" + sipp).innerHTML = "$" + estimatedTotal;
										document.getElementById("justMore_" + sipp).innerHTML = more;								
									}
									

									document.getElementById("divVUpgrade_" + sipp).style.display		= (isApplicable) ? "block" : "none";
								}
							}
						}
					}
				}
				catch(e)
				{
					dlert(e.message);
				}
				
			}
		}
		
		requestHTTPXML(fn_action, conn.getXmlHttp, url); 
	}
	catch(e)
	{
		dlert(e.message);
	}
}

function getRateUpdate(ctrlID)
{
	try
	{	
		var intRequireChildSeats		= 0;
		var intRequireInfantSeats		= 0;
		var intRequireChildBoosterSeats = 0;
		
		var requireDailyExcessReduction = false;
		var requireGPS = false;
		
		if(document.getElementById(ctrlID + "_cboExcessReductionPackage") != null)
		{
			requireDailyExcessReduction	= (document.getElementById(ctrlID + "_cboExcessReductionPackage").checked) ? true : false;
		}
		if(document.getElementById(ctrlID + "_chkExcessReduction") != null)
		{
			requireDailyExcessReduction	= (document.getElementById(ctrlID + "_chkExcessReduction").checked) ? true : false;
		}

		if(document.getElementById(ctrlID + "_cboGPS") != null)
		{
			requireGPS	= (document.getElementById(ctrlID + "_cboGPS").checked) ? true : false;
		}
		
		if(document.getElementById(ctrlID + "_ddlChildSafetySeat") != null)
		{
			intRequireChildSeats		= document.getElementById(ctrlID + "_ddlChildSafetySeat").options[document.getElementById(ctrlID + "_ddlChildSafetySeat").selectedIndex].value;
		}

		if(document.getElementById(ctrlID + "_ddlInfantSafetySeat") != null)
		{
			intRequireInfantSeats		= document.getElementById(ctrlID + "_ddlInfantSafetySeat").options[document.getElementById(ctrlID + "_ddlInfantSafetySeat").selectedIndex].value;
		}

		if(document.getElementById(ctrlID + "_ddlChildBoosterSeat") != null)
		{
			intRequireChildBoosterSeats		= document.getElementById(ctrlID + "_ddlChildBoosterSeat").options[document.getElementById(ctrlID + "_ddlChildBoosterSeat").selectedIndex].value;
		}


		var url = "/service/RateRequest.asmx/getRateUpdate?intRequireChildSeats=" + intRequireChildSeats + "&intRequireInfantSeats=" + intRequireInfantSeats + "&intRequireChildBoosterSeats=" + intRequireChildBoosterSeats + "&requireDailyExcessReduction=" + requireDailyExcessReduction + "&requireGPS=" + requireGPS;
		
		var conn = new initHTTPXML()
		var fn_action = function()
		{
			if(conn.getXmlHttp.readyState == conn.ReadyState.Complete)
			{
				if(conn.getXmlHttp.status ==  conn.HttpStatus.OK)
				{
					var XMLdoc = conn.getXmlHttp.responseXML.documentElement;
					
					if(XMLdoc.getElementsByTagName("error").length == 0)
					{
						var elmDays					= XMLdoc.getElementsByTagName("Days");
						var elmHours				= XMLdoc.getElementsByTagName("Hours");
						var elmRentalCharges		= XMLdoc.getElementsByTagName("RentalCharges");					
						var elmDailyRate			= XMLdoc.getElementsByTagName("DailyRate");
						var elmAirportFee			= XMLdoc.getElementsByTagName("AirportFee");
						var elmRegoRecoveryFee		= XMLdoc.getElementsByTagName("RegoRecoveryFee");
						var elmStampDuty			= XMLdoc.getElementsByTagName("StampDuty");
						var elmGPScharge			= XMLdoc.getElementsByTagName("GpsCharge");
						var elmGst					= XMLdoc.getElementsByTagName("Gst");
						var elmOneWayFee			= XMLdoc.getElementsByTagName("OneWayFee");
						var elmChildSeatChargeFee	= XMLdoc.getElementsByTagName("ChildSeatChargeFee");
						var elmInfantSeatChargeFee	= XMLdoc.getElementsByTagName("InfantSeatChargeFee");
						var elmChildBoosterSeatChargeFee	= XMLdoc.getElementsByTagName("ChildBoosterSeatChargeFee");
						var elmExcessReductionFee	= XMLdoc.getElementsByTagName("ExcessReductionFee");
						var elmCorporateExcessReduction	= XMLdoc.getElementsByTagName("CorporateExcessReduction");
						var elmEstimatedTotal		= XMLdoc.getElementsByTagName("EstimatedTotal");
						var elmIncludedKms			= XMLdoc.getElementsByTagName("IncludedKms");	
						var elmExcessChargePerKm	= XMLdoc.getElementsByTagName("ExcessChargePerKm");	
						var elmFreeDays				= XMLdoc.getElementsByTagName("FreeDays");
						var elmFreeDaysRate			= XMLdoc.getElementsByTagName("FreeDaysRate");	
						var elmFreeDaysTitle		= XMLdoc.getElementsByTagName("FreeDaysTitle");								
							
						var elmMovePack				= XMLdoc.getElementsByTagName("MovePack");
						var elmTrolley				= XMLdoc.getElementsByTagName("Trolley");	
						var elmLifter				= XMLdoc.getElementsByTagName("Lifter");
						var elmRemoteSurcharge	    = XMLdoc.getElementsByTagName("RemoteSurcharge");
						var elmFixedDayPromotion    = XMLdoc.getElementsByTagName("FixedDayPromotion");
							
							///populating data
							if(document.getElementById(ctrlID + "_divBaseRateBreakDown") != null)
							{
								var days = parseInt(elmDays[0].firstChild.data);
								var theFixedRate = 0;
								
								if(elmFixedDayPromotion != null && elmFixedDayPromotion.length > 0)
								{
									cleanWhitespace(elmFixedDayPromotion.item(0));
									theFixedRate = parseFloat(elmFixedDayPromotion.item(0).childNodes[0].firstChild.data);
									days--;
								}								
							
								document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML			= days + " day" + ((days == 1) ? "" : "s") + ", "+ elmHours[0].firstChild.data +" hours, $"+ elmDailyRate[0].firstChild.data +" per 1 Day";
								
								if(elmFixedDayPromotion != null && elmFixedDayPromotion.length > 0)
								{
									document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML		+= ", and <span style='color:#FF6600;'>$" + theFixedRate + " per 1 fixed day.</span>";
								}
								
								// Excess Km Charges
								if (elmIncludedKms[0].firstChild.data *1 == "0"
									//586-28530 NZ - Budget Trucks hide per kilometre note on Step 3
									&& elmExcessChargePerKm[0].firstChild.data *1 == "0")

								{
									document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML		+= "<br />Unlimited Kilometres";
								} 
								else 
								{
									document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML		+= "<br />" + elmIncludedKms[0].firstChild.data + " kms incl.";
									if (elmExcessChargePerKm[0].firstChild.data != "0.000")
									{									
										document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML		+= " Excess charged at $" + elmExcessChargePerKm[0].firstChild.data + "/km";
									}
								}
							}
							if(document.getElementById(ctrlID + "_divBaseRate") != null)
							{
								document.getElementById(ctrlID + "_divBaseRate").innerHTML					= elmRentalCharges[0].firstChild.data;
							}
							if(document.getElementById(ctrlID + "_divContainerFreeDayPromo") != null)
							{
								document.getElementById(ctrlID + "_divContainerFreeDayPromoTitle").innerHTML	= elmFreeDaysTitle[0].firstChild.data;
								document.getElementById(ctrlID + "_divContainerFreeDayPromoRate").innerHTML		= elmFreeDaysRate[0].firstChild.data;
								document.getElementById(ctrlID + "_divContainerFreeDayPromo").style.display		= (parseInt(elmFreeDays[0].firstChild.data) > 0) ? "block" : "none";
							}
							if(document.getElementById(ctrlID + "_divAirportFee") != null)
							{
								document.getElementById(ctrlID + "_divAirportFee").innerHTML				= elmAirportFee[0].firstChild.data;
								document.getElementById(ctrlID + "_divContainerAirportFee").style.display	= (parseInt(elmAirportFee[0].firstChild.data) > 0) ? "block" : "none";
							}
							if(document.getElementById(ctrlID + "_divRecoveryFee") != null)
							{
								document.getElementById(ctrlID + "_divRecoveryFee").innerHTML				= elmRegoRecoveryFee[0].firstChild.data;
								document.getElementById(ctrlID + "_divContainerRecoveryFee").style.display	= (parseInt(elmRegoRecoveryFee[0].firstChild.data) > 0) ? "block" : "none";
							}
							if(document.getElementById(ctrlID + "_divOneWayFee") != null)
							{
								document.getElementById(ctrlID + "_divOneWayFee").innerHTML					= elmOneWayFee[0].firstChild.data;
								///display container?
								document.getElementById(ctrlID + "_divContainerOneWayFee").style.display	= (parseInt(elmOneWayFee[0].firstChild.data) > 0) ? "block" : "none";
							}
							if(document.getElementById(ctrlID + "_divChildSafetySeatFee") != null)
							{
								document.getElementById(ctrlID + "_divChildSafetySeatFee").innerHTML		= elmChildSeatChargeFee[0].firstChild.data;
								///display container?
								document.getElementById(ctrlID + "_divContainerChildSafetySeatFee").style.display	= (parseInt(elmChildSeatChargeFee[0].firstChild.data) > 0) ? "block" : "none";
							}

							if(document.getElementById(ctrlID + "_divInfantSafetySeatFee") != null)
							{
								document.getElementById(ctrlID + "_divInfantSafetySeatFee").innerHTML		= elmInfantSeatChargeFee[0].firstChild.data;
								///display container?
								document.getElementById(ctrlID + "_divContainerInfantSafetySeatFee").style.display	= (parseInt(elmInfantSeatChargeFee[0].firstChild.data) > 0) ? "block" : "none";
							}
							
							if(document.getElementById(ctrlID + "_divChildBoosterSeatFee") != null)
							{
								document.getElementById(ctrlID + "_divChildBoosterSeatFee").innerHTML		= elmChildBoosterSeatChargeFee[0].firstChild.data;
								///display container?
								document.getElementById(ctrlID + "_divContainerChildBoosterSeatFee").style.display	= (parseInt(elmChildBoosterSeatChargeFee[0].firstChild.data) > 0) ? "block" : "none";
							}

							if(document.getElementById(ctrlID + "_divExcessReductionFee") != null)
							{
								document.getElementById(ctrlID + "_divExcessReductionFee").innerHTML		= elmExcessReductionFee[0].firstChild.data;
								///display container?
								document.getElementById(ctrlID + "_divContainerExcessReductionFee").style.display	= (parseInt(elmExcessReductionFee[0].firstChild.data) > 0) ? "block" : "none";
							}
							if(document.getElementById(ctrlID + "_divContainerCorporateExcessReductionFee") != null)
							{
								document.getElementById(ctrlID + "_divCorporateExcessReductionFee").innerHTML		= elmCorporateExcessReduction[0].firstChild.data;
								document.getElementById(ctrlID + "_divContainerCorporateExcessReductionFee").style.display	= (parseInt(elmCorporateExcessReduction[0].firstChild.data) > 0) ? "block" : "none";
							}
							if(document.getElementById(ctrlID + "_divGPSFee") != null)
							{
								document.getElementById(ctrlID + "_divGPSFee").innerHTML		= elmGPScharge[0].firstChild.data;
								///display container?
								document.getElementById(ctrlID + "_divContainerGPS").style.display	= (parseInt(elmGPScharge[0].firstChild.data) > 0) ? "block" : "none";
							}
							
							if(document.getElementById(ctrlID + "_divStampDutyFee") != null)
							{
								document.getElementById(ctrlID + "_divStampDutyFee").innerHTML				= elmStampDuty[0].firstChild.data;
								document.getElementById(ctrlID + "_divContainerStampDutyFee").style.display	= (parseInt(elmStampDuty[0].firstChild.data) > 0) ? "block" : "none";
							}

							if(document.getElementById(ctrlID + "_divGstPercent") != null)
							{
								document.getElementById(ctrlID + "_divGstPercent").innerHTML = elmGst[0].firstChild.data;
							}
							if(document.getElementById(ctrlID + "_divEstimatedTotal") != null)
							{
								document.getElementById(ctrlID + "_divEstimatedTotal").innerHTML	= elmEstimatedTotal[0].firstChild.data;
							}
							if(document.getElementById(ctrlID + "_divGST") != null)
							{
								document.getElementById(ctrlID + "_divGST").innerHTML				= elmGst[0].firstChild.data;
							}
							$("#" + ctrlID + "_ibConfirmBooking").css('background-position', 'top');


							///OPTIONS START
							if(document.getElementById(ctrlID + "_divMovePack") != null && parseInt(elmMovePack[0].firstChild.data) > 0)
							{
								document.getElementById(ctrlID + "_divMovePack").innerHTML			= elmMovePack[0].firstChild.data;
							}
							if(document.getElementById(ctrlID + "_divTrolley") != null && parseInt(elmTrolley[0].firstChild.data) > 0)
							{
								document.getElementById(ctrlID + "_divTrolley").innerHTML			= elmTrolley[0].firstChild.data;
							}
							if(document.getElementById(ctrlID + "_divLifter") != null && parseInt(elmLifter[0].firstChild.data) > 0)
							{
								document.getElementById(ctrlID + "_divLifter").innerHTML				= elmLifter[0].firstChild.data;
							}
							if(document.getElementById(ctrlID + "_divRemoteSurcharge") != null && parseInt(elmRemoteSurcharge[0].firstChild.data) > 0)
							{
								document.getElementById(ctrlID + "_divRemoteSurcharge").innerHTML				= elmRemoteSurcharge[0].firstChild.data;
							}

							///OPTIONS END

						}
						else
						{
							jAlert("Error! " + XMLdoc.getElementsByTagName("error")[0].firstChild.data);
						}
				}
				else
				{
					jAlert("Error! " + conn.getXmlHttp.status + url);
				}
			}

		}		

		///load request
		requestHTTPXML(fn_action, conn.getXmlHttp, url); 

	}
	catch(e)
	{
		dlert(e.message);
	}
}




function getRateDetails(sipp, ctrlID, countryId, locationState, callback, isCommercial)
{
	try
	{	
		///get a deal by id
		var url = "/service/RateRequest.asmx/GetRateDetails?sipp=" + sipp + "&countryId=" + countryId + "&locationState=" + locationState + "&isCommercial=" + isCommercial;
		var conn = new initHTTPXML();
		var fn_action = function()
		{
			if(conn.getXmlHttp.readyState == conn.ReadyState.Complete)
			{
				if(conn.getXmlHttp.status ==  conn.HttpStatus.OK)
				{
					var XMLdoc		= conn.getXmlHttp.responseXML.documentElement;
					
					if(XMLdoc.getElementsByTagName("error").length == 0)
					{
						var elmCountryCode			= XMLdoc.getElementsByTagName("CountryCode");
						var elmDays					= XMLdoc.getElementsByTagName("Days");
						var elmHours				= XMLdoc.getElementsByTagName("Hours");
						var elmRentalCharges		= XMLdoc.getElementsByTagName("RentalCharges");					
						var elmDailyRate			= XMLdoc.getElementsByTagName("DailyRate");
						var elmAirportFee			= XMLdoc.getElementsByTagName("AirportFee");
						var elmAirportFeeDiscount	= XMLdoc.getElementsByTagName("AirportFeeDiscount");
						var elmRegoRecoveryFee		= XMLdoc.getElementsByTagName("RegoRecoveryFee");
						var elmStampDuty			= XMLdoc.getElementsByTagName("StampDuty");
						var elmGst					= XMLdoc.getElementsByTagName("Gst");
						var elmGstPercent			= XMLdoc.getElementsByTagName("GstPercent");
						var elmOneWayFee			= XMLdoc.getElementsByTagName("OneWayFee");
						var elmEstimatedTotal		= XMLdoc.getElementsByTagName("EstimatedTotal");
						var elmIncludedKms			= XMLdoc.getElementsByTagName("IncludedKms");	
						var elmExcessChargePerKm	= XMLdoc.getElementsByTagName("ExcessChargePerKm");	
						
						var elmFreeDays				= XMLdoc.getElementsByTagName("FreeDays");
						var elmFreeDaysRate			= XMLdoc.getElementsByTagName("FreeDaysRate");	
						var elmFreeDaysTitle		= XMLdoc.getElementsByTagName("FreeDaysTitle");

						var elmMovePack				= XMLdoc.getElementsByTagName("MovePack");
						var elmTrolley				= XMLdoc.getElementsByTagName("Trolley");	
						var elmLifter				= XMLdoc.getElementsByTagName("Lifter");
						var elmRemoteSurcharge	    = XMLdoc.getElementsByTagName("RemoteSurcharge");
						
						var elmIsPremiumSurchargeLocation   = XMLdoc.getElementsByTagName("IsPremiumSurchargeLocation");
						
						var elmIsRelocationDeal		= XMLdoc.getElementsByTagName("IsRelocationDeal");
						var elmFixedDayPromotion    = XMLdoc.getElementsByTagName("FixedDayPromotion");
						
						var elmIsAirport            = XMLdoc.getElementsByTagName("IsAirport");
						var elmIsPremiumLocation    = XMLdoc.getElementsByTagName("IsPremiumLocation");
						var elmLocationSurchargeName= XMLdoc.getElementsByTagName("LocationSurchargeName");
						
						///populating data
						if(document.getElementById(ctrlID + "_divBaseRateBreakDown") != null)
						{
							var days = parseInt(elmDays[0].firstChild.data);
							var theFixedRate = 0;
							
							if(elmFixedDayPromotion != null && elmFixedDayPromotion.length > 0)
							{
								cleanWhitespace(elmFixedDayPromotion.item(0));
								theFixedRate = parseFloat(elmFixedDayPromotion.item(0).childNodes[0].firstChild.data);
								days--;
							}								
						
							document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML			= days + " day" + ((days == 1) ? "" : "s") + ", "+ elmHours[0].firstChild.data +" hours, $"+ elmDailyRate[0].firstChild.data +" per 1 Day";
							
							if(elmFixedDayPromotion != null && elmFixedDayPromotion.length > 0)
							{
								document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML		+= ", and <span style='color:#FF6600;'>$" + theFixedRate + " per 1 fixed day.</span>";
							}
							// Excess Km Charges
							if (elmIncludedKms[0].firstChild.data * 1 == 0
									//586-28530 NZ - Budget Trucks hide per kilometre note on Step 3
									&& elmExcessChargePerKm[0].firstChild.data * 1 == 0)							
							{
								document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML		+= "<br />Unlimited Kilometres";
							} 
							else 
							{
								document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML		+= "<br />" + elmIncludedKms[0].firstChild.data + " kms incl.";
								if (elmExcessChargePerKm[0].firstChild.data * 1 != 0)
								{
									document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML		+= " Excess charged at $" + elmExcessChargePerKm[0].firstChild.data + "/km";
								}
							}
						}
						if(document.getElementById(ctrlID + "_divBaseRate") != null)
						{
							document.getElementById(ctrlID + "_divBaseRate").innerHTML					= elmRentalCharges[0].firstChild.data;
						}
						if(document.getElementById(ctrlID + "_divContainerFreeDayPromo") != null)
						{
							document.getElementById(ctrlID + "_divContainerFreeDayPromoTitle").innerHTML	= elmFreeDaysTitle[0].firstChild.data;
							document.getElementById(ctrlID + "_divContainerFreeDayPromoRate").innerHTML		= "-" + elmFreeDaysRate[0].firstChild.data;
							document.getElementById(ctrlID + "_divContainerFreeDayPromo").style.display		= (parseInt(elmFreeDays[0].firstChild.data) > 0) ? "block" : "none";
						}
						if(document.getElementById(ctrlID + "_divAirportFee") != null)
						{						
							if(document.getElementById(ctrlID + "_divAirportFeeDesc") != null)
							{
								
								var l_description = "Airport/Port Fee:";

								if (elmCountryCode[0].firstChild.data == "AU")
								{
									if(elmIsPremiumSurchargeLocation[0].firstChild.data == "True")
									{
										l_description = "Premium Location Surcharge:";
									}
									else
									{
										l_description = "Concession Recovery Fee:";
									}			
									if(elmIsAirport[0].firstChild.data=="True" || elmIsPremiumLocation[0].firstChild.data=="True")
									{
										l_description = elmLocationSurchargeName[0].firstChild.data;
									}					
								}
								
								document.getElementById(ctrlID + "_divAirportFeeDesc").innerHTML = "<b>" + l_description + "</b>";
							}
							
							document.getElementById(ctrlID + "_divAirportFee").innerHTML				= elmAirportFee[0].firstChild.data;
							///display container?
							document.getElementById(ctrlID + "_divContainerAirportFee").style.display	= (parseInt(elmAirportFee[0].firstChild.data) > 0) ? "block" : "none";
						}
						if(document.getElementById(ctrlID + "_divAirportFeeDiscount") != null)
						{
							document.getElementById(ctrlID + "_divAirportFeeDiscount").innerHTML				= elmAirportFeeDiscount[0].firstChild.data;
							///display container?
							document.getElementById(ctrlID + "_divContainerAirportFeeDiscount").style.display	= (parseInt(elmAirportFeeDiscount[0].firstChild.data) > 0) ? "block" : "none";
						}
						if(document.getElementById(ctrlID + "_divRecoveryFee") != null)
						{
							document.getElementById(ctrlID + "_divRecoveryFee").innerHTML				= elmRegoRecoveryFee[0].firstChild.data;
							document.getElementById(ctrlID + "_divContainerRecoveryFee").style.display	= (parseInt(elmRegoRecoveryFee[0].firstChild.data) > 0) ? "block" : "none";
						}
						if(document.getElementById(ctrlID + "_divOneWayFee") != null)
						{
							document.getElementById(ctrlID + "_divOneWayFee").innerHTML					= elmOneWayFee[0].firstChild.data;
							///display container?
							document.getElementById(ctrlID + "_divContainerOneWayFee").style.display	= (parseInt(elmOneWayFee[0].firstChild.data) > 0) ? "block" : "none";
						}
						if(document.getElementById(ctrlID + "_divStampDutyFee") != null)
						{
							document.getElementById(ctrlID + "_divStampDutyFee").innerHTML				= elmStampDuty[0].firstChild.data;
							document.getElementById(ctrlID + "_divContainerStampDutyFee").style.display	= (parseInt(elmStampDuty[0].firstChild.data) > 0) ? "block" : "none";
						}
	
						if(document.getElementById(ctrlID + "_divGstPercent") != null)
						{
							document.getElementById(ctrlID + "_divGstPercent").innerHTML				= elmGst[0].firstChild.data;
						}
						if(document.getElementById(ctrlID + "_dvGST") != null)
						{
							document.getElementById(ctrlID + "_dvGST").innerHTML				= elmGstPercent[0].firstChild.data;
						}
	
						if(document.getElementById(ctrlID + "_divEstimatedTotal") != null)
						{
							document.getElementById(ctrlID + "_divEstimatedTotal").innerHTML	= elmEstimatedTotal[0].firstChild.data;
						}
	
						if(document.getElementById(ctrlID + "_divEstimatedTotal_DataEstimatedTotal") != null)
						{
							document.getElementById(ctrlID + "_divEstimatedTotal_DataEstimatedTotal").innerHTML	= "$" + elmEstimatedTotal[0].firstChild.data;
						}
													
						if(document.getElementById(ctrlID + "_divGST") != null)
						{
							document.getElementById(ctrlID + "_divGST").innerHTML						= elmGst[0].firstChild.data;
						}
						
						///OPTIONS START
						if(document.getElementById(ctrlID + "_divMovePack") != null && parseInt(elmMovePack[0].firstChild.data) > 0)
						{
							document.getElementById(ctrlID + "_divMovePack").innerHTML			= elmMovePack[0].firstChild.data;
						}
						if(document.getElementById(ctrlID + "_divTrolley") != null && parseInt(elmTrolley[0].firstChild.data) > 0)
						{
							document.getElementById(ctrlID + "_divTrolley").innerHTML			= elmTrolley[0].firstChild.data;
						}
						if(document.getElementById(ctrlID + "_divLifter") != null && parseInt(elmLifter[0].firstChild.data) > 0)
						{
							document.getElementById(ctrlID + "_divLifter").innerHTML			= elmLifter[0].firstChild.data;
						}
						///OPTIONS END
						
						if(document.getElementById(ctrlID + "_divRelocationDealSubtext") != null)
						{
							document.getElementById(ctrlID + "_divRelocationDealSubtext").style.display = (elmIsRelocationDeal[0].firstChild.data == "True") ? "block" : "none";				
						}

						if(document.getElementById(ctrlID + "_divRemoteSurcharge") != null && parseInt(elmRemoteSurcharge[0].firstChild.data) > 0)
						{
							document.getElementById(ctrlID + "_divRemoteSurcharge").innerHTML				= elmRemoteSurcharge[0].firstChild.data;
							document.getElementById(ctrlID + "_divContainerRemoteSurcharge").style.display	= (parseInt(elmRemoteSurcharge[0].firstChild.data) > 0) ? "block" : "none";
						}
						if(document.getElementById(ctrlID + "_divContainerFixedDayPromo") != null && elmFixedDayPromotion != null)
						{
							document.getElementById(ctrlID + "_divContainerFixedDayPromoTitle").innerHTML = elmFixedDayPromotion[0].firstChild.data;
							document.getElementById(ctrlID + "_divContainerFixedDayPromo").style.display	=  "block" ;
						}	
						
						
						callback();
						
					}
					else
					{
						jAlert("Error! " + XMLdoc.getElementsByTagName("error")[0].firstChild.data);
					}
				}
				else
				{
					jAlert("Error! " + conn.getXmlHttp.status + url);
				}
			}

		}		

		///load request
		requestHTTPXML(fn_action, conn.getXmlHttp, url); 

	}
	catch(e)
	{
		jAlert(e.message);
	}
}


function getOnRequestRateDetails(sipp, ctrlID, countryId, locationState, fn_test, isOnRequest, isCommercial)
{
	try
	{	
		///get a deal by id
		var url = "/service/RateRequest.asmx/GetOnRequestRateDetails?sipp=" + sipp + "&countryId=" + countryId + "&locationState=" + locationState + "&isCommercial=" + isCommercial;
		var conn = new initHTTPXML();
		var fn_action = function()
		{
			if(conn.getXmlHttp.readyState == conn.ReadyState.Complete)
			{
				if(conn.getXmlHttp.status ==  conn.HttpStatus.OK)
				{
					var XMLdoc		= conn.getXmlHttp.responseXML.documentElement;
					
					if(XMLdoc.getElementsByTagName("error").length == 0)
					{
						var elmCountryCode			= XMLdoc.getElementsByTagName("CountryCode");
						var elmDays					= XMLdoc.getElementsByTagName("Days");
						var elmHours				= XMLdoc.getElementsByTagName("Hours");
						var elmRentalCharges		= XMLdoc.getElementsByTagName("RentalCharges");					
						var elmDailyRate			= XMLdoc.getElementsByTagName("DailyRate");
						var elmAirportFee			= XMLdoc.getElementsByTagName("AirportFee");
						var elmAirportFeeDiscount	= XMLdoc.getElementsByTagName("AirportFeeDiscount");
						var elmRegoRecoveryFee		= XMLdoc.getElementsByTagName("RegoRecoveryFee");
						var elmStampDuty			= XMLdoc.getElementsByTagName("StampDuty");
						var elmGst					= XMLdoc.getElementsByTagName("Gst");
						var elmOneWayFee			= XMLdoc.getElementsByTagName("OneWayFee");
						var elmEstimatedTotal		= XMLdoc.getElementsByTagName("EstimatedTotal");
						var elmIncludedKms			= XMLdoc.getElementsByTagName("IncludedKms");	
						var elmExcessChargePerKm	= XMLdoc.getElementsByTagName("ExcessChargePerKm");	
						
						var elmFreeDays				= XMLdoc.getElementsByTagName("FreeDays");
						var elmFreeDaysRate			= XMLdoc.getElementsByTagName("FreeDaysRate");	
						var elmFreeDaysTitle		= XMLdoc.getElementsByTagName("FreeDaysTitle");

						var elmMovePack				= XMLdoc.getElementsByTagName("MovePack");
						var elmTrolley				= XMLdoc.getElementsByTagName("Trolley");	
						var elmLifter				= XMLdoc.getElementsByTagName("Lifter");						
						var elmRemoteSurcharge      = XMLdoc.getElementsByTagName("RemoteSurcharge");						
						
						var elmIsPremiumSurchargeLocation   = XMLdoc.getElementsByTagName("IsPremiumSurchargeLocation");
						var elmFixedDayPromotion    = XMLdoc.getElementsByTagName("FixedDayPromotion");
						var elmIsAirport            = XMLdoc.getElementsByTagName("IsAirport");
						var elmIsPremiumLocation    = XMLdoc.getElementsByTagName("IsPremiumLocation");
						var elmLocationSurchargeName= XMLdoc.getElementsByTagName("LocationSurchargeName");

						///populating data
						if(document.getElementById(ctrlID + "_divBaseRateBreakDown") != null)
						{
							var days = parseInt(elmDays[0].firstChild.data);
							var theFixedRate = 0;
							
							if(elmFixedDayPromotion != null && elmFixedDayPromotion.length > 0)
							{
								cleanWhitespace(elmFixedDayPromotion.item(0));
								theFixedRate = parseFloat(elmFixedDayPromotion.item(0).childNodes[0].firstChild.data);
								days--;
							}								
						
							document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML			= days + " day" + ((days == 1) ? "" : "s") + ", "+ elmHours[0].firstChild.data +" hours, $"+ elmDailyRate[0].firstChild.data +" per 1 Day";
							
							if(elmFixedDayPromotion != null && elmFixedDayPromotion.length > 0)
							{
								document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML		+= ", and <span style='color:#FF6600;'>$" + theFixedRate + " per 1 fixed day.</span>";
							}
							
							// Excess Km Charges
							if (elmIncludedKms[0].firstChild.data == "0"
									//586-28530 NZ - Budget Trucks hide per kilometre note on Step 3
									&& elmExcessChargePerKm[0].firstChild.data == "0")
							
							{
								document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML		+= "<br />Unlimited Kilometres";
							} 
							else 
							{
								document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML		+= "<br />" + elmIncludedKms[0].firstChild.data + " kms incl.";
								if (elmExcessChargePerKm[0].firstChild.data != "0.000")
								{
									document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML		+= " Excess charged at $" + elmExcessChargePerKm[0].firstChild.data + "/km";
								}
							}
						}
						if(document.getElementById(ctrlID + "_divBaseRate") != null)
						{
							document.getElementById(ctrlID + "_divBaseRate").innerHTML					= elmRentalCharges[0].firstChild.data;
						}
						if(document.getElementById(ctrlID + "_divContainerFreeDayPromo") != null)
						{
							document.getElementById(ctrlID + "_divContainerFreeDayPromoTitle").innerHTML	= elmFreeDaysTitle[0].firstChild.data;
							document.getElementById(ctrlID + "_divContainerFreeDayPromoRate").innerHTML		= "-" + elmFreeDaysRate[0].firstChild.data;
							document.getElementById(ctrlID + "_divContainerFreeDayPromo").style.display		= (parseInt(elmFreeDays[0].firstChild.data) > 0) ? "block" : "none";
						}
						if(document.getElementById(ctrlID + "_divAirportFee") != null)
						{
							if(document.getElementById(ctrlID + "_divAirportFeeDesc") != null)
							{
								var l_description = "Airport/Port Fee:";

								if (elmCountryCode[0].firstChild.data == "AU")
								{
									if(elmIsPremiumSurchargeLocation[0].firstChild.data == "True")
									{
										l_description = "Premium Location Surcharge:";
									}
									else
									{
										l_description = "Concession Recovery Fee:";
									}	
									
									if(elmIsAirport[0].firstChild.data=="True" || elmIsPremiumLocation[0].firstChild.data=="True")
									{
										l_description = elmLocationSurchargeName[0].firstChild.data;
									}							
								}

								
								document.getElementById(ctrlID + "_divAirportFeeDesc").innerHTML = "<b>" + l_description + "</b>";
							}
							
							document.getElementById(ctrlID + "_divAirportFee").innerHTML				= elmAirportFee[0].firstChild.data;
							///display container?
							document.getElementById(ctrlID + "_divContainerAirportFee").style.display	= (parseInt(elmAirportFee[0].firstChild.data) > 0) ? "block" : "none";
						}
						if(document.getElementById(ctrlID + "_divAirportFeeDiscount") != null)
						{
							document.getElementById(ctrlID + "_divAirportFeeDiscount").innerHTML				= elmAirportFeeDiscount[0].firstChild.data;
							///display container?
							document.getElementById(ctrlID + "_divContainerAirportFeeDiscount").style.display	= (parseInt(elmAirportFeeDiscount[0].firstChild.data) > 0) ? "block" : "none";
						}
						if(document.getElementById(ctrlID + "_divRecoveryFee") != null)
						{
							document.getElementById(ctrlID + "_divRecoveryFee").innerHTML				= elmRegoRecoveryFee[0].firstChild.data;
							document.getElementById(ctrlID + "_divContainerRecoveryFee").style.display	= (parseInt(elmRegoRecoveryFee[0].firstChild.data) > 0) ? "block" : "none";
						}
						if(document.getElementById(ctrlID + "_divOneWayFee") != null)
						{
							document.getElementById(ctrlID + "_divOneWayFee").innerHTML					= elmOneWayFee[0].firstChild.data;
							///display container?
							document.getElementById(ctrlID + "_divContainerOneWayFee").style.display	= (parseInt(elmOneWayFee[0].firstChild.data) > 0) ? "block" : "none";
						}
						if(document.getElementById(ctrlID + "_divStampDutyFee") != null)
						{
							document.getElementById(ctrlID + "_divStampDutyFee").innerHTML				= elmStampDuty[0].firstChild.data;
							document.getElementById(ctrlID + "_divContainerStampDutyFee").style.display	= (parseInt(elmStampDuty[0].firstChild.data) > 0) ? "block" : "none";
						}
	
						if(document.getElementById(ctrlID + "_divGstPercent") != null)
						{
							document.getElementById(ctrlID + "_divGstPercent").innerHTML				= elmGst[0].firstChild.data;
						}
	
						if(document.getElementById(ctrlID + "_divEstimatedTotal") != null)
						{
							document.getElementById(ctrlID + "_divEstimatedTotal").innerHTML	= elmEstimatedTotal[0].firstChild.data;
						}
							
						if(document.getElementById(ctrlID + "_divGST") != null)
						{
							document.getElementById(ctrlID + "_divGST").innerHTML						= elmGst[0].firstChild.data;
						}
						
						///OPTIONS START
						if(document.getElementById(ctrlID + "_divMovePack") != null && parseInt(elmMovePack[0].firstChild.data) > 0)
						{
							document.getElementById(ctrlID + "_divMovePack").innerHTML			= elmMovePack[0].firstChild.data;
						}
						if(document.getElementById(ctrlID + "_divTrolley") != null && parseInt(elmTrolley[0].firstChild.data) > 0)
						{
							document.getElementById(ctrlID + "_divTrolley").innerHTML			= elmTrolley[0].firstChild.data;
						}
						if(document.getElementById(ctrlID + "_divLifter") != null && parseInt(elmLifter[0].firstChild.data) > 0)
						{
							document.getElementById(ctrlID + "_divLifter").innerHTML			= elmLifter[0].firstChild.data;
						}
						
						if(document.getElementById(ctrlID + "_divRemoteSurcharge") != null && parseInt(elmRemoteSurcharge[0].firstChild.data) > 0)
						{
							document.getElementById(ctrlID + "_divRemoteSurcharge").innerHTML				= elmRemoteSurcharge[0].firstChild.data;
						}						
						///OPTIONS END
						

						
						fn_test();
						
					}
					else
					{
						dlert("Error! " + XMLdoc.getElementsByTagName("error")[0].firstChild.data);
					}
				}
				else
				{
					dlert("Error! " + conn.getXmlHttp.status + url);
				}
			}

		}		

		///load request
		requestHTTPXML(fn_action, conn.getXmlHttp, url); 

	}
	catch(e)
	{
		dlert(e.message);
	}
}






function getRateOptions(ctrlID, movePackId, trolleyId, lifterId, isCommercial)
{
	try
	{	
	
		var requireMovePack = (document.getElementById(movePackId)	!= null) ? document.getElementById(movePackId).checked	: false;
		var requireTrolley	= (document.getElementById(trolleyId)	!= null) ? document.getElementById(trolleyId).checked	: false;
		var requireLifter	= (document.getElementById(lifterId)	!= null) ? document.getElementById(lifterId).checked	: false;
	
		///get a deal by id
		var url = "/service/RateRequest.asmx/getRateUpdateOptions?requireMovePack="+ requireMovePack +"&requireTrolley="+ requireTrolley +"&requireLifter="+ requireLifter + "&isCommercial=" + isCommercial;
		var conn = new initHTTPXML();
		var fn_action = function()
		{
			if(conn.getXmlHttp.readyState == conn.ReadyState.Complete)
			{
				if(conn.getXmlHttp.status ==  conn.HttpStatus.OK)
				{
					var XMLdoc		= conn.getXmlHttp.responseXML.documentElement;
					
					if(XMLdoc.getElementsByTagName("error").length == 0)
					{
						var elmDays					= XMLdoc.getElementsByTagName("Days");
						var elmHours				= XMLdoc.getElementsByTagName("Hours");
						var elmRentalCharges		= XMLdoc.getElementsByTagName("RentalCharges");					
						var elmDailyRate			= XMLdoc.getElementsByTagName("DailyRate");
						var elmAirportFee			= XMLdoc.getElementsByTagName("AirportFee");
						var elmRegoRecoveryFee		= XMLdoc.getElementsByTagName("RegoRecoveryFee");
						var elmStampDuty			= XMLdoc.getElementsByTagName("StampDuty");
						var elmGst					= XMLdoc.getElementsByTagName("Gst");
						var elmOneWayFee			= XMLdoc.getElementsByTagName("OneWayFee");
						var elmEstimatedTotal		= XMLdoc.getElementsByTagName("EstimatedTotal");
						var elmIncludedKms			= XMLdoc.getElementsByTagName("IncludedKms");	
						var elmExcessChargePerKm	= XMLdoc.getElementsByTagName("ExcessChargePerKm");	
						var elmFreeDays				= XMLdoc.getElementsByTagName("FreeDays");
						var elmFreeDaysRate			= XMLdoc.getElementsByTagName("FreeDaysRate");	
						var elmFreeDaysTitle		= XMLdoc.getElementsByTagName("FreeDaysTitle");
						var elmMovePack				= XMLdoc.getElementsByTagName("MovePack");
						var elmRemoteSurcharge				= XMLdoc.getElementsByTagName("RemoteSurcharge");
						var elmFixedDayPromotion    = XMLdoc.getElementsByTagName("FixedDayPromotion");
						
						///populating data
						if(document.getElementById(ctrlID + "_divBaseRateBreakDown") != null)
						{
							var days = parseInt(elmDays[0].firstChild.data);
							var theFixedRate = 0;
							
							if(elmFixedDayPromotion != null && elmFixedDayPromotion.length > 0)
							{
								cleanWhitespace(elmFixedDayPromotion.item(0));
								theFixedRate = parseFloat(elmFixedDayPromotion.item(0).childNodes[0].firstChild.data);
								days--;
							}								
						
							document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML			= days + " day" + ((days == 1) ? "" : "s") + ", "+ elmHours[0].firstChild.data +" hours, $"+ elmDailyRate[0].firstChild.data +" per 1 Day";
							
							if(elmFixedDayPromotion != null && elmFixedDayPromotion.length > 0)
							{
								document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML		+= ", and <span style='color:#FF6600;'>$" + theFixedRate + " per 1 fixed day.</span>";
							}
							
							// Excess Km Charges
							if (elmIncludedKms[0].firstChild.data == "0"
									//586-28530 NZ - Budget Trucks hide per kilometre note on Step 3
									&& elmExcessChargePerKm[0].firstChild.data == "0")
							
							{
								document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML		+= "<br />Unlimited Kilometres";
							} 
							else 
							{
								document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML		+= "<br />" + elmIncludedKms[0].firstChild.data + " kms incl.";
								if (elmExcessChargePerKm[0].firstChild.data != "0.000")
								{
									document.getElementById(ctrlID + "_divBaseRateBreakDown").innerHTML		+= " Excess charged at $" + elmExcessChargePerKm[0].firstChild.data + "/km";
								}
							}
						}
						if(document.getElementById(ctrlID + "_divBaseRate") != null)
						{
							document.getElementById(ctrlID + "_divBaseRate").innerHTML					= elmRentalCharges[0].firstChild.data;
						}
						if(document.getElementById(ctrlID + "_divContainerFreeDayPromo") != null)
						{
							document.getElementById(ctrlID + "_divContainerFreeDayPromoTitle").innerHTML	= elmFreeDaysTitle[0].firstChild.data;
							document.getElementById(ctrlID + "_divContainerFreeDayPromoRate").innerHTML		= "-" + elmFreeDaysRate[0].firstChild.data;
							document.getElementById(ctrlID + "_divContainerFreeDayPromo").style.display		= (parseInt(elmFreeDays[0].firstChild.data) > 0) ? "block" : "none";
						}
						if(document.getElementById(ctrlID + "_divAirportFee") != null)
						{
							document.getElementById(ctrlID + "_divAirportFee").innerHTML				=  elmAirportFee[0].firstChild.data;
							///display container?
							document.getElementById(ctrlID + "_divContainerAirportFee").style.display	= (parseInt(elmAirportFee[0].firstChild.data) > 0) ? "block" : "none";
						}
						if(document.getElementById(ctrlID + "_divRecoveryFee") != null)
						{
							document.getElementById(ctrlID + "_divRecoveryFee").innerHTML				=  elmRegoRecoveryFee[0].firstChild.data;
							document.getElementById(ctrlID + "_divContainerRecoveryFee").style.display	= (parseInt(elmRegoRecoveryFee[0].firstChild.data) > 0) ? "block" : "none";
						}
						if(document.getElementById(ctrlID + "_divOneWayFee") != null)
						{
							document.getElementById(ctrlID + "_divOneWayFee").innerHTML					=  elmOneWayFee[0].firstChild.data;
							///display container?
							document.getElementById(ctrlID + "_divContainerOneWayFee").style.display	= (parseInt(elmOneWayFee[0].firstChild.data) > 0) ? "block" : "none";
						}
						if(document.getElementById(ctrlID + "_divStampDutyFee") != null)
						{
							document.getElementById(ctrlID + "_divStampDutyFee").innerHTML				=  elmStampDuty[0].firstChild.data;
							document.getElementById(ctrlID + "_divContainerStampDutyFee").style.display	= (parseInt(elmStampDuty[0].firstChild.data) > 0) ? "block" : "none";
						}
	
						if(document.getElementById(ctrlID + "_divGstPercent") != null)
						{
							document.getElementById(ctrlID + "_divGstPercent").innerHTML				= +elmGst[0].firstChild.data;
						}
	
						if(document.getElementById(ctrlID + "_divEstimatedTotal") != null)
						{
							document.getElementById(ctrlID + "_divEstimatedTotal").innerHTML	= elmEstimatedTotal[0].firstChild.data;
						}
							
						if(document.getElementById(ctrlID + "_divGST") != null)
						{
							document.getElementById(ctrlID + "_divGST").innerHTML						=  elmGst[0].firstChild.data;
						}
						
						///OPTIONS START
						if(document.getElementById(ctrlID + "_divMovePack") != null)
						{
							document.getElementById(ctrlID + "_divMovePack").innerHTML					= elmMovePack[0].firstChild.data;
							document.getElementById(ctrlID + "_divContainerMovePack").style.display		= (parseInt(elmMovePack[0].firstChild.data) > 0) ? "block" : "none";
						}
						
						///OPTIONS END
						
					}
					else
					{
						dlert("Error! " + XMLdoc.getElementsByTagName("error")[0].firstChild.data);
					}
				}
				else
				{
					dlert("Error! " + conn.getXmlHttp.status + url);
				}
			}

		}		

		///load request
		requestHTTPXML(fn_action, conn.getXmlHttp, url); 

	}
	catch(e)
	{
		dlert(e.message);
	}
}

var notWhitespace = /\S/;
function cleanWhitespace(node) 
{
	if(node != null)
	{
		for (var x = 0; x < node.childNodes.length; x++) 
		{
			var childNode = node.childNodes[x];
			if ((childNode.nodeType == 3)&&(!notWhitespace.test(childNode.nodeValue))) 
			{
				// that is, if it's a whitespace text node
				node.removeChild(node.childNodes[x]);
				x--;
			}
			if (childNode.nodeType == 1) 
			{
				// elements can have text child nodes of their own
				cleanWhitespace(childNode)
			}
		}	
	}

}

var _currentSiteId = 0;

function SetCurrentSiteId(siteId)
{
	_currentSiteId = siteId;
}
