﻿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";;
            }
        }
    }
    
    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 = prfMotorHoteis + "liQ";

        for (var i = 2; i <= 3; i++){
            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++){
            document.getElementById(strObjName + i.toString() + "a").style.display = "";
            document.getElementById(strObjName + i.toString() + "c").style.display = "";
        }
    }
}

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(campo, offsetLeft, offsetTop)
{
    if (event.keyCode == 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="none";
        }
    }
}

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";
    }
}
