// JScript File

var sIdEngineContainer = "divEngineContainer";
var defaultDayDiff =  4;

function DrawEnginesLinks(sHighlightLink, sIdContainer)
{
    var returnVal = "";    
    var objEngineContainer = document.getElementById(sIdEngineContainer);
    
    if (objEngineContainer == null)
        return;
    
    switch(sHighlightLink)
    {
        case "AVIÃO":
            returnVal = '<table cellpadding="0" cellspacing="0" border="0" class="table_motormenu">';
	        returnVal += '<tr>';
		    returnVal += '<td class="cell_motorid">AVIÃO</td>';
		    returnVal += '<td class="cell_motormenu">';
		    returnVal += '<a href="javascript:void(0);" onclick="DrawEnginesLinks(\'AVIÃO + HOTEL\',\'' + sIdContainer + '\');" class="link_motor">AVIÃO + HOTEL</a>&nbsp;|&nbsp;';
		    returnVal += '<a href="javascript:void(0);" onclick="DrawEnginesLinks(\'HOTEL\',\'' + sIdContainer + '\');" class="link_motor">HOTEL</a>&nbsp;|&nbsp;';
		    returnVal += '<a href="javascript:void(0);" onclick="DrawEnginesLinks(\'RENT-A-CAR\',\'' + sIdContainer + '\');" class="link_motor">RENT-A-CAR</a>&nbsp;|&nbsp;';
		    returnVal += '<a href="javascript:void(0);" onclick="DrawEnginesLinks(\'FÉRIAS\',\'' + sIdContainer + '\');" class="link_motor">FÉRIAS</a></td>';
	        returnVal += '</tr>';
            returnVal += '</table>';
            objEngineContainer.innerHTML = '<table width="320" cellpadding="0" cellspacing="0" border="0"><tr><td height="194" valign="middle" align="center" class="cell_motormenu">Aguarde por favor...</td></tr></table>';
            __getData("$_Engines_AirEngine", sIdEngineContainer);
            break;
        case "AVIÃO + HOTEL":
            returnVal = '<table cellpadding="0" cellspacing="0" border="0" class="table_motormenu">';
	        returnVal += '<tr>';
		    returnVal += '<td class="cell_motorid">AVIÃO + HOTEL</td>';
		    returnVal += '<td class="cell_motormenu">';
		    returnVal += '<a href="javascript:void(0);" onclick="DrawEnginesLinks(\'AVIÃO\',\'' + sIdContainer + '\');" class="link_motor">AVIÃO</a>&nbsp;|&nbsp;';
		    returnVal += '<a href="javascript:void(0);" onclick="DrawEnginesLinks(\'HOTEL\',\'' + sIdContainer + '\');" class="link_motor">HOTEL</a>&nbsp;|&nbsp;';
		    returnVal += '<a href="javascript:void(0);" onclick="DrawEnginesLinks(\'RENT-A-CAR\',\'' + sIdContainer + '\');" class="link_motor">RENT-A-CAR</a>&nbsp;|&nbsp;';
		    returnVal += '<a href="javascript:void(0);" onclick="DrawEnginesLinks(\'FÉRIAS\',\'' + sIdContainer + '\');" class="link_motor">FÉRIAS</a></td>';
	        returnVal += '</tr>';
            returnVal += '</table>';
            objEngineContainer.innerHTML = '<table width="320" cellpadding="0" cellspacing="0" border="0"><tr><td height="194" valign="middle" align="center" class="cell_motormenu">Aguarde por favor...</td></tr></table>';
            __getData("$_Engines_AirHotelEngine", sIdEngineContainer);
            break;
        case "HOTEL":
            returnVal = '<table cellpadding="0" cellspacing="0" border="0" class="table_motormenu">';
	        returnVal += '<tr>';
		    returnVal += '<td class="cell_motorid">HOTEL</td>';
		    returnVal += '<td class="cell_motormenu">';
		    returnVal += '<a href="javascript:void(0);" onclick="DrawEnginesLinks(\'AVIÃO\',\'' + sIdContainer + '\');" class="link_motor">AVIÃO</a>&nbsp;|&nbsp;';
		    returnVal += '<a href="javascript:void(0);" onclick="DrawEnginesLinks(\'AVIÃO + HOTEL\',\'' + sIdContainer + '\');" class="link_motor">AVIÃO + HOTEL</a>&nbsp;|&nbsp;';		    
		    returnVal += '<a href="javascript:void(0);" onclick="DrawEnginesLinks(\'RENT-A-CAR\',\'' + sIdContainer + '\');" class="link_motor">RENT-A-CAR</a>&nbsp;|&nbsp;';
		    returnVal += '<a href="javascript:void(0);" onclick="DrawEnginesLinks(\'FÉRIAS\',\'' + sIdContainer + '\');" class="link_motor">FÉRIAS</a></td>';
	        returnVal += '</tr>';
            returnVal += '</table>';
            objEngineContainer.innerHTML = '<table width="320" cellpadding="0" cellspacing="0" border="0"><tr><td height="194" valign="middle" align="center" class="cell_motormenu">Aguarde por favor...</td></tr></table>';
            __getData("$_Engines_HotelEngine", sIdEngineContainer);
            break;
        case "RENT-A-CAR":
            returnVal = '<table cellpadding="0" cellspacing="0" border="0" class="table_motormenu">';
	        returnVal += '<tr>';
		    returnVal += '<td class="cell_motorid">RENT-A-CAR</td>';
		    returnVal += '<td class="cell_motormenu">';
		    returnVal += '<a href="javascript:void(0);" onclick="DrawEnginesLinks(\'AVIÃO\',\'' + sIdContainer + '\');" class="link_motor">AVIÃO</a>&nbsp;|&nbsp;';
		    returnVal += '<a href="javascript:void(0);" onclick="DrawEnginesLinks(\'AVIÃO + HOTEL\',\'' + sIdContainer + '\');" class="link_motor">AVIÃO + HOTEL</a>&nbsp;|&nbsp;';
		    returnVal += '<a href="javascript:void(0);" onclick="DrawEnginesLinks(\'HOTEL\',\'' + sIdContainer + '\');" class="link_motor">HOTEL</a>&nbsp;|&nbsp;';
		    returnVal += '<a href="javascript:void(0);" onclick="DrawEnginesLinks(\'FÉRIAS\',\'' + sIdContainer + '\');" class="link_motor">FÉRIAS</a></td>';		    
	        returnVal += '</tr>';
            returnVal += '</table>';
            objEngineContainer.innerHTML = '<table width="320" cellpadding="0" cellspacing="0" border="0"><tr><td height="194" valign="middle" align="center" class="cell_motormenu">Aguarde por favor...</td></tr></table>';
            __getData("$_Engines_CarEngine", sIdEngineContainer);
            break;
        case "FÉRIAS":
            returnVal = '<table cellpadding="0" cellspacing="0" border="0" class="table_motormenu">';
	        returnVal += '<tr>';
		    returnVal += '<td class="cell_motorid">FÉRIAS</td>';
		    returnVal += '<td class="cell_motormenu">';
		    returnVal += '<a href="javascript:void(0);" onclick="DrawEnginesLinks(\'AVIÃO\',\'' + sIdContainer + '\');" class="link_motor">AVIÃO</a>&nbsp;|&nbsp;';
		    returnVal += '<a href="javascript:void(0);" onclick="DrawEnginesLinks(\'AVIÃO + HOTEL\',\'' + sIdContainer + '\');" class="link_motor">AVIÃO + HOTEL</a>&nbsp;|&nbsp;';
		    returnVal += '<a href="javascript:void(0);" onclick="DrawEnginesLinks(\'HOTEL\',\'' + sIdContainer + '\');" class="link_motor">HOTEL</a>&nbsp;|&nbsp;';		    
		    returnVal += '<a href="javascript:void(0);" onclick="DrawEnginesLinks(\'RENT-A-CAR\',\'' + sIdContainer + '\');" class="link_motor">RENT-A-CAR</a></td>';
	        returnVal += '</tr>';
            returnVal += '</table>';
            objEngineContainer.innerHTML = '<table width="320" cellpadding="0" cellspacing="0" border="0"><tr><td height="194" valign="middle" align="center" class="cell_motormenu">Aguarde por favor...</td></tr></table>';
            __getData("$_Engines_VacationsEngine", sIdEngineContainer);
            break;
        default:
            break;
    }   
    
    var objContainer = document.getElementById(sIdContainer);
    
    if (objContainer != null)
        objContainer.innerHTML = returnVal;
}

