﻿var prefixoControlesAH = "";

// Variaveis Calendario
var CalS = "";
var CalE = "";

// Variaveis PESQ INC
var divPesqIncOrigemAH = null;
var divAguardePesquisaOrigemAH = null;
var divSemResultadoOrigemAH = null;
var divNumeroCaracteresOrigemAH = null;
var divPesqIncDestinoAH = null;
var divAguardePesquisaDestinoAH = null;
var divSemResultadoDestinoAH = null;
var divNumeroCaracteresDestinoAH = null;

// Variavel validacao data minima para CheckIn
var horasCheckIn = 0;
var hourChekinHotel = 0;

function InicializaVariaveisMotorAH(prefixo, horas, hourChekin, calendarioS, calendarioE) {
    prefixoControlesAH = prefixo;
    horasCheckIn = horas;    
    hourChekinHotel = hourChekin;
    
    // Inicialica variaveis Calendario
    CalS = calendarioS;
    CalE = calendarioE;

    // Inicializa variaveis PESQ INC ORIGEM
    divPesqIncOrigemAH = document.getElementById(prefixoControlesAH + "divAutoCompleteOrigemAH");
    divAguardePesquisaOrigemAH = document.getElementById("divAguardePesquisaOrigemAH");
    divSemResultadoOrigemAH = document.getElementById("divSemResultadoOrigemAH");
    divNumeroCaracteresOrigemAH = document.getElementById("divNumeroCaracteresOrigemAH");

    // Inicializa variaveis PESQ INC DESTINO
    divPesqIncDestinoAH = document.getElementById(prefixoControlesAH + "divAutoCompleteDestinoAH");
    divAguardePesquisaDestinoAH = document.getElementById("divAguardePesquisaDestinoAH");
    divSemResultadoDestinoAH = document.getElementById("divSemResultadoDestinoAH");
    divNumeroCaracteresDestinoAH = document.getElementById("divNumeroCaracteresDestinoAH");
    
    if ($("#" + prefixoControlesAH + "rdSomenteIdaAH").is(":checked")){
        somenteIdaHomeSubAH();
    }
    
    if ($("#" + prefixoControlesAH + "chkOutrasDatas").is(":checked")){
        $("#div-outras-datas-ah").css("display", "");
    }
}

function DigitacaoPesqIncOrigemAH(ev, campo) {
    try {
        tecla = ev.keyCode || ev.which;
        if (tecla == 13) {
            //Usuário pressionou enter para escolha do PesqInc
            OcultaMensagensOrigemAH();
            return;
        }

        if (campo.value.length == 0) {
            OcultaMensagensOrigemAH();
        }
        else if (campo.value.length < 3) {
            divAguardePesquisaOrigemAH.style.display = "none";
            divSemResultadoOrigemAH.style.display = "none";
            divPesqIncOrigemAH.style.display = "none";
            divNumeroCaracteresOrigemAH.style.display = "block";
        }
        else {
            divNumeroCaracteresOrigemAH.style.display = "none";
            divSemResultadoOrigemAH.style.display = "none";
        }
    }
    catch (err) { }
}

function DigitacaoPesqIncDestinoAH(ev, campo) {
    try {
        tecla = ev.keyCode || ev.which;
        if (tecla == 13) {
            //Usuário pressionou enter para escolha do PesqInc
            OcultaMensagensDestinoAH();
            return;
        }

        if (campo.value.length == 0) {
            OcultaMensagensDestinoAH();
        }
        else if (campo.value.length < 3) {
            divAguardePesquisaDestinoAH.style.display = "none";
            divSemResultadoDestinoAH.style.display = "none";
            divPesqIncDestinoAH.style.display = "none";
            divNumeroCaracteresDestinoAH.style.display = "block";
        }
        else {
            divNumeroCaracteresDestinoAH.style.display = "none";
            divSemResultadoDestinoAH.style.display = "none";
        }
    }
    catch (err) { }
}

function OcultaMensagensOrigemAH() {
    if (divNumeroCaracteresOrigemAH != null) divNumeroCaracteresOrigemAH.style.display = "none";
    if (divAguardePesquisaOrigemAH != null) divAguardePesquisaOrigemAH.style.display = "none";
    if (divSemResultadoOrigemAH != null) divSemResultadoOrigemAH.style.display = "none";
    if (divPesqIncOrigemAH != null) divPesqIncOrigemAH.style.display = "none";
}

