﻿$(function () {
    $("#departing").datepicker({ minDate: 1, maxDate: "+12m", showButtonPanel: true, numberOfMonths: 2, defaultDate: "+3d", dateFormat: "d MM, yy" });
});
$(function () {
    $("#returning").datepicker({ minDate: 1, maxDate: "+12m", showButtonPanel: true, defaultDate: "+4d", numberOfMonths: 2, dateFormat: "d MM, yy" });
});

$(document).ready(function () {
    $('#from').keyup(function () {
        var s = $(this).val();
        if (s.length > 2) {
            GetLookup('dep', s);
        }
        else {
            $("div.suggest").hide();
        }
    });
    $('#to').keyup(function () {
        var s = $(this).val();
        if (s.length > 2) {
            GetLookup('dest', s);
        }
        else {
            $("div.suggest").hide();
        }
    });

    $("html").click(function () {
        $("div.suggest").hide();
    });

    $("input, textarea").focus(function () {
        this.select();
    });

    PopulateFormFromSession();

});


function GetLookup(t, s) {
    $.ajax({
            url: "/services/search.asmx/GetLookup",
            data: '{ target: "' + t + '", search: "' + s + '" }'
        })
        .success(function(data) {
            if (data.d.length > 0) {
                if (t == "dest") {
                    $("#ts").html(data.d);
                    $("#ts").slideDown(200);
                }
                else {
                    $("#fs").html(data.d);
                    $("#fs").slideDown(200);
                }
            }
        });
}

function st(rc, target) {
    if (target == "dest") {
        $.ajax({
            url: "/services/search.asmx/GetRegionName",
            data: '{ rc: "' + rc + '" }'
        })
        .success(function (data) {
            $("#to").val(data.d);
            $("#to-rc").val(rc);
            $("div.suggest").hide();
        });
    }
    else if (target == "dep") {
        $.ajax({
            url: "/services/search.asmx/GetRegionName",
            data: '{ rc: "' + rc + '" }'
        })
        .success(function (data) {
            $("#from").val(data.d);
            $("#from-rc").val(rc);
            $("div.suggest").hide();
        });
    }
}

function Search(o) {

    var r = ValidateForm(o);
    if (!r) return;

    if (o == "f") {
        var from = $("#from-rc").val();
        var to = $("#to-rc").val();

        var fromText = $("#from").val();
        var toText = $("#to").val();

        var departing = $("#departing").val();
        var returning = $("#returning").val();
        var travellers = $("#travelers").val();

        $.ajax({
            async: false,
            url: "/services/content.asmx/GetCampaigns",
            data: '{ prodType: "f", depCode: "' + from + '", depText: "' + fromText + '", destCode: "' + to + '", destText: "' + toText + '", depDate: "' + departing + '", retDate: "' + returning + '", travelers: ' + travellers + ' }'
        })
        .success(function (result) {
            if (result.d.Success) {
                $("#wrap-inputs").hide();
                $("#ab").hide();
                $('#wrap-partners').html(result.d.MessageBody);
            }
        });

        $.ajax({
            async: false,
            url: "/services/content.asmx/GetTripSummary",
            data: '{ q: "f" }'
        })
        .success(function (result) {
            if (result.d.Success) {
                $("#wrap-summary").html(result.d.MessageBody);
                $('#searchdone').show();
                $("#wrap-summary").show("slide", { direction: "left" }, 1000);
                $('#wrap-partners').show("slide", { direction: "right" }, 1000);
            }
        });

    }
}

function EditSearch() {
    $('#searchdone').hide();
    $("#wrap-summary").html("");
    $('#wrap-partners').html("");
    $("#wrap-inputs").slideDown(1000);
    $("#ab").show();
    
}

function SendClick(id) {
    top.location.href = "/workers/compare.aspx?id=" + id;
}

function ValidateForm(o) {
    if (o == "f") {
//        var from = $("#from-rc").val();
//        var to = $("#to-rc").val();

        var fromText = $("#from").val();
        var toText = $("#to").val();

        var departing = $("#departing").val();
        var returning = $("#returning").val();
//        var travellers = $("#travelers").val();

        if (fromText == '' || toText == '') {
            humanMsg.displayMsg(window.errEnterToFrom);
            return false;
        }

        if (departing == '') {
            humanMsg.displayMsg(window.errNoDepartureDate);
            return false;
        }

        if (returning == '') {
            humanMsg.displayMsg(window.errNoReturnDate);
            return false;
        }

        // check the dates
        var stDate = new Date(departing);
        var endDate = new Date(returning);
        if (stDate > endDate) {
            humanMsg.displayMsg(window.errDepartBeforeReturn);
            return false;
        }


        return true;
    }

    return true;
}

function PopulateFormFromSession() {
    $.ajax({
        url: "/services/content.asmx/GetSession",
        data: '{ q: "f" }'
    })
    .success(function (r) {
        $("#from-rc").val(r.d.DeptCode);
        $("#to-rc").val(r.d.RetnCode);

        $("#from").val(r.d.DeptText);
        $("#to").val(r.d.RetnText);

        var parsedDepDate = $.datepicker.parseDate('mm/dd/yy', r.d.DeptDate);
        var parsedRetDate = $.datepicker.parseDate('mm/dd/yy', r.d.RetnDate);
        $("#departing").datepicker("setDate", parsedDepDate);
        $("#returning").datepicker("setDate", parsedRetDate);

        $("#travelers").val(r.d.Travelers);
    });
}
