/* <!-- /_vs_/_lg_/js/functionIbeEB2.js --> */
if (document.all) {n=0;ie=1;ns6=0;}//ie
 	else if (document.getElementById){n=0;ie=0;ns6=1;fShow="";}//ns6
 		else if (document.layers) {n=1;ie=0;ns6=0;}//ns4

var vModoAdvanced = false;
var __linkEB2 = "http://booking.flytap.com/TP/";
var linkShowPromotion = "http://booking.flytap.com/TP/ShowPromotion.do";

var vOrigemResident = new Array('FNC');
var vDestinosResident = new Array('LIS');
var vOrigemDestinosResident = new Array();

// Lisboa
vOrigemDestinosResident[0] = 'FNCLIS';
vOrigemDestinosResident[1] = 'HORLIS';
vOrigemDestinosResident[2] = 'PDLLIS';
vOrigemDestinosResident[3] = 'PXOLIS';
vOrigemDestinosResident[4] = 'SMALIS';
vOrigemDestinosResident[5] = 'TERLIS';

// Porto
vOrigemDestinosResident[6] = 'FNCOPO';
vOrigemDestinosResident[7] = 'HOROPO';
vOrigemDestinosResident[8] = 'PDLOPO';
vOrigemDestinosResident[9] = 'PXOOPO';
vOrigemDestinosResident[10] = 'TEROPO';

// Faro
vOrigemDestinosResident[11] = 'FNCFAO';
vOrigemDestinosResident[12] = 'HORFAO';
vOrigemDestinosResident[13] = 'PDLFAO';
vOrigemDestinosResident[14] = 'PXOFAO';
vOrigemDestinosResident[15] = 'TERFAO';

// Entre-ilhas
vOrigemDestinosResident[16] = 'HORFNC';
vOrigemDestinosResident[17] = 'PDLFNC';
vOrigemDestinosResident[18] = 'PXOFNC';
vOrigemDestinosResident[19] = 'TERFNC';
vOrigemDestinosResident[20] = 'FNCTER';
vOrigemDestinosResident[21] = 'FNCHOR';

//SMA - Santa Maria
vOrigemDestinosResident[22] = 'SMAOPO';
vOrigemDestinosResident[23] = 'SMAFAO';
vOrigemDestinosResident[24] = 'SMAFNC';

//PIX - Pico
vOrigemDestinosResident[25] = 'PIXLIS';
vOrigemDestinosResident[26] = 'PIXOPO';
vOrigemDestinosResident[27] = 'PIXFAO';

function isAeroContinente(pValue) {

	for (var i = 0; i < vDestinosResident.length; i++) {
		var indDestino = vDestinosResident[i].toUpperCase().indexOf(pValue.toUpperCase());
		
		if ( indDestino!= -1 )
			return true;
	}
	
	return false;
}


function isAeroIlhas(pValue) {

	for (var i = 0; i < vOrigemResident.length; i++) {
		var ind = vOrigemResident[i].toUpperCase().indexOf(pValue.toUpperCase());
		
		if ( ind != -1 )
			return true;
	}
	
	return false;
}

function isResident(pRota){

	if (pRota.length < 6)
		return false;
	
	for (var i=0; i < vOrigemDestinosResident.length; i++) {
		var indRota = vOrigemDestinosResident[i].toUpperCase().indexOf(pRota.toUpperCase());
		
		if ( indRota!= -1 )
			return true;
			
	
	}

	return false;
}


function verResident(){
	ida = document.formAvailAbility.param4.value;
	volta = document.formAvailAbility.param6.value;

	if(isResident(ida + volta))
		activarResident();
	else	
		desactivarResident();

}


function verAdultoResident(){
	doAccaoAdultoResident();	
	doAccaoJovem();
	doAccaoSenior();
}



function mudaDiv(elmID,vis){
	if(ie) 
		var divID=document.all(elmID);
	else  
		var divID=document.getElementById(elmID);
	  
	if (vis) {
		divID.style.visibility='visible';
	} else {
		divID.style.visibility='hidden';
	}
}

function mudaDivDisplay(elmID,vis){
	if(ie) 
		var divID=document.all(elmID);
	else  
		var divID=document.getElementById(elmID);
	  
	if (vis) {
		divID.style.display ='block';
	} else {
		divID.style.display='none';
	}
}

function toAdvanced(){
  vModoAdvanced = true;		
  mudaDiv('ibeGifsNormal',false);
  mudaDiv('ibeGifsAdvanced',true);	
  mudaDiv('ibelinkMultiCity',false);
  desactivarClasse();	
  mudaDiv('ibeLabelsNormal',false);
  mudaDiv('ibeCombosNormal',false);
  mudaDiv('ibeLabelsAdvanced',true);
  mudaDiv('ibeCombosAdvanced',true);
  mudaDiv('ibeComboAdultoAdvanced',true);

  //***** Resident *****
  //mudaDiv('ibeResident',false);
  //mudaDiv('ibeNoteYouthSenior',true);
  resetNormal();
	
}

function toNormal(){
  vModoAdvanced = false;	
  mudaDiv('ibeGifsNormal',true);
  mudaDiv('ibeGifsAdvanced',false);
  mudaDiv('ibelinkMultiCity',true);	
  activarClasse();		
  mudaDiv('ibeLabelsNormal',true);
  mudaDiv('ibeCombosNormal',true);
  mudaDiv('ibeLabelsAdvanced',false);
  mudaDiv('ibeCombosAdvanced',false);
  mudaDiv('ibeComboAdultoAdvanced',false);
  
  //***** Resident *****
  //mudaDiv('ibeResident',true);
  //mudaDiv('ibeNoteYouthSenior',false);  
  resetAdvanced();
}

function resetAdvanced(){
	//document.formAvailAbility.adulto.selectedIndex = 1;
	document.formAvailAbility.adulto.selectedIndex = 0;
	document.formAvailAbility.jovem.selectedIndex = 0;	
	document.formAvailAbility.senior.selectedIndex = 0;
	desactivarAdultoResident();
	verAdultoResident();	
	
}

function resetNormal(){
	document.formAvailAbility.adulto.selectedIndex = 0;
	document.formAvailAbility.crianca.selectedIndex = 0;
	document.formAvailAbility.bebe.selectedIndex = 0;
}


function desactivarClasse(){
	//document.formAvailAbility.comboClasse.disabled = true;
	mudaDiv('ibeClasse',false);
	document.formAvailAbility.comboClasse.selectedIndex = 0;
}

function activarClasse(){
	//document.formAvailAbility.comboClasse.disabled = false;
	if (!vModoAdvanced ) {
		mudaDiv('ibeClasse',true);
		//document.formAvailAbility.radioDateSearchType[0].checked = true;
		//document.formAvailAbility.checkboxDateSearchType.checked = false;
		
	}
}

function verDateSearchType(){
	if (document.formAvailAbility.checkboxDateSearchType.checked) {
		desactivarClasse();	
	}
	else {
	   	activarClasse()
	}   
}

function desactivarClasse1(){
	//document.formAvailAbility.comboClasse.disabled = true;
	mudaDivDisplay('ibeClasse',false);
}

function activarClasse1(){
	//document.formAvailAbility.comboClasse.disabled = false;
	if (!vModoAdvanced ) {
		mudaDivDisplay('ibeClasse',true);
		document.formAvailAbility.radioDateSearchType[0].checked = true;
	}
}


function desactivarResident(){
	document.formAvailAbility.checkboxResident.disabled = true;
	document.formAvailAbility.checkboxResident.checked = false;
}

function activarResident(){
	document.formAvailAbility.checkboxResident.disabled = false;
	document.formAvailAbility.checkboxResident.checked = false;
}

function desactivarFlexibleDates(){
	document.formAvailAbility.OtherOptionsFlexibleDates.disabled = true;
	document.formAvailAbility.OtherOptionsFlexibleDates.checked = false;
}

function activarFlexibleDates(){
	document.formAvailAbility.OtherOptionsFlexibleDates.disabled = false;
	//document.formAvailAbility.OtherOptionsFlexibleDates.checked = false;
}

function descheckarFlexibleDates(){
	document.formAvailAbility.OtherOptionsFlexibleDates.checked = false;
}

function checkarFlexibleDates(){
	document.formAvailAbility.OtherOptionsFlexibleDates.checked = true;
}

function desactivarJovem(){
	document.formAvailAbility.jovem.disabled = true;
	document.formAvailAbility.jovem.selectedIndex = 0;	
}

function activarJovem(){
	//indexJovem = document.formAvailAbility.jovem.selectedIndex;
	indexSenior = document.formAvailAbility.senior.selectedIndex;
	indexAdultoa = document.formAvailAbility.adultoa.selectedIndex;
	 
	if(indexSenior == 0 && indexAdultoa == 0 )
		document.formAvailAbility.jovem.disabled = false;
}

function desactivarSenior(){
	document.formAvailAbility.senior.disabled = true;
	document.formAvailAbility.senior.selectedIndex = 0;	
}

function activarSenior(){
	indexJovem = document.formAvailAbility.jovem.selectedIndex;
	//indexSenior = document.formAvailAbility.senior.selectedIndex;
	indexAdultoa = document.formAvailAbility.adultoa.selectedIndex;

	if(indexJovem == 0 && indexAdultoa == 0 )	
		document.formAvailAbility.senior.disabled = false;
}

function desactivarAdultoResident(){
	document.formAvailAbility.adultoa.disabled = true;
	document.formAvailAbility.adultoa.selectedIndex = 0;	
}

function activarAdultoResident(){
	ida = document.formAvailAbility.param4.value;
	volta = document.formAvailAbility.param6.value;
	var activar = false;
	
	indexJovem = document.formAvailAbility.jovem.selectedIndex;
	indexSenior = document.formAvailAbility.senior.selectedIndex;
	//indexAdultoa = document.formAvailAbility.adultoa.selectedIndex;
	 
	if(indexJovem == 0 && indexSenior == 0 )
		activar = true;
	
	
	if(isResident(ida + volta) && activar) 
		document.formAvailAbility.adultoa.disabled = false;
	else
		desactivarAdultoResident();	
}

function doAccaoJovem(){
	if(document.formAvailAbility.jovem.selectedIndex != 0 ) {
		desactivarSenior();
		desactivarAdultoResident();
	} else {
		activarJovem();	
		activarSenior();
		activarAdultoResident();
	}			
}

function doAccaoSenior(){
	if(document.formAvailAbility.senior.selectedIndex != 0 ) {
		desactivarJovem();		
		desactivarAdultoResident();
	} else {
		activarJovem();	
		activarSenior();
		activarAdultoResident();		
	}	
}

function doAccaoAdultoResident(){
	if(document.formAvailAbility.adultoa.selectedIndex != 0 ) {
		desactivarJovem();		
		desactivarSenior();
	} else {
		activarJovem();	
		activarSenior();
		activarAdultoResident();
	}	
}


function atribuiResident(){
	if (document.formAvailAbility.checkboxResident.checked) {
		document.formAvailAbility.resident.value = "on";	// Optional	
	}
	else {
	   	document.formAvailAbility.resident.value = "";		// Optional
	}   
}


function atribuiAdultoResident(){
	if(document.formAvailAbility.adultoa.selectedIndex != 0  && vModoAdvanced) {
		document.formAvailAbility.resident.value = "on";	// Optional
		document.formAvailAbility.numberOfAdults.value =  Number(document.formAvailAbility.adultoa.options[document.formAvailAbility.adultoa.selectedIndex].value);	
	}
	else {
	   	document.formAvailAbility.resident.value = "";		// Optional
	}  
}


function atribuiAeroportos(){
	ida = document.formAvailAbility.param4.value;
	volta = document.formAvailAbility.param6.value;
	
	document.formAvailAbility.fromCity.value = ida; 	// Mandatory	
	document.formAvailAbility.toCity.value = volta;		// Mandatory
}

function atribuiAeroportosAnixe(){
	ida = document.formAvailAbility.param4.value;
	volta = document.formAvailAbility.param6.value;
	
	document.formAvailAbility.origin.value = ida; 		// Mandatory	
	document.formAvailAbility.destination.value = volta;	// Mandatory
}

function atribuiAeroportosTapTours(){
	ida = document.formAvailAbility.param4.value;
	volta = document.formAvailAbility.param6.value;
	
	document.formAvailAbility.txt_deAviao.value = ida; 	// Mandatory	
	document.formAvailAbility.txt_paraAviao.value = volta;	// Mandatory
}

function mostraParametrosEB2(){
	alert ("market: " + document.formAvailAbility.market.value + "--- lang: " + document.formAvailAbility.lang.value );
	alert ("fromCity: " + document.formAvailAbility.fromCity.value + "--- toCity: " + document.formAvailAbility.toCity.value + "--- dateSearchType: " + document.formAvailAbility.dateSearchType.value);
	alert ("departDateDay: " + document.formAvailAbility.departDateDay.value + "--- departDateMonth: " + document.formAvailAbility.departDateMonth.value + "--- departDateYear: " + document.formAvailAbility.departDateYear.value);
	alert ("returnJourneySpan: " + document.formAvailAbility.returnJourneySpan.value + " returnDateDay: " + document.formAvailAbility.returnDateDay.value + "--- returnDateMonth: " + document.formAvailAbility.returnDateMonth.value + "--- returnDateYear: " + document.formAvailAbility.returnDateYear.value);
	//alert ("AdultoResident - adultoa: " + document.formAvailAbility.adultoa.value + " --- resident: " + document.formAvailAbility.resident.value);			
	alert ("numberOfAdults: " + document.formAvailAbility.numberOfAdults.value + "--- numberOfChildren: " + document.formAvailAbility.numberOfChildren.value + "--- numberOfInfants: " + document.formAvailAbility.numberOfInfants.value + "--- numberOfYouths: " + document.formAvailAbility.numberOfYouths.value);
	alert ("numberOfSeniors: " + document.formAvailAbility.numberOfSeniors.value + " cabinClassFareLogicalName: " + document.formAvailAbility.cabinClassFareLogicalName.value);
}

function mostraParametrosAnixe(){
	alert ("market: " + document.formAvailAbility.market.value + "--- language: " + document.formAvailAbility.language.value + "--- OfficeID: " + document.formAvailAbility.OfficeID.value);
	alert ("origin: " + document.formAvailAbility.origin.value + "--- destination: " + document.formAvailAbility.destination.value + "--- dateSearchType: " + document.formAvailAbility.dateSearchType.value);
	alert ("depDate: " + document.formAvailAbility.depDate.value + "--- depTime: " + document.formAvailAbility.depTime.value +  "--- retDate: " + document.formAvailAbility.retDate.value + "--- cabinClass: " + document.formAvailAbility.cabinClass.value);	
	alert ("adt: " + document.formAvailAbility.adt.value + "--- chd: " + document.formAvailAbility.chd.value + "--- inf: " + document.formAvailAbility.inf.value + "--- searchType: " + document.formAvailAbility.searchType.value);
}

function mostraParametrosTapTours(){
	alert ("vAction: " + document.formAvailAbility.vAction.value + "--- lang: " + document.formAvailAbility.lang.value + "--- channelId: " + document.formAvailAbility.channelId.value);
	alert ("txt_deAviao: " + document.formAvailAbility.txt_deAviao.value + "--- txt_paraAviao: " + document.formAvailAbility.txt_paraAviao.value + "--- TripType: " + document.formAvailAbility.TripType.value);
	alert ("BegDay: " + document.formAvailAbility.BegDay.value + " --- BegMonth: " + document.formAvailAbility.BegMonth.value + " --- BeginYear: " + document.formAvailAbility.BeginYear.value + " --- BegMonthAux: " + document.formAvailAbility.BegMonthAux.value);	
	alert ("EndDay: " + document.formAvailAbility.EndDay.value + " --- EndMonth: " + document.formAvailAbility.EndMonth.value + " --- EndYear: " + document.formAvailAbility.EndYear.value + " --- EndMonthAux: " + document.formAvailAbility.EndMonthAux.value);	
	alert ("sel_MaioresDe11Aviao: " + document.formAvailAbility.sel_MaioresDe11Aviao.value + "--- sel_MenoresDe11Aviao: " + document.formAvailAbility.sel_MenoresDe11Aviao.value + "--- sel_MenoresDe2Aviao: " + document.formAvailAbility.sel_MenoresDe2Aviao.value);
	alert ("voosDirectos: " + document.formAvailAbility.voosDirectos.value + " --- sel_ClasseAviao: " + document.formAvailAbility.sel_ClasseAviao.value);
}

function preencherParametrosEB2(){

	atribuiAeroportos();

	// Mandatory
	//if (document.formAvailAbility.radioDateSearchType[0].checked)
	//	document.formAvailAbility.dateSearchType.value = "exact";
	//else if (document.formAvailAbility.radioDateSearchType[1].checked)
	//	document.formAvailAbility.dateSearchType.value = "flexible";
	
	if (document.formAvailAbility.checkboxDateSearchType.checked)
		document.formAvailAbility.dateSearchType.value = "flexible";	
	else
		document.formAvailAbility.dateSearchType.value = "exact";	
	
	//-- departure --
	document.formAvailAbility.departDateDay.value = Number(document.formAvailAbility.combodiapartida.options[document.formAvailAbility.combodiapartida.selectedIndex].value); 			// Mandatory
	document.formAvailAbility.departDateMonth.value = Number(document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value.substring(4,6))-1 ; 	// Mandatory
	document.formAvailAbility.departDateYear.value = document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value.substring(0,4);		// Mandatory

	//-- return -- optional
	if (document.formAvailAbility.param3[0].checked)
		document.formAvailAbility.returnJourneySpan.value = true;
	else if (document.formAvailAbility.param3[1].checked)
		document.formAvailAbility.returnJourneySpan.value = false;
		
	document.formAvailAbility.returnDateDay.value = Number(document.formAvailAbility.combodiaregresso.options[document.formAvailAbility.combodiaregresso.selectedIndex].value);
	document.formAvailAbility.returnDateMonth.value = Number(document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value.substring(4,6))-1 ;
	document.formAvailAbility.returnDateYear.value = document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value.substring(0,4);
		
	//-- passengers -- optional
	
	if(vModoAdvanced)
		document.formAvailAbility.numberOfAdults.value = 0;
	else
		document.formAvailAbility.numberOfAdults.value =  Number(document.formAvailAbility.adulto.options[document.formAvailAbility.adulto.selectedIndex].value);
	
	document.formAvailAbility.numberOfChildren.value = Number(document.formAvailAbility.crianca.options[document.formAvailAbility.crianca.selectedIndex].value);
	document.formAvailAbility.numberOfInfants.value = Number(document.formAvailAbility.bebe.options[document.formAvailAbility.bebe.selectedIndex].value);
	//document.formAvailAbility.numberOfYouths.value = Number(document.formAvailAbility.jovem.options[document.formAvailAbility.jovem.selectedIndex].value);
	document.formAvailAbility.numberOfYouths.value = 0;
	//document.formAvailAbility.numberOfSeniors.value = Number(document.formAvailAbility.senior.options[document.formAvailAbility.senior.selectedIndex].value);
	document.formAvailAbility.numberOfSeniors.value = 0;
	
	//***** Resident *****   
	//atribuiResident();
	//atribuiAdultoResident();

	document.formAvailAbility.cabinClassFareLogicalName.value = document.formAvailAbility.comboClasse.options[document.formAvailAbility.comboClasse.selectedIndex].value;
	//mostraParametrosEB2();	
}

