﻿var xat1;
var xat2;
var selOutRow;
var selInRow;
var pricing1;
var pricing2;
//***********************************************************************************************
// ddlorigin has changed
//***********************************************************************************************
function selectionChangeOrigin() {
    $.ajax(
            {
                type: "POST",
                url: "Seair.aspx/GetTravelDestination",
                datatype: "json",
                data: "{origin: '" + $("#ddlOrigin").val() + "'}",
                contentType: "application/json; charset=utf-8",
                success: function (json) {
                    $("#ddlDestination").html(json.d);
                },
                error: AjaxFailed
            })
}
//***********************************************************************************************
// ddlDepartDay changed
//***********************************************************************************************
function selectionChangeDepDay() {
    var valMY = $("#ddlDepartMY").val().split("-");
    var valMY2 = $("#ddlReturnMY").val().split("-");
    var todays = new Date();
    todays.setDate(todays.getDate() + 2);

    if ((todays.getMonth() == valMY[0] - 1) && (todays.getFullYear() == valMY[1] * 1)) {
        if ($("#ddlDepartMY").val() == $("#ddlReturnMY").val()) {
            var startDay = $("#ddlDepartDay").val() * 1;
            var endDay = DaysInMonth(valMY[0], valMY[1]);
            var addOpt = "";
            for (var i = startDay; i <= endDay; i++) {
                if (i < 10) { addOpt = addOpt + "<option value='0" + i + "'>0" + i + "</option>"; }
                else { addOpt = addOpt + "<option value='" + i + "'>" + i + "</option>"; }
            }

            $("#ddlReturnDay").html(addOpt);
            $("#ddlReturnDay").val(startDay);
        }
        else {
            var endDay = DaysInMonth(valMY2[0], valMY2[1]);

            var addOpt = "";
            for (var i = 1; i <= endDay; i++) {
                if (i < 10) { addOpt = addOpt + "<option value='0" + i + "'>0" + i + "</option>"; }
                else { addOpt = addOpt + "<option value='" + i + "'>" + i + "</option>"; }
            }

            $("#ddlReturnDay").html(addOpt);
            $("#ddlReturnDay").val("1");
        }
    }
    else if ($("#ddlDepartMY").val() == $("#ddlReturnMY").val()) {
        var startDay = $("#ddlDepartDay").val() * 1;
        var endDay = DaysInMonth(valMY[0], valMY[1]);

        var addOpt = "";
        for (var i = startDay; i <= endDay; i++) {
            if (i < 10) { addOpt = addOpt + "<option value='0" + i + "'>0" + i + "</option>"; }
            else { addOpt = addOpt + "<option value='" + i + "'>" + i + "</option>"; }
        }

        $("#ddlReturnDay").html(addOpt);
        $("#ddlReturnDay").val(startDay);
    }
    else {
        var endDay = DaysInMonth(valMY2[0], valMY2[1]);

        var addOpt = "";
        for (var i = 1; i <= endDay; i++) {
            if (i < 10) { addOpt = addOpt + "<option value='0" + i + "'>0" + i + "</option>"; }
            else { addOpt = addOpt + "<option value='" + i + "'>" + i + "</option>"; }
        }

        $("#ddlReturnDay").html(addOpt);
        $("#ddlReturnDay").val("1");
    }

    FixDepartReturn();
}
//***********************************************************************************************
// ddlDepartMY changed
//***********************************************************************************************
function selectionChangeDepMY() {
    $("#ddlReturnMY").html($("#ddlDepartMY").html());
    var idx = $("#ddlDepartMY").get(0).selectedIndex;

    var lstRetMY = document.getElementById("ddlReturnMY");
    for (var i = 0; i < idx; i++) {
        lstRetMY.remove(0);
    }

    $("#ddlReturnMY").val($("#ddlDepartMY").val());

    var valDay = $("#ddlDepartDay").val();
    var valMY = $("#ddlDepartMY").val().split("-");
    var endDay = DaysInMonth(valMY[0], valMY[1]);
    var startDay = 1;

    var todays = new Date();
    todays.setDate(todays.getDate() + 2);

    if ((todays.getMonth() == valMY[0] - 1) && (todays.getFullYear() == valMY[1] * 1)) {
        startDay = todays.getDate();
    }

    var addOpt = "";
    for (var i = startDay * 1; i <= endDay; i++) {
        if (i < 10) { addOpt = addOpt + "<option value='0" + i + "'>0" + i + "</option>"; }
        else { addOpt = addOpt + "<option value='" + i + "'>" + i + "</option>"; }
    }

    $("#ddlDepartDay").html(addOpt);
    $("#ddlDepartDay").val(valDay);

    addOpt = "";
    for (var i = $("#ddlDepartDay").val() * 1; i <= endDay; i++) {
        if (i < 10) { addOpt = addOpt + "<option value='0" + i + "'>0" + i + "</option>"; }
        else { addOpt = addOpt + "<option value='" + i + "'>" + i + "</option>"; }
    }

    $("#ddlReturnDay").html(addOpt);
    $("#ddlReturnDay").val($("#ddlDepartDay").val());

    FixDepartReturn();
}
//***********************************************************************************************
// ddlReturnMY changed
//***********************************************************************************************
function selectionChangeRetMY() {
    var valDay = $("#ddlReturnDay").val();
    var valDepMY = $("#ddlDepartMY").val().split("-");
    var valRetMY = $("#ddlReturnMY").val().split("-");
    var endDay = DaysInMonth(valRetMY[0], valRetMY[1]);
    var startDay = 1;
    var todays = new Date();
    todays.setDate(todays.getDate() + 2);

    if ((valDepMY[0] * 1 == valRetMY[0] * 1) && (valDepMY[1] * 1 == valRetMY[1] * 1)) {
        startDay = $("#ddlDepartDay").val() * 1;
    }

    var addOpt = "";
    for (var i = startDay * 1; i <= endDay; i++) {
        if (i < 10) { addOpt = addOpt + "<option value='0" + i + "'>0" + i + "</option>"; }
        else { addOpt = addOpt + "<option value='" + i + "'>" + i + "</option>"; }
    }

    $("#ddlReturnDay").html(addOpt);
    $("#ddlReturnDay").val(valDay);

    FixDepartReturn();
}
//***********************************************************************************************
// synchronize the calendar buttons with the calendar dropdownlist
//***********************************************************************************************
function FixDepartReturn() {
    var depMY1 = $("#ddlDepartMY").val();
    var depMY2 = depMY1.split("-");
    var m = depMY2[0];
    if (m * 1 < 10) { m = "0" + m }

    $("#txtDepart").val(depMY2[1] + "/" + m + "/" + $("#ddlDepartDay").val());

    depMY1 = $("#ddlReturnMY").val();
    depMY2 = depMY1.split("-");
    m = depMY2[0];
    if (m * 1 < 10) { m = "0" + m }

    $("#txtReturn").val(depMY2[1] + "/" + m + "/" + $("#ddlReturnDay").val())
}
//***********************************************************************************************
// get the flight scheds
//***********************************************************************************************

