﻿$(document).ready(function () {
    searchControlSetup();
    $('[id*=_PickArrivalDateForView]').bind('change', synchronizeArrivalAndDepartureDates);
});


// TODO: isn't this redundant? we're already defining this in the DatePicker control
$(function () {
    $(".dateSelection").datepicker({
        showOn: "button",
        buttonImage: datePickerIcon,
        buttonImageOnly: true
    });
});


function searchControlSetup() {
    var searchText = $(".searchTextInput")
    var guestDropDown = $(".searchGuestDropDown")
    var characterNotFoundInUrl = -1

    if (document.URL.indexOf("#") == characterNotFoundInUrl) { //dont want to set focus on the search box if the url is to an anchor on the page
        searchText.focus();
        guestDropDown.focus();
        searchText.focus();
    }
}

function synchronizeArrivalAndDepartureDates() {
    var newArrivalDate = new Date(Date.parse($(this).val()));

    var newDepartureDate = new Date(Date.parse($(this).val()));
    newDepartureDate.setDate(newDepartureDate.getDate() + 3);

    $('[id*=_PickDepartureDateForView]').val($.datepicker.formatDate('mm/dd/yy', newDepartureDate));
    $('[id*=_PickArrivalDateForView]').val($.datepicker.formatDate('mm/dd/yy', newArrivalDate));
}

function initiateSearch() {

    try {

        var searchText = $('[id*=_SearchText]').val();

        var startdate = $('[id*=_PickArrivalDateForView]').val();
        var enddate = $('[id*=_PickDepartureDateForView]').val();

        var guests = $('[id*=_GuestsDropDownForView]').val();
        var searchRequestPage = $('[id*=_SearchRequestPage]').val();

        var now = new Date();
        var today = new Date(now.getFullYear(), now.getMonth(), now.getDate());

        var startdateAsDate = new Date(startdate);
        var enddateAsDate = new Date(enddate);

        if (searchText == null || searchText.length <= 0) {
            alert("Please specify a destination, attraction, city or resort");
            return false;
        }

        if (startdateAsDate > enddateAsDate) {
            alert("The arrival date can not be later than the depart date");
            return false;
        }

        if (startdateAsDate < today) {
            alert("The arrival date can not be in the past");
            return false;
        }

        if (enddateAsDate < today) {
            alert("The departure date can not be in the past");
            return false;
        }

        url = url
		    + "arrival=" + escape(startdate)
		    + "&departdate=" + escape(enddate)
		    + "&occupants=" + escape(guests)
		    + "&searchMode=" + searchMode
		    + "&searchRequestPage=" + escape(searchRequestPage)
		    + "&searchText=" + escape(searchText);

        window.location = url;
    }
    catch (err) {
        alert(err.message);
    }
    return false;
}

   
 