function preencherParametrosEB2Vertical(){

	atribuiAeroportos();

	//-- departure --
	document.formAvailAbility.departDateDay.value = Number(document.formAvailAbility.combodiapartida.options[document.formAvailAbility.combodiapartida.selectedIndex].value); 			// Mandatory
	document.formAvailAbility.departDateMonth.value = Number(document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value.substring(4,6))-1 ; 	// Mandatory
	document.formAvailAbility.departDateYear.value = document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value.substring(0,4);		// Mandatory

	//-- return -- optional
	if (document.formAvailAbility.param3[0].checked)
		document.formAvailAbility.returnJourneySpan.value = true;
	else if (document.formAvailAbility.param3[1].checked)
		document.formAvailAbility.returnJourneySpan.value = false;
		
	document.formAvailAbility.returnDateDay.value = Number(document.formAvailAbility.combodiaregresso.options[document.formAvailAbility.combodiaregresso.selectedIndex].value);
	document.formAvailAbility.returnDateMonth.value = Number(document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value.substring(4,6))-1 ;
	document.formAvailAbility.returnDateYear.value = document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value.substring(0,4);
		
	//-- passengers -- optional
	
	if(vModoAdvanced)
		document.formAvailAbility.numberOfAdults.value = 0;
	else
		document.formAvailAbility.numberOfAdults.value = Number(document.formAvailAbility.adulto.options[document.formAvailAbility.adulto.selectedIndex].value);
	
	document.formAvailAbility.numberOfChildren.value = 0;
	document.formAvailAbility.numberOfInfants.value = 0;
	document.formAvailAbility.numberOfYouths.value = 0;
	document.formAvailAbility.numberOfSeniors.value = 0;
	

	//document.formAvailAbility.cabinClassFareLogicalName.value = document.formAvailAbility.comboClasse.options[document.formAvailAbility.comboClasse.selectedIndex].value;
	//mostraParametrosEB2();	
}

function preencherParametrosAnixeVertical(){

	var flag = 0;
	var data = new Date();  
	var dia = data.getDate();  
	var mes = data.getMonth() + 1; 
	var mesSeguinte = mes  + 1; 	
	var horas = data.getHours(); 
	var minutos = data.getMinutes();
	//add a day to the date
	//data.setDate(data.getDate() + 1); // diaSeguinte passa a ser dia actual
	var diaSeguinte = data.getDate();
	var horasSeguinte = horas+6;
	var minutosSeguinte = minutos +1;
	
	//if ( horasSeguinte > 23 ) horasSeguinte = 23;
	if ( minutosSeguinte > 59 ) minutosSeguinte= 59;
	if ( mesSeguinte > 12 ) mesSeguinte= 1;

	//alert ("dia: " + dia  + "--- mes: " + mes + " --- horas: " + horas + " --- minutos: " + minutos + " --- diaSeguinte: " + diaSeguinte + " --- mesSeguinte: " + mesSeguinte + " --- horasSeguinte: " + horasSeguinte);

	urlAnixe = urlAmbienteAnixe + "/r3air/tap/DeepLink.aspx"; 			// default
	document.formAvailAbility.target = "_self";
	atribuiAeroportosAnixe();
	
	//-- departure --
	var vDepartDateDay = Number(document.formAvailAbility.combodiapartida.options[document.formAvailAbility.combodiapartida.selectedIndex].value); 			// Mandatory
	var vDepartDateMonth = Number(document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value.substring(4,6)); // Mandatory
	var vDepartDateYear = document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value.substring(0,4);		// Mandatory

	document.formAvailAbility.departDateDay.value = vDepartDateDay;		// Mandatory
	document.formAvailAbility.departDateMonth.value = vDepartDateMonth; 	// Mandatory
	document.formAvailAbility.departDateYear.value = vDepartDateYear;	// Mandatory
	document.formAvailAbility.depDate.value = insere0(vDepartDateDay) + "." + insere0(vDepartDateMonth) + "." + vDepartDateYear; // Mandatory

	//var vDepartDate = document.formAvailAbility.FrmDateDeparture.value;  // Mandatory
	//document.formAvailAbility.depDate.value = vDepartDate; // Mandatory	

	if ((vDepartDateDay == diaSeguinte && vDepartDateMonth == mes) || (vDepartDateDay == diaSeguinte && diaSeguinte == 1 && diaSeguinte < dia && vDepartDateMonth == mesSeguinte)) {
		var vDepTime = horasSeguinte + ":00-23:50";
               	if ( horasSeguinte > 23 )  vDepTime = "23:00-23:50";
		document.formAvailAbility.depTime.value = vDepTime;
		//alert(" entrou vDepTime: " + vDepTime);
	} else
		document.formAvailAbility.depTime.value = 0;
	
	//-- return -- optional types of flight (e.g. single - one way, return - round trip) [format-string]
	if (document.formAvailAbility.param3[0].checked)
		document.formAvailAbility.flightType.value = "return";
	else if (document.formAvailAbility.param3[1].checked)
		document.formAvailAbility.flightType.value = "single";
	
	var vReturnDateDay = Number(document.formAvailAbility.combodiaregresso.options[document.formAvailAbility.combodiaregresso.selectedIndex].value);
	var vReturnDateMonth = Number(document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value.substring(4,6));
	var vReturnDateYear = document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value.substring(0,4);
				
	document.formAvailAbility.returnDateDay.value = vReturnDateDay;
	document.formAvailAbility.returnDateMonth.value = vReturnDateMonth;
	document.formAvailAbility.returnDateYear.value = vReturnDateYear;

	document.formAvailAbility.retDate.value = insere0(vReturnDateDay)  + "." + insere0(vReturnDateMonth) + "." + vReturnDateYear; 
	
//	var vReturnDate= document.formAvailAbility.FrmDateReturn.value;  
//	document.formAvailAbility.retDate.value = vReturnDate; 
		
	//-- passengers -- optional

	var vNumberOfAdults = Number(document.formAvailAbility.adulto.options[document.formAvailAbility.adulto.selectedIndex].value);
//	var vNumberOfChildren = Number(document.formAvailAbility.crianca.options[document.formAvailAbility.crianca.selectedIndex].value);
//	var vNumberOfInfants = Number(document.formAvailAbility.bebe.options[document.formAvailAbility.bebe.selectedIndex].value);	
	
	document.formAvailAbility.numberOfAdults.value = vNumberOfAdults;
	document.formAvailAbility.numberOfChildren.value = 0;
	document.formAvailAbility.numberOfInfants.value = 0;
	
	document.formAvailAbility.adt.value = vNumberOfAdults;
	document.formAvailAbility.chd.value = 0;
	document.formAvailAbility.inf.value = 0;	
	
	//alert ("passou antes officeID: " +  officeID );
	if ( officeID != "" ) {
		document.formAvailAbility.officeID.value = officeID;
		document.formAvailAbility.OfficeID.value = officeID;
		document.formAvailAbility._a.value = officeID;	
		//alert ("passou dentro officeID: " +  officeID );		
	}

	//mostraParametrosAnixe();	
}

function preencherParametrosAnixe(){

	var flag = 0;
	var data = new Date();  
	var dia = data.getDate();  
	var mes = data.getMonth() + 1; 
	var mesSeguinte = mes  + 1; 	
	var horas = data.getHours(); 
	var minutos = data.getMinutes();
	//add a day to the date
	//data.setDate(data.getDate() + 1); // diaSeguinte passa a ser dia actual
	var diaSeguinte = data.getDate();
	var horasSeguinte = horas+6;
	var minutosSeguinte = minutos +1;
	
	//if ( horasSeguinte > 23 ) horasSeguinte = 23;
	if ( minutosSeguinte > 59 ) minutosSeguinte= 59;
	if ( mesSeguinte > 12 ) mesSeguinte= 1;

	//alert ("dia: " + dia  + "--- mes: " + mes + " --- horas: " + horas + " --- minutos: " + minutos + " --- diaSeguinte: " + diaSeguinte + " --- mesSeguinte: " + mesSeguinte + " --- horasSeguinte: " + horasSeguinte);

	urlAnixe = urlAmbienteAnixe + "/r3air/tap/DeepLink.aspx"; 			// default
	document.formAvailAbility.target = "_self";
	atribuiAeroportosAnixe();
	
	//-- departure --
	var vDepartDateDay = Number(document.formAvailAbility.combodiapartida.options[document.formAvailAbility.combodiapartida.selectedIndex].value); 			// Mandatory
	var vDepartDateMonth = Number(document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value.substring(4,6)); // Mandatory
	var vDepartDateYear = document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value.substring(0,4);		// Mandatory

	document.formAvailAbility.departDateDay.value = vDepartDateDay;		// Mandatory
	document.formAvailAbility.departDateMonth.value = vDepartDateMonth; 	// Mandatory
	document.formAvailAbility.departDateYear.value = vDepartDateYear;	// Mandatory
	document.formAvailAbility.depDate.value = insere0(vDepartDateDay) + "." + insere0(vDepartDateMonth) + "." + vDepartDateYear; // Mandatory

	//var vDepartDate = document.formAvailAbility.FrmDateDeparture.value;  // Mandatory
	//document.formAvailAbility.depDate.value = vDepartDate; // Mandatory	

	if ((vDepartDateDay == diaSeguinte && vDepartDateMonth == mes) || (vDepartDateDay == diaSeguinte && diaSeguinte == 1 && diaSeguinte < dia && vDepartDateMonth == mesSeguinte)) {
		var vDepTime = horasSeguinte + ":00-23:50";
               	if ( horasSeguinte > 23 )  vDepTime = "23:00-23:50";
		document.formAvailAbility.depTime.value = vDepTime;
		//alert(" entrou vDepTime: " + vDepTime);
	} else
		document.formAvailAbility.depTime.value = 0;
	

	//-- return -- optional types of flight (e.g. single - one way, return - round trip) [format-string]
	if (document.formAvailAbility.param3[0].checked) {
		//alert("passou param3[0] --- return --- urlAnixe: " + urlAnixe);
		document.formAvailAbility.flightType.value = "return";
	} else if (document.formAvailAbility.param3[1].checked) {
		//alert("passou param3[1] --- single  --- urlAnixe: " + urlAnixe);	
		document.formAvailAbility.flightType.value = "single";
	} else if (document.formAvailAbility.param3[2].checked) {
		//document.formAvailAbility.flightType.value = "multicity";
		//alert("antes passou param3[2] --- multicity  --- urlAnixe: " + urlAnixe);	
		desactivarVolta();
		urlAnixe = vMultiCity; 
		document.formAvailAbility.depTime.value = 0;
		//alert("depois passou param3[2] --- multicity  --- urlAnixe: " + urlAnixe);			
	}
	
	//alert ( "urlAnixe: " + urlAnixe ); 		
	
	var vReturnDateDay = Number(document.formAvailAbility.combodiaregresso.options[document.formAvailAbility.combodiaregresso.selectedIndex].value);
	var vReturnDateMonth = Number(document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value.substring(4,6));
	var vReturnDateYear = document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value.substring(0,4);
				
	document.formAvailAbility.returnDateDay.value = vReturnDateDay;
	document.formAvailAbility.returnDateMonth.value = vReturnDateMonth;
	document.formAvailAbility.returnDateYear.value = vReturnDateYear;

	document.formAvailAbility.retDate.value = insere0(vReturnDateDay)  + "." + insere0(vReturnDateMonth) + "." + vReturnDateYear; 
	
//	var vReturnDate= document.formAvailAbility.FrmDateReturn.value;  
//	document.formAvailAbility.retDate.value = vReturnDate; 
		
	//-- passengers -- optional

	var vNumberOfAdults =  Number(document.formAvailAbility.adulto.options[document.formAvailAbility.adulto.selectedIndex].value);
	var vNumberOfChildren = Number(document.formAvailAbility.crianca.options[document.formAvailAbility.crianca.selectedIndex].value);
	var vNumberOfInfants = Number(document.formAvailAbility.bebe.options[document.formAvailAbility.bebe.selectedIndex].value);	
	
	document.formAvailAbility.numberOfAdults.value =  vNumberOfAdults;
	document.formAvailAbility.numberOfChildren.value = vNumberOfChildren;
	document.formAvailAbility.numberOfInfants.value = vNumberOfInfants;
	
	document.formAvailAbility.adt.value = vNumberOfAdults;
	document.formAvailAbility.chd.value = vNumberOfChildren;
	document.formAvailAbility.inf.value = vNumberOfInfants;	

	
	// Mandatory
	//-- cabinClass prefered business class if signed; on the results list only business class (if available)will be shown (allowed values P-business,Y-economy)	
	if (document.formAvailAbility.OtherOptionsBusinessOnly.checked){ 
		document.formAvailAbility.cabinClass.value = "C";	
		document.formAvailAbility.selectedBP.value = "Executive";			
	} else {
		document.formAvailAbility.cabinClass.value = "Y";
		document.formAvailAbility.selectedBP.value = "";		
	}		


	// Mandatory
	// searchType -- fixed or flexible (fixed redirects to PoweredAvailability, flexible to Calendar)	
	if (document.formAvailAbility.OtherOptionsFlexibleDates.checked) {
		document.formAvailAbility.dateSearchType.value = "flexible";
		document.formAvailAbility.searchType.value = "flexible";
		document.formAvailAbility.depTime.value = 0;		
//		document.formAvailAbility.ccSearch.value = "C";	
//		urlAnixe = vFlexibleDateSearch; 
	}	
	else
		document.formAvailAbility.searchType.value = "fixed";	

	if ( officeID != "" ) {
		document.formAvailAbility.officeID.value = officeID;
		document.formAvailAbility.OfficeID.value = officeID;
		document.formAvailAbility._a.value = officeID;	
		//alert ("passou dentro officeID: " +  officeID );		
	}
			
	//mostraParametrosAnixe();	
}