function GetFlightSchedules(first) {
    var a = $("#ddlOrigin").val();
    var b = $("#ddlDestination").val();
    var c = $("#ddlDepartDay").val();
    var d = $("#ddlDepartMY").val();
    var f = $("#ddlReturnDay").val();
    var g = $("#ddlReturnMY").val();
    var h = $("#ddlAdults").val();
    var i = $("#ddlChildren").val();
    var j = $("#ddlInfants").val();
    var k = $("#txtPromoCD").val();

    if (first === undefined) {
        if (CheckFlightOptions(h, i, j) == false) { return; }
    }
    else {
        $("select").attr('disabled', 'disabled');
        $("#chkRetTrip").attr('disabled', 'disabled');
        $("#imgDepartCal").attr('disabled', 'disabled');
        $("#imgReturnCal").attr('disabled', 'disabled');
        $("#imgDepartCal").css('cursor', 'default');
        $("#imgReturnCal").css('cursor', 'default');
        $("#imgSearch").attr('disabled', 'disabled');
        $("a").attr('disabled', 'disabled');
    }

    var roundtrip;
    if ($('#chkRetTrip').is(':checked')) { roundtrip = "RoundTrip"; }
    else { roundtrip = "off"; }

    $("#spnOutPrev").attr('disabled', 'disabled');
    $("#spnOutNext").attr('disabled', 'disabled');
    $("#spnInPrev").attr('disabled', 'disabled');
    $("#spnInNext").attr('disabled', 'disabled');
    $("#spnOutPrev").css('cursor', 'default');
    $("#spnOutNext").css('cursor', 'default');
    $("#spnInPrev").css('cursor', 'default');
    $("#spnInNext").css('cursor', 'default');
    $("#imgNext").attr('disabled', 'disabled');

    selOutRow = "-1";
    selInRow = "-1";

    $("#hidDepDay").val(c);
    $("#hidDepMY").val(d); //MM-YYYY
    $("#hidRetDay").val(f);
    $("#hidRetMY").val(g);

    $("#divLoading").show();
    $.ajax(
            {
                type: "POST",
                url: "FlightScheds.aspx/GetFlightSchedules",
                datatype: "json",
                data: "{'roundtrip': '" + roundtrip +
                        "', 'origin': '" + a +
                        "', 'destination': '" + b +
                        "', 'depDay': '" + c +
                        "', 'depMY': '" + d +
                        "', 'retDay': '" + f +
                        "', 'retMY': '" + g +
                        "', 'adults': '" + h +
                        "', 'children': '" + i +
                        "', 'infants': '" + j +
                        "', 'evoucher': '" + k +
                        "'}",
                contentType: "application/json; charset=utf-8",
                success: function (json) {
                    xat1 = 0;
                    xat2 = 0;
                    $("#divFlightScheds1").show();

                    if (roundtrip == "RoundTrip") {
                        $("#divFlightScheds1").css("width", "49%");
                        $("#divFlightScheds2").css("width", "49%");
                    }
                    else { $("#divFlightScheds1").css("width", "98%"); }

                    var sw_fail = true;
                    var bkfail = JSON.stringify(json);
                    if (bkfail.indexOf("Booking") != -1) {
                        $("#divFlightTable1").html(bkfail.substring(6, bkfail.length - 2));
                        $("#divFlightScheds1").css("width", "98%");
                        $("#divFlightScheds2").hide();
                        $("#spnTotal").text("0")

                        $("#spnOutPrevPrc").text("");
                        $("#spnOutNextPrc").text("");
                        $("#spnInPrevPrc").text("");
                        $("#spnInNextPrc").text("");
                        sw_fail = false;
                    }
                    else {
                        var output = $("#FlightTable_1").parseTemplate(json);
                        $("#divFlightTable1").html(output);

//                        if (selOutRow != "") {
//                            //$("#divOutRow_" + selOutRow).css("background-color", "#000020");
//                            //$("#divOutRow_" + selOutRow).css("color", "White");
//                            alert(selOutRow);
//                        }

                        if (roundtrip == "RoundTrip") {
                            $("#divFlightScheds2").show();
                            output = $("#FlightTable_2").parseTemplate(json);
                            $("#divFlightTable2").html(output);

//                            if (selInRow != "") {
//                                //$("#divInRow_" + selInRow).css("background-color", "#000020");
//                                //$("#divInRow_" + selInRow).css("color", "White");

//                                alert(selInRow);
//                            }
                        }
                        else { $("#divFlightScheds2").hide(); }

                        ComputeFare();
                    }

                    SetTableHeaders();

                    $("select").removeAttr("disabled");
                    $("#chkRetTrip").removeAttr("disabled");
                    $("#imgDepartCal").removeAttr("disabled");
                    $("#imgReturnCal").removeAttr("disabled");
                    $("#imgDepartCal").css('cursor', 'pointer');
                    $("#imgReturnCal").css('cursor', 'pointer');
                    $("#imgSearch").removeAttr("disabled");
                    $("a").removeAttr("disabled");

                    $("#spnInNext").removeAttr("disabled");
                    $("#spnOutPrev").css('cursor', 'pointer');
                    $("#spnOutNext").css('cursor', 'pointer');
                    $("#spnInPrev").css('cursor', 'pointer');
                    $("#spnInNext").css('cursor', 'pointer');
                    $("#imgNext").removeAttr("disabled");

                    CheckboxClick();

                    if (sw_fail) { SetPrevNext(); }
                    else {
                        $("#spnOutPrev").attr('disabled', 'disabled');
                        $("#spnOutNext").attr('disabled', 'disabled');
                        $("#spnOutPrev").css('cursor', 'default');
                        $("#spnOutNext").css('cursor', 'default');
                    }

                    $("#divLoading").hide();
                },
                error: AjaxFailed
            })
        }

