﻿var prfMotorAereo = "";
var prfPescIncOrigem = "";
var prfPescIncDestino = "";
var prfMasterPricer = "";
var completerOrigem = "divAutoCompleteOrigem";
var completerDestino = "divAutoCompleteDestino";
var objArrayPositionAereo = null;
var objPesqIncOrigem = null;
var objPesqIncDestino = null;

var prfListaCidades = "";
var quantidadeItens = 0;
var objCidadeOrigem = null;
var objCidadeDestino = null;
var blnMasterpricer = true;
var offsetL = 0;
var offsetT = 0;
var nomeCampoPrinc = ""; 

function PosicionarElementoAereo(elemento) {
    elemento.style.left = (objArrayPositionAereo[0] + 6).toString() + "px";
    elemento.style.top = (objArrayPositionAereo[1] + 22).toString() + "px";
}

function desmarcaSomenteIda() {
    document.getElementById(prfMotorAereo + "chkSomenteIda").checked = false;
}

function somenteIda(p_objSomenteIda) {
    if (p_objSomenteIda.checked) {
        document.getElementById(prfMotorAereo + "txtDataVolta").value = "";
        document.getElementById("CalFrame").style.visibility = "hidden";
    }
}

function RetornaValidaMotorAereo(source, arguments) {
    var blnResult = true;

    if (blnResult && document.getElementById(prfMotorAereo + "txtOrigem").value.length < 3) {
        alert("Preencha o campo Origem e tente novamente.");
        document.getElementById(prfMotorAereo + "txtOrigem").focus();
        blnResult = false;
    }

    if (blnResult && document.getElementById(prfMotorAereo + "txtDestino").value.length < 3) {
        alert("Preencha o campo Destino e tente novamente.");
        document.getElementById(prfMotorAereo + "txtDestino").focus();
        blnResult = false;
    }

    if (blnResult && document.getElementById(prfMotorAereo + "txtOrigem").value == document.getElementById(prfMotorAereo + "txtDestino").value) {
        alert("O campo Origem deve ser diferente do campo Destino.");
        document.getElementById(prfMotorAereo + "txtDestino").focus();
        blnResult = false;
    }

    if (blnResult && document.getElementById(prfMotorAereo + "txtDataIda").value.length < 8) {
        alert("Preencha a Data de Ida e tente novamente.");
        document.getElementById(prfMotorAereo + "txtDataIda").focus();
        blnResult = false;
    }

    if (blnResult && !IsDate(document.getElementById(prfMotorAereo + "txtDataIda").value)) {
        alert("Digite uma Data de Ida válida e tente novamente.");
        document.getElementById(prfMotorAereo + "txtDataIda").focus();
        blnResult = false;
    }

    if (blnResult && document.getElementById(prfMotorAereo + "txtDataVolta").value.length < 8 &&
            !document.getElementById(prfMotorAereo + "chkSomenteIda").checked) {
        alert("Preencha a Data de Volta ou marque a opção Somente Ida para continuar.");
        document.getElementById(prfMotorAereo + "txtDataVolta").focus();
        blnResult = false;
    }

    if (blnResult && document.getElementById(prfMotorAereo + "txtDataVolta").value.length > 0) {
        if (!IsDate(document.getElementById(prfMotorAereo + "txtDataVolta").value)) {
            alert("Digite uma Data de Volta válida e tente novamente.");
            document.getElementById(prfMotorAereo + "txtDataVolta").focus();
            blnResult = false;
        }
    }

    return blnResult;
}

function MostrarPesquisaAvancada()
{
    document.getElementById("pesquisa_avAcom").style.display = "block";
}

function HabilitaDataVolta(prefixoControlesAereo)
{
    if (document.getElementById(prefixoControlesAereo + "txtDataVolta")) {
        if (document.getElementById(prefixoControlesAereo + "chkSomenteIda")) {
            document.getElementById(prefixoControlesAereo + "txtDataVolta").disabled = document.getElementById(prefixoControlesAereo + "chkSomenteIda").checked;
            document.getElementById(prefixoControlesAereo + "slcHoraVolta").disabled = document.getElementById(prefixoControlesAereo + "chkSomenteIda").checked;
        }
        else {
            document.getElementById(prefixoControlesAereo + "txtDataVolta").disabled = document.getElementById(prefixoControlesAereo + "radNacSoIda").checked;
            document.getElementById(prefixoControlesAereo + "slcHoraVolta").disabled = document.getElementById(prefixoControlesAereo + "radNacSoIda").checked;
        }

        if (document.getElementById(prefixoControlesAereo + "txtDataVolta").disabled)
            document.getElementById(prefixoControlesAereo + "txtDataVolta").value = "";
    }
}

function ValidaMotorAereoValidator(source, arguments) {
    var blnResult = ValidaDadosAereo(prefixoControlesAereo);
    arguments.IsValid = blnResult;
    
    return blnResult;
}

