//VERIFICA SE O PAÍS DE DESTINO FOI SELECIONADO
function verificaEmbarque(){
//28/07/2003 - MUDANÇA NA FUNÇÃO VISANDO IMPEDIR QUE BURLEM VALIDAÇÃO(BROWSER SEM JS)

         var doc = document.forms['embarque'];

		var bSubmete = true;

	if (document.frmAtualizarCadastro.sltTipoDocumento.value==''){
		alert("Informe o Tipo do Documento!");
		document.frmAtualizarCadastro.sltTipoDocumento.focus();
		 bSubmete = false;
	}

	if (document.frmAtualizarCadastro.txtDia.value=='' || document.frmAtualizarCadastro.txtMes.value=='' || document.frmAtualizarCadastro.txtAno.value==''){
		alert("Data de Emissão inválida!");
		document.frmAtualizarCadastro.txtDia.focus();
		bSubmete = false;
	}

	if (document.frmAtualizarCadastro.txtPassaporte.value==''){
		alert("Informe corretamento o número de seu documento de viagem!");
		document.frmAtualizarCadastro.txtPassaporte.focus();
		bSubmete = false;
	}

	if (bSubmete) {
		//VERIFICA SE TODOS OS CAMPOS FORAM PREENCHIDOS
		for (var i=0; i<doc.elements.length; i++){
			if ((doc.elements[i].type != 'hidden') && (doc.elements[i].type != 'button')) {
				if ((doc.elements[i].value == '') || (doc.elements[i].selectedIndex == 0)) {
				alert('O campo deve ser preenchido');
				doc.elements[i].focus();
				bSubmete = false;
				break;
				}
			}
		}
	}
	
     //VALIDA A DATA
     if (bSubmete) {
		if (!varData(doc.oDiaVoo, doc.oMesVoo, doc.oAnoVoo)) { bSubmete = false; }
	}

     // VERIFICAR SE A RETIRADA É UMA DATA ANTERIOR À ATUAL
     var dActualDate = new Date();
     var dFlightDate = new Date(doc.oAnoVoo.value, doc.oMesVoo.value - 1, doc.oDiaVoo.value);
     var diffDate = dFlightDate - dActualDate;

	if (bSubmete) {
		if (diffDate < 0) {
		   alert('A data de retirada é anterior à data atual.');
		   doc.oDiaVoo.focus();
		   bSubmete = false;
		}
	}
	
     //RESERVA: MÁXIMO 30 DIAS, MÍNIMO 3 DIAS ÚTEIS
     //DATA ATUAL COM HORA 00:00:00
     var dDate = new Date(dActualDate.getFullYear(), dActualDate.getMonth(), dActualDate.getDate());
     var dAux = new Date();
     var icount = 0;
     dAux = dFlightDate;

     while (dAux.toString() != dDate.toString()) {

		//VERIFICA SE É SÁBADO OU DOMINGO
		if ((dAux.getDay()!=0) && (dAux.getDay()!= 6)) {
			icount++;
		 }

         //DIMINUI UM DIA
		if (icount > 35) { break; }
		dAux.setDate(dAux.getDate() - 1);
	}

	if (bSubmete) {
		if ((icount < 3) || (icount > 35)) {
			alert("A reserva deve ser realizada com o mínimo de 3 dias e no máximo 35 dias.");
			doc.oDiaVoo.focus();
			bSubmete = false;
		}
	}

	if (bSubmete) {
		if (document.frmAtualizarCadastro.sltTipoDocumento.value == '1' && (doc.oPais.value != 'BRA' && doc.oPais.value != 'ARG' && doc.oPais.value != 'PAR' && doc.oPais.value != 'URG' )) {
			alert('A identidade não é válida como documento de viagem para vôos fora das rotas do Mercosul.\nPor favor altere o seu documento de viagem na parte superior da tela!');
			document.frmAtualizarCadastro.sltTipoDocumento.focus();
			bSubmete = false;
		}
	}
	
     doc.pais_description.value = doc.oPais.options[doc.oPais.selectedIndex].text;

     if (bSubmete) {
		doc.action = 'tipo_reserva.asp?tipo%5Freserva=embarque';
		doc.submit();
     }
}

