var defaultDayDiff = 2;
var HotelResultImg = "";

function roll(img_name, img_src)
{
	document[img_name].src = img_src;
}

function DisplayHotelInformation(type)
{
    var val = document.getElementById('cbMoreInfoAboutHotel').innerHTML;
    var valEngineLocation = document.getElementById('hidEngineLocation').value;
    
    if(valEngineLocation == "Homepage" && type!="changeState"){SubmitAirHotelEngine();return;}//alterou o numero de quartos(no caso de estar em Homepage)

    
    if (valEngineLocation == "Homepage" || valEngineLocation=="HotelDetail")
    {    
        if(type=="changeState"){//alterar o estado do butao de controlo
            if(val=="Mostrar detalhes de Hotel")
            {
                document.getElementById("cbMoreInfoAboutHotel").innerHTML="Ocultar detalhes de Hotel";
            }
            else
            {
                document.getElementById("cbMoreInfoAboutHotel").innerHTML="Mostrar detalhes de Hotel";
            }
        }

        val = document.getElementById('cbMoreInfoAboutHotel').innerHTML;
        var nDisplayRooms = document.getElementById('ddHotelEngineRooms').selectedIndex;
        if(val=="Ocultar detalhes de Hotel")
        {
            var obj= document.getElementById('HotelDetailsGlobal');
            obj.style.display = "block";
            DisplayRooms('HotelDetails',++nDisplayRooms); 
        }
        else{
            var obj= document.getElementById('HotelDetailsGlobal');
            obj.style.display = "none";
            HideRooms('HotelDetailsGlobal')
        }
    }
    else
    {
        if(document.getElementById('divHotelArea')!=undefined){
            if(document.getElementById('divHotelArea').childNodes.length < 2)
            {
             document.getElementById('divHotelArea').innerHTML = document.getElementById('HotelDetailsGlobal').innerHTML;
             document.getElementById('HotelDetailsGlobal').innerHTML = " ";
            }
        }
        var nDisplayRooms = document.getElementById('ddHotelEngineRooms').selectedIndex;
        HideRooms('HotelDetails');
        DisplayRooms('HotelDetails',++nDisplayRooms);
    }            
}

function GetNightsValue(dateOut, dateIn)
{
	var dayTime = 86400000; //Numero de milisegundos num dia
	return ((dateOut.valueOf() - dateIn.valueOf()) / dayTime);
}
function GetNights()
{
	var day1 = document.getElementById('BegDay').options[document.getElementById('BegDay').options.selectedIndex].value;
	var month1 = document.getElementById('BegMonth').options[document.getElementById('BegMonth').options.selectedIndex].value;
	var year1 = document.getElementById('BegYear').options[document.getElementById('BegYear').options.selectedIndex].value;

	var day2 = document.getElementById('EndDay').options[document.getElementById('EndDay').options.selectedIndex].value;
	var month2 = document.getElementById('EndMonth').options[document.getElementById('EndMonth').options.selectedIndex].value;
	var year2 = document.getElementById('EndYear').options[document.getElementById('EndYear').options.selectedIndex].value;

	var date1 = new Date();
	var date2 = new Date();

	var one_day = 1000*60*60*24;
	
	date1.setFullYear(year1,month1 - 1,day1);
	date2.setFullYear(year2,month2 - 1,day2);

	var days = Math.ceil((date2.getTime()-date1.getTime())/(one_day));
    
    //alert(days);
    
    if(days < 0)
        document.getElementById('Nights').options.selectedIndex = 0;
    else if (document.getElementById('Nights').options.length >= days)
	    document.getElementById('Nights').options.selectedIndex = days;
    else // Maximo por defeito é 45 noites só possível aumentar por calendário.
	    document.getElementById('Nights').options.selectedIndex = 45;   
	
	/*if(day1 == day2)
	    document.getElementById('EndDay').selectedIndex = day1+1;*/

}