function ShowDivFrequentDestinations(divId, divIdclose, fldInput, noDisplayElements, refID, x, y)
{
    var sElement;
	document.getElementById(divId).style.display = "block";
	
	if (divIdclose != "")
	    document.getElementById(divIdclose).style.display = "none";
	
	document.getElementById("fldTextDestination_" + divId).value = fldInput;
	
	document.getElementById(divId).style.display = "block";
	document.getElementById(divId).style.top = String(GetPageCoordsById(refID).y - y) + "px";
	document.getElementById(divId).style.left = String(GetPageCoordsById(refID).x + x) + "px";
	
			
	if (noDisplayElements != null && noDisplayElements != "")
	{
		noDisplayElements = String(noDisplayElements);
		noDisplayElements = noDisplayElements.split(",");
	
		if (noDisplayElements[0] != null && noDisplayElements[0] != "" && noDisplayElements[0] != "undefined")
		{
			for(var i = 0; i< noDisplayElements.length; i++)
			{
                sElement = noDisplayElements[i];
                sElement = sElement.replace(/^\s+|\s+$/g, '');			
			
				if (document.getElementById(sElement) != null)
				{
                    document.getElementById(sElement).style.visibility = "hidden";									
                }
				else
				{
					try
					{
						document.getElementsByName(sElement)[0].style.visibility = "hidden";									
					}
					catch(e)
					{}
				}
			}
		}
	}
}

