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'>");
		}
    }

    if ($("#divEstimatedTotalRight") != null) {
        $("#divEstimatedTotalRight").html("<img height='15' 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. in estimated total.";
		                            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("divEstimatedTotal") != null) {
		                        document.getElementById("divEstimatedTotal").innerHTML = "$" + elmEstimatedTotal[0].firstChild.data;
		                    }

		                    if (document.getElementById("divEstimatedTotalRight") != null) {
		                        document.getElementById("divEstimatedTotalRight").innerHTML = "$" + elmEstimatedTotal[0].firstChild.data;
		                    }


		                    if (document.getElementById("divEstimatedConfirmTotal") != null) {
		                        document.getElementById("divEstimatedConfirmTotal").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');

		                    //nz optional extras 
		                    if (document.getElementById("pagecontrols_reservationstep3nz_divContainerBreackdownOptions") != null) {
		                        //check if has extras and show title
		                        var hasExtras = document.getElementById("pagecontrols_reservationstep3nz_divContainerBreackdownOptions").innerHTML;		                        
		                        if (hasExtras == "") {
		                            document.getElementById("pagecontrols_reservationstep3nz_divContainerBreackdownOptionsTitle").style.display = "none";
		                        } else {
		                            document.getElementById("pagecontrols_reservationstep3nz_divContainerBreackdownOptionsTitle").style.display = "block";
		                        }
		                    }

		                }
		                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. in estimated total.";
									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 elmDeliveryFee = XMLdoc.getElementsByTagName("DeliveryFee");
		                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");
		                var gstTotal = 0;

		                ///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. in estimated total.";
		                        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";
		                }
		                // Task #1024 Delivery Fee's XML - Leamonth
		                if (document.getElementById(ctrlID + "_divDeliveryFee") != null) {
		                    document.getElementById(ctrlID + "_divDeliveryFee").innerHTML = elmDeliveryFee[0].firstChild.data;
		                    document.getElementById(ctrlID + "_divContainerDeliveryFee").style.display = (parseInt(elmDeliveryFee[0].firstChild.data) > 0) ? "block" : "none";
		                }

		                if (document.getElementById(ctrlID + "_divGstPercent") != null) {
		                    document.getElementById(ctrlID + "_divGstPercent").innerHTML = elmGst[0].firstChild.data;
		                    gstTotal = parseFloat(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;
		                }

		                //insurance
		                if (document.getElementById(ctrlID + "_divInsuranceAmount") != null) {
		                    var insr = document.getElementById(ctrlID + "_hdnInsurance").value;
		                    if (insr != "0.00") {
		                        //GST		                        
		                        var gstInsurance = parseFloat(parseFloat(insr) * 0.15);
		                        gstTotal = gstTotal + gstInsurance;
		                        document.getElementById(ctrlID + "_divGstPercent").innerHTML = gstTotal.toFixed(2);
		                        //estimated total
		                        var estimatedTot = parseFloat(parseFloat(elmEstimatedTotal[0].firstChild.data) + parseFloat(insr) + gstInsurance);
		                        document.getElementById(ctrlID + "_divEstimatedTotal").innerHTML = estimatedTot.toFixed(2);
		                        document.getElementById(ctrlID + "_divEstimatedTotal_DataEstimatedTotal").innerHTML = "$" + estimatedTot.toFixed(2);		                        
		                    }
		                }

		                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. in estimated total.";
								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. in estimated total.";
								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;
}