function DisplayRoomInformation(type)
{
    var valEngineLocation = document.getElementById('hidEngineLocation').value;
    if((valEngineLocation == "Homepage" || valEngineLocation == "VAPortugal") && type!="changeState"){SubmitHotelEngineHomepage();return;}//alterou o numero de quartos(no caso de estar em Homepage)

    //if(valEngineLocation == "Homepage" || valEngineLocation == "airhotel")
    //    val = document.getElementById('cbMoreInfoAboutRooms').innerHTML;
    
    var nDisplayRooms = document.getElementById('ddHotelEngineRooms').selectedIndex;
      
     // para mostrar/esconder a imagem nos resultados de Hotel 
    if(valEngineLocation=="HotelSearchResults")
    {       
        if(HotelResultImg == "")
            HotelResultImg = document.getElementById('divHotelAreaImg').style.backgroundImage;
        if(nDisplayRooms > 0)
        {
            document.getElementById('divHotelAreaImg').style.backgroundImage = "none";
            document.getElementById('divHotelAreaImg').style.backgroundColor = "#CF9709";
        }
        else
            document.getElementById('divHotelAreaImg').style.backgroundImage = HotelResultImg;
    }
    
    if(valEngineLocation!="Homepage"){//Mostrar quartos /2/3 caso seja necessario em REsultados de pesquisa de Hotel
          
        if(valEngineLocation!="VAPortugal" && valEngineLocation!="airhotel" && valEngineLocation!="HotelSearchResults" && valEngineLocation!="AirHotelSearchResult" && valEngineLocation!="HotelDetailEngine")
            ResizeBox(nDisplayRooms,valEngineLocation);        
               
        for(var i=1;i!=4;++i){
            if(document.getElementById("trQuarto"+i)!=undefined){
            document.getElementById("trQuarto"+i).style.display = "none";
            document.getElementById("divHotelEngineRoom"+i+"InfantsBabiesAges").style.display = "none";
            }
        }
        
        for(var i=1;i!=(nDisplayRooms+2);++i){
            if(document.getElementById("trQuarto"+i)!=undefined){
            document.getElementById("trQuarto"+i).style.display = "";
            document.getElementById("divHotelEngineRoom"+i+"InfantsBabiesAges").style.display = "";
            }
        }
        
        if(nDisplayRooms==0 && valEngineLocation=="HotelSearchResults")
        {
            if(document.getElementById("divHotelArea")!=undefined){
                document.getElementById("divHotelArea").style.display = "none";
            }
        }
        else
        {
            if(document.getElementById("divHotelArea")!=undefined)
            {
                document.getElementById("divHotelArea").style.display = "";
            }
        }
        
        if(valEngineLocation!="HotelSearchResults"){
            if(nDisplayRooms > 0 )
                document.getElementById("trChildQuarto1").style.height = "";
            else
                document.getElementById("trChildQuarto1").style.height = "45px";
        }
        
    }
}

function ResizeBox(nDisplayRooms,valEngineLocation)
{
    var obj_divMainHotelEngine = document.getElementById("divMainHotelEngine");
    if(obj_divMainHotelEngine != undefined)
        obj_divMainHotelEngine.style.backgroundColor = "#CF9709";
    if(nDisplayRooms > 0)
    {
        if(valEngineLocation == "Hotel")
        {
            var obj_divHotelHighlight = document.getElementById("divHotelHighlight");
            obj_divHotelHighlight.style.display = "none";
        }
        else if(valEngineLocation == "HotelThemes")
        {
            var obj_divHotelThemesHighlight = document.getElementById("divHotelThemesHighlight");
            obj_divHotelThemesHighlight.style.display = "none";
        }
        else if(valEngineLocation == "HotelHighlight")
        {
            var obj_divAirHotelTopCityBreaks = document.getElementById("divAirHotelTopCityBreaks");
            obj_divAirHotelTopCityBreaks.style.display = "none";
        }
        /*else if(valEngineLocation == "VAPortugal")
        {
            var obj_divVAHotelHighlight = document.getElementById("divVAHotelHighlight");
            obj_divVAHotelHighlight.style.display = "none";
        }*/
   
        if(obj_divMainHotelEngine != undefined)
            obj_divMainHotelEngine.style.height = "408px";
    }
    else
    {
        if(obj_divMainHotelEngine != undefined)
            obj_divMainHotelEngine.style.height = "198px";
        
        if(valEngineLocation == "Hotel")
        {
            var obj_divHotelHighlight = document.getElementById("divHotelHighlight");
            obj_divHotelHighlight.style.display = "";
        }
        else if(valEngineLocation == "HotelThemes")
        {
            var obj_divHotelThemesHighlight = document.getElementById("divHotelThemesHighlight");
            obj_divHotelThemesHighlight.style.display = "";
        }
        else if(valEngineLocation == "HotelHighlight")
        {
            var obj_divAirHotelTopCityBreaks = document.getElementById("divAirHotelTopCityBreaks");
            obj_divAirHotelTopCityBreaks.style.display = "";
        }
        /*else if(valEngineLocation == "VAPortugal")
        {
            var obj_divVAHotelHighlight = document.getElementById("divVAHotelHighlight");
            obj_divVAHotelHighlight.style.display = "";
        }*/
        
    }
}