function preencherParametrosAnixeMiniIBE(){

	var flag = 0;
	var data = new Date();  
	var dia = data.getDate();  
	var mes = data.getMonth() + 1; 
	var mesSeguinte = mes  + 1; 	
	var horas = data.getHours(); 
	var minutos = data.getMinutes();
	//add a day to the date
	data.setDate(data.getDate() + 1);
	var diaSeguinte = data.getDate();
	var horasSeguinte = horas+2;
	var minutosSeguinte = minutos +1;
	
	//if ( horasSeguinte > 23 ) horasSeguinte = 23;
	if ( minutosSeguinte > 59 ) minutosSeguinte= 59;
	if ( mesSeguinte > 12 ) mesSeguinte= 1;

	//alert ("dia: " + dia  + "--- mes: " + mes + " --- horas: " + horas + " --- minutos: " + minutos + " --- diaSeguinte: " + diaSeguinte + " --- mesSeguinte: " + mesSeguinte + " --- horasSeguinte: " + horasSeguinte);

	urlAnixe = urlAmbienteAnixe + "/r3air/tap/DeepLink.aspx"; 			// default
	document.formAvailAbility.target = "_self";
	atribuiAeroportosAnixe();
	
	//-- departure --
	var vDepartDateDay = Number(document.formAvailAbility.combodiapartida.options[document.formAvailAbility.combodiapartida.selectedIndex].value); 			// Mandatory
	var vDepartDateMonth = Number(document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value.substring(4,6)); // Mandatory
	var vDepartDateYear = document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value.substring(0,4);		// Mandatory

	document.formAvailAbility.departDateDay.value = vDepartDateDay;		// Mandatory
	document.formAvailAbility.departDateMonth.value = vDepartDateMonth; 	// Mandatory
	document.formAvailAbility.departDateYear.value = vDepartDateYear;	// Mandatory
	document.formAvailAbility.depDate.value = insere0(vDepartDateDay) + "." + insere0(vDepartDateMonth) + "." + vDepartDateYear; // Mandatory

	//var vDepartDate = document.formAvailAbility.FrmDateDeparture.value;  // Mandatory
	//document.formAvailAbility.depDate.value = vDepartDate; // Mandatory	

	if ((vDepartDateDay == diaSeguinte && vDepartDateMonth == mes) || (vDepartDateDay == diaSeguinte && diaSeguinte == 1 && diaSeguinte < dia && vDepartDateMonth == mesSeguinte)) {
		var vDepTime = horasSeguinte + ":00-23:50";
               	if ( horasSeguinte > 23 )  vDepTime = "23:00-23:50";
		document.formAvailAbility.depTime.value = vDepTime;
		//alert(" entrou vDepTime: " + vDepTime);
	} else
		document.formAvailAbility.depTime.value = 0;
	

	//-- return -- optional types of flight (e.g. single - one way, return - round trip) [format-string]
	if (document.formAvailAbility.param3[0].checked) {
		//alert("passou param3[0] --- return --- urlAnixe: " + urlAnixe);
		document.formAvailAbility.flightType.value = "return";
	} else if (document.formAvailAbility.param3[1].checked) {
		//alert("passou param3[1] --- single  --- urlAnixe: " + urlAnixe);	
		document.formAvailAbility.flightType.value = "single";
	} else if (document.formAvailAbility.param3[2].checked) {
		//document.formAvailAbility.flightType.value = "multicity";
		//alert("antes passou param3[2] --- multicity  --- urlAnixe: " + urlAnixe);	
		desactivarVolta();
		urlAnixe = vMultiCity; 
		document.formAvailAbility.depTime.value = 0;
		//alert("depois passou param3[2] --- multicity  --- urlAnixe: " + urlAnixe);			
	}
	
	//alert ( "urlAnixe: " + urlAnixe ); 		
	
	var vReturnDateDay = Number(document.formAvailAbility.combodiaregresso.options[document.formAvailAbility.combodiaregresso.selectedIndex].value);
	var vReturnDateMonth = Number(document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value.substring(4,6));
	var vReturnDateYear = document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value.substring(0,4);
				
	document.formAvailAbility.returnDateDay.value = vReturnDateDay;
	document.formAvailAbility.returnDateMonth.value = vReturnDateMonth;
	document.formAvailAbility.returnDateYear.value = vReturnDateYear;

	document.formAvailAbility.retDate.value = insere0(vReturnDateDay)  + "." + insere0(vReturnDateMonth) + "." + vReturnDateYear; 
	
//	var vReturnDate= document.formAvailAbility.FrmDateReturn.value;  
//	document.formAvailAbility.retDate.value = vReturnDate; 
		
	//-- passengers -- optional

	var vNumberOfAdults =  Number(document.formAvailAbility.adulto.options[document.formAvailAbility.adulto.selectedIndex].value);
	var vNumberOfChildren = Number(document.formAvailAbility.crianca.options[document.formAvailAbility.crianca.selectedIndex].value);
	var vNumberOfInfants = Number(document.formAvailAbility.bebe.options[document.formAvailAbility.bebe.selectedIndex].value);	
	
	document.formAvailAbility.numberOfAdults.value =  vNumberOfAdults;
	document.formAvailAbility.numberOfChildren.value = vNumberOfChildren;
	document.formAvailAbility.numberOfInfants.value = vNumberOfInfants;
	
	document.formAvailAbility.adt.value = vNumberOfAdults;
	document.formAvailAbility.chd.value = vNumberOfChildren;
	document.formAvailAbility.inf.value = vNumberOfInfants;	

	
	// Mandatory
	//-- cabinClass prefered business class if signed; on the results list only business class (if available)will be shown (allowed values P-business,Y-economy)	
	document.formAvailAbility.cabinClass.value = "Y";
	document.formAvailAbility.selectedBP.value = "";		

	// Mandatory
	// searchType -- fixed or flexible (fixed redirects to PoweredAvailability, flexible to Calendar)	
	document.formAvailAbility.searchType.value = "fixed";	

	if ( officeID != "" ) {
		document.formAvailAbility.officeID.value = officeID;
		document.formAvailAbility.OfficeID.value = officeID;
		document.formAvailAbility._a.value = officeID;	
		//alert ("passou dentro officeID: " +  officeID );		
	}
			
	//mostraParametrosAnixe();	
}
function preencherParametrosTapTours(){

	atribuiAeroportosTapTours();
	
	//-- departure --
	var vDepartDateDay = Number(document.formAvailAbility.combodiapartida.options[document.formAvailAbility.combodiapartida.selectedIndex].value); 			// Mandatory
	var vDepartDateMonth = Number(document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value.substring(4,6)); // Mandatory
	var vDepartDateYear = document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value.substring(0,4);		// Mandatory

//	document.formAvailAbility.departDateDay.value = vDepartDateDay;		// Mandatory
//	document.formAvailAbility.departDateMonth.value = vDepartDateMonth; 	// Mandatory
//	document.formAvailAbility.departDateYear.value = vDepartDateYear;	// Mandatory
//	document.formAvailAbility.depDate.value = insere0(vDepartDateDay) + "." + insere0(vDepartDateMonth) + "." + vDepartDateYear; // Mandatory
	
	document.formAvailAbility.BegDay.value = vDepartDateDay;					// Mandatory
	document.formAvailAbility.BegMonth.value = vDepartDateMonth;					// Mandatory
	document.formAvailAbility.BeginYear.value = vDepartDateYear;					// Mandatory		
	document.formAvailAbility.BegMonthAux.value = vDepartDateMonth + "_" + vDepartDateYear; 	// Mandatory

	//var vDepartDate = document.formAvailAbility.FrmDateDeparture.value;  // Mandatory
	//document.formAvailAbility.depDate.value = vDepartDate; // Mandatory	
	
	//-- return -- optional types of flight (e.g. single - one way, return - round trip) [format-string]
	if (document.formAvailAbility.param3[0].checked)
		document.formAvailAbility.TripType.value = "RoundTrip";
	else if (document.formAvailAbility.param3[1].checked)
		document.formAvailAbility.TripType.value = "OneWay";
		

	//-- return --	
	var vReturnDateDay = Number(document.formAvailAbility.combodiaregresso.options[document.formAvailAbility.combodiaregresso.selectedIndex].value);
	var vReturnDateMonth = Number(document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value.substring(4,6));
	var vReturnDateYear = document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value.substring(0,4);
				
//	document.formAvailAbility.returnDateDay.value = vReturnDateDay;
//	document.formAvailAbility.returnDateMonth.value = vReturnDateMonth;
//	document.formAvailAbility.returnDateYear.value = vReturnDateYear;
//	document.formAvailAbility.retDate.value = insere0(vReturnDateDay)  + "." + insere0(vReturnDateMonth) + "." + vReturnDateYear; 

	document.formAvailAbility.EndDay.value = vReturnDateDay;					// Mandatory
	document.formAvailAbility.EndMonth.value = vReturnDateMonth;					// Mandatory	
	document.formAvailAbility.EndYear.value = vReturnDateYear;					// Mandatory	
	document.formAvailAbility.EndMonthAux.value = vReturnDateMonth + "_" + vReturnDateYear; 	// Mandatory	
//	var vReturnDate= document.formAvailAbility.FrmDateReturn.value;  
//	document.formAvailAbility.retDate.value = vReturnDate; 
		
	//-- passengers -- optional

	var vNumberOfAdults =  Number(document.formAvailAbility.adulto.options[document.formAvailAbility.adulto.selectedIndex].value);
	var vNumberOfChildren = Number(document.formAvailAbility.crianca.options[document.formAvailAbility.crianca.selectedIndex].value);
	var vNumberOfInfants = Number(document.formAvailAbility.bebe.options[document.formAvailAbility.bebe.selectedIndex].value);	
	
//	document.formAvailAbility.numberOfAdults.value =  vNumberOfAdults;
//	document.formAvailAbility.numberOfChildren.value = vNumberOfChildren;
//	document.formAvailAbility.numberOfInfants.value = vNumberOfInfants;
//	
//	document.formAvailAbility.adt.value = vNumberOfAdults;
//	document.formAvailAbility.chd.value = vNumberOfChildren;
//	document.formAvailAbility.inf.value = vNumberOfInfants;	

	document.formAvailAbility.sel_MaioresDe11Aviao.value = vNumberOfAdults;
	document.formAvailAbility.sel_MenoresDe11Aviao.value = vNumberOfChildren;
	document.formAvailAbility.sel_MenoresDe2Aviao.value = vNumberOfInfants;	


	// Mandatory
	// searchType -- fixed or flexible (fixed redirects to PoweredAvailability, flexible to Calendar)	
//	if (document.formAvailAbility.OtherOptionsFlexibleDates.checked) 
//		document.formAvailAbility.voosDirectos.value = "D";
//	else
//		document.formAvailAbility.voosDirectos.value = "A";
		
	//mostraParametrosTapTours();	
}

function atribuiAeroportosWebSpecials(){

	ida = document.formtrip.param5.value;
	volta = document.formtrip.param15.value;
	
	document.formtrip.fromCity.value = ida; 	// Mandatory	
	document.formtrip.toCity.value = volta;		// Mandatory
	
	document.formtrip.oAir.value = ida; 		// Mandatory	
	document.formtrip.iAir.value = volta;		// Mandatory

}

function atribuiRBDWebSpecials(){

	depRBD = document.formtrip.param12.value;
	retRBD = document.formtrip.param22.value;
	
//	alert("depRBD: " + depRBD + " retRBD: " + retRBD ); 
	document.formtrip.fB.value = depRBD;

}

function mostraParametrosWebSpecialsEB2(){
	alert ("market: " + document.formtrip.market.value + "--- lang: " + document.formtrip.lang.value + "--- fB: " + document.formtrip.fB.value );
	//alert ("fromCity: " + document.formtrip.fromCity.value + "--- toCity: " + document.formtrip.toCity.value + "--- dateSearchType: " + document.formtrip.dateSearchType.value);
	alert ("oAir: " + document.formtrip.oAir.value + "--- iAir: " + document.formtrip.iAir.value + "--- dateSearchType: " + document.formtrip.dateSearchType.value);
	//alert ("departDateDay: " + document.formtrip.departDateDay.value + "--- departDateMonth: " + document.formtrip.departDateMonth.value + "--- departDateYear: " + document.formtrip.departDateYear.value);
	alert ("departDateMonth - oM : " + document.formtrip.oM.value + "--- departDateYear-- oY: " + document.formtrip.oY.value);
	//alert ("returnJourneySpan: " + document.formtrip.returnJourneySpan.value + " returnDateDay: " + document.formtrip.returnDateDay.value + "--- returnDateMonth: " + document.formtrip.returnDateMonth.value + "--- returnDateYear: " + document.formtrip.returnDateYear.value);
	alert ("returnJourneySpan: " + document.formtrip.returnJourneySpan.value + "--- returnDateMonth: -> iM: " + document.formtrip.iM.value + "--- returnDateYear: -> iY: " + document.formtrip.iY.value);	
	alert ("numberOfAdults: " + document.formtrip.numberOfAdults.value + "--- numberOfChildren: " + document.formtrip.numberOfChildren.value + "--- numberOfInfants: " + document.formtrip.numberOfInfants.value );
	//alert ("numberOfSeniors: " + document.formtrip.numberOfSeniors.value + " cabinClassFareLogicalName: " + document.formtrip.cabinClassFareLogicalName.value);
		
}

function preencherParametrosWebSpecialsEB2(){

	atribuiAeroportosWebSpecials();
	atribuiRBDWebSpecials();
	// Mandatory
	/*
	if (document.formtrip.radioDateSearchType[0].checked)
		document.formtrip.dateSearchType.value = "exact";
	else if (document.formtrip.radioDateSearchType[1].checked)
		document.formtrip.dateSearchType.value = "flexible";
	*/
	
	//-- departure --
	document.formtrip.departDateDay.value = Number(document.formtrip.combodiapartida.options[document.formtrip.combodiapartida.selectedIndex].value); 			// Mandatory
	document.formtrip.departDateMonth.value = Number(document.formtrip.combomespartida.options[document.formtrip.combomespartida.selectedIndex].value.substring(4,6))-1 ; 	// Mandatory
	document.formtrip.departDateYear.value = document.formtrip.combomespartida.options[document.formtrip.combomespartida.selectedIndex].value.substring(0,4);		// Mandatory

	document.formtrip.oM.value = Number(document.formtrip.combomespartida.options[document.formtrip.combomespartida.selectedIndex].value.substring(4,6))-1 ; 	// Mandatory
	document.formtrip.oY.value = document.formtrip.combomespartida.options[document.formtrip.combomespartida.selectedIndex].value.substring(0,4);		// Mandatory

	//-- return 
	//-- TRIP_TYPE
	var tripType  = document.formtrip.param3.value;
	
	alert("tripType: " + tripType);
	
	if (tripType.toUpperCase() == "R") 
		document.formtrip.returnJourneySpan.value = true;
	else 
		document.formtrip.returnJourneySpan.value = false;
		
	document.formtrip.returnDateDay.value = Number(document.formtrip.combodiaregresso.options[document.formtrip.combodiaregresso.selectedIndex].value);
	document.formtrip.returnDateMonth.value = Number(document.formtrip.combomesregresso.options[document.formtrip.combomesregresso.selectedIndex].value.substring(4,6))-1 ;
	document.formtrip.returnDateYear.value = document.formtrip.combomesregresso.options[document.formtrip.combomesregresso.selectedIndex].value.substring(0,4);

	document.formtrip.iM.value = Number(document.formtrip.combomesregresso.options[document.formtrip.combomesregresso.selectedIndex].value.substring(4,6))-1 ;
	document.formtrip.iY.value = document.formtrip.combomesregresso.options[document.formtrip.combomesregresso.selectedIndex].value.substring(0,4);
		
	//-- passengers -- optional
	document.formtrip.numberOfAdults.value =  Number(document.formtrip.adulto.options[document.formtrip.adulto.selectedIndex].value);
	document.formtrip.numberOfChildren.value = Number(document.formtrip.crianca.options[document.formtrip.crianca.selectedIndex].value);
	document.formtrip.numberOfInfants.value = Number(document.formtrip.bebe.options[document.formtrip.bebe.selectedIndex].value);
	//document.formtrip.numberOfYouths.value = Number(document.formtrip.jovem.options[document.formtrip.jovem.selectedIndex].value);
	//document.formtrip.numberOfSeniors.value = Number(document.formtrip.senior.options[document.formtrip.senior.selectedIndex].value);
	
	//***** Resident *****   
	//atribuiResident();
	//atribuiAdultoResident();

	//document.formtrip.cabinClassFareLogicalName.value = document.formtrip.comboClasse.options[document.formtrip.comboClasse.selectedIndex].value;
	mostraParametrosWebSpecialsEB2();
}
function verBebesCriancas(adultos, bebe , crianca ) {
//		alert ( "passou verBebesCriancas" );
//    	var maxBebe = 1;
//	//var maxBebeCrianca = 2;
//	var maxBebeCrianca = 1;
//	var maxCrianca = 4;
//
//	if( adultos == 1) {
//		if( bebe > 0) {
//			diviBebe= bebe / adultos;
//			diviCrianca = crianca / adultos;
//	
//			if( diviBebe > maxBebe  || diviCrianca > maxBebeCrianca )
//				return false;
//	
//		} else if( crianca > 0) {
//			diviCrianca = crianca / adultos;
//	
//			if( diviCrianca  > maxCrianca )
//				return false;
//		} 
//	} else 
//	{
//		res_adults = adultos - bebe;
////		if ( res_adults < 1 ) // no adults
////			return false;
//		
//		num_criancas_permitido = res_adults * maxCrianca;
//		num_criancas = crianca - bebe;
//		
//		alert ( "crianca: " + crianca + " --- bebe: " + bebe + " --- res_adults: " + res_adults + " --- num_criancas_permitido: " + num_criancas_permitido + " --- num_criancas: " + num_criancas );
//		
//		if ( num_criancas_permitido < num_criancas ) 
//			return false;
//	}

	return verifyInfantsChildren(adultos, bebe , crianca );
}

function verifyInfantsChildren(adults, infants , children ) {
    	var max_infants = 1;
	var max_infants_children = 1;
	var max_children = 4;

	if( adults == 1 ) {
		if( infants > 0 ) {
			divi_infants= infants / adults;
			divi_children = children / adults;
	
			if( divi_infants > max_infants  || divi_children > max_infants_children )
				return false;
	
		} else if( children > 0 ) {
			divi_children = children / adults;
	
			if( divi_children  > max_children )
				return false;
		} 
	} else {
		res_adults = adults - infants;
		num_children_allowed = res_adults * max_children;
		num_children = children - infants;
		
	//alert ( "children: " + children + " --- infants: " + infants + " --- res_adults: " + res_adults + " --- num_children_allowed: " + num_children_allowed + " --- num_children: " + num_children );
		
		if ( num_children_allowed < num_children ) 
			return false;
	}

	return true;
}
/* <!-- /_vs_/_lg_/js/functionIBE.js --> */
var adultos = 1;
//var jovem = Number(document.formAvailAbility.jovem.options[document.formAvailAbility.jovem.selectedIndex].value);
var jovem = 0;
var crianca = 0;
var bebe = 0;
var abriuWarning = false;
var auxBigBanner ="";
var bigBanner;
var warningptrcustoms;	

//***** France *****
// Aeroportos Portugal
var vAirportsPT = new Array();
vAirportsPT[0] = 'FAO';  // 'Faro',
vAirportsPT[1] = 'FLW';  // 'Flores Island',
vAirportsPT[2] = 'FNC';  // 'Funchal',
vAirportsPT[3] = 'HOR';  // 'Horta',
vAirportsPT[4] = 'LIS';  // 'Lisbon',
vAirportsPT[5] = 'PIX';  // 'Pico',
vAirportsPT[6] = 'PDL';  // 'Ponta Delgada',
vAirportsPT[7] = 'OPO';  // 'Porto',
vAirportsPT[8] = 'PXO';  // 'Porto Santo',
vAirportsPT[9] = 'SMA';  // 'Santa Maria',
vAirportsPT[10] = 'TER';  // 'Terceira',