function OcultaMensagensDestinoAH() {
    if (divNumeroCaracteresOrigemAH != null) divNumeroCaracteresDestinoAH.style.display = "none";
    if (divAguardePesquisaOrigemAH != null) divAguardePesquisaDestinoAH.style.display = "none";
    if (divSemResultadoOrigemAH != null) divSemResultadoDestinoAH.style.display = "none";
    if (divPesqIncOrigemAH != null) divPesqIncDestinoAH.style.display = "none";
}

function ClientShownOrigemAH(source, eventArgs) {
    var list = source.get_completionList();
    if (list.childNodes.length == 1 && list.childNodes[0]._value.indexOf("Nenhum resultado") >= 0) {
        //divPesqIncOrigemAH.style.display = "none";
        divSemResultadoOrigemAH.innerText = list.childNodes[0]._value;
        divSemResultadoOrigemAH.style.display = "block";
    }
    else {
        divSemResultadoOrigemAH.style.display = "none";
        divPesqIncOrigemAH.style.display = "block";
    }
}

function ClientShownDestinoAH(source, eventArgs) {
    var list = source.get_completionList();
    if (list.childNodes.length == 1 && list.childNodes[0]._value.indexOf("Nenhum resultado") >= 0) {
        divSemResultadoDestinoAH.innerText = list.childNodes[0]._value;
        divSemResultadoDestinoAH.style.display = "block";
    }
    else {
        divSemResultadoDestinoAH.style.display = "none";
        divPesqIncDestinoAH.style.display = "block";
    }
}

function MostraPesquisaAvancadaAH(botaoPesquisaId) {
    document.getElementById("divBuscaAvancadaAH").style.display = (document.getElementById("divBuscaAvancadaAH").style.display == 'none' ? '' : 'none');
    document.getElementById(botaoPesquisaId).style.display = (document.getElementById("divBuscaAvancadaAH").style.display == 'none' ? '' : 'none');
}

function ExibirQuartosAH() {
    var ddlQtdeQuarto = document.getElementById(prefixoControlesAH + "ddlQtdeQuartoAHotel");
    if (ddlQtdeQuarto != null) {
        var qtdeItens = ddlQtdeQuarto.options.length;
        var qtdeQuartos = ddlQtdeQuarto.value;
        for (var i = 1; i <= qtdeItens; i++) {
            display = (i <= qtdeQuartos ? "" : "none");
            document.getElementById("lblQuartoAHotel" + i).style.display = display;
            document.getElementById(prefixoControlesAH + "ddlQtdeCriancaAHotel" + i).style.display = display;
            ExibirIdadeCriancaAH(document.getElementById(prefixoControlesAH + "ddlQtdeCriancaAHotel" + i), i);
        }
    }
}

function ExibirIdadeCriancaAH(ctrl, quarto) 
{
    var qtdMaxDdlCriancaPorQuarto = 3;
    var qtdCriancaNoQuarto = ctrl.value;
    
    for (var i = 0; i < qtdMaxDdlCriancaPorQuarto; i++) 
    {   
        var select = document.getElementById(prefixoControlesAH + 'ddlIdadeCriancaAHotel' + (i+1) + 'Quarto' + quarto);
                                              
        if (ctrl.style.display == 'none') 
        {
            if (select == null) 
                break;
            
            select.style.display = 'none';
            continue;
        }

        if (select != null) 
        {
            if (i < qtdCriancaNoQuarto) 
                select.style.display = '';
            else 
                select.style.display = 'none';
        }
    }

    MostraLabelIdadeCrianca();
}


function MostraLabelIdadeCrianca() 
{
    var label = document.getElementById('divIdadeCrianca');
    var qtdCriancaQuarto1 = document.getElementById(prefixoControlesAH + 'ddlQtdeCriancaAHotel1');
    var qtdCriancaQuarto2 = document.getElementById(prefixoControlesAH + 'ddlQtdeCriancaAHotel2');
    var qtdCriancaQuarto3 = document.getElementById(prefixoControlesAH + 'ddlQtdeCriancaAHotel3');
    var temCrianca = false;

    temCrianca = qtdCriancaQuarto1.style.display != 'none' && qtdCriancaQuarto1.value > 0
              || qtdCriancaQuarto2.style.display != 'none' && qtdCriancaQuarto2.value > 0
              || qtdCriancaQuarto3.style.display != 'none' && qtdCriancaQuarto3.value > 0;

    if (temCrianca)
        label.style.display = '';
    else
        label.style.display = 'none';
}