function ResizeAirHotelBox()
{
    var obj_divMainAirHotelEngine = document.getElementById("divMainAirHotelEngine");

    if(obj_divMainAirHotelEngine != undefined)
        obj_divMainAirHotelEngine.style.backgroundColor = "#CF9709";
    
    var valEngineLocation = document.getElementById('hidEngineLocation').value;
    var nDisplayRooms = document.getElementById('ddHotelEngineRooms').selectedIndex;
    
    var val_num_infants = document.getElementById("ddHotelEngineRoom1Infants").value;
    var val_num_babies = document.getElementById("ddHotelEngineRoom1Babies").value;
    
    if(nDisplayRooms > 0)
    {
        if(valEngineLocation == "airhotel")
        {
            var obj_divAirHotelResInfo = document.getElementById("divAirHotelResInfo");
            obj_divAirHotelResInfo.style.display = "none";
        }
        
        if(obj_divMainAirHotelEngine != undefined)
            obj_divMainAirHotelEngine.style.height = "405px";
    }
    else if(val_num_infants==0 && val_num_babies==0)
    {
        if(obj_divMainAirHotelEngine != undefined)
            obj_divMainAirHotelEngine.style.height = "198px";
        
        if(valEngineLocation == "airhotel")
        {
            var obj_divAirHotelResInfo = document.getElementById("divAirHotelResInfo");
            obj_divAirHotelResInfo.style.display = "";
        }
    }
}

function ResizeAirHotelBox2(value1,value2)
{
    var obj_divMainAirHotelEngine = document.getElementById("divMainAirHotelEngine");
    if(obj_divMainAirHotelEngine != undefined)
        obj_divMainAirHotelEngine.style.backgroundColor = "#CF9709";
    
    var valEngineLocation = document.getElementById('hidEngineLocation').value;
    var nDisplayRooms = document.getElementById('ddHotelEngineRooms').selectedIndex;
    
    if((value1 > 0 || value2 > 0) && nDisplayRooms==0)
    {
        if(valEngineLocation == "airhotel")
        {
            var obj_divAirHotelResInfo = document.getElementById("divAirHotelResInfo");
            obj_divAirHotelResInfo.style.display = "none";
        }
        
        if(obj_divMainAirHotelEngine != undefined)
            obj_divMainAirHotelEngine.style.height = "405px";
    }
    else if((value1 == 0 && value2 == 0) && nDisplayRooms==0)
    {
        if(obj_divMainAirHotelEngine != undefined)
            obj_divMainAirHotelEngine.style.height = "198px";
        
        if(valEngineLocation == "airhotel")
        {
            var obj_divAirHotelResInfo = document.getElementById("divAirHotelResInfo");
            obj_divAirHotelResInfo.style.display = "";
        }
    }
}

function DisplayRooms(obj_name, val)
{	
	for(var i=1; i<=4; i++)
	{
		obj = document.getElementById(obj_name + i);
		
		if (obj != null)
		{
			if (i <= val)
				obj.style.display = "block";
			else
				obj.style.display = "none";
		}
	}
}
function HideRooms(obj_name)
{	
	for(var i=1; i<=4; i++)
	{
		obj = document.getElementById(obj_name + i);
		
		if (obj != null)
		{
            obj.style.display = "none";
		}
	}
}