// Aeroportos Brasil
var vAirportsBR = new Array();
vAirportsBR[0] = 'AJU';		// Aracaju
vAirportsBR[1] = 'BEL';		// Belem
vAirportsBR[2] = 'BPS';		// Porto Seguro
vAirportsBR[3] = 'BSB';		// Brasilia
vAirportsBR[4] = 'CGB';		// Cuiaba
vAirportsBR[5] = 'CGH';		// Sao Paulo, Congonhas
vAirportsBR[6] = 'CGR';		// Campo Grande
vAirportsBR[7] = 'CNF';		// Belo Horizonte
vAirportsBR[8] = 'CWB';		// Curitiba
vAirportsBR[9] = 'FLN';		// Florianopolis
vAirportsBR[10] = 'FOR';	// Fortaleza
vAirportsBR[11] = 'GIG';	// Rio de Janeiro
vAirportsBR[12] = 'GRU';	// Sao Paulo, Guarulhos
vAirportsBR[13] = 'GYN';	// Goiania
vAirportsBR[14] = 'IGU';	// Iguassu Falls
vAirportsBR[15] = 'IMP';	// Imperatriz
vAirportsBR[16] = 'IOS';	// Ilheus
vAirportsBR[17] = 'JPA';	// Joao Pessoa
vAirportsBR[18] = 'LDB';	// Londrina
vAirportsBR[19] = 'MAB';	// Maraba
vAirportsBR[20] = 'MAO';	// Manaus
vAirportsBR[21] = 'MCP';	// Macapa
vAirportsBR[22] = 'MCZ';	// Maceio
vAirportsBR[23] = 'NAT';	// Natal
vAirportsBR[24] = 'PMW';	// Palmas
vAirportsBR[25] = 'POA';	// Porto Alegre
vAirportsBR[26] = 'PVH';	// Porto Velho
vAirportsBR[27] = 'REC';	// Recife
vAirportsBR[28] = 'RBR';	// Rio Branco
vAirportsBR[29] = 'SAO';	// São Paulo (all airports)
vAirportsBR[30] = 'SLZ';	// Sao Luiz
vAirportsBR[31] = 'SSA';	// Salvador
vAirportsBR[32] = 'THE';	// Teresina
vAirportsBR[33] = 'VIX';	// Vitoria

function isAirportsPT(pValue) {

	if (pValue.length < 3)
		return false;
		
	for (var i = 0; i < vAirportsPT.length; i++) {
		var ind = vAirportsPT[i].toUpperCase().indexOf(pValue.toUpperCase());
		
		if ( ind != -1 )
			return true;
	}
	
	return false;
}

function isAirportsBR(pValue) {

	if (pValue.length < 3)
		return false;
		
	for (var i = 0; i < vAirportsBR.length; i++) {
		var ind = vAirportsBR[i].toUpperCase().indexOf(pValue.toUpperCase());
		
		if ( ind != -1 )
			return true;
	}
	//alert("passou: isAirportsBR");
	 
	return false;
}

function geraDestinosOrdMarket(pMarket)  {
	if ( pMarket != "PT" )  return true;

	var vTempAeroportoArray = new Array();
	var vTempAeroportoArray2 = new Array();

	vListaDestinos = document.formAvailAbility.param6.options;
	vListaDestinosTemp = vListaDestinos; 

	count1=1;
	
	// coloca em primeiro lugar os aeroportos do mercado == pMarket
	for (var i=1; i < vListaDestinosTemp.length; i++) {
		var destino = vListaDestinosTemp[i].value;
		//alert("origem: " + origem);
		if ( vAeroportos[destino]!= null && isAirportsPT(destino)) {
	       		vTempAeroportoArray[vAeroportos[destino]] = destino ;
	       		count1++;
	      	}
	}
	// depois coloca os aeroportos do mercado != pMarket
	vTempAeroportoArray['-----'] = 0; 
	count1++;
	for (var i=1; i < vListaDestinosTemp.length; i++) {
		var destino = vListaDestinosTemp[i].value;
		//alert("origem: " + origem);
		if ( vAeroportos[destino]!= null && !isAirportsPT(destino)) {
	       			vTempAeroportoArray[vAeroportos[destino]] = destino ;
	       			count1++;
	      	}
	}

	count = 0;
	for (var vIdAeroporto in vTempAeroportoArray){
		vTempAeroportoArray2[count] = vIdAeroporto;
		count++;
	}
	//vTempAeroportoArray2.sort();
	vListaDestinos.length  = 1;
	count = 0;
	for (var n in vTempAeroportoArray2){
		vListaDestinos[count+1] = new Option(htmlEntitiesToOctal(vTempAeroportoArray2[count]));
		vListaDestinos[count+1].value = vTempAeroportoArray[vTempAeroportoArray2[count]];
		count++;
	}
	
	vListaDestinos.selectedIndex = 0;
}
//******
	
// Aeroportos Warning
var vOrigemDestinosWarning = new Array();

vOrigemDestinosWarning[0]    = 'PHL';
vOrigemDestinosWarning[1]    = 'HFD';
vOrigemDestinosWarning[2]    = 'ALB';
vOrigemDestinosWarning[3]    = 'PVD';
vOrigemDestinosWarning[4]    = 'BWI';
vOrigemDestinosWarning[5]    = 'BOS';
vOrigemDestinosWarning[6]    = 'WAS';
vOrigemDestinosWarning[7]    = 'MHT';
vOrigemDestinosWarning[8]    = 'SYR';
vOrigemDestinosWarning[9]    = 'ROC';
vOrigemDestinosWarning[10]   = 'BTV';
vOrigemDestinosWarning[11]   = 'PWM';
vOrigemDestinosWarning[12]   = 'RIC';
vOrigemDestinosWarning[13]   = 'ORF';
vOrigemDestinosWarning[14]   = 'BUF';
vOrigemDestinosWarning[15]   = 'PIT';
vOrigemDestinosWarning[16]   = 'ROA';
vOrigemDestinosWarning[17]   = 'CLE';
vOrigemDestinosWarning[18]   = 'RDU';
vOrigemDestinosWarning[19]   = 'DCA';
vOrigemDestinosWarning[20]   = 'GSO';
vOrigemDestinosWarning[21]   = 'CMH';
vOrigemDestinosWarning[22]   = 'DTT';
vOrigemDestinosWarning[23]   = 'CLT';
vOrigemDestinosWarning[24]   = 'MYR';
vOrigemDestinosWarning[25]   = 'DAY';
vOrigemDestinosWarning[26]   = 'CVG';
vOrigemDestinosWarning[27]   = 'CAE';
vOrigemDestinosWarning[28]   = 'GSP';
vOrigemDestinosWarning[29]   = 'GRR';
vOrigemDestinosWarning[30]   = 'CHS';
vOrigemDestinosWarning[31]   = 'TYS';
vOrigemDestinosWarning[32]   = 'SDF';
vOrigemDestinosWarning[33]   = 'IND';
vOrigemDestinosWarning[34]   = 'SAV';
vOrigemDestinosWarning[35]   = 'CHI';
vOrigemDestinosWarning[36]   = 'MKE';
vOrigemDestinosWarning[37]   = 'ATL';
vOrigemDestinosWarning[38]   = 'BNA';
vOrigemDestinosWarning[39]   = 'JAX';
vOrigemDestinosWarning[40]   = 'HSV';
vOrigemDestinosWarning[41]   = 'MSN';
vOrigemDestinosWarning[42]   = 'STL';
vOrigemDestinosWarning[43]   = 'DAB';
vOrigemDestinosWarning[44]   = 'ORL';
vOrigemDestinosWarning[45]   = 'MEM';
vOrigemDestinosWarning[46]   = 'TPA';
vOrigemDestinosWarning[47]   = 'MSP';
vOrigemDestinosWarning[48]   = 'DSM';
vOrigemDestinosWarning[49]   = 'PBI';
vOrigemDestinosWarning[50]   = 'SRQ';
vOrigemDestinosWarning[51]   = 'FLL';
vOrigemDestinosWarning[52]   = 'FMY';
vOrigemDestinosWarning[53]   = 'RSW';
vOrigemDestinosWarning[54]   = 'LIT';
vOrigemDestinosWarning[55]   = 'MIA';
vOrigemDestinosWarning[56]   = 'MKC';
vOrigemDestinosWarning[57]   = 'OMA';
vOrigemDestinosWarning[58]   = 'MSY';
vOrigemDestinosWarning[59]   = 'BTR';
vOrigemDestinosWarning[60]   = 'TUL';
vOrigemDestinosWarning[61]   = 'OKC';
vOrigemDestinosWarning[62]   = 'DFW';
vOrigemDestinosWarning[63]   = 'HOU';
vOrigemDestinosWarning[64]   = 'AUS';
vOrigemDestinosWarning[65]   = 'SAT';
vOrigemDestinosWarning[66]   = 'DEN';
vOrigemDestinosWarning[67]   = 'ABQ';
vOrigemDestinosWarning[68]   = 'ELP';
vOrigemDestinosWarning[69]   = 'PHX';
vOrigemDestinosWarning[70]   = 'BOI';
vOrigemDestinosWarning[71]   = 'GEG';
vOrigemDestinosWarning[72]   = 'LAS';
vOrigemDestinosWarning[73]   = 'SLC';
vOrigemDestinosWarning[74]   = 'SEA';
vOrigemDestinosWarning[75]   = 'SAN';
vOrigemDestinosWarning[76]   = 'PDX';
vOrigemDestinosWarning[77]   = 'FAT';
vOrigemDestinosWarning[78]   = 'LAX';
vOrigemDestinosWarning[79]   = 'SAC';
vOrigemDestinosWarning[80]   = 'OAK';
vOrigemDestinosWarning[81]   = 'SJC';
vOrigemDestinosWarning[82]   = 'SFO';
vOrigemDestinosWarning[83]   = 'ANC';
vOrigemDestinosWarning[84]   = 'HNL';
vOrigemDestinosWarning[85]   = 'ORD';
vOrigemDestinosWarning[86]   = 'IAH';
vOrigemDestinosWarning[87]   = 'EWR';
vOrigemDestinosWarning[88]   = 'IAD';

function isWarning(pValue) {

	if (pValue.length < 3)
		return false;
		
	for (var i = 0; i < vOrigemDestinosWarning.length; i++) {
		var ind = vOrigemDestinosWarning[i].toUpperCase().indexOf(pValue.toUpperCase());
		
		if ( ind != -1 )
			return true;
	}
	
	return false;
}
//***** brasil
var isInitialReset = true;
	
function warning(){

//	tag = document.formAvailAbility.param4.value;
//	index = tag.indexOf ( "EWR" );
//	ida = tag.substring ( index, tag.length );
//	ida = document.formAvailAbility.param4.value
//	tag = document.formAvailAbility.param6.value;
//	index = tag.indexOf ( "EWR" );
//	
//	volta = tag.substring ( index, tag.length );
//	volta = document.formAvailAbility.param6.value;
//	//alert ("ida: " + ida + " ---- volta: " + volta );
	
	ida = document.formAvailAbility.param4.value
	volta = document.formAvailAbility.param6.value;
	// Brasil
	// Brasil
	if (isAirportsBR(ida)) {
//		alert("passou: warning: isAirportsBR");
		var data = new Date();  
		var dia = data.getDate();  
		var mes = data.getMonth() + 1; 
		var mesSeguinte = mes  + 1; 	
		var horas = data.getHours(); 
		var minutos = data.getMinutes();
		//add a day to the date
		data.setDate(data.getDate() + 3); // diaSeguinte passa a ser 3 dias depois
		var diaSeguinte = data.getDate();
		if ( mesSeguinte > 12 ) mesSeguinte= 1;

		//alert ("dia: " + dia  + "--- mes: " + mes + " --- diaSeguinte: " + diaSeguinte + " --- mesSeguinte: " + mesSeguinte );	
		//-- departure --
		var vDepartDateDay = Number(document.formAvailAbility.combodiapartida.options[document.formAvailAbility.combodiapartida.selectedIndex].value); 			// Mandatory
		var vDepartDateMonth = Number(document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value.substring(4,6)); // Mandatory
		var vDepartDateYear = document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value.substring(0,4);		// Mandatory
		//-- return -- 
		var vReturnDateDay = Number(document.formAvailAbility.combodiaregresso.options[document.formAvailAbility.combodiaregresso.selectedIndex].value);
		var vReturnDateMonth = Number(document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value.substring(4,6));
		var vReturnDateYear = document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value.substring(0,4);		

		if ((vDepartDateDay < diaSeguinte && vDepartDateMonth == mes) || (vDepartDateDay > diaSeguinte && diaSeguinte < 4 && diaSeguinte < dia && vDepartDateMonth == mes) || (vDepartDateDay < diaSeguinte && diaSeguinte < 4 && vDepartDateMonth == mesSeguinte )) {
//			alert( "passou entrou ");
			vIncPartida = 3;
			isInitialReset = false;			
			inicializarCombos(0,0,0,vReturnDateDay,vReturnDateMonth,vReturnDateYear);
			//inicializarCombos(0,0,0,0,0,0);
		} 
		
	} else if (!isInitialReset) {
//			alert( "passou else");
			vIncPartida = 0;
			isInitialReset = true;
			inicializarCombos(0,0,0,0,0,0);
	}

	var existBigbanner = false;

	if(document.getElementById('bigbanner')) {
		//alert("existe bigbanner");  
		existBigbanner = true ;
		bigBanner = document.getElementById('bigbanner');
	}
	if(!abriuWarning && auxBigBanner == "" && existBigbanner) {
		auxBigBanner = bigBanner.innerHTML;
		//alert ( "atribuiu");
	}	
	if(document.getElementById('warningptrcustoms')) {
		//alert("existe warningptrcustoms");  
		warningptrcustoms = document.getElementById('warningptrcustoms');
		pageWarning = warningptrcustoms.innerHTML;
	}	

	if ( isWarning(ida) || isWarning(volta) ) {
		//auxBigBanner = document.getElementById('bigbanner').innerHTML;

		// if(!abriuWarning) {
			//window.open ( pageWarning ,"","toolbar=no,scrollbars=no,location=0,statusbar=0,menubar=0,resizable=no,width=300,height=350,left=500,top=200",alwaysRaised=true );
			if (existBigbanner)
				bigBanner.innerHTML = pageWarning ;
			else {
				if(document.all)
					window.open ( linkPageWarning ,"","toolbar=no,scrollbars=no,location=0,statusbar=0,menubar=0,resizable=no,width=300,height=550,left=500,top=200",alwaysRaised=true );
				else
					window.open ( linkPageWarning ,"","toolbar=no,scrollbars=no,location=0,statusbar=0,menubar=0,resizable=no,width=300,height=350,left=500,top=200",alwaysRaised=true );
			}
		// }
		abriuWarning = true;
		
	} else {
		if (existBigbanner && abriuWarning )
			bigBanner.innerHTML = auxBigBanner;
		abriuWarning = false;	
	}

        //verResident();
        //verAdultoResident();                   
}

function warningGoVoyages(){
//	tag = document.formAvailAbility.Provenance.value;
//	index = tag.indexOf ( "EWR" );
//	ida = tag.substring ( index, tag.length );
//	tag = document.formAvailAbility.Destination.value;	
//	index = tag.indexOf ( "EWR" );	
//	volta = tag.substring ( index, tag.length );
	
	ida = document.formAvailAbility.Provenance.value;
	volta = document.formAvailAbility.Destination.value;
	
	var existBigbanner = false;

	if(document.getElementById('bigbanner')) {
		//alert("existe bigbanner");  
		existBigbanner = true ;
		bigBanner = document.getElementById('bigbanner');
	}
	if(!abriuWarning && auxBigBanner == "" && existBigbanner) {
		auxBigBanner = bigBanner.innerHTML;
		//alert ( "atribuiu");
	}	
	if(document.getElementById('warningptrcustoms')) {
		//alert("existe warningptrcustoms");  
		warningptrcustoms = document.getElementById('warningptrcustoms');
		pageWarning = warningptrcustoms.innerHTML;
	}	

	if ( isWarning(ida) || isWarning(volta) ) {
		//auxBigBanner = document.getElementById('bigbanner').innerHTML;

		if(!abriuWarning) {
			//window.open ( pageWarning ,"","toolbar=no,scrollbars=no,location=0,statusbar=0,menubar=0,resizable=no,width=300,height=350,left=500,top=200",alwaysRaised=true );
			if (existBigbanner)
				bigBanner.innerHTML = pageWarning ;
			else {
				if(document.all)
					window.open ( linkPageWarning ,"","toolbar=no,scrollbars=no,location=0,statusbar=0,menubar=0,resizable=no,width=300,height=550,left=500,top=200",alwaysRaised=true );
				else
					window.open ( linkPageWarning ,"","toolbar=no,scrollbars=no,location=0,statusbar=0,menubar=0,resizable=no,width=300,height=350,left=500,top=200",alwaysRaised=true );
			}				
		}
		abriuWarning = true;
		
	} else {
		if (existBigbanner && abriuWarning )
			bigBanner.innerHTML = auxBigBanner;
		abriuWarning = false;	
	}

        //verResident();
        //verAdultoResident();                   
}

function preencherParametros(adulto, jovem, crianca, bebe)
{
	var cont = 1;
	var j = 10;
	
	//Preencher parâmetros para o adulto + bebe
	for(var i = 1; i <= adulto; i++)
	{
		document.formAvailAbility['param'+j].value = 'TRAVELLER_TYPE_'+cont+'=ADT'
		
		if(bebe >= cont)
		{
			j++;
			document.formAvailAbility['param'+j].value = 'HAS_INFANT_'+cont+'=TRUE'
		}
		j++;
		cont++;
	}

	//Preencher parâmetros para o jovem + bebe
	for(var i = 1; i <= jovem; i++)
	{
		document.formAvailAbility['param'+j].value = 'TRAVELLER_TYPE_'+cont+'=YTH'
		
		if(bebe >= cont)
		{
			j++;
			document.formAvailAbility['param'+j].value = 'HAS_INFANT_'+cont+'=TRUE'
		}
		j++;
		cont++;
	}
	
	//Preencher parâmetros para a criança
	for(var i = 1; i <= crianca; i++)
	{
		
		document.formAvailAbility['param'+j].value = 'TRAVELLER_TYPE_'+cont+'=CHD';
		
		j++;
		cont++;
	}
	
	//Limpar parâmetros
	for(var i = j; i <= 27; i++)
	{
		document.formAvailAbility['param'+i].value = "vazio";
	}
}