function ValidaMotorAereo(prefixoControlesAereo){
    var blnResult = ValidaDadosAereo(prefixoControlesAereo);

    //Solicita o envio dos dados à MasterPricer
    if (blnResult)
        document.getElementById(prefixoControlesAereo + "btnMotorPesquisar").click();
}

function ValidaDadosAereo(prefixoControlesAereo)
{
    var blnResult = true;

    if (blnResult && document.getElementById(prefixoControlesAereo + "txtCidadeOrigem").value.length < 3){
        alert("Preencha o campo Origem e tente novamente.");
        document.getElementById(prefixoControlesAereo + "txtCidadeOrigem").focus();
        blnResult = false;
    }
    
    if (blnResult && document.getElementById(prefixoControlesAereo + "txtCidadeDestino").value.length < 3){
        alert("Preencha o campo Destino e tente novamente.");
        document.getElementById(prefixoControlesAereo + "txtCidadeDestino").focus();
        blnResult = false;
    }

    if (blnResult && document.getElementById(prefixoControlesAereo + "txtCidadeOrigem").value == document.getElementById(prefixoControlesAereo + "txtCidadeDestino").value)
    {
        alert("O campo Origem deve ser diferente do campo Destino.");
        document.getElementById(prefixoControlesAereo + "txtCidadeDestino").focus();
        blnResult = false;
    }

    if (blnResult && document.getElementById(prefixoControlesAereo + "txtDataIda").value.length < 8){
        alert("Preencha a Data de Ida e tente novamente.");
        document.getElementById(prefixoControlesAereo + "txtDataIda").focus();
        blnResult = false;
    }
    
    if (blnResult && !IsDate(document.getElementById(prefixoControlesAereo + "txtDataIda").value)){
        alert("Digite uma Data de Ida válida e tente novamente.");
        document.getElementById(prefixoControlesAereo + "txtDataIda").focus();
        blnResult = false;
    }

    if (blnResult && document.getElementById(prefixoControlesAereo + "txtDataVolta").value.length < 8 &&
            !document.getElementById(prefixoControlesAereo + "chkSomenteIda").checked){
        alert("Preencha a Data de Volta ou marque a opção Somente Ida para continuar.");
        document.getElementById(prefixoControlesAereo + "txtDataVolta").focus();
        blnResult = false;
    }
    
    if (blnResult && document.getElementById(prefixoControlesAereo + "txtDataVolta").value.length > 0)
    {
        if (!IsDate(document.getElementById(prefixoControlesAereo + "txtDataVolta").value))
        {
            alert("Digite uma Data de Volta válida e tente novamente.");
            document.getElementById(prefixoControlesAereo + "txtDataVolta").focus();
            blnResult = false;
        }
    }
    
    return blnResult;
}

function InicializaVariaveisAereo(prefixoCidade, prefixoPesqInc, prefixoListaCidades, quantidadeCidades, prefixoCidadeDestino,  prefixoPesqIncDestino, blnMasterpricer) {
    prfMotorAereo = prefixoCidade;
    prfPescIncOrigem = prefixoPesqInc;
    prfPescIncDestino = prefixoPesqIncDestino;
   
    prfListaCidades = prefixoListaCidades;
    quantidadeItens = quantidadeCidades;
    if (blnMasterpricer == true)
    {
        objCidadeOrigem = document.getElementById(prefixoCidade + "txtOrigem");
        objCidadeDestino = document.getElementById(prefixoCidadeDestino + "txtDestino");
    }
    else
    {
        objCidadeOrigem = document.getElementById(prefixoCidade + "txtCidadeOrigem");
        objCidadeDestino = document.getElementById(prefixoCidadeDestino + "txtCidadeDestino");
    }
    objPesqIncOrigem = document.getElementById(prefixoPesqInc + "divAutoCompleteOrigem");     
    objPesqIncDestino = document.getElementById(prefixoPesqInc + "divAutoCompleteDestino");
}