function CloseDivFrequentDestinations(divId, displayElements)
{
    var sElement;
	document.getElementById(divId).style.display = "none";
	
	if (displayElements != null && displayElements != "")
	{
		displayElements = String(displayElements);
		displayElements = displayElements.split(",");
	
		if (displayElements[0] != null && displayElements[0] != "" && displayElements[0] != "undefined")
		{
			for(var i = 0; i< displayElements.length; i++)
			{
                sElement = displayElements[i];
                sElement = sElement.replace(/^\s+|\s+$/g, '');
                
				if (document.getElementById(sElement) != null)
				{
					document.getElementById(sElement).style.visibility = "visible";					
				}
				else
				{
					try
					{
					    document.getElementsByName(sElement)[0].style.display = "visible";									
					}
					catch(e)
					{}					
				}
			}
		}
	}
}

function ChooseFrequentDestination(fldInput, value)
{
    var sInputField;
    var arrInputFields = document.getElementById(fldInput).value.split(",");
	
    for(var i = 0; i < arrInputFields.length; i++)
    {
        sInputField = arrInputFields[i];
        sInputField = sInputField.replace(/^\s+|\s+$/g, '');
                
        if (document.getElementById(sInputField) != null)
        {
            document.getElementById(sInputField).value = value;
        }
    }
}


/* -----------------------------------
    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 = 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);

	document.getElementById('YanoMes2').options.selectedIndex = date1.getMonth() + 1;   

	//ChangeCalendar(0);
	SetDateFieldsCalendar(calendarDepartDIV_Hotel, calendarReturnDIV_Hotel, 1);
	document.getElementById('EndDay').options.selectedIndex = date1.getDate() - 1;
	SetDateFieldsCalendar(calendarDepartDIV_Hotel, calendarReturnDIV_Hotel, 1);             
}

/* -----------------------------------
    Functions -  Air Engine 
-------------------------------------- */
function ChangeAirEngineTripType()
{
	if (document.getElementById("engine_air_trip_type").checked)
	{
		document.getElementById("td_engine_air_arrival_date").style.visibility = "hidden";
		document.getElementById("td_engine_air_arrival_hours").style.visibility = "hidden";
		document.getElementById("engine_air_arrival_hours").style.visibility = "hidden";
	}
	else
	{
		document.getElementById("td_engine_air_arrival_date").style.visibility = "visible";
		document.getElementById("td_engine_air_arrival_hours").style.visibility = "visible";
		document.getElementById("engine_air_arrival_hours").style.visibility = "visible";
	}
}

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);
	
	//ida
	if (document.getElementById("engine_air_trip_type").checked)
	{
	    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 não é válida");
		    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 regresso não é válida");
		    document.getElementsByName('dias_Aviao2_mes_Aviao2_Yano2').item(0).focus();		
		    return false;
	    }*/	

        /*if (!GetTestNights(dateOut, dateIn))
        {
    	    alert("A data de partida é posterior à data de regresso");
		    document.getElementsByName('dias_Aviao_mes_Aviao_Yano').item(0).focus();		
		    return false;        
        }*/

	    if (document.getElementsByName('engine_air_departure_city')[0].value != "")
	    {
		    if (document.getElementsByName('engine_air_arrival_city')[0].value == "")
		    {	
			    alert("Introduza a cidade de destino");
			    document.getElementsByName('engine_air_arrival_city')[0].focus();
			    return false;
		    }
	    }
	    else 
	    {
		    alert("Introduza a cidade de partida");
		    document.getElementsByName('engine_air_departure_city')[0].focus();
		    return false;
	    }
    	
	    return true; 
	}
	
	//ida e volta
	else
	   
	{
	   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 não é válida");
		    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 regresso não é válida");
		    document.getElementsByName('dias_Aviao2_mes_Aviao2_Yano2').item(0).focus();		
		    return false;
	    }	

        if (!GetTestNights(dateOut, dateIn))
        {
    	    alert("A data de partida é posterior à data de regresso");
		    document.getElementsByName('dias_Aviao_mes_Aviao_Yano').item(0).focus();		
		    return false;        
        }

	    if (document.getElementsByName('engine_air_departure_city')[0].value != "")
	    {
		    if (document.getElementsByName('engine_air_arrival_city')[0].value == "")
		    {	
			    alert("Introduza a cidade de destino");
			    document.getElementsByName('engine_air_arrival_city')[0].focus();
			    return false;
		    }
	    }
	    else 
	    {	
		    alert("Introduza a cidade de partida");
		    document.getElementsByName('engine_air_departure_city')[0].focus();
		    return false;
	    }
    	
	    return true; 
	   
	   }   
}

