function desabilitavoltainternacional(opcao)
{
    var frm = document.forms["busca_form_internacional"];
    with (frm) {
      if (opcao) {
        frm.dia_volta.disabled = true;
        frm.mes_volta.disabled = true;
      }
      else {
        frm.dia_volta.disabled = false;
        frm.mes_volta.disabled = false;
      }
    }
}


function validarPesquisaInternacional()
{
    var frm = document.forms["busca_form_internacional"];
    var error = 0;
    with (frm)
    {

        // testa a origem
        if (isEmpty(busca_de_int_view.value))
        {
            window.alert("Por favor informe a origem da viagem.");
            origem_view.focus();
            error++;
            return;
        }

        // testa o destino
        if (isEmpty(busca_para_int_view.value))
        {
            window.alert("Por favor informe o destino da viagem.");
            destino_view.focus();
            error++;
            return;
        }

        // valida o trajeto da viagem
        if (busca_de_int_view.value == busca_para_int_view.value)
        {
            window.alert("A cidade de origem e a cidade de destino nao podem ser iguais.");
            destino_view.focus()
            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) > parseInt(qtadultos))
        {
            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
        var spMesIda = frm.mes_ida[frm.mes_ida.selectedIndex].value.split("/");
        var mesIda = spMesIda[0];
        var anoIda = spMesIda[1];
        var dataIda = anoIda + "/" +
                  getMonth(mesIda) + "/" +
                  dia_ida[dia_ida.selectedIndex].value;
        var dataIda = new Date(anoIda,getMonth(mesIda),dia_ida[dia_ida.selectedIndex].value,23,59,59);
        var dataIdaForm = dia_ida[dia_ida.selectedIndex].value + "/" +
                      zfill(getMonth(mesIda) + 1, 2) + "/" +
                      anoIda;

        var spMesVolta = mes_volta[mes_volta.selectedIndex].value.split("/");
        var mesVolta = spMesVolta[0];
        var anoVolta = spMesVolta[1];
        var dataVolta = anoVolta + "/" +
                    getMonth(mesVolta) + "/" +
                    dia_volta[dia_volta.selectedIndex].value;
        var dataVolta = new Date(anoVolta,getMonth(mesVolta),dia_volta[dia_volta.selectedIndex].value,23,59,59);
        var dataVoltaForm = dia_volta[dia_volta.selectedIndex].value + "/" +
                        zfill(getMonth(mesVolta) + 1, 2) + "/" +
                        anoVolta;


        //validando se data é valida
        if (parseInt(dia_ida[dia_ida.selectedIndex].value) <10) {
            var diaida = '0' + dia_ida[dia_ida.selectedIndex].value
        } else {
            var diaida = dia_ida[dia_ida.selectedIndex].value
        }
        var dida = diaida+"/"+(getMonthtratado(mesIda))+"/"+anoIda
        if (!isDate(dida,"dd/MM/yyyy")) {
           window.alert('Data informado no campo data ida inválida.')
           return
        }
        if (parseInt(dia_volta.options[dia_volta.selectedIndex].value) <10) {
            diavolta = '0' + dia_volta[dia_volta.selectedIndex].value
        } else {
            diavolta = dia_volta[dia_volta.selectedIndex].value
        }        
        var dvolta = diavolta+"/"+(getMonthtratado(mesVolta))+"/"+anoVolta
        if (!isDate(dvolta,"dd/MM/yyyy")) {
           window.alert('Data informado no campo volta inválida.')
           return
        }

//        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++;
            dia_ida.focus();
            return;
        }

  //      verifica se data de ida é anterior a data volta
        if (dataIda > dataVolta && tipo_viagem[0].checked)
        {
            window.alert("A data de ida deve ser anterior a data de volta");
            error++;
            dia_ida.focus();
            return;
        }
            /** verificar se o codigo digitado
                  corresponde ao codigo gerado pelo servidor
            */
            //try{
         var codDigitado = '';
         if(frm.imagemRand){
            codDigitado = frm.imagemRand.value;
            //alert("Codigo digitado:"+codDigitado);
            var handler = new XMLHandler();
            var xmlreq = new XMLClient('../modulos/F5TourAereo/rand_img_verificar');
            xmlreq.addParam('digitado',codDigitado);
            xmlreq.setAsync(false);
            handler.bdoAsync = false;

            var validado = '';
            handler.onError = function (e) {alert(e)}
            handler.onProgress = function () {}
            handler.onInit = function () {}
            handler.onLoad = function (certo) {validado = certo;}
            xmlreq.query(handler);
            if( validado != "ok" ){
                alert("Digite corretamente o codigo da imagem.")
                window.location.reload();
                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)
        {
            dataida_hidden.value = dataIdaForm;

            if (tipo_viagem[0].checked)
            {
                datavolta_hidden.value = dataVoltaForm;
            }
            
            //if (!verificaSigla(busca_de_int.value) || !verificaSigla(busca_para_int.value))
            //{
            //    frm.action = "escolha_aeroporto";
            //    frm.tipo_pesquisa.value = "sigla";
            //}
            //}catch(e){
            //    alert(e)
            //}
            submit();
        }
    }
}

function verificaSigla(valorInput)
{
    if (valorInput.length > 3)
    {
        
        return false;
    }
    else
    {
        var capslock = 0;
        for(var caracter = 0; caracter < valorInput.length; caracter++)
        {
            for(var codigoCaracter = 65; codigoCaracter < 91; codigoCaracter++)
            {        
                if (valorInput.charCodeAt(caracter) == codigoCaracter)
                {               
                    capslock++;
                }
            }
        }

        if (capslock == 3)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    
}

function validarAeroporto()
{
    var form = document.forms["busca_form_internacional"];
    var valido = {};
    var aeroportos = new Array(document.getElementsByName("destino"), document.getElementsByName("origem"));
    for (tipo = 0; tipo < aeroportos.length; tipo++)
    {
        for(var aeroporto = 0; aeroporto < aeroportos[tipo].length; aeroporto++)
        {
            if (aeroportos[tipo][aeroporto].type == 'radio')
            {
                if (aeroportos[tipo][aeroporto].checked)
                {
                    valido[tipo] = true;
                }
            }
            
            if(aeroportos[tipo][aeroporto].type == 'hidden')
            {
                valido[tipo] = true;
            }
        }
    }
    
    if(valido[0] && valido[1])
    {
        form.submit();
    }
    else
    {
        alert("Por favor selecione um aeroporto.")
        return false;
    }
}

