
var url = "/domaindata/CCLQuickSearch.svc/GetQuickSearchLists";
var searchResultsURL = "/CMS/Search2/Default.aspx";
var ddlMonthsHeader, ddlPortsHeader, ddlDestinationsHeader, ddlCruiseLengthsHeader, ddlStateResidenceHeader, chkPastGuestHeader, chkSeniorHeader;
var ddlMonthsValHeader, ddlPortsValHeader, ddlCruiseLengthValHeader, ddlDestinationvalHeader, ddlStateResidenceValHeader;
var btnSearchHeader;
var chkPastGuestValHeader, chkSeniorValHeader;


function SearchHeader(request, callback, error) {

    $.ajax({ url: url, data: request, type: "GET", processData: true, timeout: 30000, dataType: "json", success: callback, error: error });

}

function buildQueryHeader(event) {
    var strQuery = "";
    // for months we will send the description not the value,
    ddlMonthsValHeader = ddlMonthsHeader.val();
    var ddlMonthsValText = $("#ddlMonth option[value='" + ddlMonthsValHeader + "']").text();
    ddlPortsValHeader = ddlPortsHeader.val();
    ddlCruiseLengthValHeader = ddlCruiseLengthsHeader.val();
    ddlDestinationvalHeader = ddlDestinationsHeader.val();



    if (ddlMonthsValHeader != "Any")
        strQuery = strQuery + "month=" + ddlMonthsValText + "&";
    if (ddlPortsValHeader != "Any")
        strQuery = strQuery + "port=" + ddlPortsValHeader + "&";
    if (ddlCruiseLengthValHeader != "Any")
        strQuery = strQuery + "dur=" + ddlCruiseLengthValHeader + "&";
    if (ddlDestinationvalHeader != "Any")
        strQuery = strQuery + "dest=" + ddlDestinationvalHeader + "&";

/*
console.debug("Months %s  Ports %s  Length %s  Desti %s query %s", ddlMonthsValHeader, ddlPortsValHeader,
ddlCruiseLengthValHeader, ddlDestinationvalHeader, strQuery);
*/
    return strQuery;
}

function SetRateCriteriaCookieHeader() {
    var cookiestring = "";
    if (ddlStateResidenceValHeader != "Any")
        cookiestring = cookiestring + "StateCode=" + ddlStateResidenceValHeader + "&"
    if (chkPastGuestValHeader == "Y")
        cookiestring = cookiestring + "PastGuest=Y&"
    if (chkSeniorValHeader == "Y")
        cookiestring = cookiestring + "Senior=Y"

    var COOKIE_NAME = 'CurrentRatesCriteria';
    var options = { path: '/', expires: 90 };
    if (cookiestring != "");
    $.cookie(COOKIE_NAME, cookiestring, options);




}


function dropDownChangedHeader(event) {

    var strQuery = buildQueryHeader();
    SearchHeader(strQuery, SuccessHeader, FailedHeader);


}

function specialRatesChangedHeader() {

    ddlStateResidenceValHeader = ddlStateResidenceHeader.val();
    chkPastGuestValHeader = (chkPastGuestHeader.attr("checked")) ? "Y" : "N";
    chkSeniorValHeader = (chkSeniorHeader.attr("checked")) ? "Y" : "N";
    

}

function SuccessHeader(response) {
    ResetListsHeader();
    BuildDropDownsHeader(response.d);
    RestoreSelctionsHeader();

}

function FailedHeader() {
   // alert("it faield");
    ResetListsHeader();
}

function BuildDropDownsHeader(d) {
    if (d.MonthYear != null) {
        for (i = 0; i < d.MonthYear.length; i++)
        { AddOptions(ddlMonthsHeader, d.MonthYear[i].code, d.MonthYear[i].description); }

    }
    if (d.DeparturePorts != null) {
        for (i = 0; i < d.DeparturePorts.length; i++)
        { AddOptions(ddlPortsHeader, d.DeparturePorts[i].code, d.DeparturePorts[i].description); }

    }
    if (d.Destinations != null) {
        for (i = 0; i < d.Destinations.length; i++)
        { AddOptions(ddlDestinationsHeader, d.Destinations[i].code, d.Destinations[i].description); }

    }
    if (d.CruiseLength != null) {
        for (i = 0; i < d.CruiseLength.length; i++)
        { AddOptions(ddlCruiseLengthsHeader, d.CruiseLength[i].code, d.CruiseLength[i].description); }

    }




}

function AddOptions(target, value, option) {
    var strOption = "<option value=\"" + value + "\">" + option + "</option>"
    target.append(strOption);

}

function ResetListsHeader() {
    ddlMonthsHeader.html("<option value=\"Any\">Any Month</option>");
    ddlPortsHeader.html("<option value=\"Any\">Any Embarkation Port</option>");
    ddlDestinationsHeader.html("<option value=\"Any\">Any Destination</option>");
    ddlCruiseLengthsHeader.html("<option value=\"Any\">Any Cruise Length</option>");
}

function RestoreSelctionsHeader() {
    ddlMonthsHeader.val(ddlMonthsValHeader);
    ddlPortsHeader.val(ddlPortsValHeader);
    ddlDestinationsHeader.val(ddlDestinationvalHeader);
    ddlCruiseLengthsHeader.val(ddlCruiseLengthValHeader);

}

function SearchClickHeader() {

    // initilize variables in case user just clicks Search
    var strQuery = new Array();
    ddlMonthsValHeader = ddlMonthsHeader.val();
    ddlPortsValHeader = ddlPortsHeader.val();
    ddlCruiseLengthValHeader = ddlCruiseLengthsHeader.val();
    ddlDestinationvalHeader = ddlDestinationsHeader.val();
    specialRatesChangedHeader();




    if (ddlMonthsValHeader != "Any")
        strQuery.push("dat=" + ddlMonthsValHeader);
    if (ddlPortsValHeader != "Any")
        strQuery.push("embkCode=" + ddlPortsValHeader);
    if (ddlCruiseLengthValHeader != "Any")
        strQuery.push("dur=" + ddlCruiseLengthValHeader);
    if (ddlDestinationvalHeader != "Any")
        strQuery.push("dest=" + ddlDestinationvalHeader);

    if (ddlStateResidenceValHeader != "Any" && ddlStateResidenceValHeader.length > 0)
        strQuery.push("StateCode=" + ddlStateResidenceValHeader);
    if (chkPastGuestValHeader == "Y")
        strQuery.push("PastGuest=" + chkPastGuestValHeader);
    if (chkSeniorValHeader == "Y")
        strQuery.push("Senior=" + chkSeniorValHeader);

    //alert( searchResultsURL + "?" + strQuery.join("&"));

    SetRateCriteriaCookieHeader();
    location.href = searchResultsURL + "?" + strQuery.join("&");



}



    
    