function DisplayInfantsBabiesAges(tag_room, tag_person_singular)
{	
    var valEngineLocation = document.getElementById('hidEngineLocation').value;
    if(valEngineLocation == "Homepage" || valEngineLocation == "VAPortugal"){/*SubmitHotelEngineHomepage();return;*/}
    else{
    var val_num_infants = document.getElementById("dd" + tag_room + "Infants").value;
    var val_num_babies = document.getElementById("dd" + tag_room + "Babies").value;
    var obj_div_infants_babies_ages = document.getElementById("div" + tag_room + "InfantsBabiesAges");
    var obj_div_infants_ages_content = document.getElementById("div" + tag_room + "InfantsAgesContent");
//    var obj_div_babies_ages_separator = document.getElementById("div" + tag_room + "BabiesAgesSeparator");
    var obj_div_babies_ages_content = document.getElementById("div" + tag_room + "BabiesAgesContent");
    var val;
    
    var nDisplayRooms = document.getElementById('ddHotelEngineRooms').selectedIndex;
    if(valEngineLocation!="airhotel" && valEngineLocation!="HotelSearchResults" && valEngineLocation!="AirHotelSearchResult" && valEngineLocation!="HotelDetailEngine")
        ResizeBox(nDisplayRooms,valEngineLocation);
    
    if(valEngineLocation=="airhotel")
    {
        ResizeAirHotelBox2(val_num_infants,val_num_babies);
    }
           
    if (tag_person_singular == "Infant") 
        val = val_num_infants;
    else
        val = val_num_babies;

    if ((val_num_infants + val_num_babies) > 0)
    {
        obj_div_infants_babies_ages.style.display = "";
    }
    else
    {
        obj_div_infants_babies_ages.style.display = "none";
    }

    if (val_num_infants > 0)
    {
        obj_div_infants_ages_content.style.display = "";
    }
    else
    {
        obj_div_infants_ages_content.style.display = "none";
    }
        
    if (val_num_babies > 0)
    {    
//        obj_div_babies_ages_separator.style.display = "block";
        obj_div_babies_ages_content.style.display = "";
    }        
    else
    {    
//        obj_div_babies_ages_separator.style.display = "none";
        obj_div_babies_ages_content.style.display = "none";
    }        

	for(var i=1; i<=3; i++)
	{
		obj = document.getElementById("div" + tag_room + tag_person_singular + "Age" + i);
		
		if (obj != null)
		{
			if (i <= val)
				obj.style.visibility = "visible";
			else
				obj.style.visibility = "hidden";
		}
	}
	}
}


/* -----------------------------------
    Functions -  All Engines 
-------------------------------------- */
function GetNewDate(day, month, year)
{			
	month--;
	return new Date(year, month, day);
}

function RegularReservationDate(day, month, year)
{
	var dayTime = Number(86400000);
	var currentDate = new Date();
	currentDate.setHours(0);
	currentDate.setMinutes(0);
	currentDate.setSeconds(0);
	currentDate.setMilliseconds(0);

	var inDate = new Date(year, Number(month) - 1, day);
	var diffDays = Number((inDate.valueOf() - currentDate.valueOf()) / dayTime);

	return (Math.ceil(diffDays) >= defaultDayDiff);
}

function CheckDate(day, month, year)
{
	// CheckDateAux - Function included in /Client/Js/ValidationUtils.js
	if (!CheckDateAux(day, month, year) || !RegularReservationDate(day, month, year))
		return false;

	return true;
}

function GetTestNights(dateOut, dateIn)
{
	var dayTime = 86400000; //Numero de milisegundos num dia
	var nights = GetNightsValue(dateOut, dateIn);
	
	if (nights >= 0)
		return true;
		
	return false;
}

function GetNightsValue(dateOut, dateIn)
{
	var dayTime = 86400000; //Numero de milisegundos num dia
	return ((dateOut.valueOf() - dateIn.valueOf()) / dayTime);
}

function CheckDateAux(day, month, year) 
{
	if (year < 1000)
		return false;
	
	if (month < 1 || month > 12)
		return false;
	
	if (day < 1 || day > 31)
		return false;
	
	return (day <= GetDaysInMonth(month, year));
}

function GetDaysInMonth(month, year)
{
	var minDaysInMonth = 30;
	var maxDaysInMonth = 31;
										
	if (month < 8)
	{
		if (month == 2) 
			return (TestIfRegularYear(year) ? 28 : 29);
		else
			return (minDaysInMonth + (month % 2));
	}
	else
	{
		return (maxDaysInMonth - (month % 2));
	}
}

