
$(document).ready(function () {

    $("#Wizard_Rooms option:first").attr("selected", "selected");

    // ==== ORIGINAL FUNCTIONS ==== //


    function DatePicker() {

        //CALENDAR
        var FromDateId = "#Wizard_Departing";
        var ToDateId = "#Wizard_Returning";
        var DateFormat = "dd/mm/yy";

        $(FromDateId).datepicker({
            dateFormat: "dd/mm/yy",
            dayNamesMin: ["S", "M", "T", "W", "T", "F", "S"],
            monthNames: ["JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"],
            numberOfMonths: 2,
            minDate: "0d",
            onSelect: function (selectedDate) {
                if ($(ToDateId).val() == DateFormat) {
                    $(ToDateId).val(selectedDate);
                }
            }

        });
        $(ToDateId).datepicker({
            dateFormat: "dd/mm/yy",
            dayNamesMin: ["S", "M", "T", "W", "T", "F", "S"],
            monthNames: ["JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"],
            minDate: "0d",
            numberOfMonths: 2
        });


    }


    function MultiDatePicker() {

        //CALENDAR
        var FromDateId1 = "#Wizard_Departing_Flight1";
        var FromDateId2 = "#Wizard_Departing_Flight2";
        var FromDateId3 = "#Wizard_Departing_Flight3";
        var DateFormat = "dd/mm/yy";

        $(FromDateId1).datepicker({
            dateFormat: "dd/mm/yy",
            dayNamesMin: ["S", "M", "T", "W", "T", "F", "S"],
            monthNames: ["JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"],
            numberOfMonths: 2,
            minDate: "0d",
            onSelect: function (selectedDate) {
                if ($(FromDateId2).val() == DateFormat) {
                    $(FromDateId2).val(selectedDate);
                }
            }

        });
        $(FromDateId2).datepicker({
            dateFormat: "dd/mm/yy",
            dayNamesMin: ["S", "M", "T", "W", "T", "F", "S"],
            monthNames: ["JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"],
            numberOfMonths: 2,
            minDate: "0d",
            onSelect: function (selectedDate) {
                if ($(FromDateId3).val() == DateFormat) {
                    $(FromDateId3).val(selectedDate);
                }
            }

        });
        $(FromDateId3).datepicker({
            dateFormat: "dd/mm/yy",
            dayNamesMin: ["S", "M", "T", "W", "T", "F", "S"],
            monthNames: ["JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"],
            minDate: "0d",
            numberOfMonths: 2
        });


    }





    //INITIATE CALENDAR
    DatePicker();



    //LOAD NUMBER OF ROOMS
    function LoadNumberOfRooms() {

        var GenerateRooms = "";
        for (i = 0; i < $("#Wizard_Rooms").val(); i++) {

            if ((i + 1) == 1) {
                GenerateRooms += '<div id="Wizard_Room' + (i + 1) + '">';
            } else {
                if (parseInt($("#WizardWidth").val()) >= 300) {
                    GenerateRooms += '<div id="Wizard_Room' + (i + 1) + '" style="clear: both; margin-left: 42px;">';
                }
                else {
                    GenerateRooms += '<div id="Wizard_Room' + (i + 1) + '" style="clear: both;">';
                }
            }
            GenerateRooms += $("#Wizard_Room1").html().replace(/Room 1/g, "Room " + (i + 1)).replace(/Room1/g, "Room" + (i + 1)).replace('roomCount">Room', 'roomCount">' + $("#Wizard_Localisation_Room").val());
            GenerateRooms += '</div>';

            if (parseInt($("#WizardWidth").val()) >= 300) {
                $("#Wizard_Room" + (i + 1)).find("label, br").remove();
            }
        }

        $("#Wizard_Rooms_Group").html(GenerateRooms);

        if (parseInt($("#WizardWidth").val()) >= 300) {
            $("#Wizard_Rooms_Group").find("select").parent().parent().css("width", "60px");
        }

        //LOAD AGES ROOM 1 ON CHANGE
        $("#Wizard_Children_Room1").change(function () {
            if (parseInt($("#WizardWidth").val()) >= 300) {
                LoadChildrenAges("#" + $(this).attr("id"), "Room1");
            }
        });
        //LOAD AGES ROOM 2 ON CHANGE
        $("#Wizard_Children_Room2").change(function () {
            if (parseInt($("#WizardWidth").val()) >= 300) {
                LoadChildrenAges("#" + $(this).attr("id"), "Room2");
            }
        });
        //LOAD AGES ROOM 3 ON CHANGE
        $("#Wizard_Children_Room3").change(function () {
            if (parseInt($("#WizardWidth").val()) >= 300) {
                LoadChildrenAges("#" + $(this).attr("id"), "Room3");
            }
        });
        //LOAD AGES ROOM 4 ON CHANGE
        $("#Wizard_Children_Room4").change(function () {
            if (parseInt($("#WizardWidth").val()) >= 300) {
                LoadChildrenAges("#" + $(this).attr("id"), "Room4");
            }
        });
        //LOAD AGES ROOM 5 ON CHANGE
        $("#Wizard_Children_Room5").change(function () {
            if (parseInt($("#WizardWidth").val()) >= 300) {
                LoadChildrenAges("#" + $(this).attr("id"), "Room5");
            }
        });
        //LOAD AGES ROOM 6 ON CHANGE
        $("#Wizard_Children_Room6").change(function () {
            if (parseInt($("#WizardWidth").val()) >= 300) {
                LoadChildrenAges("#" + $(this).attr("id"), "Room6");
            }
        });
        //LOAD AGES ROOM 7 ON CHANGE
        $("#Wizard_Children_Room7").change(function () {
            if (parseInt($("#WizardWidth").val()) >= 300) {
                LoadChildrenAges("#" + $(this).attr("id"), "Room7");
            }
        });
        //LOAD AGES ROOM 8 ON CHANGE
        $("#Wizard_Children_Room8").change(function () {
            if (parseInt($("#WizardWidth").val()) >= 300) {
                LoadChildrenAges("#" + $(this).attr("id"), "Room8");
            }
        });



        //RESET AGES ON ROOM CHANGE
        if ($("#Wizard_Rooms").val() == "1") {
            $("#Wizard_ChildrenAges_Room2").hide();
            $("#Wizard_ChildrenAges_Room3").hide();
            $("#Wizard_ChildrenAges_Room4").hide();
            $("#Wizard_ChildrenAges_Room5").hide();
            $("#Wizard_ChildrenAges_Room6").hide();
            $("#Wizard_ChildrenAges_Room7").hide();
            $("#Wizard_ChildrenAges_Room8").hide();
        }
        if ($("#Wizard_Rooms").val() == "2") {
            $("#Wizard_ChildrenAges_Room3").hide();
            $("#Wizard_ChildrenAges_Room4").hide();
            $("#Wizard_ChildrenAges_Room5").hide();
            $("#Wizard_ChildrenAges_Room6").hide();
            $("#Wizard_ChildrenAges_Room7").hide();
            $("#Wizard_ChildrenAges_Room8").hide();
        }

        //RESET AGES ON CHILD AGE CHANGE
        if ($("#Wizard_Children_Room1").val() == "0") {
            $("#Wizard_ChildrenAges_Room1").hide();
            $("#Wizard_ChildrenAges_Legend").hide();
        }
        if ($("#Wizard_Children_Room2").val() == "0") {
            $("#Wizard_ChildrenAges_Room2").hide();
        }
        if ($("#Wizard_Children_Room3").val() == "0") {
            $("#Wizard_ChildrenAges_Room3").hide();
        }
        if ($("#Wizard_Children_Room4").val() == "0") {
            $("#Wizard_ChildrenAges_Room4").hide();
        }
        if ($("#Wizard_Children_Room5").val() == "0") {
            $("#Wizard_ChildrenAges_Room5").hide();
        }
        if ($("#Wizard_Children_Room6").val() == "0") {
            $("#Wizard_ChildrenAges_Room6").hide();
        }
        if ($("#Wizard_Children_Room7").val() == "0") {
            $("#Wizard_ChildrenAges_Room7").hide();
        }
        if ($("#Wizard_Children_Room8").val() == "0") {
            $("#Wizard_ChildrenAges_Room8").hide();
        }

    }

    //LOAD ROOMS ON CHANGE

    $("#Wizard_Rooms").change(function () {
        LoadNumberOfRooms();
    });



    //LOAD CHILDREN AGES
    function LoadChildrenAges(id, room) {

        var GenerateChildrenAges = "";

        if ($(id).val() != 0) {
            $("#Wizard_ChildrenAges_" + room).show();
            $("#Wizard_Infants_Group").show();
        }
        else {
            $("#Wizard_ChildrenAges_" + room).hide();
            $("#Wizard_Infants_Group").hide();
        }

        if ($("#Wizard_Children_Room1").val() != 0) {
            $("#Wizard_ChildrenAges_Legend").show();
        }
        else {
            $("#Wizard_ChildrenAges_Legend").hide();
        }




        for (i = 0; i < $(id).val(); i++) {
            GenerateChildrenAges += '<div style="width: 70px;" class="noWidthColumn">';
            GenerateChildrenAges += '<div class="leftColumnPadding ">';
            GenerateChildrenAges += '<label for="Wizard_ChildrenAges_Child' + (i + 1) + '_' + room + '">' + $("#Wizard_Localisation_Child").val() + ' ' + (i + 1) + ' ' + $("#Wizard_Localisation_Age").val() + '</label><br />';
            GenerateChildrenAges += '<select name="Wizard_ChildrenAges_Child' + (i + 1) + '_' + room + '" id="Wizard_ChildrenAges_Child' + (i + 1) + '_' + room + '">';
            GenerateChildrenAges += '<option selected="selected" value="-1">-?-</option><option value="0">&lt;1</option><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option>';
            GenerateChildrenAges += '</select>';
            GenerateChildrenAges += '</div>';
            GenerateChildrenAges += '</div>';
        }


        $("#Wizard_ChildrenAges_" + room + "_Content").html(GenerateChildrenAges);




    }

    //LOAD AGES ROOM 1 ON CHANGE
    $("#Wizard_Children_Room1").change(function () {
        if (parseInt($("#WizardWidth").val()) >= 300) {
            LoadChildrenAges("#" + $(this).attr("id"), "Room1");
        }
    });


    //CHANGE HOTEL SEARCH TYPE
    function HotelSearchType() {

        if ($("#Wizard_FindHotelNear").val() == "Destination") {
            $("#Wizard_GoingTo_Label").html($("#Wizard_GoingTo_City").val());
        }
        if ($("#Wizard_FindHotelNear").val() == "Place&SearchArea=Airport") {
            $("#Wizard_GoingTo_Label").html($("#Wizard_GoingTo_Airport").val());
        }
        if ($("#Wizard_FindHotelNear").val() == "Place&SearchArea=Attraction") {
            $("#Wizard_GoingTo_Label").html($("#Wizard_GoingTo_Attraction").val());
        }

    }

    //CHANGE CAR SEARCH TYPE
    function CarSearchType() {

        if ($("#Wizard_FindCarNear").val() == "Airport") {
            $("#Wizard_GoingTo_Label").html($("#Wizard_GoingTo_Airport").val());
            $("#Wizard_HowFarFromPlace_Content").hide();
        }
        if ($("#Wizard_FindCarNear").val() == "Place") {
            $("#Wizard_GoingTo_Label").html($("#Wizard_GoingTo_Place").val());
            $("#Wizard_HowFarFromPlace_Content").show();

        }

    }

    //CHANGE TEXT FOR FIND HOTEL NEAR
    $("#Wizard_FindHotelNear").change(function () {
        HotelSearchType();
    });

    //CHANGE TEXT FOR FIND CAR NEAR
    $("#Wizard_FindCarNear").change(function () {
        CarSearchType();
    });


    //TOGGLE ADDITIONAL OPTIONS
    $("#Wizard_AdditionalSearchOptions").click(function () {
        $("#Wizard_AdditionalSearchOptions_Content").toggle();
        return false;
    });


    //FLIGHT ONLY - RETURN FLIGHT SEARCH
    $("#Wizard_TypeOfFlight_Return").click(function () {

        $("#Wizard_Returning_Content").show();
        $("#Wizard_Flight").show();
        $("#Wizard_Flight1").hide();
        $("#Wizard_Flight2").hide();
        $("#Wizard_Flight3").hide();
    });
    //FLIGHT ONLY - SINGLE FLIGHT SEARCH
    $("#Wizard_TypeOfFlight_Single").click(function () {

        $("#Wizard_Returning_Content").hide();
        $("#Wizard_Flight").show();
        $("#Wizard_Flight1").hide();
        $("#Wizard_Flight2").hide();
        $("#Wizard_Flight3").hide();
    });
    //FLIGHT ONLY - MULTIPLE FLIGHT SEARCH
    $("#Wizard_TypeOfFlight_Multiple").click(function () {

        MultiDatePicker();

        $("#Wizard_Returning_Content").show();

        $("#Wizard_Flight").hide();
        $("#Wizard_Flight1").show();
        $("#Wizard_Flight2").show();
        $("#Wizard_Flight3").show();


    });


    //INFO BOX FOR CAR SEARCH
    $("#Wizard_Car_SepcialEquipment_Info").mouseover(function () {
        $("#Wizard_Car_SepcialEquipment_InfoBox").fadeIn();
        return false;
    }).mouseout(function () {
        $("#Wizard_Car_SepcialEquipment_InfoBox").fadeOut();
        return false;
    }).click(function () {
        return false;
    });


    //FOCUS GOING TO FIELD FOR ACTIVITIES
    $("#Wizard_Activities_Destination_OtherCity, #Wizard_Activities_Destination_OtherCity_Label").click(function () {
        $("#Wizard_GoingTo").focus();
    });
    $("#Wizard_GoingTo").focus(function () {
        $("#Wizard_Activities_Destination_OtherCity").attr("checked", "checked");
    });















    // ==== AJAX CALL ==== //



    //RADIO BUTTONS
    $("#Wizard_Options input[type=radio]").click(function () {

        $('#LoadFormContent').html('<div style="text-align: center; margin: 16px 0;"><img src="http://media.expedia.com/media/content/shared/graphics/icons/loader_80x80.gif" alt="" /></div>');
        $.ajax({
            url: '/daily/controls/daily_fusion/WIZARD/SearchForms/LoadForm.aspx?v=1&Form=' + $(this).val() + '&width=' + $("#WizardWidth").val() + '&xml=' + $("#WizardXML").val() + '&locale=' + $("#WizardLocale").val(),
            cache : 'false',
			success: function (data) {
                $('#LoadFormContent').html(data);

                if (parseInt($("#WizardWidth").val()) > 500) {
                    $("#Wizard_Options_Message").html($("#Wizard_Options_Message_Content").html());
                }


                //REPEATING ALL FUNCTIONS AFTER AJAX CALL

                //CALENDAR
                DatePicker();

                //LOAD ROOMS
                $("#Wizard_Rooms").change(function () {
                    LoadNumberOfRooms();
                });

                //LOAD AGES ROOM 1 ON CHANGE
                $("#Wizard_Children_Room1").change(function () {
                    if (parseInt($("#WizardWidth").val()) >= 300) {
                        LoadChildrenAges("#" + $(this).attr("id"), "Room1");
                    }
                });

                //CHANGE TEXT FOR FIND HOTEL NEAR
                $("#Wizard_FindHotelNear").change(function () {
                    HotelSearchType();
                });

                //CHANGE TEXT FOR FIND CAR NEAR
                $("#Wizard_FindCarNear").change(function () {
                    CarSearchType();
                });

                //TOGGLE ADDITIONAL OPTIONS
                $("#Wizard_AdditionalSearchOptions").click(function () {
                    $("#Wizard_AdditionalSearchOptions_Content").toggle();
                    return false;
                });

                //FLIGHT ONLY - RETURN FLIGHT SEARCH
                $("#Wizard_TypeOfFlight_Return").click(function () {

                    $("#Wizard_Returning_Content").show();
                    $("#Wizard_Flight").show();
                    $("#Wizard_Flight1").hide();
                    $("#Wizard_Flight2").hide();
                    $("#Wizard_Flight3").hide();
                });
                //FLIGHT ONLY - SINGLE FLIGHT SEARCH
                $("#Wizard_TypeOfFlight_Single").click(function () {

                    $("#Wizard_Returning_Content").hide();
                    $("#Wizard_Flight").show();
                    $("#Wizard_Flight1").hide();
                    $("#Wizard_Flight2").hide();
                    $("#Wizard_Flight3").hide();
                });
                //FLIGHT ONLY - MULTIPLE FLIGHT SEARCH
                $("#Wizard_TypeOfFlight_Multiple").click(function () {

                    MultiDatePicker();

                    $("#Wizard_Returning_Content").show();

                    $("#Wizard_Flight").hide();
                    $("#Wizard_Flight1").show();
                    $("#Wizard_Flight2").show();
                    $("#Wizard_Flight3").show();


                });

                //INFO BOX FOR CAR SEARCH
                $("#Wizard_Car_SepcialEquipment_Info").mouseover(function () {
                    $("#Wizard_Car_SepcialEquipment_InfoBox").fadeIn();
                    return false;
                }).mouseout(function () {
                    $("#Wizard_Car_SepcialEquipment_InfoBox").fadeOut();
                    return false;
                }).click(function () {
                    return false;
                });

                //FOCUS GOING TO FIELD FOR ACTIVITIES
                $("#Wizard_Activities_Destination_OtherCity, #Wizard_Activities_Destination_OtherCity_Label").click(function () {
                    $("#Wizard_GoingTo").focus();
                });
                $("#Wizard_GoingTo").focus(function () {
                    $("#Wizard_Activities_Destination_OtherCity").attr("checked", "checked");
                });


            }
        });


    });




});