function preencherParametros2r()
{
	//Data Partida
	document.formAvailAbility.param8.value = "B_DATE_1=" + document.formAvailAbility.combomespartida.value + "" + insere0(Number(document.formAvailAbility.combodiapartida.value)) + "" + document.formAvailAbility.combohorapartida.value;
	
	//Se for escolhida o modo de Ida e Volta, preenche os campos de Regresso
	if (document.formAvailAbility.param3[0].checked)
	{
		document.formAvailAbility.param9.value = "B_DATE_2=" + document.formAvailAbility.combomesregresso.value + "" + insere0(Number(document.formAvailAbility.combodiaregresso.value)) + "" + document.formAvailAbility.combohoraregresso.value;
		document.formAvailAbility.param5.value = "B_LOCATION_2=" + document.formAvailAbility.param6.value.substring(13);
		document.formAvailAbility.param7.value = "E_LOCATION_2=" + document.formAvailAbility.param4.value.substring(13);
		
		if (document.formAvailAbility.combohoraregresso.value == "000")
			document.formAvailAbility.param30.value = "B_ANY_TIME_2=TRUE";
		else if (document.formAvailAbility.combohoraregresso.value != "000")
			document.formAvailAbility.param30.value = "B_ANY_TIME_2=FALSE";
	}
	//De acordo com o método de pesquisa, redirecciona para páginas diferentes.
	if (document.formAvailAbility.procurarpor[0].checked)
		document.formAvailAbility.servletAddress.value = "http://wftc2.e-travel.com/pl/tapv7/<%=language%>/ValuePricerServlet";
	else if (document.formAvailAbility.procurarpor[1].checked)
		document.formAvailAbility.servletAddress.value = "http://wftc2.e-travel.com/pl/tapv7/<%=language%>/AirAvailabilityServlet";

	if (document.formAvailAbility.combohorapartida.value == "000")
		document.formAvailAbility.param29.value = "B_ANY_TIME_1=TRUE";
	else if (document.formAvailAbility.combohorapartida.value != "000")
		document.formAvailAbility.param29.value = "B_ANY_TIME_1=FALSE";
}

function preencherParametros2(pLanguage)
{
	//Origem
	var origem = document.formAvailAbility.param4.value;
	document.formAvailAbility.param4.options[document.formAvailAbility.param4.selectedIndex].value = "B_LOCATION_1=" + origem;
	
	//Destino
	var destino = document.formAvailAbility.param6.value;
	document.formAvailAbility.param6.options[document.formAvailAbility.param6.selectedIndex].value = "E_LOCATION_1=" + destino;
	
	//alert("origem: " + origem + "--- document.formAvailAbility.param4.value: " + document.formAvailAbility.param4.value + " --- destino: " + destino + "--- document.formAvailAbility.param6.value: " + document.formAvailAbility.param6.value); 
	
	//Data Partida
	document.formAvailAbility.param8.value = "B_DATE_1=" + document.formAvailAbility.combomespartida.value + "" + insere0(Number(document.formAvailAbility.combodiapartida.value)) + "" + document.formAvailAbility.combohorapartida.value;
		
	//Se for escolhida o modo de Ida e Volta, preenche os campos de Regresso
	if (document.formAvailAbility.param3[0].checked)
	{
		document.formAvailAbility.param9.value = "B_DATE_2=" + document.formAvailAbility.combomesregresso.value + "" + insere0(Number(document.formAvailAbility.combodiaregresso.value)) + "" + document.formAvailAbility.combohoraregresso.value;
		document.formAvailAbility.param5.value = "B_LOCATION_2=" + document.formAvailAbility.param6.value.substring(13);
		document.formAvailAbility.param7.value = "E_LOCATION_2=" + document.formAvailAbility.param4.value.substring(13);
		
		if (document.formAvailAbility.combohoraregresso.value == "000")
			document.formAvailAbility.param30.value = "B_ANY_TIME_2=TRUE";
		else if (document.formAvailAbility.combohoraregresso.value != "000")
			document.formAvailAbility.param30.value = "B_ANY_TIME_2=FALSE";
	}
	//De acordo com o método de pesquisa, redirecciona para páginas diferentes.
	
	if (document.formAvailAbility.procurarpor[0].checked)
		document.formAvailAbility.servletAddress.value = "http://wftc2.e-travel.com/pl/tapv7/" + pLanguage + "/ValuePricerServlet";
	else if (document.formAvailAbility.procurarpor[1].checked)
		document.formAvailAbility.servletAddress.value = "http://wftc2.e-travel.com/pl/tapv7/" + pLanguage + "/AirAvailabilityServlet";

	if (document.formAvailAbility.combohorapartida.value == "000")
		document.formAvailAbility.param29.value = "B_ANY_TIME_1=TRUE";
	else if (document.formAvailAbility.combohorapartida.value != "000")
		document.formAvailAbility.param29.value = "B_ANY_TIME_1=FALSE";
}

function preencherParametros2Vertical(pLanguage)



{
	//Origem
	var origem = document.formAvailAbility.param4.value;
	document.formAvailAbility.param4.options[document.formAvailAbility.param4.selectedIndex].value = "B_LOCATION_1=" + origem;
	
	//Destino
	var destino = document.formAvailAbility.param6.value;
	document.formAvailAbility.param6.options[document.formAvailAbility.param6.selectedIndex].value = "E_LOCATION_1=" + destino;
	
	//alert("origem: " + origem + "--- document.formAvailAbility.param4.value: " + document.formAvailAbility.param4.value + " --- destino: " + destino + "--- document.formAvailAbility.param6.value: " + document.formAvailAbility.param6.value); 
	
	//Data Partida
	document.formAvailAbility.param8.value = "B_DATE_1=" + document.formAvailAbility.combomespartida.value + "" + insere0(Number(document.formAvailAbility.combodiapartida.value)) + "000";
		
	//Se for escolhida o modo de Ida e Volta, preenche os campos de Regresso
	if (document.formAvailAbility.param3[0].checked)
	{
		document.formAvailAbility.param9.value = "B_DATE_2=" + document.formAvailAbility.combomesregresso.value + "" + insere0(Number(document.formAvailAbility.combodiaregresso.value)) + "000";
		document.formAvailAbility.param5.value = "B_LOCATION_2=" + document.formAvailAbility.param6.value.substring(13);
		document.formAvailAbility.param7.value = "E_LOCATION_2=" + document.formAvailAbility.param4.value.substring(13);
		
		document.formAvailAbility.param30.value = "B_ANY_TIME_2=TRUE";

	}
	//De acordo com o método de pesquisa, redirecciona para páginas diferentes.
	
	if (document.formAvailAbility.procurarpor[0].checked)
		document.formAvailAbility.servletAddress.value = "http://wftc2.e-travel.com/pl/tapv7/" + pLanguage + "/ValuePricerServlet";
	else if (document.formAvailAbility.procurarpor[1].checked)
		document.formAvailAbility.servletAddress.value = "http://wftc2.e-travel.com/pl/tapv7/" + pLanguage + "/AirAvailabilityServlet";


	document.formAvailAbility.param29.value = "B_ANY_TIME_1=TRUE";

}

function linkMultiCity(pLanguage)
{
	document.formMultiCity.ADRESS.value = "http://wftc2.e-travel.com/pl/tapv7/" + pLanguage + "/AirComplexSearchServlet";
	//document.formMultiCity.addressFlag.value = "http://www.tap-airportugal.pt/portal/v10/PT/";
	document.formMultiCity.addressFlag.value = "http://amadeus.flytap.com/booking/";	
	document.formMultiCity.siteFlag.value = urlSiteFlag;
	document.formMultiCity.urlSiteFlag.value = urlSiteFlag;

	//alert( " document.formMultiCity.siteFlag.value: " + document.formMultiCity.siteFlag.value + " ----- document.formMultiCity.urlSiteFlag.value: " + document.formMultiCity.urlSiteFlag.value);
	//document.formMultiCity.action = "http://www.tap-airportugal.pt/portal/v10/PT/jsp/horariosReservas/reserva.jsp";
	//document.formMultiCity.action = "http://www.tap-airportugal.pt/portal/v10/PT/jsp/horariosReservas/reserva3.jsp";
	document.formMultiCity.action = "http://amadeus.flytap.com/booking/reserva3.jsp";
	document.formMultiCity.method = "get";
	document.formMultiCity.submit();
}

function linkEB2()
{
	document.formMultiCity.action = "http://booking.flytap.com/TP/Reservation.do";
	document.formMultiCity.siteFlag.value = urlSiteFlag;
	document.formMultiCity.urlSiteFlag.value = urlSiteFlag;
	document.formMultiCity.method = "post";
	//document.formMultiCity.target = "blank";
	document.formMultiCity.submit();
}

function linkAnixe()
{
    	document.formAvailAbility.siteFlag.value = urlSiteFlag;
    	document.formAvailAbility.urlSiteFlag.value = urlSiteFlag;
    	//alert( " document.formAvailAbility.siteFlag.value: " + document.formAvailAbility.siteFlag.value + " ----- document.formAvailAbility.urlSiteFlag.value: " + document.formAvailAbility.urlSiteFlag.value);
  	if (verDados() == 1 ) start();
  	preencherParametrosAnixe();	
	document.formAvailAbility.action = vAdvancedSearch; 
	document.formAvailAbility.searchType.value = ""; 
        document.formAvailAbility.depTime.value = 0;
    	//document.formAvailAbility.method = "post";
    	document.formAvailAbility.method = "get";
  	document.formAvailAbility.target = "_blank";
  	if (verDados() == 1 ) return false;
       //alert("	document.formAvailAbility.searchType: "  + 	document.formAvailAbility.searchType.value); 
	document.formAvailAbility.submit();	
}
function linkExternalToAnixe()
{
    	document.formAvailAbility.siteFlag.value = urlSiteFlag;
    	document.formAvailAbility.urlSiteFlag.value = urlSiteFlag;
    	//alert( " document.formAvailAbility.siteFlag.value: " + document.formAvailAbility.siteFlag.value + " ----- document.formAvailAbility.urlSiteFlag.value: " + document.formAvailAbility.urlSiteFlag.value);
  	if (verDados() == 1 ) start();
  	preencherParametrosAnixe();	
	document.formAvailAbility.action = vAdvancedSearch; 
	document.formAvailAbility.searchType.value = ""; 
        document.formAvailAbility.depTime.value = 0;
    	//document.formAvailAbility.method = "post";
    	document.formAvailAbility.method = "get";
  	document.formAvailAbility.target = "_blank";
  	if (verDados() == 1 ) return false;
	document.formAvailAbility.submit();	
}
function linkTapTours()
{
    	document.formAvailAbility.siteFlag.value = urlSiteFlag;
    	document.formAvailAbility.urlSiteFlag.value = urlSiteFlag;
    	//alert( " document.formAvailAbility.siteFlag.value: " + document.formAvailAbility.siteFlag.value + " ----- document.formAvailAbility.urlSiteFlag.value: " + document.formAvailAbility.urlSiteFlag.value);
  	if (verDados() == 1 ) start();
  	preencherParametrosTapTours();	
	document.formAvailAbility.action = urlTapTours; 
    	document.formAvailAbility.method = "post";
    	//document.formAvailAbility.method = "get";
  	//document.formAvailAbility.target = "blank";
  	if (verDados() == 1 ) return false;
	document.formAvailAbility.submit();	
}


function linkAnixeVertical()
{
    	document.formAvailAbility.siteFlag.value = urlSiteFlag;
    	document.formAvailAbility.urlSiteFlag.value = urlSiteFlag;
    	//alert( " document.formAvailAbility.siteFlag.value: " + document.formAvailAbility.siteFlag.value + " ----- document.formAvailAbility.urlSiteFlag.value: " + document.formAvailAbility.urlSiteFlag.value);
  	if (verDadosVertical() == 1 ) start();
  	preencherParametrosAnixeVertical();	
	document.formAvailAbility.action = vAdvancedSearch; 
    	//document.formAvailAbility.method = "post";
    	document.formAvailAbility.method = "get";
  	//document.formAvailAbility.target = "blank";
  	if (verDadosVertical() == 1 ) return false;
	document.formAvailAbility.submit();	
}

function linkMultiCityAnixe()
{
    	document.formAvailAbility.siteFlag.value = urlSiteFlag;
    	document.formAvailAbility.urlSiteFlag.value = urlSiteFlag;
    	//alert( " document.formAvailAbility.siteFlag.value: " + document.formAvailAbility.siteFlag.value + " ----- document.formAvailAbility.urlSiteFlag.value: " + document.formAvailAbility.urlSiteFlag.value);
  	if (verDados() == 1 ) start();
  	preencherParametrosAnixe();
  	document.formAvailAbility.action = vMultiCity; 
    	//document.formAvailAbility.method = "post";
    	document.formAvailAbility.method = "get";
  	document.formAvailAbility.target = "_blank";
  	if (verDados() == 1 ) return false;
	document.formAvailAbility.submit();	
}


function verBebesCriancas(adultos, bebe , crianca ) {
//		alert ( "passou verBebesCriancas" );
//    	var maxBebe = 1;
//	//var maxBebeCrianca = 2;
//	var maxBebeCrianca = 1;
//	var maxCrianca = 4;
//
//	if( adultos == 1) {
//		if( bebe > 0) {
//			diviBebe= bebe / adultos;
//			diviCrianca = crianca / adultos;
//	
//			if( diviBebe > maxBebe  || diviCrianca > maxBebeCrianca )
//				return false;
//	
//		} else if( crianca > 0) {
//			diviCrianca = crianca / adultos;
//	
//			if( diviCrianca  > maxCrianca )
//				return false;
//		} 
//	} else 
//	{
//		res_adults = adultos - bebe;
////		if ( res_adults < 1 ) // no adults
////			return false;
//		
//		num_criancas_permitido = res_adults * maxCrianca;
//		num_criancas = crianca - bebe;
//		
//		alert ( "crianca: " + crianca + " --- bebe: " + bebe + " --- res_adults: " + res_adults + " --- num_criancas_permitido: " + num_criancas_permitido + " --- num_criancas: " + num_criancas );
//		
//		if ( num_criancas_permitido < num_criancas ) 
//			return false;
//	}

	return verifyInfantsChildren(adultos, bebe , crianca );
}

function verifyInfantsChildren(adults, infants , children ) {
    	var max_infants = 1;
	var max_infants_children = 1;
	var max_children = 4;

	if( adults == 1 ) {
		if( infants > 0 ) {
			divi_infants= infants / adults;


			divi_children = children / adults;
	
			if( divi_infants > max_infants  || divi_children > max_infants_children )
				return false;
	
		} else if( children > 0 ) {
			divi_children = children / adults;
	
			if( divi_children  > max_children )
				return false;
		} 
	} else {
		res_adults = adults - infants;
		num_children_allowed = res_adults * max_children;
		num_children = children - infants;
		
	//	alert ( "children: " + children + " --- infants: " + infants + " --- res_adults: " + res_adults + " --- num_children_allowed: " + num_children_allowed + " --- num_children: " + num_children );
		
		if ( num_children_allowed < num_children ) 
			return false;
	}

	return true;
}


function verDados()
{
	var flag = 0;
	var data = new Date();  
	var dia = data.getDate();  
	var mes = data.getMonth() + 1; 
	//alert ("dia: " + dia );
	//alert ("mes: " + mes );
	
	if (document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value == document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value)
	{
		if (Number(document.formAvailAbility.combodiapartida.options[document.formAvailAbility.combodiapartida.selectedIndex].value) > Number(document.formAvailAbility.combodiaregresso.options[document.formAvailAbility.combodiaregresso.selectedIndex].value))
			flag = 1;
	}
	else if  (document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value >= document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value)
	{
		flag = 1;
	}

	//-- departure --
	var vDepartDateDay = Number(document.formAvailAbility.combodiapartida.options[document.formAvailAbility.combodiapartida.selectedIndex].value); 			// Mandatory
	var vDepartDateMonth = Number(document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value.substring(4,6)); // Mandatory
	//var vDepartDateYear = document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value.substring(0,4);		// Mandatory
	
	//alert ("vDepartDateMonth: " + vDepartDateMonth );
//	if (vDepartDateDay == dia && vDepartDateMonth == mes)
//		flag = 1;

	if (Number(document.formAvailAbility.param4.options[document.formAvailAbility.param4.selectedIndex].value) == 0)
		flag = 2;

	if (Number(document.formAvailAbility.param6.options[document.formAvailAbility.param6.selectedIndex].value) == 0)
		flag = 2;

	/*
	var adultos = Number(document.formAvailAbility.adulto.options[document.formAvailAbility.adulto.selectedIndex].value);
	var adultosA = Number(document.formAvailAbility.adultoa.options[document.formAvailAbility.adultoa.selectedIndex].value);
	var jovem = Number(document.formAvailAbility.jovem.options[document.formAvailAbility.jovem.selectedIndex].value);
	var senior = Number(document.formAvailAbility.senior.options[document.formAvailAbility.senior.selectedIndex].value);
	//var jovem = 0;

	var crianca = Number(document.formAvailAbility.crianca.options[document.formAvailAbility.crianca.selectedIndex].value);
	var bebe = Number(document.formAvailAbility.bebe.options[document.formAvailAbility.bebe.selectedIndex].value);
	*/

	adultos = Number(document.formAvailAbility.adulto.options[document.formAvailAbility.adulto.selectedIndex].value);
	//var jovem = Number(document.formAvailAbility.jovem.options[document.formAvailAbility.jovem.selectedIndex].value);
	jovem = 0;
	
	crianca = Number(document.formAvailAbility.crianca.options[document.formAvailAbility.crianca.selectedIndex].value);
	bebe = Number(document.formAvailAbility.bebe.options[document.formAvailAbility.bebe.selectedIndex].value);
	
	//alert( "adultos: " + adultos + "--- crianca: " + crianca + "--- bebe: " + bebe + "--- jovem: " + jovem);	

	if ((adultos + jovem + crianca) == 0 )

		flag = 3;
	else if ((adultos + jovem + crianca) > 9)
		flag = 4;
	/*else if ((adultos + jovem) < bebe)
		flag = 5;*/
	else if (adultos==0 && crianca>0)
		flag = 6;
	/*else if (adultos==0 && jovem>0)
		flag = 7;
	else if ((jovem + senior + adultosA) == 0  && vModoAdvanced )
		flag = 8;*/
	else if (!verBebesCriancas(adultos, bebe , crianca ) )
		flag = 9;

	return flag;
}