function TestIfRegularYear(year)
{	
	return !(((year % 4) == 0 && (year % 100) != 0) || (year % 400) == 0);
}
/*
function GetNights()
{
	var day1 = document.getElementById('BegDay').options[document.getElementById('BegDay').options.selectedIndex].value;
	var month1 = document.getElementById('BegMonth').options[document.getElementById('BegMonth').options.selectedIndex].value;
	var year1 = document.getElementById('BegYear').options[document.getElementById('BegYear').options.selectedIndex].value;

	var day2 = document.getElementById('EndDay').options[document.getElementById('EndDay').options.selectedIndex].value;
	var month2 = document.getElementById('EndMonth').options[document.getElementById('EndMonth').options.selectedIndex].value;
	var year2 = document.getElementById('EndYear').options[document.getElementById('EndYear').options.selectedIndex].value;

	var date1 = new Date();
	var date2 = new Date();

	var one_day = 1000*60*60*24;
	
	date1.setFullYear(year1,month1 - 1,day1);
	date2.setFullYear(year2,month2 - 1,day2);

	var days = Math.ceil((date2.getTime()-date1.getTime())/(one_day));      

	if (document.getElementById('Nights').options.length >= days)
		document.getElementById('Nights').options.selectedIndex = days;
	else // Maximo por defeito é 45 noites só possível aumentar por calendário.
		document.getElementById('Nights').options.selectedIndex = 45;
}*/


function ReturnDateByNights(nights)
{
	var day1 = document.getElementById('BegDay').options[document.getElementById('BegDay').options.selectedIndex].value;
	var month1 = document.getElementById('BegMonth').options[document.getElementById('BegMonth').options.selectedIndex].value;
	var year1 = document.getElementById('BegYear').options[document.getElementById('BegYear').options.selectedIndex].value;

	var date1 = new Date();       
	date1.setFullYear(year1,month1,day1);     
	date1.setMonth(date1.getMonth()-1); 
	var milliseg = date1.getTime() + (1000 * 60 * 60 * 24 * nights);    
	date1.setTime(milliseg);

	document.getElementById('EndDay').options.selectedIndex = Math.floor(date1.getDate() - 1);
	document.getElementById('EndMonth').options.selectedIndex = date1.getMonth();
	//document.getElementById('EndYear').options.selectedIndex = date1.getYear() - dateToday.getYear();
	//alert(document.getElementById('EndMonthAno').options[document.getElementById('EndMonthAno').options.selectedIndex].value);

    if(document.getElementById('YanoMes2')!=undefined)
	    document.getElementById('YanoMes2').options.selectedIndex = date1.getMonth();// + 1;

    if(document.getElementById('YanoMesH2')!=undefined)
	    document.getElementById('YanoMesH2').options.selectedIndex = date1.getMonth();// + 1;   

	//ChangeCalendar(0);
	SetDateFieldsCalendar(calendarDepartDIV_Hotel, calendarReturnDIV_Hotel, 1);
	document.getElementById('EndDay').options.selectedIndex = Math.floor(date1.getDate()-1);
	SetDateFieldsCalendar(calendarDepartDIV_Hotel, calendarReturnDIV_Hotel, 1);             
}

/* -----------------------------------
    Functions - Air Engine 
-------------------------------------- */
function ValidateAirEngine()
{
	var dateIn = GetNewDate(document.getElementsByName('dias_Aviao').item(0).value, document.getElementsByName('mes_Aviao').item(0).value, document.getElementsByName('Yano').item(0).value);
	var dateOut = GetNewDate(document.getElementsByName('dias_Aviao2').item(0).value, document.getElementsByName('mes_Aviao2').item(0).value, document.getElementsByName('Yano2').item(0).value);
	
	if (!CheckDate(document.getElementsByName('dias_Aviao').item(0).value, document.getElementsByName('mes_Aviao').item(0).value, document.getElementsByName('Yano').item(0).value))
	{
		//alert("A data de partida nao e valida.");
		alert("Para fazer reservas com menos de 2 dias de antecedencia contacte por favor a linha de apoio ao cliente 707 200 150");
		document.getElementsByName('dias_Aviao_mes_Aviao_Yano').item(0).focus();		
		return false;
	}
	
	if (!CheckDate(document.getElementsByName('dias_Aviao2').item(0).value, document.getElementsByName('mes_Aviao2').item(0).value, document.getElementsByName('Yano2').item(0).value))
	{
		//alert("A data de chegada nao e valida.");
		alert("Para fazer reservas com menos de 2 dias de antecedencia contacte por favor a linha de apoio ao cliente 707 200 150");
		document.getElementsByName('dias_Aviao2_mes_Aviao2_Yano2').item(0).focus();		
		return false;
	}	

    if (!GetTestNights(dateOut, dateIn))
    {
    	alert("A data de partida e posterior a data de chegada.");
		document.getElementsByName('dias_Aviao_mes_Aviao_Yano').item(0).focus();		
		return false;        
    }

    if (document.getElementById('txtAirEngineDepartureCity').value != "")
    {
	    if (document.getElementById('txtAirEngineArrivalCity').value == "")
	    {	
		    alert("Tem que inserir uma cidade de chegada.");
		    document.getElementById('txtAirEngineArrivalCity').focus();
		    return false;
	    }
    }
    else 
    {	
	    alert("Tem que inserir uma cidade de partida.");
	    document.getElementById('txtAirEngineDepartureCity').focus();
	    return false;
    }
	
	return true;    
}

