﻿/// <reference path="..\MasterPricer\SearchParameters.js" />

function HomeView() {
    thisView = this;
    this.PesqIncAereo = undefined;

    $(document).ready(function () {
        if (HomeView.PesqIncAereo == 'B2W') {
            $("#txtDestino").focus().autocomplete(cities);
            $("#txtOrigem").focus().autocomplete(cities);
        }
        $("#rdoSomenteIda").click(function () {
            $("#detalhes_origem_destino .detalhes_right").css("display", "none");
            $("#txtDataVolta").val("");
        });

        $("#rdoIdaVolta").click(function () {
            $("#detalhes_origem_destino .detalhes_right").css("display", "block");
        });

        AirMotorUC.Initialize();
        AirMotorUC.OnSearch = thisView.PrepareSearch;
        AirMotorUC.OnSearchLocationComplete = thisView.searchLocationComplete;
    });

    this.LoadSearchParameters = function () {

        var sp = new SearchParameters();

        sp.PointOfSale = CurrentPointOfSale;
        sp.IsRoundTrip = !$("#rdoSomenteIda").attr("checked");

        sp.Origin = $("#txtOrigem").val().replaceAll("(", "--").replaceAll(")", "---");
        sp.Destination = $("#txtDestino").val().replaceAll("(", "--").replaceAll(")", "---");

        // Somamos 2 horas nas datas do request pois o fuso tira uma hora
        var dataIda = $("#txtDataIda").val();

        sp.Dates.push(StringToDateValues(dataIda));

        var dataVolta = $("#txtDataVolta").val();
        if (dataVolta)
            sp.Dates.push(StringToDateValues(dataVolta));

        // CONSISTE O FORMATO DA DATA DE IDA
        if (!isValidDate($("#txtDataIda").val(), "d/m/y")) {
            alert('A data de ida é inválida');
            return;
        }

        if (dataVolta) {
            // CONSISTE O FORMATO DA DATA DE VOLTA
            if (!isValidDate($("#txtDataVolta").val(), "d/m/y")) {
                alert('A data de volta é inválida');
                return;
            }
        }

        var cmpDataIda = '', cmpDataVolta = '';

        if (dataIda == '') { // Nao tem data preenchida
            alert("Preencha a data da viagem.");
            return;
        }
        if (sp.Dates.length > 1) { // RoundTrip
            cmpDataIda = sp.Dates[0].Year + '' + sp.Dates[0].Month + '' + sp.Dates[0].Day;
            cmpDataVolta = sp.Dates[1].Year + '' + sp.Dates[1].Month + '' + sp.Dates[1].Day;

            if (cmpDataVolta != "" && parseInt(cmpDataVolta) < parseInt(cmpDataIda)) {
                alert("Preencha a data de volta maior que a Data de ida.");
                return;
            }

        }
        if (sp.IsRoundTrip) {
            if (dataVolta == '') {
                alert("Preencha a data de volta.");
                return;
            }
        }

        sp.Adult = $("#drpQtdADT").val();
        sp.Children = $("#drpQtdCHD").val();
        sp.Baby = $("#drpQtdINF").val();

        if ((sp.Adult + sp.Children) < sp.Baby) {
            alert('A quantidade de bebês não pode exceder a quantidade total de adultos e crianças');
            return;
        }

        if ($("#drpCia").val().indexOf(",") >= 0)
            sp.CiaCodeList = $("#drpCia").val().split(",");
        else
            sp.CiaCodeList.push($("#drpCia").val());

        sp.CabinFilter = $("#selCabin").val();
        sp.NonStop = $("#chkSemParada").attr("checked");

        sp.StartTimeOut = $("#drpStartTime").val();
        sp.EndTimeOut = $("#drpStartTime").val();

        sp.StartTimeIn = $("#drpEndTime").val();
        sp.EndTimeIn = $("#drpEndTime").val();

        return sp;
    }


    this.searchFlights_old = function () {
        var searchParameter = thisView.LoadSearchParameters();

        if (searchParameter.Origin.length > 2 && searchParameter.Destination.length > 2) {

            var FormBuscaIata = window.document.getElementById("frmBuscaIata");
            var path = FormBuscaIata.action;
            FormBuscaIata.action += searchParameter.GetQueryString();
            FormBuscaIata.submit();
            FormBuscaIata.action = path;
        }
        else if (!searchParameter.IsValidPassengerQuantity()) {
            alert("Algumas companhias aéreas não permitem a compra acima de 9 passagens em um mesmo pedido. Favor adquirir as passagens em dois pedidos diferentes ou entrar em contato com a Central de Vendas pelo telefone 4003-9888.");
            $("#drpQtdADT").val(1);
            $("#drpQtdCHD").val(0);
            $("#drpQtdINF").val(0);
        }
        else if (!searchParameter.IsValidRequest()) {
            alert("Por favor preencha com informações validas as informações para efetuar sua pesquisa");
        }
    }

    this.searchFlights = function () {
        var searchParameter = thisView.LoadSearchParameters();

        if (!searchParameter.IsValidRequest()) {
            alert("Por favor preencha com informações validas as informações para efetuar sua pesquisa");
        }else if (!searchParameter.IsValidPassengerQuantity()) {
            alert("Algumas companhias aéreas não permitem a compra acima de 9 passagens em um mesmo pedido. Favor adquirir as passagens em dois pedidos diferentes ou entrar em contato com a Central de Vendas pelo telefone 4003-9888.");
            $("#drpQtdADT").val(1);
            $("#drpQtdCHD").val(0);
            $("#drpQtdINF").val(0);
        }
        else {
            var FormBuscaIata = window.document.getElementById("frmBuscaIata");
            var path = FormBuscaIata.action;
            FormBuscaIata.action += searchParameter.GetQueryString();
            FormBuscaIata.submit();
            FormBuscaIata.action = path;
        }
    }

    this.PassengerQuantityValidation = function () 
    {
        if (! (new SearchParameters()).IsValidPassengerQuantity()) 
        {
            alert("Algumas companhias aéreas não permitem a compra acima de 9 passagens em um mesmo pedido. Favor adquirir as passagens em dois pedidos diferentes ou entrar em contato com a Central de Vendas pelo telefone 4003-9888.");
            $("#drpQtdADT").val(1);
            $("#drpQtdCHD").val(0);
            $("#drpQtdINF").val(0);
        }
    }


    this.ApplyInBoundCalendarMinDate = function () {

        $("#txtDataVolta").datepicker("option", "minDate", $("#txtDataIda").datepicker("getDate"));

    }


}