/* -----------------------------------
    Functions -  AirHotel Engine 
-------------------------------------- */
function CheckIndependentDate(day, month, year)
{
	var dt = new Date(year+"/"+month+"/"+day);
	
	if (!CheckDateAux(day, month, year))
	{			
		return false;
	}
	return true;
}

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");
		document.getElementsByName('dias_Aviao_AH_mes_Aviao_AH_Yano_AH')[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 regresso não é válida");
		document.getElementsByName('dias_Aviao2_AH_mes_Aviao2_AH_Yano2_AH')[0].focus();		
		return false;
	}	

    if (!GetTestNights(dateOut, dateIn))
    {
    	alert("A data de partida é posterior à data de regresso");
		document.getElementsByName('dias_Aviao_AH_mes_Aviao_AH_Yano_AH')[0].focus();		
		return false;        
    }
    
	if (dateOut - dateIn <= 0)
	{
		alert("A data de regresso tem que ser posterior à data de partida");
		document.getElementsByName('dias_Aviao_AH_mes_Aviao_AH_Yano_AH')[0].focus();
		return false;
	}

	if (document.getElementsByName('engine_airhotel_departure_city')[0].value != "")
	{
		if (document.getElementsByName('engine_airhotel_arrival_city')[0].value == "")
		{	
			alert("Introduza a cidade de destino");
			document.getElementsByName('engine_airhotel_arrival_city')[0].focus();
			return false;
		}
	}
	else 
	{	
		alert("Introduza a cidade de partida");
		document.getElementsByName('engine_airhotel_departure_city')[0].focus();
		return false;
	}

	var singles = document.getElementById("engine_airhotel_singles").value;
	var doubles = document.getElementById("engine_airhotel_doubles").value;
	var triples = document.getElementById("engine_airhotel_triples").value;
	var adults = document.getElementById("engine_airhotel_adults").value;
	var children = document.getElementById("engine_airhotel_children").value;
	var infants = document.getElementById("engine_airhotel_infants").value;
	
    if (Number(singles) + Number(doubles)*2 + Number(triples)*3 != Number(adults) + Number(children) + Number(infants))
	{
		alert("Pesquisa impossivel. Verifique a coerência entre o tipo de alojamento e o número de pessoas");
		return false;
	}
	
	return true;
}

/* -----------------------------------
    Functions -  Hotel Engine 
-------------------------------------- */
function CheckEngineHotelLocation()
{
    if (document.getElementById("EngineHotelLocation") != null)
    {
        if (document.getElementById("EngineHotelLocation").value == "")
        {
            document.getElementById("divEngineHotelBlock2").innerHTML = document.getElementById("divEngineHotelCheckinCheckout").innerHTML;
            document.getElementById("divEngineHotelCheckinCheckout").innerHTML = "";
            document.getElementById("divEngineHotelName").innerHTML = "";
        }
        else
        {
            document.getElementById("divEngineHotelBlock1").innerHTML = document.getElementById("divEngineHotelCheckinCheckout").innerHTML;
            document.getElementById("divEngineHotelCheckinCheckout").innerHTML = "";
            document.getElementById("divEngineHotelBlock2").innerHTML = document.getElementById("divEngineHotelName").innerHTML;
            document.getElementById("divEngineHotelName").innerHTML = "";
        }
    }
}