function SubmitAirEngine()
{
    if (ValidateAirEngine())
    {        
        var objForm = document.forms[1];

        objForm.vaction.value = "/Air/AirSearchResults.aspx";
        
        if (document.getElementById("__VIEWSTATE") != null)
            document.getElementById("__VIEWSTATE").value = "";        

        objForm.action = "/Loading.aspx";
        objForm.submit();
    }            
}

/* -----------------------------------
    Functions - Hotel Engine 
-------------------------------------- */
function ValidateHotelEngine()
{
	var dateIn = GetNewDate(document.getElementsByName('BegDay').item(0).value, document.getElementsByName('BegMonth').item(0).value, document.getElementsByName('BegYear').item(0).value);
	var dateOut = GetNewDate(document.getElementsByName('EndDay').item(0).value, document.getElementsByName('EndMonth').item(0).value, document.getElementsByName('EndYear').item(0).value);

	if (!CheckDate(document.getElementsByName('BegDay').item(0).value, document.getElementsByName('BegMonth').item(0).value, document.getElementsByName('BegYear').item(0).value))
	{
		//alert("A data de partida não é válida.");
		alert("Para fazer reservas com menos de 2 dias de antecedencia contacte por favor a linha de apoio ao cliente 707 200 150");
		document.getElementsByName('BegDay_BegMonth_BegYear').item(0).focus();
		return false;
	}
	
	if (!CheckDate(document.getElementsByName('EndDay').item(0).value, document.getElementsByName('EndMonth').item(0).value, document.getElementsByName('EndYear').item(0).value))
	{
		//alert("A data de regresso não é válida.");
		alert("Para fazer reservas com menos de 2 dias de antecedencia contacte por favor a linha de apoio ao cliente 707 200 150");
		document.getElementsByName('EndDay_EndMonth_EndYear').item(0).focus();
		return false;
	}
	
	if (dateOut - dateIn < 0)
	{
		alert("A data de partida e posterior a data de regresso.");
		document.getElementsByName('BegDay_BegMonth_BegYear').item(0).focus();
		return false;
	}
	
	if(dateIn == dateOut)
    {
        alert("A data de chegada não pode ser igual à data de partida.");
        document.getElementsByName('BegDay_BegMonth_BegYear').item(0).focus();
        return false;
    }
	
	if (document.getElementById("fldHotelThemesHiglights") != null)
    {	
        if (document.getElementById("fldHotelThemesHiglights").value == "|||")
	    {
		    alert("Tem que seleccionar um Hotel para pesquisar.");
		    document.getElementById("fldHotelThemesHiglights").focus();
		    return false;
	    }
    }
    else
    {
        if (document.getElementById('txtHotelEngineDestinationCity').value == "")
	    {
		    alert("Tem que inserir uma cidade de destino.");
		    document.getElementById('txtHotelEngineDestinationCity').focus();
		    return false;
	    }        
    }    	    
	
	return true;
}		

function SubmitHotelEngine()
{
    if (ValidateHotelEngine())
    {        
        var objForm = document.forms[1];    
        
        objForm.vaction.value = "/Hotel/HotelSearchResults.aspx";
        
        if (document.getElementById("__VIEWSTATE") != null)
            document.getElementById("__VIEWSTATE").value = "";
            
        objForm.action = "/Loading.aspx";        
        objForm.submit();
    }            
}

