﻿$(document).ready(function () {
    var m_names = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");

    var currentYMD = new Date();
    for (var i = 1; i <= 12; i++) {
        var yyyy = currentYMD.getFullYear();
        var mm = currentYMD.getMonth();
        var m_name = m_names[mm];
        var optionTag = "<option value='" + (mm + 1) + "/" + yyyy + "'>" + m_name + " '" + yyyy.toString().substring(2) + "</option>";
        $("SELECT#inputDepartMonthYear,SELECT#inputReturningMonthYear,SELECT#inputDepartMonthYearSchedules,SELECT#inputReturningMonthYearSchedules,div.multi-destination SELECT.schedules-month").append(optionTag); //
        if (mm == 11) {
            currentYMD.setFullYear(yyyy + 1, 0, 1);
        } else {
            currentYMD.setMonth(mm + 1, 1);
        }
    }

    $("SELECT#inputDepartMonthYear option:first").remove();
    $("SELECT#inputReturningMonthYear option:first").remove();
    $("SELECT#inputDepartMonthYearSchedules option:first").remove();
    $("SELECT#inputReturningMonthYearSchedules option:first").remove();
    $("div.multi-destination SELECT.schedules-month option:first").remove();


    $("#inputDepartDay,#inputDepartDaySchedules").change(function () {
        var 
        index = $(this).find("option").index($(this).find("option:selected")),
        returnDay = $(this).parent().next().find("select:first"),
        returnMonthYear = $(this).parent().next().find("select:eq(1)"),
        departMonthYear = $(this).parent().find("select:eq(1)"),
        currentMonthYear = departMonthYear.find("option").index(departMonthYear.find("option:selected"));

        if (index < $(this).find("option").size() - 1) {
            returnMonthYear.find("option").eq(currentMonthYear).attr("selected", "selected");
        } else {
            returnMonthYear.find("option").eq(currentMonthYear + 1).attr("selected", "selected");
            index = -1;
        }
        rewriteMonthYear(returnMonthYear);
        returnDay.find("option").eq(index + 1).attr("selected", "selected");
    });

    $("#inputDepartMonthYear,#inputDepartMonthYearSchedules").change(function () {
        var 
        returnMonthYear = $(this).parent().next().find("select:eq(1)"),
        currentMonthYear = $(this).find("option").index($(this).find("option:selected"));

        returnMonthYear.find("option").eq(currentMonthYear).attr("selected", "selected");

        rewriteMonthYear($(this));
        rewriteMonthYear(returnMonthYear);
    });

    $("div.multi-destination SELECT.schedules-day,div.multi-destination SELECT.schedules-month").change(function () {
        var 
        returnMonthYear = $(this).parent().next().find("select:eq(1)"),
        currentMonthYear = $(this).find("option").index($(this).find("option:selected"));

        returnMonthYear.find("option").eq(currentMonthYear).attr("selected", "selected");

        rewriteMonthYear($(this));
        rewriteMonthYear(returnMonthYear);
    });

    function rewriteMonthYear(obj) {
        if (obj.size() > 0) {
            var 
            dayList = obj.prev(),
            month = obj.val().substring(0, obj.val().indexOf("/")),
            year = obj.val().substring(obj.val().indexOf("/") + 1),
            currentDay = dayList.find("option").index(dayList.find("option:selected"));

            max = month == "1" | month == "3" | month == "5" | month == "7" | month == "8" | month == "10" | month == "12" ? 29 : 28;

            if (month != "2") {
                max += 2;
            } else {
                if (!year % 4)
                    max += 1;
            }

            dayList.html("");
            for (var i = 1; i <= max; i++) {
                dayList.append("<option>" + (i < 10 ? "0" + i : i) + "</option>");
            }
            dayList.find("option").eq(currentDay).attr("selected", "selected");
        }
    }

    rewriteMonthYear($("SELECT#inputDepartMonthYear"));
    rewriteMonthYear($("SELECT#inputDepartMonthYearSchedules"));
    rewriteMonthYear($("SELECT#inputReturningMonthYear"));
    rewriteMonthYear($("SELECT#inputReturningMonthYearSchedules"));

    SetDefaultDate();
    SetMultiBookingDefaultDate();

    $('div.booknow SELECT#inputFrom').change(function () {
        //ProcessFromChange("div.booknow SELECT#inputTo", this);
        MultiProcessFromChange("div.booknow SELECT#inputTo", "div.booknow INPUT#inputToHidden", this);
    });

    $('div.booknow SELECT#inputTo').change(function () {
        jQuery("#inputToHidden").val(jQuery("#inputTo").val());
    });

    $('div.booknow SELECT#inputFrom').trigger("change");

    $('div.schedules-row SELECT#inputFromSchedules').change(function () {
        ProcessFromChange("div.schedules-row SELECT#inputToSchedules", this);
    })
    /* begin separate the each booking */
    $('div.schedules-row SELECT#inputFromSchedules1').change(function () {
        MultiProcessFromChange("div.schedules-row SELECT#inputToSchedules1", "#inputToSchedulesHidden1", this);
    })
    $('div.schedules-row SELECT#inputFromSchedules2').change(function () {
        MultiProcessFromChange("div.schedules-row SELECT#inputToSchedules2", "#inputToSchedulesHidden2", this);
    })
    $('div.schedules-row SELECT#inputFromSchedules3').change(function () {
        MultiProcessFromChange("div.schedules-row SELECT#inputToSchedules3", "#inputToSchedulesHidden3", this);
    })
    $('div.schedules-row SELECT#inputFromSchedules4').change(function () {
        MultiProcessFromChange("div.schedules-row SELECT#inputToSchedules4", "#inputToSchedulesHidden4", this);
    })
    $('div.schedules-row SELECT#inputFromSchedules5').change(function () {
        MultiProcessFromChange("div.schedules-row SELECT#inputToSchedules5", "#inputToSchedulesHidden5", this);
    })
    $('div.schedules-row SELECT#inputFromSchedules6').change(function () {
        MultiProcessFromChange("div.schedules-row SELECT#inputToSchedules6", "#inputToSchedulesHidden6", this);
    })
    /* end separate the each booking */
    $('div.schedules-row SELECT#inputFromSchedules1').trigger("change");
    $('div.schedules-row SELECT#inputFromSchedules2').trigger("change");
    $('div.schedules-row SELECT#inputFromSchedules3').trigger("change");
    $('div.schedules-row SELECT#inputFromSchedules4').trigger("change");
    $('div.schedules-row SELECT#inputFromSchedules5').trigger("change");
    $('div.schedules-row SELECT#inputFromSchedules6').trigger("change");

    if ($("div.schedules-row INPUT#inputDepartDaySchedules1Hidden").val() != "") {
        $("div.schedules-row SELECT#inputDepartDaySchedules1").val($("div.schedules-row INPUT#inputDepartDaySchedules1Hidden").val());
        $("div.schedules-row INPUT#inputDepartDaySchedules1Hidden").val("");
    }
    if ($("div.schedules-row INPUT#inputDepartDaySchedules2Hidden").val() != "") {
        $("div.schedules-row SELECT#inputDepartDaySchedules2").val($("div.schedules-row INPUT#inputDepartDaySchedules2Hidden").val());
        $("div.schedules-row INPUT#inputDepartDaySchedules2Hidden").val("");
    }
    if ($("div.schedules-row INPUT#inputDepartDaySchedules3Hidden").val() != "") {
        $("div.schedules-row SELECT#inputDepartDaySchedules3").val($("div.schedules-row INPUT#inputDepartDaySchedules3Hidden").val());
        $("div.schedules-row INPUT#inputDepartDaySchedules3Hidden").val("");
    }
    if ($("div.schedules-row INPUT#inputDepartDaySchedules4Hidden").val() != "") {
        $("div.schedules-row SELECT#inputDepartDaySchedules4").val($("div.schedules-row INPUT#inputDepartDaySchedules4Hidden").val());
        $("div.schedules-row INPUT#inputDepartDaySchedules4Hidden").val("");
    }
    if ($("div.schedules-row INPUT#inputDepartDaySchedules5Hidden").val() != "") {
        $("div.schedules-row SELECT#inputDepartDaySchedules5").val($("div.schedules-row INPUT#inputDepartDaySchedules5Hidden").val());
        $("div.schedules-row INPUT#inputDepartDaySchedules5Hidden").val("");
    }
    if ($("div.schedules-row INPUT#inputDepartDaySchedules6Hidden").val() != "") {
        $("div.schedules-row SELECT#inputDepartDaySchedules6").val($("div.schedules-row INPUT#inputDepartDaySchedules6Hidden").val());
        $("div.schedules-row INPUT#inputDepartDaySchedules6Hidden").val("");
    }

    if ($("div.schedules-row INPUT#inputDepartMonthYearSchedules1Hidden").val() != "") {
        $("div.schedules-row SELECT#inputDepartMonthYearSchedules1").val($("div.schedules-row INPUT#inputDepartMonthYearSchedules1Hidden").val());
        $("div.schedules-row INPUT#inputDepartMonthYearSchedules1Hidden").val("");
    }
    if ($("div.schedules-row INPUT#inputDepartMonthYearSchedules2Hidden").val() != "") {
        $("div.schedules-row SELECT#inputDepartMonthYearSchedules2").val($("div.schedules-row INPUT#inputDepartMonthYearSchedules2Hidden").val());
        $("div.schedules-row INPUT#inputDepartMonthYearSchedules2Hidden").val("");
    }
    if ($("div.schedules-row INPUT#inputDepartMonthYearSchedules3Hidden").val() != "") {
        $("div.schedules-row SELECT#inputDepartMonthYearSchedules3").val($("div.schedules-row INPUT#inputDepartMonthYearSchedules3Hidden").val());
        $("div.schedules-row INPUT#inputDepartMonthYearSchedules3Hidden").val("");
    }
    if ($("div.schedules-row INPUT#inputDepartMonthYearSchedules4Hidden").val() != "") {
        $("div.schedules-row SELECT#inputDepartMonthYearSchedules4").val($("div.schedules-row INPUT#inputDepartMonthYearSchedules4Hidden").val());
        $("div.schedules-row INPUT#inputDepartMonthYearSchedules4Hidden").val("");
    }
    if ($("div.schedules-row INPUT#inputDepartMonthYearSchedules5Hidden").val() != "") {
        $("div.schedules-row SELECT#inputDepartMonthYearSchedules5").val($("div.schedules-row INPUT#inputDepartMonthYearSchedules5Hidden").val());
        $("div.schedules-row INPUT#inputDepartMonthYearSchedules5Hidden").val("");
    }
    if ($("div.schedules-row INPUT#inputDepartMonthYearSchedules6Hidden").val() != "") {
        $("div.schedules-row SELECT#inputDepartMonthYearSchedules6").val($("div.schedules-row INPUT#inputDepartMonthYearSchedules6Hidden").val());
        $("div.schedules-row INPUT#inputDepartMonthYearSchedules6Hidden").val("");
    }

    $("div.schedules-row #buttonBooknowSchedules").bind("click", function () {
        if ($('div.schedules-row SELECT#inputFromSchedules').val().length == 0) {
            alert("Please input the Origin city");
            $('div.schedules-row SELECT#inputFromSchedules').focus();
            return false;
        }

        if ($('div.schedules-row SELECT#inputToSchedules').val().length == 0) {
            alert("Please input the Destination city");
            $('div.schedules-row SELECT#inputToSchedules').focus();
            return false;
        }
        var departDate = new Date($("div.schedules-row SELECT#inputDepartMonthYearSchedules").val().split("/")[1], $("div.schedules-row SELECT#inputDepartMonthYearSchedules").val().split("/")[0] - 1, $("div.schedules-row SELECT#inputDepartDaySchedules").val());

        var nowDate = new Date();
        var checkEndDate = new Date(nowDate.getTime());
        checkEndDate.setDate(nowDate.getDate())

        //        if (departDate < checkEndDate) {
        //            alert("You may only book flights online departing at least 48 hours from now.\n\n " +
        //            "For the latest last minute fares please call Air Vanuatu Reservations:\n\n Port Vila - 23878" +
        //            "\nSanto - 37670\nAustralia - 1300 780 737\nNew Zealand - 373 3435\nNoumea - 28 66 77\nNadi - 672 3822\nSuva - 331 5055\n\nAlternatively you can email Air Vanuatu reservations reservation@airvanuatu.com.vu\n\nNB. Air Vanuatu do not charge for phone bookings.");
        //            return false;
        //        }

        if ($("div.schedules-row-radio input#hiddenFlightTypeSchedule").val() == 'R') {
            var returnDate = new Date($("div.schedules-row SELECT#inputReturningMonthYearSchedules").val().split("/")[1], $("div.schedules-row SELECT#inputReturningMonthYearSchedules").val().split("/")[0] - 1, $("div.schedules-row SELECT#inputReturningDaySchedules").val());

            if (departDate >= returnDate) {

                alert("The return date for a round trip must be after the departure date.")
                return false;
            }

        }

    });

    $("div.multi-destination #buttonMultiBooknowSchedules").bind("click", function () {
        var atLeastOneFrom = false;
        var directReturnFalse = false;

        jQuery("#hdFights").val("");
        jQuery("#inputToSchedulesHidden1").val(jQuery("#inputToSchedules1").val());
        jQuery("#inputToSchedulesHidden2").val(jQuery("#inputToSchedules2").val());
        jQuery("#inputToSchedulesHidden3").val(jQuery("#inputToSchedules3").val());
        jQuery("#inputToSchedulesHidden4").val(jQuery("#inputToSchedules4").val());
        jQuery("#inputToSchedulesHidden5").val(jQuery("#inputToSchedules5").val());
        jQuery("#inputToSchedulesHidden6").val(jQuery("#inputToSchedules6").val());
        jQuery("#inputDepartDaySchedules1Hidden").val(jQuery("#inputDepartDaySchedules1").val());
        jQuery("#inputDepartDaySchedules2Hidden").val(jQuery("#inputDepartDaySchedules2").val());
        jQuery("#inputDepartDaySchedules3Hidden").val(jQuery("#inputDepartDaySchedules3").val());
        jQuery("#inputDepartDaySchedules4Hidden").val(jQuery("#inputDepartDaySchedules4").val());
        jQuery("#inputDepartDaySchedules5Hidden").val(jQuery("#inputDepartDaySchedules5").val());
        jQuery("#inputDepartDaySchedules6Hidden").val(jQuery("#inputDepartDaySchedules6").val());
        jQuery("#inputDepartMonthYearSchedules1Hidden").val(jQuery("#inputDepartMonthYearSchedules1").val());
        jQuery("#inputDepartMonthYearSchedules2Hidden").val(jQuery("#inputDepartMonthYearSchedules2").val());
        jQuery("#inputDepartMonthYearSchedules3Hidden").val(jQuery("#inputDepartMonthYearSchedules3").val());
        jQuery("#inputDepartMonthYearSchedules4Hidden").val(jQuery("#inputDepartMonthYearSchedules4").val());
        jQuery("#inputDepartMonthYearSchedules5Hidden").val(jQuery("#inputDepartMonthYearSchedules5").val());
        jQuery("#inputDepartMonthYearSchedules6Hidden").val(jQuery("#inputDepartMonthYearSchedules6").val());

        var hasAuckland = false;

        jQuery("div.multi-destination select[name^='inputFrom']").each(function () {
            var fromSelected = (jQuery(this).val().length != 0);
            if (!atLeastOneFrom) atLeastOneFrom = fromSelected;

            if (fromSelected) {
                var label = jQuery(this).parent().prev().text();
                if (label.length > 0)
                    label = " for " + label.replace(':', '');
                var toDiv = jQuery(this).parent().next();
                var toSelect = toDiv.find("select[name^='inputTo']");
                if (toSelect.val().length == 0) {
                    alert("Please input the Destination city" + label);
                    toSelect.focus();
                    directReturnFalse = true;
                    return false;
                }

                var dateDiv = toDiv.next();


                var monthYear = dateDiv.find("SELECT.schedules-month");
                if (monthYear.val().length == 0) {
                    alert("Please select Departure Date" + label);
                    monthYear.focus();
                    directReturnFalse = true;
                    return false;
                }
                var departDate = new Date(monthYear.val().split("/")[1], monthYear.val().split("/")[0] - 1, dateDiv.find("SELECT.schedules-day").val());

                var nowDate = new Date();
                var checkEndDate = new Date(nowDate.getTime());
                checkEndDate.setDate(nowDate.getDate());

                if (departDate < checkEndDate) {
                    alert("Please check Departure Date" + label + ". You may only book flights online departing at least 24 hours from now.\n\n " +
            "For the latest last minute fares please call Air Vanuatu Reservations:\n\n Port Vila - 23878" +
            "\nSanto - 37670\nAustralia - 1300 780 737\nNew Zealand - 373 3435\nNoumea - 28 66 77\nNadi - 672 3822\nSuva - 331 5055\n\nAlternatively you can email Air Vanuatu reservations reservation@airvanuatu.com.vu\n\nNB. Air Vanuatu do not charge for phone bookings.");
                    monthYear.focus();
                    directReturnFalse = true;
                    return false;
                }

                var toId = toSelect.attr("id");
                var flightIndex = toId.substring(toId.length - 1);
                var departYear = departDate.getFullYear();
                var departMonth = departDate.getMonth() + 1;
                var departDay = departDate.getDate();

                var departMonthStr = departMonth > 9 ? "" + departMonth : "0" + departMonth;
                var departDayStr = departDay > 9 ? "" + departDay : "0" + departDay;

                var departDateStr = "" + departYear + departMonthStr + departDayStr + "0000";


                var B_DATE = "&B_ANY_TIME_" + flightIndex + "=true&B_DATE_" + flightIndex + "=" + departDateStr;
                var B_LOCATION = "&B_LOCATION_" + flightIndex + "=" + jQuery(this).val();
                var E_LOCATION = "&E_LOCATION_" + flightIndex + "=" + toSelect.val();

                if (!hasAuckland) {

                    var selectFrom = jQuery(this).val();
                    var selectTo = toSelect.val();

                    if (selectFrom.toUpperCase() === "AKL" || selectTo.toUpperCase() === "AKL")
                        hasAuckland = true;

                }

                jQuery("#hdFights").val(jQuery("#hdFights").val() + B_DATE + B_LOCATION + E_LOCATION);

            }

            else {
                return false;
            }

        });

        //assign the ticket currency
        var saleValue = "SYD";
        if (hasAuckland)
            saleValue = "AKL";

        jQuery("#hdFights").val(jQuery("#hdFights").val() + "&SO_SITE_POINT_OF_SALE=" + saleValue);

        if (directReturnFalse)
            return false;

        if (!atLeastOneFrom) {
            alert("Please input the Origin city");
            return false;
        }

        var intAdult = parseInt(jQuery("div.multi-destination select.schedules-adult").val());
        var inputChildren = parseInt(jQuery("div.multi-destination select.schedules-children").val());
        var inputInfants = parseInt(jQuery("div.multi-destination select.schedules-infants").val());




        if (intAdult < inputInfants) {
            alert("There is a limit of one (1) infant per adult.");
            return false;

        }

        if ((intAdult + inputChildren) > 8) {
            alert("Maximum number of 8 people per booking.");
            return false;

        }


        var Url_Params = "SITE=" + jQuery("input[name='SITE']").val();
        Url_Params += "&LANGUAGE=" + jQuery("input[name='LANGUAGE']").val();
        Url_Params += "&EMBEDDED_TRANSACTION=" + jQuery("input[name='EMBEDDED_TRANSACTION']").val();
        Url_Params += "&TRIPFLOW=" + jQuery("input[name='TRIPFLOW']").val(); ;
        Url_Params += "&DIRECT_LOGIN=" + jQuery("input[name='DIRECT_LOGIN']").val();
        Url_Params += "&TRIP_TYPE=" + jQuery("input[name='TRIP_TYPE']").val();

        var typePrefix = "TRAVELLER_TYPE_";
        var iLoop = 1;
        for (; iLoop <= intAdult; iLoop++) {
            Url_Params += "&" + typePrefix + iLoop + "=ADT";
        }
        for (var jLoop = 1; jLoop <= inputChildren; jLoop++) {
            Url_Params += "&" + typePrefix + (intAdult + jLoop) + "=CHD";
        }

        var infantPrefix = "HAS_INFANT_";

        for (iLoop = 1; iLoop <= inputInfants; iLoop++) {
            Url_Params += "&" + infantPrefix + iLoop + "=TRUE";
        }

        jQuery("#hdFights").val(Url_Params + jQuery("#hdFights").val());



    });




    $("div.booknow #buttonBooknow").bind("click", function () {
        
        if ($('div.booknow SELECT#inputFrom').val().length == 0) {
            alert("Please input the Origin city");
            $('div.booknow SELECT#inputFrom').focus();
            return false;
        }

        if ($('div.booknow SELECT#inputTo').val().length == 0) {
            alert("Please input the Destination city");
            $('div.booknow SELECT#inputTo').focus();
            return false;
        }
        var departDate = new Date($("div.booknow SELECT#inputDepartMonthYear").val().split("/")[1], $("div.booknow SELECT#inputDepartMonthYear").val().split("/")[0] - 1, $("div.booknow SELECT#inputDepartDay").val());

        var nowDate = new Date();
        var checkEndDate = new Date(nowDate.getTime());
        checkEndDate.setDate(nowDate.getDate())
        if (departDate < checkEndDate) {
            alert("You may only book flights online departing at least 24 hours from now.\n\n " +
            "For the latest last minute fares please call Air Vanuatu Reservations:\n\n Port Vila - 23878" +
            "\nSanto - 37670\nAustralia - 1300 780 737\nNew Zealand - 373 3435\nNoumea - 28 66 77\nNadi - 672 3822\nSuva - 331 5055\n\nAlternatively you can email Air Vanuatu reservations reservation@airvanuatu.com.vu\n\nNB. Air Vanuatu do not charge for phone bookings.");
            return false;
        }

        if ($("div.booknow input#hiddenFlightType").val() == 'R') {
            var returnDate = new Date($("div.booknow SELECT#inputReturningMonthYear").val().split("/")[1], $("div.booknow SELECT#inputReturningMonthYear").val().split("/")[0] - 1, $("div.booknow SELECT#inputReturningDay").val());
            if (departDate >= returnDate) {
                alert("The return date for a round trip must be after the departure date.");
                return false;
            }
        }
        var intAdult = parseInt($("#inputAdults").val());
        var inputChildren = parseInt($("#inputChildren").val());
        var inputInfants = parseInt($("#inputInfants").val());


        if (intAdult < inputInfants) {
            alert("There is a limit of one (1) infant per adult.")
            return false;
        }

        if ((intAdult + inputChildren) > 8) {
            alert("Maximum number of 8 people per booking.");
            return false;
        }


        //return false;
    });

    $("div.booknow input#inputFlightType-return").bind("change",
        function () {
            if (this.checked) {
                $("div.booknow input#hiddenFlightType").val("R");
            }
        });

    $("div.booknow input#inputFlightType-oneway").bind("change",
        function () {
            if (this.checked) {
                $("div.booknow input#hiddenFlightType").val("O");
            }
        });
    $("div.schedules-row-radio input#inputFlightTypeSchedules-return").bind("change",
        function () {
            if (this.checked) {
                $("div.schedules-row-radio input#hiddenFlightTypeSchedule").val("R");
            }
        });

    $("div.schedules-row-radio input#inputFlightTypeSchedules-oneway").bind("change",
        function () {
            //alert("aa");
            if (this.checked) {
                $("div.schedules-row-radio input#hiddenFlightTypeSchedule").val("O");
            }
        });



});

    function SetMultiBookingDefaultDate() {
        var nowDate = new Date();
        var checkEndDate = new Date(nowDate.getTime());
        checkEndDate.setDate(nowDate.getDate() + 1);

        var monthSelect = $("div.multi-destination SELECT.schedules-month");
        var daySelect = $("div.multi-destination SELECT.schedules-day");


        //daySelect.val(checkEndDate.getDate());
        daySelect.each(function () {
            $("option:eq(" + nowDate.getDate() + ")", this).attr("selected", "selected");
        });
        var selected_month = (checkEndDate.getMonth() + 1) + "/" + checkEndDate.getFullYear();
        monthSelect.val(selected_month);

        
    }