//VERIFICA SE O PAÍS DE DESTINO FOI SELECIONADO
function verificaDesembarque(){

//28/07/2003 - MUDANÇA NA FUNÇÃO VISANDO IMPEDIR QUE BURLEM VALIDAÇÃO(BROWSER SEM JS)

         var doc = document.forms['desembarque'];
         
         var bSubmete = true;

	if (document.frmAtualizarCadastro.sltTipoDocumento.value==''){
		alert("Informe o Tipo do Documento!");
		document.frmAtualizarCadastro.sltTipoDocumento.focus();
		 bSubmete = false;
	}

	if (document.frmAtualizarCadastro.txtDia.value=='' || document.frmAtualizarCadastro.txtMes.value=='' || document.frmAtualizarCadastro.txtAno.value==''){
		alert("Data de Emissão inválida!");
		document.frmAtualizarCadastro.txtDia.focus();
		bSubmete = false;
	}

	if (document.frmAtualizarCadastro.txtPassaporte.value==''){
		alert("Informe corretamento o número de seu documento de viagem!");
		document.frmAtualizarCadastro.txtPassaporte.focus();
		bSubmete = false;
	}

     //VALIDA A DATA
     if (bSubmete) {
		if (!varData(doc.oDiaVoo, doc.oMesVoo, doc.oAnoVoo)) { bSubmete = false; }
	}

     // VERIFICAR SE A RETIRADA É UMA DATA ANTERIOR À ATUAL
     var dActualDate = new Date();
     var dFlightDate = new Date(doc.oAnoVoo.value, doc.oMesVoo.value - 1, doc.oDiaVoo.value);
     var diffDate = dFlightDate - dActualDate;

	if (bSubmete) {
		if (diffDate < 0) {
		   alert('A data de retirada é anterior à data atual.');
		   doc.oDiaVoo.focus();
		   bSubmete = false;
		}
	}

     //RESERVA: MÁXIMO 30 DIAS, MÍNIMO 3 DIAS ÚTEIS
     //DATA ATUAL COM HORA 00:00:00
     var dDate = new Date(dActualDate.getFullYear(), dActualDate.getMonth(), dActualDate.getDate());
     var dAux = new Date();
     var icount = 0;
     dAux = dFlightDate;

     //while (dAux.toDateString() != dDate.toDateString()) {
       while (dAux.toString() != dDate.toString()) {

		//VERIFICA SE É SÁBADO OU DOMINGO
		if ((dAux.getDay()!=0) && (dAux.getDay()!= 6)) {
			icount++;
		 }

         //DIMINUI UM DIA
		if (icount > 35) { break; }
		dAux.setDate(dAux.getDate() - 1);
	}

	if (bSubmete) {
		if ((icount < 3) || (icount > 35)) {
			alert("A reserva deve ser realizada com antecedência mínima de 3 dias úteis e máxima de 35 dias.");
			bSubmete = false;
		}
	}

     if (bSubmete) {
		doc.action = 'tipo_reserva.asp?tipo%5Freserva=desembarque';
		doc.submit();
     }
}

//======================================================
//          LOCAL DE RETIRADA
//======================================================

// AEROPORTOS
//var arrAeroporto = new Array("AIRJ - Rio de Janeiro", "AISP - São Paulo", "AIPA - Porto Alegre", "AIRE", "AIBH", "AIFZ", "AIDF");

// CIA. AÉREA
var arrCia = new Array();
// 0 = "AIRJ"
// 1 = "AISP"

//alert(arrAeroporto[0]);
arrCia[0] = new Array();

//AIRJ
arrCia[1] = new Array("AA - AMERICAN AIRLINES","AF - AIR FRANCE","AR - AEROLINEAS ARGENTINAS","AV - AVIANCA","AZ - ALITALIA","BA - BRITISH AIRWAYS","CM - COPA AIRLINES","CO - CONTINENTAL","CP - CANADIAN AIRLINES","DA - DELTA AIRLINES","DL - DELTA","DR - AIR MADRI","DT - TAAG","G3 - GOL","IB - IBERIA","JJ - TAM","KL - CIA.REAL HOLANDESA DE AVIACAO (KLM)","LA - LAN CHILE","LB - LOYD AEREO BOLIVIANO","LC - LACSA","LH - LUFTHANSA","PL - AEROPERU","PU - PLUNA LINEAS AEREAS URUGUAYAS","PZ - LINEAS AEREAS PARAGUAYAS","RE - AIR CANCUN","RG - VARIG","SA - SOUTH AFRICAN AIRLINES","SK - SCANDINAVIAN AIR SYSTEM (SAS)","SR - SWISSAIR","SU - AEROFLOT","TA - TACA","TP - TAP","TW - TOWER","UA - UNITED AIRLINES","UC - LADECO AIRLINES","UX - AIR EUROPA","VA - VIASA LINEA AEREA DE VENEZUELA","TX - MILITARES","US - US AIRWAYS");