//***********************************************************************************************
// enable/disable the return date and calendar depending on the roundtrip
//***********************************************************************************************
function CheckboxClick() {
    if (document.getElementById('chkRetTrip').checked) {
        $("#ddlReturnDay").removeAttr("disabled");
        $("#ddlReturnMY").removeAttr("disabled");
        $("#imgReturnCal").removeAttr("disabled");
        $("#imgReturnCal").css('cursor', 'pointer');
    }
    else {
        $("#ddlReturnDay").attr("disabled", "disabled");
        $("#ddlReturnMY").attr("disabled", "disabled");
        $("#imgReturnCal").attr("disabled", "disabled");
        $("#imgReturnCal").css('cursor', 'default');
    }
}
//***********************************************************************************************
// set the headers on the flight table
//***********************************************************************************************
function SetTableHeaders() {
    var origin = $("#ddlOrigin option:selected").text();
    var splitO = origin.split("(");
    var dest = $("#ddlDestination option:selected").text();
    var splitD = dest.split("(");
    $("#spnOutOrigin").text(splitO[0]);
    $("#spnOutDest").text(splitD[0]);

    // set the outbound date header -------------------------
    var MY = $("#ddlDepartMY").val();
    var splitMY = MY.split("-");
    var mm = splitMY[0] - 1;
    var DT = new Date(splitMY[1], mm, $("#ddlDepartDay").val() * 1);
    var dDays = new Array("日", "月", "火", "水", "木", "金", "土");
    if (splitMY[0] * 1 < 10) { splitMY[0] = "0" + splitMY[0]; }
    $("#spnOutDT").text(splitMY[0] + "月" + $("#ddlDepartDay").val() + "日 (" + dDays[DT.getDay()] + ")");
    // end set the outbound date header -------------------------

    if ($('#chkRetTrip').is(':checked')) {
        $("#spnInOrigin").text(splitD[0]);
        $("#spnInDest").text(splitO[0]);
        // set the inbound date header -------------------------
        MY = $("#ddlReturnMY").val();
        splitMY = MY.split("-");
        mm = splitMY[0] - 1;
        DT = new Date(splitMY[1], mm, $("#ddlReturnDay").val() * 1);
        if (splitMY[0] * 1 < 10) { splitMY[0] = "0" + splitMY[0]; }
        $("#spnInDT").text(splitMY[0] + "月" + $("#ddlReturnDay").val() + "日 (" + dDays[DT.getDay()] + ")");
        // set the inbound date header -------------------------
    }
}
//***********************************************************************************************
// pass tax to ComputeFare
//***********************************************************************************************
function PassXat(tblno, selprc, index, pricing) {
    if (tblno * 1 == 1) {
        xat1 = selprc;
	pricing1 = pricing;

        if (selOutRow * 1 >= 0) {
            document.getElementById("divOutRow_" + selOutRow).style.backgroundColor = "White";
            document.getElementById("divOutRow_" + selOutRow).style.color = "#2E2E2E";
            selOutRow = index;
            document.getElementById("divOutRow_" + index).style.backgroundColor = "#EBEBEB";
            document.getElementById("divOutRow_" + index).style.color = "#2E2E2E";
        }
    }
    else if (tblno * 1 == 2) {
        xat2 = selprc;
	pricing2 = pricing;

        if (selInRow * 1 >= 0) {
            $("#divInRow_" + selInRow).css("background-color", "White");
            $("#divInRow_" + selInRow).css("color", "#2E2E2E");
            selInRow = index;
            $("#divInRow_" + index).css("background-color", "#EBEBEB");
            $("#divInRow_" + index).css("color", "#2E2E2E");
        }
    }

    ComputeFare();
}
//***********************************************************************************************
// compute fare based on the selected flight
//***********************************************************************************************
function ComputeFare() {
    $("#divFare").show();
    $("#divTaxes").show();
    $("#divTotal").show();

    var rb = document.getElementsByName("radio1");
    var i;
    var sw = false;
    var outPrc = "0";
    
    for (var i = 0; i < rb.length; i++) {
        if (rb[i].checked) { sw = true; break; }
    }

    if (sw) { outPrc = $("#spnOutPrc_" + i).text(); }

    var inPrc = "0";

    if ($('#chkRetTrip').is(':checked')) {
        rb = document.getElementsByName("radio2");
        sw = false;

        for (var i = 0; i < rb.length; i++) {
            if (rb[i].checked) { sw = true; break; }
        }

        if (sw) { inPrc = $("#spnInPrc_" + i).text(); }
    }

    //var total = (outPrc.replace(",", "") * 1) + (inPrc.replace(",", "") * 1);
    var faretotal = (outPrc.replace(",", "") * 1) + (inPrc.replace(",", "") * 1);
    var totalXat = (xat1 * 1) + (xat2 * 1)
    var total = (faretotal * 1) + (totalXat * 1)
    //$("#spnTotal").text(AddComma(total.toString()))
    $("#spnFare").text(AddComma(faretotal.toString()))
    $("#spnTaxes").text(AddComma(totalXat.toString()))
    $("#spnTotal").text(AddComma(total.toString()))
}
//***********************************************************************************************
// enable/disable the prev and next
//***********************************************************************************************
function SetPrevNext() {
    var MY = $("#ddlDepartMY").val();
    var splitMY = MY.split("-");
    var mm = splitMY[0] - 1;
    var DT1 = new Date(splitMY[1], mm, $("#ddlDepartDay").val() * 1);

    MY = $("#ddlReturnMY").val();
    splitMY = MY.split("-");
    mm = splitMY[0] - 1;
    var DT2 = new Date(splitMY[1], mm, $("#ddlReturnDay").val() * 1);

    var today = new Date();
    today.setHours(0, 0, 0, 0);

    var t1 = today.getTime();
    var t2 = DT1.getTime();

    if (parseInt((t2 - t1) / (24 * 3600 * 1000)) <= 2) {
        $("#spnOutPrev").attr("disabled", "disabled");
        $("#spnOutPrev").css("cursor", "default");
    }
    else {
        $("#spnOutPrev").removeAttr("disabled");
        $("#spnOutPrev").css("cursor", "pointer");
    }

    t1 = DT2.getTime();

    if (t1 == t2) {
        $("#spnOutNext").attr("disabled", "disabled");
        $("#spnOutNext").css("cursor", "default");

        if ($('#chkRetTrip').is(':checked')) {
            $("#spnInPrev").attr("disabled", "disabled");
            $("#spnInPrev").css("cursor", "default");
        }
    }
    else {
        $("#spnOutNext").removeAttr("disabled");
        $("#spnOutNext").css("cursor", "pointer");

        if ($('#chkRetTrip').is(':checked')) {
            $("#spnInPrev").removeAttr("disabled");
            $("#spnInPrev").css("cursor", "pointer");
        }
    }
}
//***********************************************************************************************
// returns the number of days in a month
//***********************************************************************************************
function DaysInMonth(month, year) {
    return new Date(year, month, 0).getDate();
}
//***********************************************************************************************
// outbound prev click
//***********************************************************************************************
function DoOutPrev() {
    $("#ddlDepartDay").val($("#hidDepDay").val());
    $("#ddlDepartMY").val($("#hidDepMY").val());
    $("#ddlReturnDay").val($("#hidRetDay").val());
    $("#ddlReturnMY").val($("#hidRetMY").val());

    var todays = new Date();
    todays.setDate(todays.getDate() + 2);

    if ($("#ddlDepartDay").val() * 1 == 1) {
        var idxMY = $("#ddlDepartMY").get(0).selectedIndex;
        $("#ddlDepartMY")[0].selectedIndex = idxMY - 1;

        var valMY = $("#ddlReturnMY").val();
        var htmlMY = $("#ddlReturnMY").html();
        var addOpt = "<option value='" + $("#ddlDepartMY").val() + "'>" + $("#ddlDepartMY option:selected").text() + "</option>";
        $("#ddlReturnMY").html(addOpt + htmlMY);
        $("#ddlReturnMY").val(valMY);

        var valMYDep = $("#ddlDepartMY").val().split("-");
        var endDay = DaysInMonth(valMYDep[0], valMYDep[1]);

        var startDay = 1;
        if ((todays.getMonth() == valMYDep[0] - 1) && (todays.getFullYear() == valMYDep[1] * 1)) {
            startDay = todays.getDate();
        }

        var addOpt = "";
        for (i = startDay; i <= endDay; i++) {
            if (i < 10) { addOpt = addOpt + "<option value='0" + i + "'>0" + i + "</option>"; }
            else { addOpt = addOpt + "<option value='" + i + "'>" + i + "</option>"; }
        }

        $("#ddlDepartDay").html(addOpt);
        $("#ddlDepartDay").val(endDay);
    }
    else {
        var idxDay = $("#ddlDepartDay").get(0).selectedIndex;
        $("#ddlDepartDay")[0].selectedIndex = idxDay - 1;

        var valMY = $("#ddlReturnMY").val().split("-");
        if ((todays.getMonth() == valMY[0] - 1) && (todays.getFullYear() == valMY[1] * 1)) {
            var valDay = $("#ddlReturnDay").val();
            var htmlMY = $("#ddlReturnDay").html();
            var addOpt = "<option value='" + $("#ddlDepartDay").val() + "'>" + $("#ddlDepartDay option:selected").text() + "</option>";
            $("#ddlReturnDay").html(addOpt + htmlMY);
            $("#ddlReturnDay").val(valDay);
        }
    }

    FixDepartReturn();
    GetFlightSchedules();
}
//***********************************************************************************************
// outbound next click
//***********************************************************************************************
function DoOutNext() {
    $("#ddlDepartDay").val($("#hidDepDay").val());
    $("#ddlDepartMY").val($("#hidDepMY").val());
    $("#ddlReturnDay").val($("#hidRetDay").val());
    $("#ddlReturnMY").val($("#hidRetMY").val());

    var valMY = $("#ddlDepartMY").val().split("-");
    var endDay = DaysInMonth(valMY[0], valMY[1]);

    if ($("#ddlDepartDay").val() * 1 == endDay * 1) {
        var idxDay = $("#ddlDepartMY").get(0).selectedIndex;
        $("#ddlDepartMY")[0].selectedIndex = idxDay * 1 + 1;

        var valRetMY = $("#ddlReturnMY").val();
        var retMY = document.getElementById('ddlReturnMY');
        retMY.remove(0);
        $("#ddlReturnMY").val(valRetMY);

        valMY = $("#ddlDepartMY").val().split("-");
        endDay = DaysInMonth(valMY[0], valMY[1]);

        var addOpt = "";
        for (i = 1; i <= endDay; i++) {
            if (i < 10) { addOpt = addOpt + "<option value='0" + i + "'>0" + i + "</option>"; }
            else { addOpt = addOpt + "<option value='" + i + "'>" + i + "</option>"; }
        }

        $("#ddlDepartDay").html(addOpt);
        $("#ddlDepartDay")[0].selectedIndex = 0;
    }
    else {
        var idxDay = $("#ddlDepartDay").get(0).selectedIndex;
        $("#ddlDepartDay")[0].selectedIndex = idxDay * 1 + 1;

        var valRetMY = $("#ddlReturnMY").val().split("-");
        var valDepMY = $("#ddlReturnMY").val().split("-");

        if ((valDepMY[0] * 1 == valRetMY[0] * 1) && (valDepMY[1] * 1 == valRetMY[1] * 1)) {
            var valDay = $("#ddlReturnDay").val();
            var retDay = document.getElementById('ddlReturnDay');
            retDay.remove(0);
            $("#ddlReturnDay").val(valDay);
        }
    }

    FixDepartReturn();
    GetFlightSchedules();
}
//***********************************************************************************************
// inbound prev click
//***********************************************************************************************
function DoInPrev() {
    $("#ddlDepartDay").val($("#hidDepDay").val());
    $("#ddlDepartMY").val($("#hidDepMY").val());
    $("#ddlReturnDay").val($("#hidRetDay").val());
    $("#ddlReturnMY").val($("#hidRetMY").val());

    var todays = new Date();
    todays.setDate(todays.getDate() + 2);

    if ($("#ddlReturnDay").val() * 1 == 1) {
        var idxMY = $("#ddlReturnMY").get(0).selectedIndex;
        $("#ddlReturnMY")[0].selectedIndex = idxMY - 1;

        var valDepMY = $("#ddlDepartMY").val().split("-");
        var valRetMY = $("#ddlReturnMY").val().split("-");
        var endDay = DaysInMonth(valRetMY[0], valRetMY[1]);

        var startDay = 1;
        if ((valDepMY[0] * 1 == valRetMY[0] * 1) && (valDepMY[1] * 1 == valRetMY[1] * 1)) {
            startDay = $("#ddlDepartDay").val() * 1
        }

        var addOpt = "";
        for (i = startDay; i <= endDay; i++) {
            if (i < 10) { addOpt = addOpt + "<option value='0" + i + "'>0" + i + "</option>"; }
            else { addOpt = addOpt + "<option value='" + i + "'>" + i + "</option>"; }
        }

        $("#ddlReturnDay").html(addOpt);
        $("#ddlReturnDay").val(endDay);
    }
    else {
        var idxDay = $("#ddlReturnDay").get(0).selectedIndex;
        $("#ddlReturnDay")[0].selectedIndex = idxDay - 1;

        var valDepMY = $("#ddlDepartMY").val().split("-");
        var valRetMY = $("#ddlReturnMY").val().split("-");
        if ((valDepMY[0] * 1 == valRetMY[0] * 1) && (valDepMY[1] * 1 == valRetMY[1] * 1)) {
            var valDay = $("#ddlReturnDay").val();
            var htmlMY = $("#ddlReturnDay").html();
            var addOpt = "<option value='" + $("#ddlDepartDay").val() + "'>" + $("#ddlDepartDay option:selected").text() + "</option>";
            $("#ddlReturnDay").html(addOpt + htmlMY);
            $("#ddlReturnDay").val(valDay);
        }
    }

    FixDepartReturn();
    GetFlightSchedules();
}
//***********************************************************************************************
// inbound next click
//***********************************************************************************************
function DoInNext() {
    $("#ddlDepartDay").val($("#hidDepDay").val());
    $("#ddlDepartMY").val($("#hidDepMY").val());
    $("#ddlReturnDay").val($("#hidRetDay").val());
    $("#ddlReturnMY").val($("#hidRetMY").val());

    var valMY = $("#ddlReturnMY").val().split("-");
    var endDay = DaysInMonth(valMY[0], valMY[1]);

    if (($("#ddlReturnMY").get(0).selectedIndex * 1 == 11) && ($("#ddlReturnDay").val() * 1 == endDay * 1))
    { return; }

    if ($("#ddlReturnDay").val() * 1 == endDay * 1) {
        var idxDay = $("#ddlReturnMY").get(0).selectedIndex;
        $("#ddlReturnMY")[0].selectedIndex = idxDay * 1 + 1;

        valMY = $("#ddlReturnMY").val().split("-");
        endDay = DaysInMonth(valMY[0], valMY[1]);

        var addOpt = "";
        for (i = 1; i <= endDay; i++) {
            if (i < 10) { addOpt = addOpt + "<option value='0" + i + "'>0" + i + "</option>"; }
            else { addOpt = addOpt + "<option value='" + i + "'>" + i + "</option>"; }
        }

        $("#ddlReturnDay").html(addOpt);
        $("#ddlReturnDay")[0].selectedIndex = 0;
    }
    else {
        var idxDay = $("#ddlReturnDay").get(0).selectedIndex;
        $("#ddlReturnDay")[0].selectedIndex = idxDay * 1 + 1;
    }

    FixDepartReturn();
    GetFlightSchedules();
}
//***********************************************************************************************
// send to sessions the selected flight details
//***********************************************************************************************
function DoSessions() {
    var rb = document.getElementsByName("radio1");
    var sw = false;
    var outFNO;
    var outDepTime;
    var outArrTime;
    var outPrice;
    var inFNO;
    var inDepTime;
    var inArrTime;
    var inPrice;
    var prc1 = "";
    var prc2 = "";

    for (i = 0; i < rb.length; i++) {
        if (rb[i].checked) {
            sw = true;
            outFNO = $("#spnOutFNO_" + i).text();
            outDepTime = $("#spnOutDepTime_" + i).text();
            outArrTime = $("#spnOutArrTime_" + i).text();
            outPrice = $("#spnOutPrc_" + i).text();
	        prc1 = pricing1;
            break; 
        }
    }

    if (sw == false) {
        alert("No Outbound Flight selected . . .");
        return;
    }

    if ($('#chkRetTrip').is(':checked')) {
        rb = document.getElementsByName("radio2");
        sw = false;

        for (i = 0; i < rb.length; i++) {
            if (rb[i].checked) {
                sw = true;
                inFNO = $("#spnInFNO_" + i).text();
                inDepTime = $("#spnInDepTime_" + i).text();
                inArrTime = $("#spnInArrTime_" + i).text();
                inPrice = $("#spnInPrc_" + i).text();
		        prc2 = pricing2;
                break; 
            }
        }

        if (sw == false) {
            alert("No Inbound Flight selected . . .");
            return;
        }
    }

//    var c = $("#ddlDepartDay").val();
//    var d = $("#ddlDepartMY").val(); //MM-YYYY
//    var f = $("#ddlReturnDay").val();
//    var g = $("#ddlReturnMY").val();

    var c = $("#hidDepDay").val();
    var d = $("#hidDepMY").val(); //MM-YYYY
    var f = $("#hidRetDay").val();
    var g = $("#hidRetMY").val();

    if ((c == f) && (d == g)) {
        var t1 = outArrTime.split(":")
        var t2 = inDepTime.split(":")

        var t3 = (t1[0] * 60) + (t1[1] * 1)
        var t4 = (t2[0] * 60) + (t2[1] * 1)

        if ((t4 <= t3) || (t4 - t3 < 90)) {
            alert("Booking failure: Your return flight must leave at the least 1hr 30mins after arrival . . .");
            return;
        }
    }

    var total = $("#spnTotal").text();

    $("select").attr('disabled', 'disabled');
    $("#chkRetTrip").attr('disabled', 'disabled');
    $("#imgDepartCal").attr('disabled', 'disabled');
    $("#imgReturnCal").attr('disabled', 'disabled');
    $("#imgDepartCal").css('cursor', 'default');
    $("#imgReturnCal").css('cursor', 'default');
    $("#imgSearch").attr('disabled', 'disabled');
    $("a").attr('disabled', 'disabled');
    $("#spnOutPrev").attr('disabled', 'disabled');
    $("#spnOutNext").attr('disabled', 'disabled');
    $("#spnInPrev").attr('disabled', 'disabled');
    $("#spnInNext").attr('disabled', 'disabled');
    $("#spnOutPrev").css('cursor', 'default');
    $("#spnOutNext").css('cursor', 'default');
    $("#spnInPrev").css('cursor', 'default');
    $("#spnInNext").css('cursor', 'default');
    $("#imgNext").attr('disabled', 'disabled');
    
    $.ajax(
            {
                type: "POST",
                url: "FlightScheds.aspx/SelectedFlight",
                datatype: "json",
                data: "{'origin': '" + $("#ddlOrigin option:selected").text() +
                        "', 'destination': '" + $("#ddlDestination option:selected").text() +
                        "', 'outFNO': '" + outFNO +
                        "', 'outDepTime': '" + outDepTime +
                        "', 'outArrTime': '" + outArrTime +
                        "', 'outPrice': '" + outPrice +
                        "', 'inFNO': '" + inFNO +
                        "', 'inDepTime': '" + inDepTime +
                        "', 'inArrTime': '" + inArrTime +
                        "', 'inPrice': '" + inPrice +
                        "', 'total': '" + total +
			            "', 'prc1': '" + prc1 +
                        "', 'prc2': '" + prc2 +
                        "'}",
                contentType: "application/json; charset=utf-8",
                success: function (json) {
                    $("#btnBookOptions").click();
                },
                error: AjaxFailed
                })
        }
//***********************************************************************************************
// Check if flight options (LEFT COLUMN) are in order.
//***********************************************************************************************
function CheckFlightOptions(h,i,j) {
    //h=adults;i=children;j=infants
    

    if ($("#ddlDestination option").length == 0)
    {return false; }

    if ((h * 1) + (i * 1) + (j * 1) > 9) {
        alert("Booking for more than 9 passengers is not allowed . . .")
        return false;
    }

    if (h * 1 < j * 1) {
        alert("Every infant must be accompanied by 1 adult.\nOne adult per one infant . . .")
        return false;
    }

    $("select").attr('disabled', 'disabled');
    $("#chkRetTrip").attr('disabled', 'disabled');
    $("#imgDepartCal").attr('disabled', 'disabled');
    $("#imgReturnCal").attr('disabled', 'disabled');
    $("#imgDepartCal").css('cursor', 'default');
    $("#imgReturnCal").css('cursor', 'default');
    $("#imgSearch").attr('disabled', 'disabled');
    //$("#imgSearch").css('cursor', 'default');
    $("a").attr('disabled', 'disabled');

    return true;
}