function SubmitHotelThemesEngine()
{
    if (ValidateHotelEngine())
    {        
        var objForm = document.forms[1];    
                
        objForm.vaction.value = "/Hotel/HotelDetail.aspx?CRS=K4T&AgreementId=" + objForm.txtHotelEngineHotelAgreementId.value + "&NOME_HOTEL=" + objForm.txtHotelEngineHotelName.value + "&HotelCity=" + objForm.txtHotelEngineDestinationCity.value + "&txtAirEngineArrivalCity=" + objForm.txtHotelEngineDestinationCity.value;// + "&IsHotelThemes=1";  // "/Hotel/HotelDetail.aspx";
        
        if (document.getElementById("__VIEWSTATE") != null)
            document.getElementById("__VIEWSTATE").value = "";
            
        objForm.action = "/Loading.aspx";        
        objForm.submit();
    }            
}

function SubmitHotelEngineHomepage()
{
    if (ValidateHotelEngine())
    {        
        var objForm = document.forms[1];    
        
        objForm.vaction.value = "/Hotel/HotelSearchResults.aspx";
        
        if (document.getElementById("__VIEWSTATE") != null)
            document.getElementById("__VIEWSTATE").value = "";
            
        objForm.action = "/Loading.aspx";        
        objForm.submit();
    }            
}

function SubmitHotelDetailEngine()
{
    if (ValidateHotelEngine())
    {        
        var objForm = document.getElementById("aspnetForm");
        
        objForm.vaction.value = "/Hotel/HotelDetail.aspx";
        
        if (document.getElementById("__VIEWSTATE") != null)
            document.getElementById("__VIEWSTATE").value = "";
            
        objForm.action = "/Loading.aspx";        
        objForm.submit();
    }            
}


 function getHotel_city_name(hotel_destino_name)
{
    var splitResult = hotel_destino_name.split("|");
    
	var hotel_city = splitResult[0];
	var hotel_name = splitResult[1];
	var hotel_crs = splitResult[2];
	var hotel_agreementid = splitResult[3];
	
	document.getElementById("txtHotelEngineDestinationCity").value = hotel_city;
	document.getElementById("txtHotelEngineHotelName").value = hotel_name;
	document.getElementById("txtHotelEngineHotelCRS").value = hotel_crs;
	document.getElementById("txtHotelEngineHotelAgreementId").value = hotel_agreementid;
}

function DatesEqual(data1Str, date2Str)
{
    var date1 = new Date(data1Str.split('/')[2],data1Str.split('/')[1],data1Str.split('/')[0]);
    var date2 = new Date(date2Str.split('/')[2],date2Str.split('/')[1],date2Str.split('/')[0]);

    var day1 = date1.getDate();
    var month1 = date1.getMonth();
    var year1 = date1.getFullYear();
    var day2 = date2.getDate();
    var month2 = date2.getMonth();
    var year2 = date2.getFullYear();
    
    if(day1==day2 && month1==month2 && year1==year2)
        return true;
    return false;
}
    
/* -----------------------------------
    Functions - Air + Hotel Engine 
-------------------------------------- */
function ValidateAirHotelEngine()
{
	var dateIn = GetNewDate(document.getElementsByName('dias_Aviao_AH').item(0).value, document.getElementsByName('mes_Aviao_AH').item(0).value, document.getElementsByName('Yano_AH').item(0).value);
	var dateOut = GetNewDate(document.getElementsByName('dias_Aviao2_AH').item(0).value, document.getElementsByName('mes_Aviao2_AH').item(0).value, document.getElementsByName('Yano2_AH').item(0).value);
	
	if (!CheckDate(document.getElementsByName('dias_Aviao_AH').item(0).value, document.getElementsByName('mes_Aviao_AH').item(0).value, document.getElementsByName('Yano_AH').item(0).value))
	{
		//alert("A data de partida não é válida.");
		alert("Para fazer reservas com menos de 2 dias de antecedencia contacte por favor a linha de apoio ao cliente 707 200 150");
		document.getElementsByName('dias_Aviao_AH_mes_Aviao_AH_Yano_AH').item(0).focus();		
		return false;
	}
	
	if (!CheckDate(document.getElementsByName('dias_Aviao2_AH').item(0).value, document.getElementsByName('mes_Aviao2_AH').item(0).value, document.getElementsByName('Yano2_AH').item(0).value))
	{
		//alert("A data de chegada não é válida.");
		alert("Para fazer reservas com menos de 2 dias de antecedencia contacte por favor a linha de apoio ao cliente 707 200 150");
		document.getElementsByName('dias_Aviao2_AH_mes_Aviao2_AH_Yano2_AH').item(0).focus();		
		return false;
	}	

    if (!GetTestNights(dateOut, dateIn))
    {
    	alert("A data de partida é posterior a data de chegada.");
		document.getElementsByName('dias_Aviao_AH_mes_Aviao_AH_Yano_AH').item(0).focus();		
		return false;        
    }

    if (document.getElementById('txtAirEngineDepartureCity').value != "")
    {
	    if (document.getElementById('txtAirEngineArrivalCity').value == "")
	    {	
		    alert("Tem que inserir uma cidade de chegada.");
		    document.getElementById('txtAirEngineArrivalCity').focus();
		    return false;
	    }
    }
    else 
    {	
	    alert("Tem que inserir uma cidade de partida.");
	    document.getElementById('txtAirEngineDepartureCity').focus();
	    return false;
    }
    
    if(DatesEqual(document.getElementById('dias_Aviao_AH_mes_Aviao_AH_Yano_AH').value, document.getElementById('dias_Aviao2_AH_mes_Aviao2_AH_Yano2_AH').value))
    {
        alert("A data de chegada nao pode ser igual a data de partida.");
        document.getElementsByName('dias_Aviao2_AH_mes_Aviao2_AH_Yano2_AH').item(0).focus();
        return false;
    }
	
	return true;    
}

