﻿var result = true;

function ValidaMotorHoteis(source, arguments){
    var result = true;

    if ( ! VerificaVazio(document.getElementById(prfMotorHoteis + "txtDestino")) )
    {
	    alert('O campo "Cidade - Pais" deve ser preenchido.');
	    document.getElementById(prfMotorHoteis + "txtDestino").focus();
	    result = false;
    }
    else if ( ! VerificaVazio(document.getElementById(prfMotorHoteis + "txtCheckIn")) )
    {
	    alert('Data de Check-In deve ser preenchida.');
	    document.getElementById(prfMotorHoteis + "txtCheckIn").focus();
	    result = false;
    }
    else if (! IsDate(document.getElementById(prfMotorHoteis + "txtCheckIn").value) ) 
    {
	    alert('Data de Check-In Inválida');
	    document.getElementById(prfMotorHoteis + "txtCheckIn").focus();
	    result = false;
    }
    else if (! VerificaVazio(document.getElementById(prfMotorHoteis + "txtCheckOut")) )
    {
	    alert('Data de Check-Out deve ser preenchida.');
	    document.getElementById(prfMotorHoteis + "txtCheckOut").focus();
	    result = false;
    }
    else if (! IsDate(document.getElementById(prfMotorHoteis + "txtCheckOut").value) )
    {
	    alert('Data de Check-Out Inválida');
	    document.getElementById(prfMotorHoteis + "txtCheckIn").focus();
	    result = false;
    }

    if (arguments != null)
        arguments.IsValid = result;

    if (prfMasterPricer != ""){
        if (document.getElementById(prfMasterPricer + "hdnIsPostBack") != null){
            if (document.getElementById(prfMasterPricer + "hdnIsPostBack").value != "-1")
            {
                document.getElementById(prfMasterPricer + "hdnIsPostBack").value = (result) ? "1" : "0";;
            }
        }
    }

    if (result == true)
        MontarParametros();
    
    return result;
}

function ZerarMotorHoteis(p_strValor)
{
    if (document.getElementById(prfMasterPricer + "hdnIsPostBack") != null) document.getElementById(prfMasterPricer + "hdnIsPostBack").value = p_strValor;
}

function ExibirQuartos()
{
    var p_objDdlNQuartos = document.getElementById(prfMotorHoteis + "ddlNQuartos");

    if (p_objDdlNQuartos != null){
        var strObjName = prfMasterPricer + "liQ";

        for (var i = 2; i <= 3; i++){
            if (document.getElementById("liQ" + i.toString()))
                document.getElementById("liQ" + i.toString()).style.display = "none";
            
            else if (document.getElementById(strObjName + i.toString() + "a"))
            {
                document.getElementById(strObjName + i.toString() + "a").style.display = "none";
                document.getElementById(strObjName + i.toString() + "c").style.display = "none";
            }
        }

        for (i = 2; i <= p_objDdlNQuartos.value; i++){
            if (document.getElementById(strObjName + i.toString()))
                document.getElementById(strObjName + i.toString()).style.display = "block";
            
            else if (document.getElementById(strObjName + i.toString() + "a"))
            {
                document.getElementById(strObjName + i.toString() + "a").style.display = "block";
                document.getElementById(strObjName + i.toString() + "c").style.display = "block";
            }
        }
    }
}


function ExibirQuartosHoteisShop() {
    var p_objDdlNQuartos = document.getElementById(prfMotorHoteis + "ddlNQuartos");
    
    if (p_objDdlNQuartos != null) 
    {
        var strObjName = prfMasterPricer + "liQ";
        var strDdlQuarto = prfMotorHoteis + "ddlQuarto";

        for (var i = 2; i <= p_objDdlNQuartos.options.length; i++) 
        {
            display = (i <= p_objDdlNQuartos.value ? "" : "none");
            document.getElementById(strObjName + + i.toString() + "a").style.display = display;
            document.getElementById(strObjName + + i.toString() + "c").style.display = display;
            
            ExibirIdadeCrianca(document.getElementById(strObjName + i.toString() + 'c'),
                               document.getElementById(strDdlQuarto + i.toString() + 'c').value, i);
        }
    }
    
}