function SetDefaultDate() {
    var nowDate = new Date();
    var checkEnd2Date = new Date(nowDate.getTime());
    checkEnd2Date.setDate(nowDate.getDate());
    var checkEnd3Date = new Date(nowDate.getTime());
    checkEnd3Date.setDate(nowDate.getDate() + 1);

    if (nowDate.getMonth() != checkEnd3Date.getMonth()) {
        $(".booknow-row SELECT#inputDepartDay option:eq(0)").attr("selected", "selected");
        $(".booknow-row SELECT#inputDepartMonthYear option:eq(1)").attr("selected", "selected");
        $(".booknow-row SELECT#inputReturningDay option:eq(1)").attr("selected", "selected");
        $(".booknow-row SELECT#inputReturningMonthYear option:eq(1)").attr("selected", "selected");
    }
    else {
        $(".booknow-row SELECT#inputDepartDay option:eq(" + nowDate.getDate() + ")").attr("selected", "selected");
        $(".booknow-row SELECT#inputReturningDay option:eq(" + (nowDate.getDate() + 1) + ")").attr("selected", "selected"); 
    }

    if (nowDate.getMonth() != checkEnd3Date.getMonth()) {
        $(".schedules-row SELECT#inputDepartDaySchedules option:eq(" + (nowDate.getDate() - 1) + ")").attr("selected", "selected");
        $(".schedules-row SELECT#inputReturningDaySchedules option:eq(0)").attr("selected", "selected");
        $(".schedules-row SELECT#inputReturningMonthYearSchedules option:eq(1)").attr("selected", "selected");
    }
    else {
        $(".schedules-row SELECT#inputDepartDaySchedules option:eq(" + (nowDate.getDate() - 1) + ")").attr("selected", "selected");
        $(".schedules-row SELECT#inputReturningDaySchedules option:eq(" + nowDate.getDate() + ")").attr("selected", "selected");
    }    
}