function DisplayRooms(val)
{	
	for(var i=1; i<=3; i++)
	{
		obj = document.getElementById("div_engine_hotel_room" + i);
		
		if (obj != null)
		{
			if (i <= val)
				obj.style.visibility = "visible";
			else
				obj.style.visibility = "hidden";
		}
	}
}
				
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 Check-In não é válida.");
		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 Check-Out não é válida.");
		document.getElementsByName('EndDay_EndMonth_EndYear').item(0).focus();
		return false;
	}
	
	if (dateOut - dateIn <= 0)
	{
		alert("A data de Check-Out tem que ser posterior à data de Check-In.");
		document.getElementsByName('BegDay_BegMonth_BegYear').item(0).focus();
		return false;
	}
	
	if (document.getElementsByName('City')[0].value == "")
	{
		alert("Tem de preencher o destino.");
		document.getElementsByName('City')[0].focus();
		return false;
	}
	
	return true;
}		

/* -----------------------------------
    Functions -  Car Engine 
-------------------------------------- */
function UpdateArrivalPlace()
{   
    document.getElementById("engine_car_arrival_city").value = document.getElementById("engine_car_departure_city").value;
}

function UpdateDeparturePlace()
{   
    document.getElementById("engine_car_departure_city").value = document.getElementById("engine_car_arrival_city").value;
}

function ValidateCarEngine()
{
	var dateIn = GetNewDate(document.getElementsByName('selCalDays_Car').item(0).value, document.getElementsByName('selCalMonths_Car').item(0).value, document.getElementsByName('selCalYears_Car').item(0).value);
	var dateOut = GetNewDate(document.getElementsByName('selCal2Days_Car').item(0).value, document.getElementsByName('selCal2Months_Car').item(0).value, document.getElementsByName('selCal2Years_Car').item(0).value);
	
	if (!CheckDate(document.getElementsByName('selCalDays_Car').item(0).value, document.getElementsByName('selCalMonths_Car').item(0).value, document.getElementsByName('selCalYears_Car').item(0).value))
	{
		alert("A data de Levantamento não é válida");
		document.getElementsByName('selCalDays_Car_selCalMonths_Car_selCalYears_Car').item(0).focus();		
		return false;
	}
	
	if (!CheckDate(document.getElementsByName('selCal2Days_Car').item(0).value, document.getElementsByName('selCal2Months_Car').item(0).value, document.getElementsByName('selCal2Years_Car').item(0).value))
	{
		alert("A data de devolução não é válida");
		document.getElementsByName('selCal2Days_Car_selCal2Months_Car_selCal2Years_Car').item(0).focus();		
		return false;
	}	

    if (!GetTestNights(dateOut, dateIn))
    {
    	alert("A data de levantamento é posterior à data de devolução");
		document.getElementsByName('dias_Carro_mes_Carro_Yano').item(0).focus();		
		return false;        
    }

	if (document.getElementsByName('engine_car_departure_city')[0].value != "")
	{
		if (document.getElementsByName('engine_car_arrival_city')[0].value == "")
		{	
			alert("Introduza o local de devolução");
			document.getElementsByName('engine_car_arrival_city')[0].focus();
			return false;
		}
	}
	else 
	{	
		alert("Introduza o local de levantamento");
		document.getElementsByName('engine_car_departure_city')[0].focus();
		return false;
	}
	
	return true;    
}

/* -----------------------------------
    Functions -  Vacations Engine 
-------------------------------------- */
function BindVacationsEngine(sIdEngineForm)
{
    var objEngineForm = document.getElementById(sIdEngineForm);
    var objEngineContainer = document.getElementById(sIdEngineContainer);
    
    objEngineForm.action = "/AjaxPage/searchbox.aspx?mtr=vacations";
    objEngineForm.target = "ifrMotor";
    objEngineForm.submit();
    
    objEngineContainer.innerHTML = '<table width="320" cellpadding="0" cellspacing="0" border="0"><tr><td height="194px" valign="middle" align="center">Aguarde por favor...</td></tr></table>';
}

