// PER-PERSON RATES (LOW/SHOULDER/HIGH):
var arrBB = "50,52,55";
var arrManor = "100,115,125";
var arrCastle = "150,175,250";
var arrStandardHotel = "50,75,100";
var arrAirfare = "700,800,1000";
var intAirTax = 150;
var intAirTaxConnecting = 230;
var intCDW = 0;	
var intSuperCDW = 20;
var intSeason = -1;
var intNumberTravelers = 2;
var intNumberRooms = 1;

function GetRentalRate(rentalClass, pickupDate, rentalDays) {
    eTAOGroupLLC.wsDanDooley.CalculateRentalRate(rentalClass, pickupDate, rentalDays, OnLookupComplete);
}

function OnLookupComplete(result) {
    var carRentalTotal = Math.round(result);
    document.getElementById("divPriceCar").innerHTML = "<strong>$" + carRentalTotal + "</strong>";
    carRentalCallBack(carRentalTotal);
}

function calcAll()
{
    intNumberTravelers = parseInt(document.getElementById(objNumberTravelers).value);
    var rentalClass = document.getElementById(objCarRental).options[document.getElementById(objCarRental).selectedIndex].value;
    var pickupDate = new Date(document.getElementById(objDepartDate).value);
    var rentalDays = parseInt(document.getElementById(objBBNights).value) +
        parseInt(document.getElementById(objBBNights).value) +
        parseInt(document.getElementById(objStandardHotelNights).value) +
        parseInt(document.getElementById(objManorHomeNights).value) +
        parseInt(document.getElementById(objCastleNights).value) + 1;
        
    GetRentalRate(rentalClass, pickupDate, rentalDays);
}

function carRentalCallBack(carRentalTotal) {
    var intTotal = 0;
    calcSeason();
    intTotal += calcAirfare();
    intTotal += calcBB();
    intTotal += calcStandardHotel();
    intTotal += calcManorHome();
    intTotal += calcCastles();
    intTotal += calcCDW();
    intTotal += carRentalTotal;
    showTotal(intTotal);
}

function showTotal(intTotal) {
    if (intTotal > 0) {
        document.getElementById("divTotal").innerHTML = "<strong>$" + intTotal + " or $" + Math.round(intTotal / intNumberTravelers) + "</strong>";
        document.getElementById(objMinBudget).value = Math.round(intTotal / intNumberTravelers);
        }
}

function calcAirfare()
{
    var airportCode = document.getElementById(objAirfare).value;
    var intAirfareTotal = 0;
    if (intSeason != -1 && airportCode != "")
    {
        var airportCode = document.getElementById(objAirfare).value;
        var directFlightsFrom = "LAX,ORD,BOS,JFK,PHL,MCO,ATL,EWR";
	    var airTaxes = intAirTax;
	    var arrPriceArray = new Array();
	    arrPriceArray = arrAirfare.split(",");
	    intAirfareTotal = parseInt(arrPriceArray[intSeason]);
	    if (directFlightsFrom.indexOf(airportCode) == -1)
	        airTaxes = intAirTaxConnecting;
	    if (intAirfareTotal > 0)
	        intAirfareTotal += airTaxes;
		intAirfareTotal = intAirfareTotal * intNumberTravelers;
    }
	document.getElementById("divPriceAir").innerHTML = "<strong>$" + intAirfareTotal + "</strong>";
	
	return intAirfareTotal;
}

function calcBB()
{
	var intNights = document.getElementById(objBBNights).value;
	var intBBTotal = 0;
    if (intSeason != -1 && intNights != "0")
    {
	    var arrPriceArray = new Array();
	    arrPriceArray = arrBB.split(",");
	    var intRate = arrPriceArray[intSeason];
	    intBBTotal = intNights * intRate * intNumberTravelers;
	}
	document.getElementById("divPriceBB").innerHTML = "<strong>$" + intBBTotal + "</strong>";
		
	return intBBTotal;
}

function calcStandardHotel() {
    var intNights = document.getElementById(objStandardHotelNights).value;
    var intStandardHotelTotal = 0;
    if (intSeason != -1 && intNights != "0") {
        var arrPriceArray = new Array();
        arrPriceArray = arrStandardHotel.split(",");
        var intRate = arrPriceArray[intSeason];
        intStandardHotelTotal = intNights * intRate * intNumberTravelers;
    }
    document.getElementById("divPriceStandardHotel").innerHTML = "<strong>$" + intStandardHotelTotal + "</strong>";

    return intStandardHotelTotal;
}

function calcManorHome()
{
	var intNights = document.getElementById(objManorHomeNights).value;
	var intManorTotal = 0
    if (intSeason != -1 && intNights != "0")
    {
	    var arrPriceArray = new Array();
	    arrPriceArray = arrManor.split(",");
	    var intRate = arrPriceArray[intSeason];
	    intManorTotal = intNights * intRate * intNumberTravelers;
	}
	document.getElementById("divPriceManor").innerHTML = "<strong>$" + intManorTotal + "</strong>";
		
	return intManorTotal;
}

function calcCastles()
{
	var intNights = document.getElementById(objCastleNights).value;
	var intCastleTotal = 0;
    if (intSeason != -1 && intNights != "0")
    {
	    var arrPriceArray = new Array();
	    arrPriceArray = arrCastle.split(",");
	    var intRate = arrPriceArray[intSeason];
	    intCastleTotal = intNights * intRate * intNumberTravelers;
	}
	document.getElementById("divPriceCastle").innerHTML = "<strong>$" + intCastleTotal + "</strong>";
		
	return intCastleTotal;
}

function calcCDW()
{
    var intRate = (document.getElementById("CDWBasic").checked) ? intCDW : intSuperCDW;
    var carSelected = document.getElementById(objCarRental).options[document.getElementById(objCarRental).selectedIndex].value;
    intNights = parseInt(document.getElementById(objCastleNights).value) + parseInt(document.getElementById(objManorHomeNights).value) + parseInt(document.getElementById(objBBNights).value) + 1;
	var intCDWTotal = 0;
	if (carSelected != "" && intSeason != -1 && intNights != 0) {
	    intCDWTotal = (intNights * intRate);
	}	
	document.getElementById("divPriceCDW").innerHTML = "<strong>$" + intCDWTotal + "</strong>";
	
	return intCDWTotal;
}

function calcSeason()
{
	var dteDepDate = new Date(document.getElementById(objDepartDate).value);
	var intDepMonth = dteDepDate.getMonth()+1;
	// 1 = Low; 2 = Shoulder; 3 = High

	switch (intDepMonth)
	{
		case 1:
	    case 2:
	    case 3:
	    case 11:
	    case 12:
	        intSeason = 0;
	        break;
		case 4:
	    case 5:
	    case 10:
	        intSeason = 1;
	        break;	    
	    case 6:
	    case 7:
	    case 8:
	    case 9:
		    intSeason = 2;
		    break;
	}
}