function SubmitAirHotelEngine()
{
    if (ValidateAirHotelEngine())
    {        
        var objForm = document.forms[1];

        objForm.vaction.value = "/AirHotel/AirHotelSearchResults.aspx";
        
        if (document.getElementById("__VIEWSTATE") != null)
            document.getElementById("__VIEWSTATE").value = "";        

        objForm.action = "/Loading.aspx";
        objForm.submit();
    }            
}

function SubmitAirHotelDetailEngine()
{
    if (ValidateAirHotelEngine())
    {        
        var objForm = document.getElementById("aspnetForm");

        objForm.vaction.value = "/AirHotel/AirHotelSearchResults.aspx";
        
        if (document.getElementById("__VIEWSTATE") != null)
            document.getElementById("__VIEWSTATE").value = "";        

        objForm.action = "/Loading.aspx";
        objForm.submit();
    }            
}

function SubmitAirHotelEngineHomepage()
{
    if (ValidateAirHotelEngine())
    {        
        var objForm = document.forms[1];

        objForm.vaction.value = "/AirHotel/AirHotelSearchResults.aspx";
        
        if (document.getElementById("__VIEWSTATE") != null)
            document.getElementById("__VIEWSTATE").value = "";        

        objForm.action = "/Loading.aspx";
        objForm.submit();
    }            
}


/* -----------------------------------
    Functions - Weekends Engine 
-------------------------------------- */

function ValidateWeekendsEngine()
{
	return true;    
}

function SubmitWeekendsEngine()
{
    if (ValidateWeekendsEngine())
    {        
        var objForm = document.forms[1];

        objForm.vaction.value = "/Weekends/WeekendsResults.aspx";
        if (document.getElementById("__VIEWSTATE") != null)
            document.getElementById("__VIEWSTATE").value = "";        

        objForm.action = "/Loading.aspx";
        objForm.submit();
    }            
}

/* -----------------------------------
    Functions - Vacations Engine 
-------------------------------------- */
function ValidateVacationsEngine()
{
	return true;    
}

function SubmitVacationsEngine()
{
    if (ValidateVacationsEngine())
    {        
        var objForm = document.forms[1];

        objForm.vaction.value = "/Vacations/VacationsResults.aspx";
        
        if (document.getElementById("__VIEWSTATE") != null)
            document.getElementById("__VIEWSTATE").value = "";        

        objForm.action = "/Loading.aspx";
        objForm.submit();
    }            
}

function SubmitHotelResults()
{
				
	var objForm = document.getElementById("aspnetForm");
    objForm.vaction.value = "/Hotel/HotelSearchResults.aspx";
        
    if (document.getElementById("__VIEWSTATE") != null)
            document.getElementById("__VIEWSTATE").value = ""; 
          
          document.getElementById("txtHotelEngineHotelName").value = "";  
          document.getElementById("txtHotelEngineHotelCRS").value = "";
          document.getElementById("txtHotelEngineHotelProviderId").value = "";
          document.getElementById("txtHotelEngineHotelAgreementId").value = "";
          
   objForm.action = "/Loading.aspx";
   objForm.submit();
				
}	
				
				
				
				