function ProcessFromChange(toSelector, obj) {
    $(toSelector + " optgroup").remove();
    var originFlightCode = $(obj).val();

    if (originFlightCode.length != 3) {
        return;
    }
    var flight_item_data_url = "/home/flight-items-data.aspx";

    $.ajax({
        type: "GET",
        url: flight_item_data_url,
        dataType: "xml",
        success: function (xmlData) {
            var originElement = $("Origin[FlightCode='" + originFlightCode + "']", xmlData);

            if (typeof (originElement) == "undefined") {
                return;
            }

            var countryExisted = "";
            var destinationList = "";

            var destinations = $("Destination", originElement);
            destinations.each(function (i) {
                var destinationFlightCode = $(this).attr("FlightCode");
                destinationList += destinationFlightCode + "|";
                var optGroup = $("SELECT#inputSample option[value='" + destinationFlightCode + "']").parent();
                var countryName = optGroup.attr("label");
                if (countryExisted.indexOf(countryName) < 0) {
                    $(toSelector).append(optGroup.clone());
                    countryExisted += countryName + "|";
                }
            });

            $(toSelector + " option").each(function (i) {
                if (destinationList.indexOf(this.value) < 0 && this.value.length > 0) {
                    $(this).remove();
                }
            });

        },
        complete: function (xmlHttpRequest, textStatus) {
            $(toSelector + " option:first").attr("selected", "selected");
            $(toSelector).val($("#inputToSchedulesHidden1").val());
            $("#inputToSchedulesHidden1").val("");
        }
    });
}