function MontarParametrosAH() 
{
    var retAdulto = '';
    var retCrianca = '';
    var retCriancaIdade = '';

    var qtdMaxQuartos = 3;
    var qtdMaxDdlCriancaPorQuarto = 3;

    for (var j = 1; j <= qtdMaxQuartos; j++) {
        var lblQuartoHotel = document.getElementById('lblQuartoAHotel' + j);
        var selectAdulto = document.getElementById(prefixoControlesAH + 'ddlQtdeAdultoAHotel' + j);
        var selectCrianca = document.getElementById(prefixoControlesAH + 'ddlQtdeCriancaAHotel' + j);

        if (lblQuartoHotel.style.display != 'none')
            retAdulto += selectAdulto.value + ',';

        if (selectCrianca.style.display != 'none') {
            retCrianca += selectCrianca.value + ',';

            if (selectCrianca.value == '0') {
                retCriancaIdade = retCriancaIdade.substring(0, retCriancaIdade.length - 1);
                if (retCriancaIdade == '') retCriancaIdade = ' ,';
                else retCriancaIdade += '; ,';
            }
        }

        for (var i = 1; i <= qtdMaxDdlCriancaPorQuarto; i++) {
            var selectCriancaIdade = document.getElementById(prefixoControlesAH + 'ddlIdadeCriancaAHotel' + i + 'Quarto' + j);

            if (selectCriancaIdade == null) continue;
            if (selectCriancaIdade.style.display == 'none') continue;

            if (j == 2 || j == 3) {
                if (i == 1) {
                    retCriancaIdade = retCriancaIdade.substring(0, retCriancaIdade.length - 1);
                    retCriancaIdade += ';';
                }
            }

            retCriancaIdade += selectCriancaIdade.value + ',';
        }
    }

    var hiddenAdt = document.getElementById(prefixoControlesAH + 'hiddenAdulto');
    var hiddenChd = document.getElementById(prefixoControlesAH + 'hiddenCrianca');
    var hiddenAgeChd = document.getElementById(prefixoControlesAH + 'hiddenIdadeCrianca');

    retAdulto = retAdulto.substring(0, retAdulto.length - 1);
    retCrianca = retCrianca.substring(0, retCrianca.length - 1);
    retCriancaIdade = retCriancaIdade.substring(0, retCriancaIdade.length - 1);
    if (retCriancaIdade==" ") retCriancaIdade="";

    hiddenAdt.value = retAdulto;
    hiddenChd.value = retCrianca;
    hiddenAgeChd.value = retCriancaIdade;
}     

function CallValidaMotorAH(source, arguments) {
    arguments.IsValid = ValidaMotorAH();
}