function verDadosAnixe()
{
	var flag = 0;

/*	if (document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value == document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value)
	{
		if (Number(document.formAvailAbility.combodiapartida.options[document.formAvailAbility.combodiapartida.selectedIndex].value) > Number(document.formAvailAbility.combodiaregresso.options[document.formAvailAbility.combodiaregresso.selectedIndex].value))
			flag = 1;
	}
	else if  (document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value >= document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value)
	{
		flag = 1;
	}
*/
	if (Number(document.formAvailAbility.param4.options[document.formAvailAbility.param4.selectedIndex].value) == 0)
		flag = 2;

	if (Number(document.formAvailAbility.param6.options[document.formAvailAbility.param6.selectedIndex].value) == 0)
		flag = 2;

	/*
	var adultos = Number(document.formAvailAbility.adulto.options[document.formAvailAbility.adulto.selectedIndex].value);
	var adultosA = Number(document.formAvailAbility.adultoa.options[document.formAvailAbility.adultoa.selectedIndex].value);
	var jovem = Number(document.formAvailAbility.jovem.options[document.formAvailAbility.jovem.selectedIndex].value);
	var senior = Number(document.formAvailAbility.senior.options[document.formAvailAbility.senior.selectedIndex].value);
	//var jovem = 0;

	var crianca = Number(document.formAvailAbility.crianca.options[document.formAvailAbility.crianca.selectedIndex].value);
	var bebe = Number(document.formAvailAbility.bebe.options[document.formAvailAbility.bebe.selectedIndex].value);
	*/

	adultos = Number(document.formAvailAbility.adulto.options[document.formAvailAbility.adulto.selectedIndex].value);
	//var jovem = Number(document.formAvailAbility.jovem.options[document.formAvailAbility.jovem.selectedIndex].value);
	jovem = 0;
	
	crianca = Number(document.formAvailAbility.crianca.options[document.formAvailAbility.crianca.selectedIndex].value);
	bebe = Number(document.formAvailAbility.bebe.options[document.formAvailAbility.bebe.selectedIndex].value);
	
	//alert( "adultos: " + adultos + "--- crianca: " + crianca + "--- bebe: " + bebe + "--- jovem: " + jovem);	

	if ((adultos + jovem + crianca) == 0 )
		flag = 3;
	else if ((adultos + jovem + crianca) > 9)
		flag = 4;
	/*else if ((adultos + jovem) < bebe)
		flag = 5;*/
	else if (adultos==0 && crianca>0)
		flag = 6;
	/*else if (adultos==0 && jovem>0)
		flag = 7;
	else if ((jovem + senior + adultosA) == 0  && vModoAdvanced )
		flag = 8;*/
	else if (!verBebesCriancas(adultos, bebe , crianca ) )
		flag = 9;

	return flag;
}

function verDadosVertical()
{
	var flag = 0;

	if (document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value == document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value)
	{
		if (Number(document.formAvailAbility.combodiapartida.options[document.formAvailAbility.combodiapartida.selectedIndex].value) > Number(document.formAvailAbility.combodiaregresso.options[document.formAvailAbility.combodiaregresso.selectedIndex].value))
			flag = 1;
	}
	else if  (document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value >= document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value)
	{
		flag = 1;
	}

	if (Number(document.formAvailAbility.param4.options[document.formAvailAbility.param4.selectedIndex].value) == 0)
		flag = 2;

	if (Number(document.formAvailAbility.param6.options[document.formAvailAbility.param6.selectedIndex].value) == 0)
		flag = 2;

	adultos = Number(document.formAvailAbility.adulto.options[document.formAvailAbility.adulto.selectedIndex].value);
	//var jovem = Number(document.formAvailAbility.jovem.options[document.formAvailAbility.jovem.selectedIndex].value);
	var jovem = 0;
	//crianca = Number(document.formAvailAbility.crianca.options[document.formAvailAbility.crianca.selectedIndex].value);
	var crianca = 0; 
	//bebe = Number(document.formAvailAbility.bebe.options[document.formAvailAbility.bebe.selectedIndex].value);
	var bebe = 0;
	

	if ((adultos + jovem + crianca) == 0 )
		flag = 3;
	else if ((adultos + jovem + crianca) > 9)
		flag = 4;
	/*else if ((adultos + jovem) < bebe)
		flag = 5;*/
	else if (adultos==0 && crianca>0)
		flag = 6;
	/*else if (adultos==0 && jovem>0)
		flag = 7;
	else if ((jovem + senior + adultosA) == 0  && vModoAdvanced )
		flag = 8;*/
	else if (!verBebesCriancas(adultos, bebe , crianca ) )
		flag = 9;

	return flag;
}

function verDadosGoVoyages()
{
	var flag = 0;

	if (document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value == document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value)
	{
		if (Number(document.formAvailAbility.combodiapartida.options[document.formAvailAbility.combodiapartida.selectedIndex].value) > Number(document.formAvailAbility.combodiaregresso.options[document.formAvailAbility.combodiaregresso.selectedIndex].value))
			flag = 1;
	}
	else if  (document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value >= document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value)
	{
		flag = 1;
	}

	if (Number(document.formAvailAbility.Provenance.options[document.formAvailAbility.Provenance.selectedIndex].value) == 0)
		flag = 2;

	if (Number(document.formAvailAbility.Destination.options[document.formAvailAbility.Destination.selectedIndex].value) == 0)
		flag = 2;

	document.formAvailAbility.depart_dd.value = insere0(Number(document.formAvailAbility.combodiapartida.options[document.formAvailAbility.combodiapartida.selectedIndex].value));
	//	document.formAvailAbility.depart_mm.value = document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value;
	//	document.formAvailAbility.depart_yyyy.value = document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value;
	document.formAvailAbility.depart_mm.value = document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value.substring(4,6) ;
	document.formAvailAbility.depart_yyyy.value = document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value.substring(0,4);

	document.formAvailAbility.retour_dd.value = insere0(Number(document.formAvailAbility.combodiaregresso.options[document.formAvailAbility.combodiaregresso.selectedIndex].value));
	//	document.formAvailAbility.retour_mm.value = document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value;
	//	document.formAvailAbility.retour_yyyy.value = document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value;
	document.formAvailAbility.retour_mm.value = document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value.substring(4,6);
	document.formAvailAbility.retour_yyyy.value = document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value.substring(0,4);


	var adultos = Number(document.formAvailAbility.Adultes.options[document.formAvailAbility.Adultes.selectedIndex].value);
	var crianca = Number(document.formAvailAbility.Enfants.options[document.formAvailAbility.Enfants.selectedIndex].value);
	var bebe = Number(document.formAvailAbility.Bebes.options[document.formAvailAbility.Bebes.selectedIndex].value);

	//alert( "adultos: " + adultos + "--- crianca: " + crianca + "--- bebe: " + bebe );	
	
	if ((adultos + crianca) == 0)
		flag = 3;
	else if ((adultos + crianca) > 9)
		flag = 4;
	/*else if (adultos < bebe)
		flag = 5;*/
	else if (adultos==0 && crianca>0)
		flag = 6;
	else if (!verBebesCriancas(adultos, bebe , crianca ))
		flag = 9;

	return flag;
}


function desactivarVolta()
{
	document.formAvailAbility.combodiaregresso.disabled = true;
	document.formAvailAbility.combomesregresso.disabled = true;
	//document.formAvailAbility.combohoraregresso.disabled = true;
}

function desactivarVoltaAmadeus()
{
	desactivarVolta();
	document.formAvailAbility.combohoraregresso.disabled = true;
}

function activarVolta()
{
	document.formAvailAbility.combodiaregresso.disabled = false;
	document.formAvailAbility.combomesregresso.disabled = false;
	//document.formAvailAbility.combohoraregresso.disabled = false;
}

function activarVoltaAmadeus()
{
	activarVolta();
	document.formAvailAbility.combohoraregresso.disabled = false;
}

function start()
{
	inicializarCombos(0,0,0,0,0,0);
	//getInputParameters();	
       //descheckarFlexibleDates();
	if ( vMarket == "UK" || vMarket == "uk" ) {
		geraOrigens();
		document.formAvailAbility.param4.value = 'LON';
		geraDestinos();
	} else if ( vMarket == "BL" || vMarket == "bl" || vMarket == "BE" ) {
		document.formAvailAbility.param4.value = 'BRU';
		geraDestinos();
	} else if ( vMarket == "LU" || vMarket == "lu") {
		document.formAvailAbility.param4.value = 'LUX';
		geraDestinos();
	} else if ( vMarket == "NL" || vMarket == "nl") {
		document.formAvailAbility.param4.value = 'AMS';
		geraDestinos();
	} else if ( vMarket == "DE" || vMarket == "de") {
		document.formAvailAbility.param4.value = 'FRA';
		geraDestinos();
	} else if ( vMarket == "ES" || vMarket == "es") {
		document.formAvailAbility.param4.value = 'MAD';
		geraDestinos();
	} else if ( vMarket == "FR" || vMarket == "fr") {
		if ( document.formAvailAbility.language.value == "FR" ) geraOrigens();
		document.formAvailAbility.param4.value = 'PAR';
		geraDestinos();
		checkarFlexibleDates();
	}else if ( vMarket == "DK" || vMarket == "dk") {
		document.formAvailAbility.param4.value = 'CPH';
		geraDestinos();
	}else if ( vMarket == "SE" || vMarket == "se") {
		document.formAvailAbility.param4.value = 'STO';
		geraDestinos();
	}else if ( vMarket == "NO" || vMarket == "no") {
		document.formAvailAbility.param4.value = 'OSL';
		geraDestinos();
	}else if ( vMarket == "PL" || vMarket == "pl") {
		checkarFlexibleDates();
	}else if ( vMarket == "PT" || vMarket == "pt") {
		document.formAvailAbility.param4.value = 'LIS';
		geraDestinos();
	}else if ( vMarket == "AR" || vMarket == "ar") {
		document.formAvailAbility.param4.value = 'EZE';
		geraDestinos();
	}else if ( vMarket == "CL" || vMarket == "cl") {
		document.formAvailAbility.param4.value = 'SCL';
		geraDestinos();
	}else {}

	getInputParameters();		
}

function startVertical(){
	inicializarCombos(0,0,0,0,0,0);
	//getInputParameters();	
}
// Input Parameters
function getInputParameters(){
	if(document.getElementById('Provenance')) 
		getInputParameterstoGoVoyages();
	else
		getInputParameterstoIBE();
}

function getInputParameterstoIBE(){
	//if ( lang != "") document.formAvailAbility.lang.value = lang;
	var isDeparture = false;
	var isReturn = false;
	var diaP = 0;
	var mesP = 0;
	var anoP = 0;
	var diaR = 0;
	var mesR = 0;
	var anoR = 0;
		
	if ( fromCity != "") {
		document.formAvailAbility.fromCity.value = fromCity;
		document.formAvailAbility.param4.value = fromCity;
		//alert("passou");
		geraDestinos();
		
	}	
	if ( toCity != "" && fromCity != "") {
		document.formAvailAbility.toCity.value = toCity;
		document.formAvailAbility.param6.value = toCity;
	}
	//-- departure --
	if ((departDateDay != "") && (departDateMonth != "") && (departDateYear != "")) {
		diaP = Number(departDateDay);		// Mandatory
		mesP = Number(departDateMonth)+1;	// Mandatory
		anoP = Number(departDateYear);		// Mandatory
		isDeparture = true;
	
		document.formAvailAbility.data_partida.value = insere0(diaP)+ "-" +insere0(mesP)+ "-" +insere0(anoP); 
		mudaDataP();	
	}
	
	//-- return -- optional
	if ((returnDateDay != "") && (returnDateMonth != "") && (returnDateYear != "")) {
		diaR = Number(returnDateDay);		
		mesR = Number(returnDateMonth)+1;	
		anoR = Number(returnDateYear);		
		isReturn = true;

		document.formAvailAbility.data_regresso.value = insere0(diaR)+ "-" +insere0(mesR)+ "-" +insere0(anoR); 	
		mudaDataR();

	}
	
	if (returnJourneySpan == "false") {
		document.formAvailAbility.param3[1].checked = true;
		
		if(document.getElementById('combohoraregresso')) 
			desactivarVoltaAmadeus()
		else	


			desactivarVolta();
	}
	
	if (officeID != "")
		document.formAvailAbility.officeID.value = officeID;
		
	//inicializarCombos(diaP, mesP, anoP, diaR, mesR, anoR);
}

// to do
function getInputParameterstoGoVoyages(){
}

//SCRIPT PARA O CALENDÁRIO
function calendarioCall(modo)
{
	var diaIPartArr = new Array();
	var diaUPartArr = new Array();
	
	var diaIRegrArr = new Array();
	var diaURegrArr = new Array();
	
	var diaArr = new Array();
	
	diaArr = dataHoje();
	
	if (modo == "P")
	{
		diaIPartArr = diaArr;
		diaUPartArr = calcularUltData("P", diaIPartArr);
		
		diaUPartArr[0] ++;
		diaUPartArr = validaData(diaUPartArr);
		
		show_calendar("formAvailAbility.data_partida",null,"","DD-MM-YYYY","POPUP","Title=" + data_partida + ";CloseOnSelect=Yes;v_CallFunction=mudaDataP();v_AllowWeekends=Yes;v_SelectAfter="+ diaIPartArr[0] + "-" + diaIPartArr[1] + "-" + diaIPartArr[2] +";v_SelectBefore="+ diaUPartArr[0] + "-" + diaUPartArr[1] + "-" + diaUPartArr[2] +"");
	
	
	}
	else if (modo == "R")
	{
		diaIRegrArr = diaArr;
		diaURegrArr = calcularUltData("R", diaIRegrArr);
		
		diaURegrArr[0] ++;
		diaURegrArr = validaData(diaURegrArr);
				
		show_calendar("formAvailAbility.data_regresso",null,"","DD-MM-YYYY","POPUP","Title=" + data_regresso + ";CloseOnSelect=Yes;v_CallFunction=mudaDataR();v_AllowWeekends=Yes;v_SelectAfter="+ diaIRegrArr[0] + "-" + diaIRegrArr[1] + "-" + diaIRegrArr[2] +";v_SelectBefore="+ diaURegrArr[0] + "-" + diaURegrArr[1] + "-" + diaURegrArr[2] +"");	
	
	
	}
}

function mudaDataP()
{
	var diaEscolhidoPart = new Array();
	var data = document.formAvailAbility.data_partida.value;
	
	diaEscolhidoPart[0] = Number(data.substring(0,2));
	diaEscolhidoPart[1] = Number(data.substring(3,5));
	diaEscolhidoPart[2] = Number(data.substring(6,10));
	
	mesPartidaAlt_Calendario(diaEscolhidoPart);
}

function mudaDataR()
{
	var diaEscolhidoRegr = new Array();
	var data = document.formAvailAbility.data_regresso.value;
	
	diaEscolhidoRegr[0] = Number(data.substring(0,2));
	diaEscolhidoRegr[1] = Number(data.substring(3,5));
	diaEscolhidoRegr[2] = Number(data.substring(6,10));
	
	mesRegressoAlt_Calendario(diaEscolhidoRegr);
}

function geraDestinos()  {
    var origem = document.formAvailAbility.param4.value;
    var seleccionado = true;

    if ( document.formAvailAbility.param4.options.selectedIndex == -1 )
       seleccionado = false;

    if ( document.formAvailAbility.param4.options.selectedIndex == 0 )
       seleccionado = false;

    var vTempAeroportoArray = new Array();
    var vTempAeroportoArray2 = new Array();

	if (seleccionado) {
		var vDestinoAnterior = document.formAvailAbility.param6.selectedIndex;
		vListaDestinos = document.formAvailAbility.param6.options;
		vListaDestinos.length = 1;

		var n = 0;
		for (var i=0; i < vOrigemDestinos.length; i++) {
			if ( vOrigemDestinos[i].length > 5 ) {
				var index = vOrigemDestinos[i].indexOf(origem);
	                	var vDestino = vOrigemDestinos[i].substring(3,6);
 				if (index == 0 && vAeroportos[vDestino]!= null ) {
					//alert (" vOrigemDestinos[i].length: " + vOrigemDestinos[i].length);
	                		vDestino = vOrigemDestinos[i].substring(3,6);
	                		vTempAeroportoArray[vAeroportos[vDestino]] = vDestino;
				}
			}
		}

		count = 0;
		for (var vIdAeroporto in vTempAeroportoArray){
			vTempAeroportoArray2[count] = vIdAeroporto;
			count++;
		}
		vTempAeroportoArray2.sort();
		count = 0;
		for (var n in vTempAeroportoArray2){
			vListaDestinos[count+1] = new Option(htmlEntitiesToOctal(vTempAeroportoArray2[count]));
			vListaDestinos[count+1].value = vTempAeroportoArray[vTempAeroportoArray2[count]];
            count++;
		}

		vListaDestinos.selectedIndex = 0;
	}
	if ( vMarket == "FR" || vMarket == "fr") geraDestinosOrdMarket("PT");
	warning();
}