//AISP
arrCia[2] = new Array("5L - AEROSUR","AA - AMERICAN AIRLINES","AC - AIRLINE CANADIAN","AF - AIR FRANCE","AM - AERO MEXICO","AR - AEROLINEAS ARGENTINAS","AV - AVIANACA","AX - AERO MEXICANA","AZ - ALITALIA","BA - BRITISH AIRWAYS","CA - AIR CHINA","CM - COPA AIRLINES","CO - CONTINENTAL","CP - CANADIAN AIRLINES","DL - DELTA AIRLINES","EK - EMIRATES AIRLINES","FQ - AIR ARUBA","G3 - GOL","IB - IBERIA","JJ - TAM","JL - JAL","KE - KOREAN AIR","KL - CIA.REAL HOLANDESA DE AVIACAO (KLM)","LA - LAN CHILE","LB - LOYD AEREO BOLIVIANO","LC - LACSA","LH - LUFTHANSA","LP - LAN PERU","ME - MID WEST AIRWAYS","OC - OCEAN AIR","PL - AEROPERU","PT - PASSAREDO","PU - PLUNA LINEAS AEREAS URUGUAYAS","PZ - LINEAS AEREAS PARAGUAYAS","RG - VARIG","SA - SOUTH AFRICAN AIRLINES","SK - SCANDINAVIAN AIR SYSTEM (SAS)","SS - SCANDINAVIAN","SU - AEROFLOT","LX - SWISSAIR","TA - TACA","TP - TAP","TW - TOWER","UA - UNITED AIRLINES","UC - LADECO AIRLINES","UX - AIR EUROPA","VA - VIASA LINEA AEREA DE VENEZUELA","MX - MEXICANA DE AVIACION","TK - TURKISH","LY - EL AL","DT - TAAG"); 

//AIPA
arrCia[3] = new Array("AA - AMERICAN AIRLINES","AC - AEROCANCUN","AF - AIR FRANCE","AR - AEROLINEAS ARGENTINAS","AV - AVIANCA","AZ - ALITALIA","BA - BRITISH AIWAYS","G3 - GOL","JJ - TAM","LA - LAN CHILE","PT - PARTICULAR","PU - PLUNA LINHAS AEREAS URUGUAYAS","RG - VARIG","UA - UNITED AIRLINES","UX - AIR EUROPA","TA - TACA");

//AIRE
arrCia[4] = new Array("AR - AEROLINEAS ARGENTINAS","FA - FAB","G3 - GOL","JJ - TAM","LD - LAUDA AIR","RG - VARIG","TP - TAP","TX - PARTICULAR","DE - CONDOR","AY - FINAIR","LM - LIVINGSTON","AA - AMERICAN AIRLINES","DA - DELTA AIRLINES");

// AIBH
arrCia[5] = new Array("AA - AMERICAN AIRLINES","AC - AERO CANCUN","AR - AIR ARUBA","CM - COPA AIRLINES","CO - CONTINENTAL","G3 - GOL","JJ - TAM","LB - LOYD BOLIVIANO","PU - PLUNA","RG - VARIG","SK - SKY JET","TP - TAP","TW - TOWER AIR","TX - TAXI AERO","TZ - TRANS AIR","UA - UNITED AIRLINES");

//AIFZ
arrCia[6] = new Array("AA - AMERICAN AIRLINES","AR - AEROLINEAS ARGETINAS","AY - FINNAIR","CO - CONTINENTAL","DR - DARDANEL (AIR MADRI)","ED - EDWEISSER (SUECIA)","GJ - GOLDEN JET","HL - AIR HOLLAND","I9 - AIR ITALY","JJ - TAM","LA - LAN CHILE","LD - LAUDA AIR","LX - AIR LUXOR","MP - MARTINAIR AIRLINES","RG - VARIG","SH - AERIS AIRLINES","TA - TEA","TF - TAF (TRANSPORTES AEROS FORTALEZA)","TM - CABO VERDE LINHAS AEREAS","TP - TAP","TS - TRAVEL SERVIS (REP. TCHECA)","UX - AIR EUROPA","YS - YES");

//AIFL
arrCia[7] = new Array("AR - AEROLINEAS ARGENTINAS","G3 - GOL","JJ - TAM","LA - LAN CHILE","LB - LOYD AEREO BOLIVIANO","PL - AEROPERU","PT - PASSAREDO","PU - PLUNA LINEAS AEREAS URUGUAYAS","PZ - LINEAS AEREAS PARAGUAYAS","RG - VARIG");

//AIDF
arrCia[8] = new Array("JJ - TAM","RG - VARIG","TP - TAP","UX - AIR EUROPA","DT - TAAG","LV - LIVINGSTONE","AR - AEROLINEAS ARGETINAS");

//AISA
arrCia[9] = new Array("AA - AMERICAN AIRLINES","AE - AIR EUROPA","CF - CONDOR","JJ - TAM","NO - NEOS","TP - TAP","DT - TAAG","LV - LIVINGSTONE","AR - AEROLINEAS ARGETINAS");