function ValidaMotorAH() {
    try {
        var txtCidadeOrigem = document.getElementById(prefixoControlesAH + "txtCidadeOrigemAH");
        if (txtCidadeOrigem.value.length < 3) {
            alert("Preencha o campo Origem e tente novamente.");
            txtCidadeOrigem.focus();
            return false;
        }

        var txtCidadeDestino = document.getElementById(prefixoControlesAH + "txtCidadeDestinoAH");
        if (txtCidadeDestino.value.length < 3) {
            alert("Preencha o campo Destino e tente novamente.");
            txtCidadeDestino.focus();
            return false;
        }

        if (txtCidadeOrigem.value == txtCidadeDestino.value) {
            alert("O campo Origem deve ser diferente do campo Destino.");
            txtCidadeDestino.focus();
            return false;
        }

        var txtDataIda = document.getElementById(prefixoControlesAH + "txtDataIdaAH");
        if (txtDataIda.value.length < 8) {
            alert("Preencha a Data de Ida e tente novamente.");
            txtDataIda.focus();
            return false;
        }
        else if (!IsDate(txtDataIda.value)) {
            alert("Digite uma Data de Ida válida e tente novamente.");
            txtDataIda.focus();
            return false;
        }

        if (!$('#' + prefixoControlesAH + 'rdSomenteIdaAH').is(":checked")) {
            var txtDataVolta = document.getElementById(prefixoControlesAH + "txtDataVoltaAH");
            if (txtDataVolta.value.length < 8) {
                alert("Preencha a Data de Volta e tente novamente.");
                txtDataVolta.focus();
                return false;
            }
            else if (!IsDate(txtDataVolta.value)) {
                alert("Digite uma Data de Volta válida e tente novamente.");
                txtDataVolta.focus();
                return false;
            }
            else if (RetornaData(txtDataIda.value) >= RetornaData(txtDataVolta.value)) {
                alert("Data de Volta deve ser MAIOR que a Data de Ida.");
                txtDataVolta.focus();
                return false;
            }
            else {
                dataIda = RetornaData(txtDataIda.value);
                dataIda.setDate(dataIda.getDate() + 30);

                if (dataIda <= RetornaData(txtDataVolta.value)) {
                    alert("Período muito extenso para busca, diminua para menos que 30 dias e tente novamente.");
                    txtDataVolta.focus();
                    return false;
                }
            }
        }
        
        if (document.getElementById(prefixoControlesAH + "chkOutroDestino").checked) {
            if (parseInt(document.getElementById(prefixoControlesAH + "txtCidadeDestinoAHotel").value.length) == 0) {
                alert('O campo "Cidade do seu Hotel" deve ser preenchido.');
                document.getElementById(prefixoControlesAH + "txtCidadeDestinoAHotel").focus();
                return false;
            }
        }

        if (document.getElementById(prefixoControlesAH + "chkOutrasDatas").checked) {
            if (!IsDate(document.getElementById(prefixoControlesAH + "txtDataIdaAHotel").value) || document.getElementById(prefixoControlesAH + "txtDataIdaAHotel").value.length == 0) {
                alert('O campo "Data de chegada" não foi preenchido ou a data é inválida.');
                document.getElementById(prefixoControlesAH + "txtDataIdaAHotel").focus();
                return false;
            }
            else if (!IsDate(document.getElementById(prefixoControlesAH + "txtDataVoltaAHotel").value) || document.getElementById(prefixoControlesAH + "txtDataVoltaAHotel").value.length == 0) {
                alert('O campo "Data de Saída" não foi preenchido ou a data é inválida.');
                document.getElementById(prefixoControlesAH + "txtDataVoltaAHotel").focus();
                return false;
            }
            else if (RetornaData(document.getElementById(prefixoControlesAH + "txtDataIdaAHotel").value) >= RetornaData(document.getElementById(prefixoControlesAH + "txtDataVoltaAHotel").value)) {
                alert("Data de Volta deve ser MAIOR que a Data de Ida.");
                txtDataVolta.focus();
                return false;
            }
            else {
                dataIda = RetornaData(document.getElementById(prefixoControlesAH + "txtDataIdaAHotel").value);
                dataIda.setDate(dataIda.getDate() + 30);

                if (dataIda <= RetornaData(document.getElementById(prefixoControlesAH + "txtDataVoltaAHotel").value)) {
                    alert("Período muito extenso para busca, diminua para menos que 30 dias e tente novamente.");
                    document.getElementById(prefixoControlesAH + "txtDataVoltaAHotel").focus();
                    return false;
                }
            }
        }     
        
        MontarParametrosAH();
           
        return true;
    }
    catch (ex) {
        alert(ex.message);
        return false;
    }
}

function RetornaData(data) {
    arrData = data.split("/", 3);
    data = new Date(arrData[2], (arrData[1] - 1), arrData[0], 0, 0, 0);
    return data;
}

if (typeof (Sys) !== "undefined") Sys.Application.notifyScriptLoaded();

function ValidaAHSubQuantidadeINF(nomeDdl1, nomeDdl2, numQuarto) {

    var objAdt = document.getElementById(prefixoControlesAH + nomeDdl1);
    var objInf = document.getElementById(prefixoControlesAH + nomeDdl2);

    var indiceAdt = objAdt.selectedIndex, indiceInf = objInf.selectedIndex;

    if (parseInt(objInf.options[indiceInf].value) > parseInt(objAdt.options[indiceAdt].value)) {
        objInf.selectedIndex = 0;
        alert("Só é permitido o máximo de um bebê para cada adulto no " + numQuarto);
    }
}

function idaVoltaHomeSubAH() {
    if ($("#" + prefixoControlesAH + "rdIdaVoltaAH").is(':checked')) {
        $("#divDataVolta").show("fast");
        $("#" + prefixoControlesAH + "chkOutrasDatas").removeAttr("disabled");
        $("#" + prefixoControlesAH + "chkOutrasDatas").removeAttr("checked");
        ShowDiv('#div-outras-datas-ah');
    }
}

function somenteIdaHomeSubAH() {
    if ($("#" + prefixoControlesAH + "rdSomenteIdaAH").is(':checked')) {
        $("#" + prefixoControlesAH + "txtDataVoltaAH").val('');
        $("#divDataVolta").hide("fast");

        $("#" + prefixoControlesAH + "chkOutrasDatas").attr("disabled", "disable");
        
        if (!$("#" + prefixoControlesAH + "chkOutrasDatas").is(':checked')) {
            ShowDiv('#div-outras-datas-ah');
            $("#" + prefixoControlesAH + "chkOutrasDatas").attr('checked', 'checked');

        }
    }
}

this.ShowDiv = function(ctrl) {
    var div = $(ctrl);
    if (div.is(":hidden"))
        div.show("fast");
    else
        div.hide("fast");
}