function geraOrigens()  {
	var origem = document.formAvailAbility.param4.value;
	var vTempAeroportoArray = new Array();
	var vTempAeroportoArray2 = new Array();

	vListaOrigens = document.formAvailAbility.param4.options;
	vListaOrigensTemp = vListaOrigens; 
	//vListaDestinos.length = 1;
	
	//alert( " vListaOrigens: " + vListaOrigens.length + " ----- vListaOrigensTemp: " + vListaOrigensTemp.length); 
	
	origem = 0;
	var aux = vAeroportos[origem];
	

	count1=0;
	if ( vMarket == "UK" || vMarket == "uk" ) {
		origem = 'LON';
		if(vAeroportos[origem]!= null) {vTempAeroportoArray[vAeroportos[origem]]=origem; count1++;}
		origem = 'LHR';
		if(vAeroportos[origem]!= null) {vTempAeroportoArray[vAeroportos[origem]]=origem; count1++;}
		origem = 'LGW';
		if(vAeroportos[origem]!= null) {vTempAeroportoArray[vAeroportos[origem]]=origem; count1++;}
		
		//alert( "count1: " +  count1);
		for (var i=1; i < vListaOrigensTemp.length; i++) {
			var origem = vListaOrigensTemp[i].value;
			//alert("origem: " + origem);
			if ( vAeroportos[origem]!= null && origem != 'LHR' && origem != 'LGW' && origem != 'LON') {
		       		if ( origem == 0 )
		       			vTempAeroportoArray['-----'] = origem; 
		       		else
		       			vTempAeroportoArray[vAeroportos[origem]] = origem ;
		      	}
		}
	} else if ( (vMarket == "FR" || vMarket == "fr" ) && document.formAvailAbility.language.value == "FR" )   {
			for (var i=1; i < vListaOrigensTemp.length; i++) {
			var origem = vListaOrigensTemp[i].value;
			//alert("origem: " + origem);
			// colocar 'PIX' : 'île de Pico' antes de 'IOS' : 'Ilheus',
			if ( vAeroportos[origem]!= null && origem == 'IOS' ) {
				vTempAeroportoArray[vAeroportos['PIX']] = 'PIX';
	       			vTempAeroportoArray[vAeroportos[origem]] = origem;
		      	} else 	
		      	if ( vAeroportos[origem]!= null && origem != 'IOS' && origem != 'PIX' ) {
		       		if ( origem == 0 )
		       			vTempAeroportoArray['-----'] = origem; 
		       		else
		       			vTempAeroportoArray[vAeroportos[origem]] = origem ;
		      	}
		}	
		
	}
	
	count = 0;
	for (var vIdAeroporto in vTempAeroportoArray){
		vTempAeroportoArray2[count] = vIdAeroporto;
		count++;
	}
	//vTempAeroportoArray2.sort();
	vListaOrigens.length  = 1;
	count = 0;
	for (var n in vTempAeroportoArray2){
		vListaOrigens[count+1] = new Option(htmlEntitiesToOctal(vTempAeroportoArray2[count]));
		vListaOrigens[count+1].value = vTempAeroportoArray[vTempAeroportoArray2[count]];
		count++;
	}
	
	vListaOrigens.selectedIndex = 0;
}

function valoresCombo(pCombo){
  val = pCombo.value;
 alert("value: " + val);
}



function getSiteFlag() {
	var vSiteFlag = String(window.location);
	//alert (" vSiteFlag: " + vSiteFlag);
	var vPosF = 0;
	if (vSiteFlag != "" ) {
		vPosF = vSiteFlag.lastIndexOf("/");
		if (vPosF != -1) 
			vSiteFlag =  vSiteFlag.substring(0,vPosF);
	}
	//alert (" vSiteFlag: " + vSiteFlag);
	return vSiteFlag;
}
/* <!-- /_vs_/_lg_/js/combosCalendarioIni.js --> */
// JScript source code
// Calendário dinâmico com duas datas diferentes e com períodos compreendidos entre 12 meses.

	//Retorna array com o número de dias dos meses
	//Parâmetros de entrada : Modo
	//	P : Data de Partida
	//	R : Data de Regresso
	//Parâmetros de saída : Array com o número de dias dos meses
	function arrayMeses(ano)
	{
		//Array com a descrição e número de dias para cada mês
		var mesesArr = new Array();
		
		mesesArr[1] = 31;
		
		if ((ano % 4 == 0) || (ano % 100 == 0) || (ano % 400 == 0))	
			mesesArr[2] = 29;
		else
			mesesArr[2] = 28;
			
		mesesArr[3] = 31;
		mesesArr[4] = 30;
		mesesArr[5] = 31;
		mesesArr[6] = 30;
		mesesArr[7] = 31;
		mesesArr[8] = 31;
		mesesArr[9] = 30;
		mesesArr[10] = 31;
		mesesArr[11] = 30;
		mesesArr[12] = 31;
	
		return mesesArr;
	}
	
	//Retorna o dia de hoje
	//Parâmetros de entrada : Nenhum.
	//Parâmetros de saída : Array com a data de hoje.
	function dataHoje()
	{
		//Array com [dia,mes,ano]
		var diaHojeArr = new Array();
		var hoje = new Date();
		
		diaHojeArr[0] = hoje.getDate();
		diaHojeArr[1] = hoje.getMonth() + 1;
		diaHojeArr[2] = hoje.getFullYear();
		
		diaHojeArr[3] = hoje.getDate();
		diaHojeArr[4] = hoje.getMonth() + 1;
		diaHojeArr[5] = hoje.getFullYear();
		
		//Dia Hoje
		diaHojeArr[6] = 0;
		diaHojeArr[7] = 0;

		return diaHojeArr;
	}
	
	function incUltimaData()
	{
		var incUltDataArr = new Array();
		
		//Partida
		incUltDataArr[0] = 4;
		incUltDataArr[1] = 11;
		incUltDataArr[2] = 0;
		
		//Regresso
		incUltDataArr[3] = 4;
		incUltDataArr[4] = 11;
		incUltDataArr[5] = 0;
		
		return incUltDataArr;
	}
	
	//Adiciona o incremento à data
	//Parâmetro de entrada : Modo 
	//	- P : Data de partida
	//	- R : Data de regresso
	//Parâmetros de saída : Array com a data.
	function calcularDataInc(modo, data)
	{
		var diaHojeArr = new Array();
		var incArr = new Array();
		
		incArr = incrementos();
		
		if (modo == 'P')
		{
			if (data[6] == 0)
				diaHojeArr[0] = data[0] + incArr[0];
			else if (data[6] == 1)
				diaHojeArr[0] = data[0];
				
			diaHojeArr[1] = data[1];
 			diaHojeArr[2] = data[2];
		}
		else if (modo == 'R')
		{
			//0 - Se tem incrementos;
			//1 - Se não tem incrementos;
			//2 - Se só tem o incremento respectivo à data de regresso
			if (data[7] == 0)
				diaHojeArr[0] = data[3] + incArr[0] + incArr[1];
			else if (data[7] == 1)
				diaHojeArr[0] = data[3];
			else if (data[7] == 2)
				diaHojeArr[0] = data[3] + incArr[1];
				
			diaHojeArr[1] = data[4];
 			diaHojeArr[2] = data[5];
 		}
		
		return validaData(diaHojeArr);
	}
	
	function validaData(data)
	{
		var mesesArr = new Array();
		var dia = data[0];
		var mes = data[1];
		var ano = data[2];
				
		mesesArr = arrayMeses(ano);
		
		var incorrect = true;
		while (incorrect)
		{
			if (mes > 12)
			{
				mes = mes - 12;
				ano ++;
			}
		
			if (mes <= 12)
			{
				if (dia > mesesArr[mes])
				{
					dia = dia - mesesArr[mes];
					mes ++;
				
					if (mes > 12)
					{
						mes = mes - 12;
						ano ++;
						mesesArr = arrayMeses(ano);
					}
				}
				else
					incorrect = false;
			}
		}
		
		data[0] = dia;
		data[1] = mes;
		data[2] = ano;
		
		return data;
	}
	
	function validaDataParam(modo, data)
	{
		var diaIniArr = new Array();
		var diaUltArr = new Array();
		
		if (modo == "P")
		{
			diaIniArr = getVarGlobais(1);
			diaUltArr = getVarGlobais(2);
		}
		else if (modo == "R")
		{
			diaIniArr = getVarGlobais(3);
			diaUltArr = getVarGlobais(4);
		}
		
		//Se data escolhida inferior a data inicial
		if (Number(data[2]) < Number(diaIniArr[2]))
		{
			data[2] = diaIniArr[2];
			
			if (Number(data[1]) < Number(diaIniArr[1]))
			{
				data[1] = diaIniArr[1];
				
				if (Number(data[0]) < Number(diaIniArr[0]))
					data[0] = diaIniArr[0]; 
			}
		}
		else if ((Number(data[1]) < Number(diaIniArr[1])) && (Number(data[2]) == Number(diaIniArr[2])))
		{
			data[1] = diaIniArr[1];
			
			if (Number(data[0]) < Number(diaIniArr[0]))
					data[0] = diaIniArr[0];
		}
		else if ((Number(data[0]) < Number(diaIniArr[0])) && (Number(data[1]) == Number(diaIniArr[1])) && (Number(data[2]) == Number(diaIniArr[2])))
			data[0] = diaIniArr[0];
		
		//Se data escolhida superior a data final
		if (Number(data[2]) > Number(diaUltArr[2]))
		{
			data[2] = diaUltArr[2];
			
			if (Number(data[1]) > Number(diaUltArr[1]))
			{
				data[1] = diaUltArr[1];
				
				if (Number(data[0]) > Number(diaUltArr[0]))
					data[0] = diaUltArr[0]; 
			}
		}
		else if ((Number(data[1]) > Number(diaUltArr[1])) && (Number(data[2]) == Number(diaUltArr[2])))
		{
			data[1] = diaUltArr[1];
			
			if (Number(data[0]) > Number(diaUltArr[0]))
					data[0] = diaUltArr[0];
		}
		else if ((Number(data[0]) > Number(diaUltArr[0])) && (Number(data[1]) == Number(diaUltArr[1])) && (Number(data[2]) == Number(diaUltArr[2])))
			data[0] = diaUltArr[0];
					
		return data;
	}
	
	function calcularUltData(modo, dataActual)
	{
		var incUltDataArr = new Array();
		var diaUltArr = new Array();
		
		incUltDataArr = incUltimaData();
		
		if (modo == 'P')
		{
			diaUltArr[0] = dataActual[0] + incUltDataArr[0];
			diaUltArr[1] = dataActual[1] + incUltDataArr[1];
			diaUltArr[2] = dataActual[2] + incUltDataArr[2];
		}
		else if (modo == 'R')
		{
			diaUltArr[0] = dataActual[0] + incUltDataArr[3];
			diaUltArr[1] = dataActual[1] + incUltDataArr[4];
			diaUltArr[2] = dataActual[2] + incUltDataArr[5];
		}
			
		return validaData(diaUltArr);
	}
	
	function insere0(valor)
	{
		if (valor < 10)
			valor = 0 + "" + valor;
			
		return valor;
	}
	
	function limparCombo(obj)
	{
		var tam = obj.length;
		
		for (i=0; i<=tam; i++)
		{
			obj.options[0] = null;
		}
	}
	
	function carregarCombo(modo, dataInicio, dataFim)
	{
		var mesesArr = new Array();
		var mesesDescArr = new Array();
		var diaCarregado = 0;
		
		mesesDescArr = arrayMesesDesc();
		
		if (document.layers) {
			//NS4
			//alert("NS5");
		} else if (document.all) {
			//IE4
			//alert("IE4");

			if (modo == "P")
			{
				diacombo = document.all.combodiapartida;
				mescombo = document.all.combomespartida;
				anocombo = document.all.comboanopartida;
			}
			else if (modo == "R")
			{
				diacombo = document.all.combodiaregresso;
				mescombo = document.all.combomesregresso;
				anocombo = document.all.comboanoregresso;
			}
		} else if (document.getElementById) {
			if (modo == "P")
			{
				diacombo = document.formAvailAbility.combodiapartida;
				mescombo = document.formAvailAbility.combomespartida;
				anocombo = document.formAvailAbility.comboanopartida;
			}
			else if (modo == "R")
			{
				diacombo = document.formAvailAbility.combodiaregresso;
				mescombo = document.formAvailAbility.combomesregresso;
				anocombo = document.formAvailAbility.comboanoregresso;
			}
		}
		
		
		
		var anodiff = dataFim[2] - dataInicio[2];
		for (var a = 0; a <= anodiff; a++)
		{
			mesesArr = arrayMeses(dataInicio[2] + a);
			var ano = (dataInicio[2] + a);
		
			if (a == 0)
			{
				for (var m = dataInicio[1]; m <= 12; m ++)
				{
					if ((m == dataInicio[1]) && (dataInicio[1] >= dataFim[1]) && (dataInicio[2] == dataFim[2]) &&  (diaCarregado == 0))
					{
						for (var d = dataInicio[0]; d <= dataFim[0]; d++)
						{
							diacombo.options[diacombo.length] = new Option(d, d, false, false);
						}
						diaCarregado = 1;
					}
					else if ((m == dataInicio[1]) && (diaCarregado == 0))
					{
						for (var d = dataInicio[0]; d <= mesesArr[m]; d++)
						{
							diacombo.options[diacombo.length] = new Option(d, d, false, false);
						}
						diaCarregado = 1;
					}
					else if (diaCarregado == 0)
					{
						for (var d = 1; d <= mesesArr[m]; d++)
						{
							diacombo.options[diacombo.length] = new Option(d, d, false, false);
						}
						diaCarregado = 1;
					}
					
					mescombo.options[mescombo.length] = new Option(mesesDescArr[m], (ano + "" + insere0(m)), false, false);
				}
			}
			else if (a == anodiff)
			{
				for (var m = 1; m <= dataFim[1]; m++)
				{
					if ((m == dataFim[1]) && (diaCarregado == 0))
					{
						for (var d = 1; d <= dataFim[0]; d++)
						{
							diacombo.options[diacombo.length] = new Option(d, d, false, false);
						}
						diaCarregado = 1;
					}
					else if (diaCarregado == 0)
					{
						for (var d = 1; d <= mesesArr[m]; d++)
						{
							diacombo.options[diacombo.length] = new Option(d, d, false, false);
						}
						diaCarregado = 1;
					}
					
					mescombo.options[mescombo.length] = new Option(mesesDescArr[m], (ano + "" + insere0(m)), false, false);
				}
			}
			else
			{
				for (var m = 1; m <= 12; m++)
				{
					if (diaCarregado == 0)
					{
						for (var d = 1; d <= mesesArr[m]; d++)
						{
							diacombo.options[diacombo.length] = new Option(d, d, false, false);
						}
						diaCarregado = 1;
					}
								
					mescombo.options[mescombo.length] = new Option(mesesDescArr[m], (ano + "" + insere0(m)), false, false);
				}
			}
		} 
	}
	
	function dataPreDefinida(diaP, mesP, anoP, diaR, mesR, anoR)
	{
		var diaHojeArr = new Array();
		diaHojeArr = dataHoje();
		
		var diaHoje = insere0(diaHojeArr[2]) + "" + insere0(diaHojeArr[1]) + "" + insere0(diaHojeArr[0]);
		var diaPart = insere0(anoP) + "" + insere0(mesP) + "" + insere0(diaP);
		var diaRegr = insere0(anoR) + "" + insere0(mesR) + "" + insere0(diaR);
		
		if (diaPart > diaHoje)
		{
			diaHojeArr[0] = diaP;
			diaHojeArr[1] = mesP;
			diaHojeArr[2] = anoP;
					
			//PreDefinida
			diaHojeArr[6] = 1;	
		}
		else
		{
			diaPart = diaHoje;
			diaP = diaHojeArr[0];
			mesP = diaHojeArr[1];
			anoP = diaHojeArr[2];
		}
		
		if ((diaRegr > diaHoje) && (diaRegr > diaPart))
		{
			diaHojeArr[3] = diaR;
			diaHojeArr[4] = mesR;
			diaHojeArr[5] = anoR;
					
			//PreDefinida
			diaHojeArr[7] = 1;		
		}
		else if (diaRegr <= diaPart)
		{
			diaHojeArr[3] = diaP;
			diaHojeArr[4] = mesP;
			diaHojeArr[5] = anoP;
					
			//PreDefinida
			diaHojeArr[7] = 2;		
		}
						
		return diaHojeArr;
	}
	
	function inicializarCombos(diaP, mesP, anoP, diaR, mesR, anoR)
	{
		var diaIPartArr = new Array();
		var diaIPartIncArr = new Array();
		var diaUPartArr = new Array();
		
		var diaIRegrArr = new Array();
		var diaIRegrIncArr = new Array();
		var diaURegrArr = new Array();
		
		var diaArr = new Array();
		
		if ((diaP != 0) && (mesP != 0) && (anoP != 0) && (diaR != 0) && (mesR != 0) && (anoR != 0))
			diaArr = dataPreDefinida(diaP, mesP, anoP, diaR, mesR, anoR);
		else if ((diaP != 0) && (mesP != 0) && (anoP != 0)) 
			diaArr = dataPreDefinida(diaP, mesP, anoP, diaP, mesP, anoP);
		else
			diaArr = dataHoje();
		
		diaIPartArr = validaData(diaArr);
		diaIPartIncArr = calcularDataInc("P", diaArr);
		diaUPartArr = calcularUltData("P", diaIPartArr);
		
		diaIRegrArr = validaData(diaArr);
		diaIRegrIncArr = calcularDataInc("R", diaArr);
		diaURegrArr = calcularUltData("R", diaIRegrArr);
		
		preencherVariaveisGlobais(diaIPartArr, diaUPartArr, diaIRegrArr, diaURegrArr);
		
		if (document.layers) {
			//NS4
		} else if (document.all) {
			//IE4
			limparCombo(document.all.combodiapartida);
			limparCombo(document.all.combomespartida);
			
			limparCombo(document.all.combodiaregresso);
			limparCombo(document.all.combomesregresso);
		} else if (document.getElementById) {
			//NS6
			limparCombo(document.formAvailAbility.combodiapartida);
			limparCombo(document.formAvailAbility.combomespartida);
			
			limparCombo(document.formAvailAbility.combodiaregresso);
			limparCombo(document.formAvailAbility.combomesregresso);
		}
		
		//carregarCombo("P", diaIPartArr, diaUPartArr);
		
		if(  diaIPartIncArr[0] >= diaIPartArr[0] ) 
			carregarCombo("P", diaIPartArr, diaUPartArr);
		else {
			auxArray = diaIPartArr;
			auxArray[0] = 1;
			carregarCombo( "P", auxArray , diaURegrArr);	
		}
		
		diaIRegrArr[0] = diaIRegrArr[3];
		diaIRegrArr[1] = diaIRegrArr[4];
		diaIRegrArr[2] = diaIRegrArr[5];
	
		//carregarCombo("R", diaIRegrArr, diaURegrArr);

		//if( diaIPartIncArr[0] < diaIRegrIncArr[0] )
		if( diaIPartIncArr[0] >= diaIPartArr[0]  &&  diaIPartIncArr[0] < diaIRegrIncArr[0]) 
			carregarCombo("R", diaIRegrArr, diaURegrArr);
		else {
			auxArray = diaIRegrArr;
			auxArray[0] = 1;
			carregarCombo("R", auxArray , diaURegrArr);	
		}
		
		seleccionarDadosCombo("P", diaIPartIncArr);
		seleccionarDadosCombo("R", diaIRegrIncArr);
	}
	
	function preencherVariaveisGlobais(diaIPartArr, diaUPartArr, diaIRegrArr, diaURegrArr)
	{
		document.calendarVar.diaIPart.value = diaIPartArr[0];
		document.calendarVar.mesIPart.value = diaIPartArr[1];
		document.calendarVar.anoIPart.value = diaIPartArr[2];
		
		document.calendarVar.diaUPart.value = diaUPartArr[0];
		document.calendarVar.mesUPart.value = diaUPartArr[1];
		document.calendarVar.anoUPart.value = diaUPartArr[2];
		
		document.calendarVar.diaIRegr.value = diaIRegrArr[0];
		document.calendarVar.mesIRegr.value = diaIRegrArr[1];
		document.calendarVar.anoIRegr.value = diaIRegrArr[2];
		
		document.calendarVar.diaURegr.value = diaURegrArr[0];
		document.calendarVar.mesURegr.value = diaURegrArr[1];
		document.calendarVar.anoURegr.value = diaURegrArr[2];
		
		document.calendarVar.diaEscPart.value = diaIPartArr[0];
		document.calendarVar.mesEscPart.value = diaIPartArr[1];
		document.calendarVar.anoEscPart.value = diaIPartArr[2];
		
		document.calendarVar.diaEscRegr.value = diaIRegrArr[0];
		document.calendarVar.mesEscRegr.value = diaIRegrArr[1];
		document.calendarVar.anoEscRegr.value = diaIRegrArr[2];
	}
	
	function actualizarDataAnterior(modo, data)
	{
		if (modo == "P")
		{
			document.calendarVar.diaEscPart.value = data[0];
			document.calendarVar.mesEscPart.value = data[1];
			document.calendarVar.anoEscPart.value = data[2];
		}
		else if (modo == "R")
		{
			document.calendarVar.diaEscRegr.value = data[0];
			document.calendarVar.mesEscRegr.value = data[1];
			document.calendarVar.anoEscRegr.value = data[2];
		}
	}