function ExibirQuartosHoteisAcom() {
    var p_objDdlNQuartos = document.getElementById(prfMotorHoteis + "ddlNQuartos");

    if (p_objDdlNQuartos != null) {
        var strObjName = prfMasterPricer + "liQ";
        var strDdlQuarto = prfMotorHoteis + "ddlQuarto";

        for (var i = 2; i <= p_objDdlNQuartos.options.length; i++) 
        {
            display = (i <= p_objDdlNQuartos.value ? "" : "none");
            document.getElementById(strObjName + +i.toString()).style.display = display;
            
            ExibirIdadeCrianca(document.getElementById(strObjName + i.toString())
                              ,document.getElementById(strDdlQuarto + i.toString() + 'c').value
                              ,i);
        }
    }
    
}


    function ExibirIdadeCrianca(ctrl, qtdCriancaNoQuarto, quarto) 
    {
        var qtdMaxDdlCriancaPorQuarto = 3;
        
        for (var i = 0; i < qtdMaxDdlCriancaPorQuarto; i++) 
        {
            var select = document.getElementById(prfMotorHoteis + 'ddlIdadeCrianca' + (i + 1) + 'Quarto' + quarto);
                                                  
            if (ctrl.style.display == 'none') 
            {
                if (select == null) 
                    break;
                
                select.style.display = 'none';
                continue;
            }

            if (select != null) 
            {
                if (i < parseInt(qtdCriancaNoQuarto)) 
                    select.style.display = '';
                else 
                    select.style.display = 'none';
            }
        }

        MostraLabelIdadeCrianca();
    }

    
    function MostraLabelIdadeCrianca() 
    {
        var label = document.getElementById('divIdadeCrianca');
        var qtdCriancaQuarto1 = document.getElementById(prfMotorHoteis + 'ddlQuarto1c');
        var qtdCriancaQuarto2 = document.getElementById(prfMotorHoteis + 'ddlQuarto2c');
        var qtdCriancaQuarto3 = document.getElementById(prfMotorHoteis + 'ddlQuarto3c');
        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 MontarParametros()
    {
        var retAdulto = '';
        var retCrianca = '';
        var retCriancaIdade = '';
        var prfDdlQrt = prfMotorHoteis + 'ddlQuarto';
        
        var qtdMaxQuartos = 3;
        var qtdMaxDdlCriancaPorQuarto = 3;

        for (var j = 1; j <= qtdMaxQuartos; j++) 
        {            
            if (document.getElementById("liQ" + j.toString())) {
                if (document.getElementById('liQ' + j).style.display != 'none') {
                    retAdulto += document.getElementById(prfDdlQrt + j.toString() + 'a').value + ',';
                    retCrianca += document.getElementById(prfDdlQrt + j.toString() + 'c').value + ',';
                }
            }
            else {
                if (document.getElementById('liQ' + j.toString() + 'a').style.display != 'none')
                    retAdulto += document.getElementById(prfDdlQrt + j.toString() + 'a').value + ',';

                if (document.getElementById('liQ' + j.toString() + 'c').style.display != 'none')
                    retCrianca += document.getElementById(prfDdlQrt + j.toString() + 'c').value + ',';
            }
            
            for (var i = 1; i <= qtdMaxDdlCriancaPorQuarto; i++) 
            {
                var selectCriancaIdade = document.getElementById(prfMotorHoteis + 'ddlIdadeCrianca' + 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(prfMotorHoteis + 'hiddenAdulto');
        var hiddenChd = document.getElementById(prfMotorHoteis + 'hiddenCrianca');
        var hiddenAgeChd = document.getElementById(prfMotorHoteis + 'hiddenIdadeCrianca');
        
        retAdulto = retAdulto.substring(0, retAdulto.length-1);
        retCrianca = retCrianca.substring(0, retCrianca.length-1);
        retCriancaIdade = retCriancaIdade.substring(0, retCriancaIdade.length-1);
        
        hiddenAdt.value = retAdulto;
        hiddenChd.value = retCrianca;
        hiddenAgeChd.value = retCriancaIdade;
    }


var prfMotorHoteis = "";
var prfPescIncHotel = "";
var prfMasterPricer = "";
var completerHotel = "divAutoCompleteHotel"; 
var objArrayPositionHotel = null;
var objPesqInc = null;
var prfListaCidades = "";
var quantidadeItens = 0;
var objCidadeDestino = null;
var offsetL = 0;
var offsetT = 0;

function InicializaVariaveis(prefixoCidade, prefixoPesqInc, prefixoListaCidades, quantidadeCidades) {
    prfMotorHoteis = prefixoCidade;
    prfPescIncHotel = prefixoPesqInc;
    prfListaCidades = prefixoListaCidades;
    quantidadeItens = quantidadeCidades;
    
    objCidadeDestino = document.getElementById(prefixoCidade + "txtDestino");
    objPesqInc =document.getElementById(prefixoPesqInc + "divAutoCompleteHotel"); 
    
}

function MostrarNomeCidade()
{
    var cidade;
    
    for (var item = 0; item < quantidadeItens; item++)
    {
        cidade = document.getElementById(prfListaCidades + 'rblCidadesMaisProcuradas_' + item);
        if (cidade)
        {
            if (cidade.checked)
            {
                if (objCidadeDestino)
                {
                    objCidadeDestino.value = cidade.value;
                }
            }
        }
    }
}

function DigitacaoPesqIncHotel(ev, campo, offsetLeft, offsetTop)
{   
    var tecla = ev.keyCode || ev.which;
    if (tecla == 13) 
    {
        //Usuário pressionou enter para escolha do PesqInc
        OcultaMensagensHotel();
        return;
    }
    
    offsetL = offsetLeft;
    offsetT = offsetTop;
    
    objArrayPositionHotel = positionedOffset(campo);    
    if (campo.value.length == 0)
    {
        OcultaMensagensHotel();
    }
    else if (campo.value.length < 3)
    {    
        document.getElementById("divAguardePesquisa").style.display="none";
        document.getElementById("divSemResultado").style.display="none";     
        objPesqInc.style.display="none";

        PosicionarElementoHotel(document.getElementById("divNumeroCaracteres"), offsetLeft, offsetTop);
        document.getElementById("divNumeroCaracteres").style.display="block";
    }
    else
    {
        document.getElementById("divNumeroCaracteres").style.display="none";
        document.getElementById("divSemResultado").style.display="none";

        if (objPesqInc && objPesqInc.style.display=="none")
        {
            PosicionarElementoHotel(document.getElementById("divAguardePesquisa"), offsetLeft, offsetTop);
            document.getElementById("divAguardePesquisa").style.display="block";
        }
    }      
}

function PosicionarElementoHotel(elemento, offsetLeft, offsetTop)
{
    elemento.style.left = (objArrayPositionHotel[0] + offsetLeft).toString() + "px";
    elemento.style.top = (objArrayPositionHotel[1] + offsetTop).toString() + "px";
}

function OcultaMensagensHotel()
{
    if (document.getElementById("divNumeroCaracteres"))
        document.getElementById("divNumeroCaracteres").style.display="none";
    
    if (document.getElementById("divAguardePesquisa"))
        document.getElementById("divAguardePesquisa").style.display="none";
    
    if (document.getElementById("divSemResultado"))
        document.getElementById("divSemResultado").style.display="none";
        
    if (objPesqInc)
        objPesqInc.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)
    {
        if (document.getElementById("divSemResultado"))
        {
            document.getElementById("divSemResultado").innerText = list.childNodes[0]._value;
            PosicionarElementoHotel(document.getElementById("divSemResultado"), offsetL, offsetT);
            document.getElementById("divSemResultado").style.display="block";
        }

        if (document.getElementById(prfPescIncHotel + completerHotel))
            document.getElementById(prfPescIncHotel + completerHotel).style.display="none";
    }
    else
    {
        if (document.getElementById("divSemResultado"))
            document.getElementById("divSemResultado").style.display="none";
        if (document.getElementById(prfMotorHoteis +  'divAutoCompleteHotel'))
            document.getElementById(prfMotorHoteis + 'divAutoCompleteHotel').style.display="block";
    }
}

if (typeof (Sys) !== "undefined") Sys.Application.notifyScriptLoaded();
