﻿var prefixoControlesHotel = "";

// Variaveis Calendario
var CalS = "";
var CalE = "";

// Variaveis PESQ INC
var divPesqIncHotel = null;
var divAguardePesquisaHotel = null;
var divSemResultadoHotel = null;
var divNumeroCaracteresHotel = null;

// Variavel validacao data minima para CheckIn
var horasCheckIn = 0;

function InicializaVariaveisMotorHotel(prefixo, horas, calendarioS, calendarioE) {
    prefixoControlesHotel = prefixo;
    horasCheckIn = horas;

    // Inicialica variaveis Calendario
    CalS = calendarioS;
    CalE = calendarioE;

    // Inicializa variaveis PESQ INC
    divPesqIncHotel = document.getElementById(prefixoControlesHotel + "divAutoCompleteHotel");
    divAguardePesquisaHotel = document.getElementById("divAguardePesquisaHotel");
    divSemResultadoHotel = document.getElementById("divSemResultadoHotel");
    divNumeroCaracteresHotel = document.getElementById("divNumeroCaracteresHotel");
}

function DigitacaoPesqIncHotel(ev, campo) {
    try {
        tecla = ev.keyCode || ev.which;
        if (tecla == 13) {
            //Usuário pressionou enter para escolha do PesqInc
            OcultaMensagensHotel();
            return;
        }

        if (campo.value.length == 0) {
            OcultaMensagensHotel();
        }
        else if (campo.value.length < 3) {
            divAguardePesquisaHotel.style.display = "none";
            divSemResultadoHotel.style.display = "none";
            divPesqIncHotel.style.display = "none";
            divNumeroCaracteresHotel.style.display = "block";
        }
        else {
            divNumeroCaracteresHotel.style.display = "none";
            divSemResultadoHotel.style.display = "none";
        }
    }
    catch (err) { }
}

function OcultaMensagensHotel() {
    divNumeroCaracteresHotel.style.display = "none";
    divAguardePesquisaHotel.style.display = "none";
    divSemResultadoHotel.style.display = "none";
    divPesqIncHotel.style.display = "none";
}

function ClientShownHotel(source, eventArgs) {
    var list = source.get_completionList();

    if (list.childNodes.length == 1 && list.childNodes[0]._value.indexOf("Nenhum resultado") >= 0) {
        divSemResultadoHotel.innerText = list.childNodes[0]._value;
        divSemResultadoHotel.style.display = "block";
    }
    else {
        divSemResultadoHotel.style.display = "none";
        divPesqIncHotel.style.display = "block";

        CriaIframe(list);
    }
}

function ExibirQuartosHotel() {
    var ddlQtdeQuarto = document.getElementById(prefixoControlesHotel + "ddlQtdeQuartoHotel");
    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("lblQuartoHotel" + i).style.display = display;
            document.getElementById(prefixoControlesHotel + "ddlQtdeCriancaHotel" + i).style.display = display;
            ExibirIdadeCrianca(document.getElementById(prefixo + "ddlQtdeCriancaHotel" + i), i);
        }
    }
}

function CallValidaMotorHotel(source, arguments) {
    arguments.IsValid = ValidaMotorHotel();
}

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 RedirectHotel_NovoLayout() {

    if (ValidaMotorHotel()) {
        var url = "/NovoHotel/MasterPricer/Busca";
        url += '?Destino=' + document.getElementById(prefixoControlesHotel + "txtCidadeDestinoHotel").value;
        url += '&checkin=' + document.getElementById(prefixoControlesHotel + "txtDataIdaHotel").value;
        url += '&checkout=' + document.getElementById(prefixoControlesHotel + "txtDataVoltaHotel").value;
        url += '&numquartos=' + document.getElementById(prefixoControlesHotel + "ddlQtdeQuartoHotel").value;

        url += '&qtdpaxadt=' + document.getElementById(prefixoControlesHotel + "ddlQtdeAdultoHotel1").value + ","
                                + document.getElementById(prefixoControlesHotel + "ddlQtdeAdultoHotel2").value + ","
                                + document.getElementById(prefixoControlesHotel + "ddlQtdeAdultoHotel3").value + ",";

        url += '&qtdpaxchd=' + document.getElementById(prefixoControlesHotel + "ddlQtdeCriancaHotel1").value + ","
                                + document.getElementById(prefixoControlesHotel + "ddlQtdeCriancaHotel2").value + ","
                                + document.getElementById(prefixoControlesHotel + "ddlQtdeCriancaHotel3").value + ",";

        window.location = url;
    }
}

function ValidaMotorHotel() {
    try {

        var txtCidadeDestino = document.getElementById(prefixoControlesHotel + "txtCidadeDestinoHotel");
        if (txtCidadeDestino.value.length < 3) {
            alert("Preencha o campo Destino e tente novamente.");
            txtCidadeDestino.focus();
            return false;
        }

        var txtDataIda = document.getElementById(prefixoControlesHotel + "txtDataIdaHotel");
        if (txtDataIda.value.length < 8) {
            alert("Preencha a Data de Check in e tente novamente.");
            txtDataIda.focus();
            return false;
        }
        else if (!IsDate(txtDataIda.value)) {
            alert("Digite uma Data de Check in válida e tente novamente.");
            txtDataIda.focus();
            return false;
        }
        else if (horasCheckIn > 0) {
            // Valida data minima para se efetuar check-in conforme 
            // configuração no web.config
            dataAtual = new Date();
            dataAtual.setHours(dataAtual.getHours() + parseInt(horasCheckIn));

            //if (RetornaData(txtDataIda.value) <= dataAtual){
            //    alert("Data de Check in inválida. Inferior a " + horasCheckIn + " Horas.");
            //    txtDataIda.focus();
            //    return false;
            //}
        }

        var txtDataVolta = document.getElementById(prefixoControlesHotel + "txtDataVoltaHotel");
        if (txtDataVolta.value.length < 8) {
            alert("Preencha a Data de Check out e tente novamente.");
            txtDataVolta.focus();
            return false;
        }
        else if (!IsDate(txtDataVolta.value)) {
            alert("Digite uma Data de Check out válida e tente novamente.");
            txtDataVolta.focus();
            return false;
        }
        else if (RetornaData(txtDataIda.value) > RetornaData(txtDataVolta.value)) {
            alert("Data de Check out deve ser MAIOR que a Data de Check in.");
            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;
            }
        }

        MontarParametros();
        
        return true;
    }
    catch (ex) {
        alert(ex.message);
        return false;
    }
}