//arrCia.sort();

function selectCia(cia_code) {

	var doc = window.document.forms['retirada'];
	var sel = doc.oCia_Aerea;
	var txt;
	var code = doc.oAeroporto.selectedIndex;

	//remover os elementos
	for (var j=sel.options.length-1; j>0; j--) {
		sel.options[j] = null;
	}

        // OPTION VAZIO
        sel.options[0] = new Option("Selecione uma Cia.");
        sel.selectedIndex = 0;

        for(var i=0; i<arrCia[code].length; i++) {

		txt = arrCia[code][i].split(" - ");

		window.document.retirada.oCia_Aerea.options[i+1] = new Option(txt[1], txt[0]);


        //JÁ SELECIONADO QUANDO PREENCHIDO
		if ((cia_code != "") && (txt[0].toUpperCase() == cia_code.toUpperCase()) ) {
                   sel.options[i+1].selected = true;
                }
	}
    sortSelect(window.document.retirada.oCia_Aerea, cia_code);
}

//ORDENAÇÃO DO SELECT DAS CIA. AÉREAS
function sortSelect(selectBox, cia_code) {
      var arrTbox   = new Array();
      var arrLookup = new Array();


      //MONTA UM ARRAY PARA BUSCA E
      for (var i = 0; i < selectBox.options.length-1; i++) {
  	    arrLookup[selectBox.options[i+1].text] = selectBox.options[i+1].value;
  	    arrTbox[i] = selectBox.options[i+1].text;
      }

      arrTbox.sort();
      selectBox.length = 0;
      var c;

      selectBox[0] = new Option("Selecione uma Cia.")
 	  selectBox.selectedIndex = 0;
 	 // selectBox[0].selected = true;

      for(c = 0; c < arrTbox.length; c++) {
  	    var no = new Option();
  	    no.value = arrLookup[arrTbox[c]];  //quando há duas entradas com o mesmo nome, retorna o primeiro q achar. Colocar um diferenciador
  	    no.text = arrTbox[c];
  	    selectBox[c+1] = no;
  	    if ((cia_code != "") && (arrLookup[arrTbox[c]].toUpperCase() == cia_code.toUpperCase())) { selectBox[c+1].selected = true; }
      }
}

function verificaRetirada(){
//POSTERIORMENTE RECEBERÁ A LÍNGUA [PT | EN | SP]

     var doc = document.forms['retirada'];

     //VERIFICA SE TODOS OS CAMPOS FORAM PREENCHIDOS
     for (var i=0; i<doc.elements.length; i++){
         if ((doc.elements[i].type != 'hidden') && (doc.elements[i].type != 'button')) {
            if ((doc.elements[i].value == '') || (doc.elements[i].selectedIndex == 0)) {
               alert('O campo deve ser preenchido');
               doc.elements[i].focus();
               return false;
            }
         }
     }

     //VERIFICA O VÔO
     // as duas primeiras letras devem ser iguais ao código da cia. aérea
     var sCia = doc.oCia_Aerea[doc.oCia_Aerea.selectedIndex].value.toUpperCase().toString();
     var numVoo = ""; //= doc.flight_number.value.substr(0,2).toUpperCase().toString();
	 var sPassa1 = 0 ;
	 		
     for (var i=0; i<=2; i++) {

         if ((sCia != "G3") && !isNaN(doc.flight_number.value.charAt(i))) {
              break;
         }
         numVoo += doc.flight_number.value.charAt(i).toUpperCase();
	 	 // Pega os números á partir da segunda passada no caso GOL="G3"
         if ((sCia == "G3") && (sPassa1 == 1) && !isNaN(doc.flight_number.value.charAt(i))) {
   	          break;
       	 }
		 sPassa1 = 1;
     }

     if (sCia != numVoo) {
        alert("Preencha as letras referentes a cia aérea e os dígitos referentes ao vôo, sem espaços. \nEstes dados estão no seu bilhete aéreo!");
        doc.flight_number.focus();
        return false;
     }

	alert("["+doc.flight_number.value+"]");

	 if ((doc.flight_number.value.length < 4) || (doc.flight_number.value.length > 6)) {
		 	alert("O número do vôo não foi preenchido corretamente. \nPreencha as letras referentes a cia aérea e os dígitos referentes ao vôo, sem espaços.");
			doc.flight_number.focus();
			return false;
	 }

	 doc.aeroporto_description.value = doc.oAeroporto.options[doc.oAeroporto.selectedIndex].text;
     doc.cia_aerea_description.value = doc.oCia_Aerea.options[doc.oCia_Aerea.selectedIndex].text;

    return true;
}