/*validacao de frame aereo*/
function validaAeroportoCidade(origem, destino){
	//metodo especifico para tratar consistir cidades que possuem mais de um aeroporto
    var aeroporto_cidade = getDicAirDouble();
    origem = origem.toUpperCase().split(" E ");
    destino = destino.toUpperCase().split(" E ");
    if (isAirDouble(origem[0]) || isAirDouble(destino[0])){//Se esta no caso de cidade com + de 1 aeroporto
        if (aeroporto_cidade[origem[0]] == destino[0] || origem[0] == destino[0]){//Se for a mesma cidade. Condicao trata 'CNF e PLU', e 'CNF CNF' apos a criacao do array.
            return false;
        }
        else{
            return true;
        }
    }
    else{
        return true;
    }
}

function validarPesquisaAerea()
{
/*
verifica se o nome esta preenchido no input Origem ou Destino
e ainda nao foi jogado no input origem ou destino(minusculo
*/

    if(document.getElementById("aeroOrigem").value != '') {
        if(document.getElementById("dsAeroportoOrigem").value == '') {
            //verifica se o aeroporto e valido
            orig = document.getElementById("aeroOrigem").value;
            if (existelocal(orig, siglaaero)) {
                document.getElementById("dsAeroportoOrigem").value = document.getElementById("aeroOrigem").value.toUpperCase();
            }
            else{
                var existe_cidade = existecidade(orig, aeroPesquisa, siglaaero, aerointerNM);
                if(existe_cidade != 'sigla'){
                    document.getElementById("dsAeroportoOrigem").value = existe_cidade;
                }
                else{
                    window.alert("Por favor informe uma origem válida.");
                    document.getElementById("aeroOrigem").focus();
                    return;                
                }
            }
        }
    }
    else {
        window.alert("Por favor informe a origem da viagem.");
        document.getElementById("aeroOrigem").focus();
        return;
    }

    if(document.getElementById("aeroDestino").value != '') {
        if(document.getElementById("dsAeroportoDestino").value == '') {
            //verifica se o aeroporto e valido
            dest = document.getElementById("aeroDestino").value;
            if (existelocal(dest, siglaaero)) {
                document.getElementById("dsAeroportoDestino").value = document.getElementById("aeroDestino").value.toUpperCase();
            }
            else{
                var existe_cidade = existecidade(dest, aeroPesquisa, siglaaero, aerointerNM);
                if(existe_cidade != 'sigla'){
                    document.getElementById("dsAeroportoDestino").value = existe_cidade;
                }       
                else{                
                    window.alert("Por favor informe um destino válido.");
                    document.getElementById("aeroDestino").focus();
                    return;
                }
            }
        }
    }
    else{
        window.alert("Por favor informe o destino da viagem.");
        document.getElementById("aeroDestino").focus();
        return;
    }

    var frm = document.forms["busca_form"];
    var error = 0;
    with (frm)
    {
        // valida o trajeto da viagem
        if (destino.value == origem.value || !validaAeroportoCidade(origem.value, destino.value))
        {
            window.alert("A cidade de origem e a cidade de destino nao podem ser iguais.");
            return;
        }

        // testa a quantidade de passageiros
        qtpax = parseInt(qtadultos.value) +
                parseInt(qtcriancas.value) +
                parseInt(qtbebes.value);
        if (qtpax > 7)
        {
            window.alert("A quantidade maxima e de 7 passageiros.");
            qtadultos.focus();
            error++;
            return;
        }

        if (parseInt(qtbebes.value) > parseInt(qtadultos.value))
        {
            window.alert("O numero de bebes deve ser menor ou igual ao numero de adultos.");
            qtadultos.focus();
            error++;
            return;
        }

	 if (qtpax == 0)
	 {
		window.alert("Selecione pelo menos um passageiro.");
		qtadultos.focus();
		error++;
		return;
	 }

        //validando as datas
        dataida = formataData(dataida_hidden.value); //Formatacao p novo componente calendario
        datavolta = formataData(datavolta_hidden.value); //Formatacao p novo componente calendario
        if (!isDate(dataida,"dd/MM/yyyy")) {
            
           window.alert('Data informada no campo data ida inválida.')
           dataida_hidden.focus();
           return;
        }
        else
        {
            var dataIda = criaObjetoData(dataida);
        }

        if (datavolta!='') {
            if (!isDate(datavolta,"dd/MM/yyyy")) {
               window.alert('Data informada no campo data volta inválida.')
               datavolta_hidden.focus();
               return;
            }
            else
            {
                var dataVolta = criaObjetoData(datavolta);
            }
        }


        //verifica se data de ida é anterior a data atual
	    var now = new Date();
        if (dataIda < now)
        {
            window.alert("A data de ida deve ser igual ou maior a data atual.");
            error++;
            dataida_hidden.focus();
            return;
        }
        //verifica se data de ida é anterior a data volta
        if (datavolta!='') {
            if (dataIda > dataVolta)
            {
                window.alert("A data de ida deve ser anterior à data de volta.");
                error++;
                dataida_hidden.focus();
                return;
            }
        }
        // final da validacao dos campos caso nao haja nenhum erro
        // monta as datas nos campos hidden e o form e enviado
        if (error < 1)
        {
            var vdata = false;
            if (datavolta!='') {
              vdata = true;
              tipo_viagem.value='idavolta';
            }
            else{
                tipo_viagem.value='ida';
            }
            setaDatas(vdata, dataida, datavolta);
            try{document.getElementById('divx_progresso_ffh').style.display = 'block';
            document.getElementById("busca_form").style.display = 'none';}catch(e){} 
            submit();
        }
    }
}

function setaCiaAerea(valor) {
     /*Seta cia aerea.*/
     obj = document.forms['busca_form'].CiaAerea;
    
     for (i = 0; i < obj.length; i++) {
         if (valor == 'Todas') {
           obj[i].checked = false ;
           if (obj[i].value == 'Todas') {
             obj[i].checked = true ;
           }
         }
    
         if (valor != 'Todas') {
           if (obj[i].value == 'Todas') {
             obj[i].checked = false ;
           }
         }
     }
}