function MultiProcessFromChange(toSelector, toSelectorHidden, obj) {
    $(toSelector + " optgroup").remove();
    var originFlightCode = $(obj).val();

    if (originFlightCode.length != 3) {
        return;
    }
    var flight_item_data_url = "/home/flight-items-data.aspx";

    $.ajax({
        type: "GET",
        url: flight_item_data_url,
        dataType: "xml",
        success: function (xmlData) {
            var originElement = $("Origin[FlightCode='" + originFlightCode + "']", xmlData);

            if (typeof (originElement) == "undefined") {
                return;
            }

            var countryExisted = "";
            var destinationList = "";

            var destinations = $("Destination", originElement);
            destinations.each(function (i) {
                var destinationFlightCode = $(this).attr("FlightCode");
                destinationList += destinationFlightCode + "|";
                var optGroup = $("SELECT#inputSample option[value='" + destinationFlightCode + "']").parent();
                var countryName = optGroup.attr("label");
                if (countryExisted.indexOf(countryName) < 0) {
                    $(toSelector).append(optGroup.clone());
                    countryExisted += countryName + "|";
                }
            });

            $(toSelector + " option").each(function (i) {
                if (destinationList.indexOf(this.value) < 0 && this.value.length > 0) {
                    $(this).remove();
                }
            });

        },
        complete: function (xmlHttpRequest, textStatus) {
            $(toSelector + " option:first").attr("selected", "selected");
            //$(toSelector + " OPTION[value='" + $(toSelectorHidden).val() + "']").attr("selected", "selected");
            $(toSelector).val($(toSelectorHidden).val());
        }
    });
}
   