function DigitacaoPesqIncAereo(evt, campo, offsetLeft, offsetTop, nomeCampo)
{     
    nomeCampoPrinc= nomeCampo;
    
    var tecla = evt.keyCode || evt.which;
    if (tecla == 13) 
    {
        //Usuário pressionou enter para escolha do PesqInc
        OcultaMensagensAereo();
        return;
    }
    
    offsetL = offsetLeft;
    offsetT = offsetTop;
    
    objArrayPositionAereo = positionedOffset(campo);
    
    if (campo.value.length == 0)
    {
        OcultaMensagensAereo();
    }
    else if (campo.value.length < 3)
    {        
        document.getElementById("divAguardePesquisa" + nomeCampo).style.display="none";
        document.getElementById("divSemResultado" + nomeCampo).style.display="none";	
   	if (nomeCampo == 'Destino')
        {
        	objPesqIncDestino.style.display="none";
	}
	else
        {
		objPesqIncOrigem.style.display="none";
	}

        PosicionarElementoAereo(document.getElementById("divNumeroCaracteres" + nomeCampo), offsetLeft, offsetTop);
        document.getElementById("divNumeroCaracteres" + nomeCampo).style.display="block";
    }
    else
    {	

        document.getElementById("divNumeroCaracteres"+nomeCampo).style.display="none";
        document.getElementById("divNumeroCaracteres" + nomeCampo).style.display="none";
        document.getElementById("divSemResultado" + nomeCampo).style.display="none";
	document.getElementById("divAguardePesquisa" + nomeCampo).style.display="none";

        if (nomeCampo == 'Destino')
        {
        	if (objPesqIncDestino && objPesqIncDestino.style.display=="none")
        	{
            		PosicionarElementoAereo(document.getElementById("divAguardePesquisa" + nomeCampo), offsetLeft, offsetTop);
            		//document.getElementById("divAguardePesquisa" + nomeCampo).style.display="block";
        	}
	}
        else
	{
		if (objPesqIncOrigem  && objPesqIncOrigem.style.display=="none")
        	{
            		PosicionarElementoAereo(document.getElementById("divAguardePesquisa" + nomeCampo), offsetLeft, offsetTop);
            		document.getElementById("divAguardePesquisa" + nomeCampo).style.display="block";
        	}
	}
    }
}


function PosicionarElementoAereo(elemento, offsetLeft, offsetTop)
{
    elemento.style.left = (objArrayPositionAereo[0] + offsetLeft).toString() + "px";
    elemento.style.top = (objArrayPositionAereo[1] + offsetTop).toString() + "px";
}

function OcultaMensagensAereo()
{
    if (document.getElementById("divNumeroCaracteresOrigem"))
        document.getElementById("divNumeroCaracteresOrigem").style.display="none";
    
    if (document.getElementById("divAguardePesquisaOrigem"))
        document.getElementById("divAguardePesquisaOrigem").style.display="none";
    
    if (document.getElementById("divSemResultadoOrigem"))
        document.getElementById("divSemResultadoOrigem").style.display="none";

    if (document.getElementById("divNumeroCaracteresDestino"))
        document.getElementById("divNumeroCaracteresDestino").style.display="none";
    
    if (document.getElementById("divAguardePesquisaDestino"))
        document.getElementById("divAguardePesquisaDestino").style.display="none";
    
    if (document.getElementById("divSemResultadoDestino"))
        document.getElementById("divSemResultadoDestino").style.display="none";
        
        

        objPesqIncOrigem.style.display = "none";

        objPesqIncDestino.style.display = "none";
}

function ClientShownAereo(source, eventArgs) {
    var list = source.get_completionList();
    
    if (list.childNodes.length == 1 && list.childNodes[0]._value.indexOf("Nenhum resultado") >= 0)
    {	
        if (document.getElementById("divSemResultado" + nomeCampoPrinc))
        {
            document.getElementById("divSemResultado" + nomeCampoPrinc).innerText = list.childNodes[0]._value;
            PosicionarElementoAereo(document.getElementById("divSemResultado" + nomeCampoPrinc), offsetL, offsetT);
            document.getElementById("divSemResultado" + nomeCampoPrinc).style.display="block";
        }

        if (document.getElementById(prfPescIncOrigem + completerOrigem))
            document.getElementById(prfPescIncOrigem + completerOrigem).style.display="none";

	    if (document.getElementById(prfPescIncDestino + completerDestino))
            document.getElementById(prfPescIncDestino + completerDestino).style.display="none";
            
        if (document.getElementById("divAguardePesquisa" + nomeCampoPrinc))
 	        document.getElementById("divAguardePesquisa" + nomeCampoPrinc).style.display="none";
    }
    else
    {
        if (document.getElementById("divSemResultado" + nomeCampoPrinc))
            document.getElementById("divSemResultado" + nomeCampoPrinc).style.display="none";

        if (document.getElementById(prfMotorAereo + 'divAutoComplete'+ nomeCampoPrinc))    
	       document.getElementById(prfMotorAereo + 'divAutoComplete'+ nomeCampoPrinc).style.display="block";

        if (document.getElementById("divAguardePesquisa" + nomeCampoPrinc))
 	        document.getElementById("divAguardePesquisa" + nomeCampoPrinc).style.display="none";
    }    
}

function positionedOffset(element) {
    var valueT = 0, valueL = 0;
    
    do {
        valueT += element.offsetTop || 0;
        valueL += element.offsetLeft || 0;
        element = element.offsetParent;
        
        if (element) {
            if(element.tagName=='BODY') break;
            var p = element.style.position;
            if (p == 'relative' || p == 'absolute') break;
        }
    } while (element);
    
    return [valueL, valueT];
}

if (typeof (Sys) !== "undefined") Sys.Application.notifyScriptLoaded();


function ValidaQuantidadeINF(nomeDdl1, nomeDdl2) {

    var objAdt = document.getElementById(prfMotorAereo + nomeDdl1);
    var objInf = document.getElementById(prfMotorAereo + 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!");
    }
}