/* <!-- /_vs_/_lg_/js/combosCalendarioDiaPartAlt.js --> */
// JScript source code
// Calendário dinâmico com duas datas diferentes e com períodos compreendidos entre 12 meses.

	function diaPartidaAlt_2(diaEscolhidoRegr, diaEscolhidoPart, diaNovoRegr, diaIRegrArr, diaURegrArr)
	{
		diaEscolhidoRegr[3] = Number(diaEscolhidoPart[0]);
		diaEscolhidoRegr[4] = Number(diaEscolhidoPart[1]);
		diaEscolhidoRegr[5] = Number(diaEscolhidoPart[2]);
		diaEscolhidoRegr[7] = 2;
			
		diaNovoRegr = calcularDataInc("R",diaEscolhidoRegr);
		
		var posicaoMes = determinaPrimMidUltMes(diaNovoRegr, diaIRegrArr, diaURegrArr);
		
		diaNovoRegr = validaDataParam("R", diaNovoRegr);
		
		carregarMesCombo("R", diaNovoRegr, diaIRegrArr, diaURegrArr, posicaoMes);
		
		seleccionarDadosCombo("R", diaNovoRegr);
		
		actualizarDataAnterior("R", diaNovoRegr);
		
		diaRegressoAlt();
	}
	
	//Função para calcular a data de partida mais o incremento de regresso
	function calcularDataPartIncRegr (data)
	{
		var novaData = new Array();
		
		novaData[3] = data[0];
		novaData[4] = data[1];
		novaData[5] = data[2];
		novaData[7] = 2;
		
		novaData = calcularDataInc("R", novaData);
		
		return novaData;
	}

	function diaPartidaAlt()
	{	
		var diaEscolhidoPart = new Array();
		var diaEscolhidoRegr = new Array();
		var diaNovoRegr = new Array();
		var diaIRegrArr = new Array();
		var diaURegrArr = new Array();
		var diaIncPartArr = new Array();
		
		diaIRegrArr = getVarGlobais(3);
		diaURegrArr = getVarGlobais(4);
		
		diaEscolhidoPart = getDataEscolhida("P");
		diaEscolhidoRegr = getDataEscolhida("R");
		
		diaIncPartArr = calcularDataPartIncRegr(diaEscolhidoPart);
		
		if (Number(diaEscolhidoRegr[2]) < Number(diaIncPartArr[2]))
			diaPartidaAlt_2(diaEscolhidoRegr, diaEscolhidoPart, diaNovoRegr, diaIRegrArr, diaURegrArr);
		else if ((Number(diaEscolhidoRegr[1]) < Number(diaIncPartArr[1])) && (Number(diaEscolhidoRegr[2]) == Number(diaIncPartArr[2])))
			diaPartidaAlt_2(diaEscolhidoRegr, diaEscolhidoPart, diaNovoRegr, diaIRegrArr, diaURegrArr);
		else if ((Number(diaEscolhidoRegr[0]) < Number(diaIncPartArr[0])) && (Number(diaEscolhidoRegr[1]) == Number(diaIncPartArr[1])) && (Number(diaEscolhidoRegr[2]) == Number(diaIncPartArr[2])))
			diaPartidaAlt_2(diaEscolhidoRegr, diaEscolhidoPart, diaNovoRegr, diaIRegrArr, diaURegrArr);
		
		actualizarDataAnterior("P", diaEscolhidoPart);
	}
/* <!-- /_vs_/_lg_/js/combosCalendarioMesPartAlt.js --> */
// JScript source code
// Calendário dinâmico com duas datas diferentes e com períodos compreendidos entre 12 meses.// JScript source code

	function mesPartidaAlt()
	{
		var diaIPartArr = new Array();
		var diaUPartArr = new Array();
		var diaEscolhidoPart = new Array();
		var diaEscolhidoRegr = new Array();
		
		diaIPartArr = getVarGlobais(1);
		diaUPartArr = getVarGlobais(2);
		
		diaEscolhidoPart = getDataEscolhida("P");
		diaEscolhidoRegr = getDataEscolhida("R");
		
		var posicaoMes = determinaPrimMidUltMes(diaEscolhidoPart, diaIPartArr, diaUPartArr);
		
		carregarMesCombo("P", diaEscolhidoPart, diaIPartArr, diaUPartArr, posicaoMes);
		
		seleccionarDadosCombo("P", diaEscolhidoPart);
		
		diaPartidaAlt();
	}
	
	//Para o calendário
	function mesPartidaAlt_Calendario(diaEscolhidoPart)
	{
		var diaIPartArr = new Array();
		var diaUPartArr = new Array();
		var diaEscolhidoRegr = new Array();
		
		diaIPartArr = getVarGlobais(1);
		diaUPartArr = getVarGlobais(2);
		
		diaEscolhidoRegr = getDataEscolhida("R");
		
		var posicaoMes = determinaPrimMidUltMes(diaEscolhidoPart, diaIPartArr, diaUPartArr);
		
		carregarMesCombo("P", diaEscolhidoPart, diaIPartArr, diaUPartArr, posicaoMes);
		
		seleccionarDadosCombo("P", diaEscolhidoPart);
		
		diaPartidaAlt();
	}
/* <!-- /_vs_/_lg_/js/combosCalendarioDiaRegrAlt.js --> */
// JScript source code
// Calendário dinâmico com duas datas diferentes e com períodos compreendidos entre 12 meses.// JScript source code

	function diaRegressoAlt ()
	{
		var diaEscolhidoPart = new Array();
		var diaEscolhidoRegr = new Array();
		
		diaEscolhidoPart = getDataEscolhida("P");
		diaEscolhidoRegr = getDataEscolhida("R");
		
		diaEscolhidoRegr = validaDataRegresso(diaEscolhidoRegr, diaEscolhidoPart);
		
		seleccionarDadosCombo("R", diaEscolhidoRegr);
		
		actualizarDataAnterior("R", diaEscolhidoRegr);

	}
/* <!-- /_vs_/_lg_/js/combosCalendarioMesRegrAlt.js --> */
// JScript source code
// Calendário dinâmico com duas datas diferentes e com períodos compreendidos entre 12 meses.

    if (document.all) {n=0;ie=1;ns6=0;}//ie
        else if (document.getElementById){n=0;ie=0;ns6=1;fShow="";}//ns6
            else if (document.layers) {n=1;ie=0;ns6=0;}//ns4

	function limparCombo(obj)
	{
		var z = obj.length;
		for (i=0; i<=z; i++)
		{
			obj.options[0] = null;
		}
	}
	
	function getVarGlobais (modo)
	{
		var data = new Array();
		
		if (modo == 1)
		{
			data[0] = document.calendarVar.diaIPart.value;
			data[1] = document.calendarVar.mesIPart.value;
			data[2] = document.calendarVar.anoIPart.value;
		}
		else if (modo == 2)
		{
			data[0] = document.calendarVar.diaUPart.value;
			data[1] = document.calendarVar.mesUPart.value;
			data[2] = document.calendarVar.anoUPart.value;
		}
		else if (modo == 3)
		{
			data[0] = document.calendarVar.diaIRegr.value;
			data[1] = document.calendarVar.mesIRegr.value;
			data[2] = document.calendarVar.anoIRegr.value;
		}
		else if (modo == 4)
		{
			data[0] = document.calendarVar.diaURegr.value;
			data[1] = document.calendarVar.mesURegr.value;
			data[2] = document.calendarVar.anoURegr.value;
		}
		
		return data;
	}
	
	function getDataAnterior (modo)
	{
		var data = new Array();
		
		if (modo == "P")
		{
			data[0] = document.calendarVar.diaEscPart.value;
			data[1] = document.calendarVar.mesEscPart.value;
			data[2] = document.calendarVar.anoEscPart.value;
		}
		else if (modo == "R")
		{
			data[0] = document.calendarVar.diaEscRegr.value;
			data[1] = document.calendarVar.mesEscRegr.value;
			data[2] = document.calendarVar.anoEscRegr.value;
		}
		
		return data;
	}
	
	function getDataEscolhida (modo)
	{
		var data = new Array();

        if(ie) {
            if (modo == "P")
            {
                data[0] = Number(document.all.combodiapartida.options[document.all.combodiapartida.selectedIndex].value);
                data[1] = Number(document.all.combomespartida.options[document.all.combomespartida.selectedIndex].value.substring(4,7));
                data[2] = Number(document.all.combomespartida.options[document.all.combomespartida.selectedIndex].value.substring(0,4));
            }
            else if (modo == "R")
            {
                data[0] = Number(document.all.combodiaregresso.options[document.all.combodiaregresso.selectedIndex].value);
                data[1] = Number(document.all.combomesregresso.options[document.all.combomesregresso.selectedIndex].value.substring(4,6));
                data[2] = Number(document.all.combomesregresso.options[document.all.combomesregresso.selectedIndex].value.substring(0,4));
             }
		} else {
            if (modo == "P")
            {
                data[0] = Number(document.formAvailAbility.combodiapartida.options[document.formAvailAbility.combodiapartida.selectedIndex].value);
                data[1] = Number(document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value.substring(4,7));
                data[2] = Number(document.formAvailAbility.combomespartida.options[document.formAvailAbility.combomespartida.selectedIndex].value.substring(0,4));
            }
            else if (modo == "R")
            {
                data[0] = Number(document.formAvailAbility.combodiaregresso.options[document.formAvailAbility.combodiaregresso.selectedIndex].value);
                data[1] = Number(document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value.substring(4,6));
                data[2] = Number(document.formAvailAbility.combomesregresso.options[document.formAvailAbility.combomesregresso.selectedIndex].value.substring(0,4));
            }

		}

		return data;
	}
	
	function determinaPrimMidUltMes(dataActArr, dataPrimArr, dataUltArr)
	{
		var pos = 0;
		
		if ((dataActArr[1] == dataPrimArr[1]) && (dataActArr[2] == dataPrimArr[2]))
			pos = 1;
		else if ((dataActArr[1] == dataUltArr[1]) && (dataActArr[2] == dataUltArr[2]))
			pos = 2;
		
		return pos;
	}
	
	function validaDataRegresso(dataActArr, dataPartArr)
	{
		if (Number(dataPartArr[2]) > Number(dataActArr[2]))
		{
			dataActArr[2] = dataPartArr[2];
			dataActArr[1] = dataPartArr[1];
			dataActArr[0] = dataPartArr[0];
		}
		else if ((Number(dataPartArr[1]) > Number(dataActArr[1])) && (Number(dataPartArr[2]) == Number(dataActArr[2])))
		{
			dataActArr[1] = dataPartArr[1];
			dataActArr[0] = dataPartArr[0];
		}
		else if ((Number(dataPartArr[0]) > Number(dataActArr[0])) && (Number(dataPartArr[1]) == Number(dataActArr[1])) && (Number(dataPartArr[2]) == Number(dataActArr[2])))
			dataActArr[0] = dataPartArr[0]; 
		
		return validaDataParam("R", dataActArr);
	}
	
	function carregarMesCombo(modo, dataEscolhida, dataInicio, dataFim, posMes)
	{
		var mesesArr = new Array();
		var mesesDescArr = new Array();
		var diaCarregado = 0;
		
		mesesDescArr = arrayMesesDesc();

        if(ie) {
            if (modo == "P")
                diacombo = document.all.combodiapartida;
            else if (modo == "R")
                diacombo = document.all.combodiaregresso;
		} else {
            if (modo == "P")
                diacombo = document.formAvailAbility.combodiapartida;
            else if (modo == "R")
                diacombo = document.formAvailAbility.combodiaregresso;
       	}

 		limparCombo(diacombo);
		mesesArr = arrayMeses(dataEscolhida[2]);
		
		if (posMes == 0)
		{
			for (var d = 1; d <= mesesArr[dataEscolhida[1]]; d++)
			{
				diacombo.options[diacombo.length] = new Option(d, d, false, false);
			}
		}
		else if (posMes == 1)
		{
			for (var d = dataInicio[0]; d <= mesesArr[dataEscolhida[1]]; d++)
			{
				diacombo.options[diacombo.length] = new Option(d, d, false, false);
			}
		}
		else if (posMes == 2)
		{
			for (var d = 1; d <= dataFim[0]; d++)
			{
				diacombo.options[diacombo.length] = new Option(d, d, false, false);
			}
		}
	}
	
	function seleccionarDadosCombo(modo, data)
	{
	    if(ie) {
            if (modo == "P")
            {
                diacombo = document.all.combodiapartida;
                mescombo = document.all.combomespartida;
             }
            else if (modo == "R")
            {
                diacombo = document.all.combodiaregresso;
                mescombo = document.all.combomesregresso;
		    }
		} else {
            if (modo == "P")
            {
                diacombo = document.formAvailAbility.combodiapartida;
                mescombo = document.formAvailAbility.combomespartida;
             }
            else if (modo == "R")
            {
                diacombo = document.formAvailAbility.combodiaregresso;
                mescombo = document.formAvailAbility.combomesregresso;
		    }
        }

		for (var x = 0; x < 2; x++)
		{
			if (x == 0)
				obj = diacombo;
			else if (x == 1)
			{
				obj = mescombo;
				data[1] = data[2] + "" + insere0(data[1]);
			}
			
    		var tam = obj.length;

			for (i = 0; i < tam; i++)
			{
				obj.selectedIndex = i;

				//if (obj.options[i].value == data[x])
    			if (Number(obj.options[i].value) == Number(data[x])) 
					break;
			}
		}
	}
	
	function mesRegressoAlt ()
	{
		var diaIRegrArr = new Array();
		var diaURegrArr = new Array();
		var diaEscolhidoPart = new Array();
		var diaEscolhidoRegr = new Array();
		
		diaIRegrArr = getVarGlobais(3);
		diaURegrArr = getVarGlobais(4);
		
		diaEscolhidoPart = getDataEscolhida("P");
		diaEscolhidoRegr = getDataEscolhida("R");
		
		diaEscolhidoRegr = validaDataRegresso(diaEscolhidoRegr, diaEscolhidoPart);
		
		var posicaoMes = determinaPrimMidUltMes(diaEscolhidoRegr, diaIRegrArr, diaURegrArr);
		
		diaEscolhidoRegr = validaDataParam("R", diaEscolhidoRegr);
		
		carregarMesCombo("R", diaEscolhidoRegr, diaIRegrArr, diaURegrArr, posicaoMes);
		
		seleccionarDadosCombo("R", diaEscolhidoRegr);
		
		actualizarDataAnterior("R", diaEscolhidoRegr);
		
		diaRegressoAlt();
	}
	
	function mesRegressoAlt_Calendario (diaEscolhidoRegr)
	{
		var diaIRegrArr = new Array();
		var diaURegrArr = new Array();
		var diaEscolhidoPart = new Array();
		
		diaIRegrArr = getVarGlobais(3);
		diaURegrArr = getVarGlobais(4);
		
		diaEscolhidoPart = getDataEscolhida("P");
		
		diaEscolhidoRegr = validaDataRegresso(diaEscolhidoRegr, diaEscolhidoPart);
		
		var posicaoMes = determinaPrimMidUltMes(diaEscolhidoRegr, diaIRegrArr, diaURegrArr);
		
		diaEscolhidoRegr = validaDataParam("R", diaEscolhidoRegr);
		
		carregarMesCombo("R", diaEscolhidoRegr, diaIRegrArr, diaURegrArr, posicaoMes);
		
		seleccionarDadosCombo("R", diaEscolhidoRegr);
		
		actualizarDataAnterior("R", diaEscolhidoRegr);
		
		diaRegressoAlt();
	}

