﻿/*
	Functions and Variables Shared by All Motors
*/
url_cal = ""; 
var defaultDayDiff = 2;

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;
}

	
/*
	Functions and Variables used by Motor Air
*/

var air_alert1, air_alert2, air_alert3, air_alert4, air_alert5;

function Setdatapartida()
{	
	var diaini = document.getElementsByName('dias_Aviao')[0].value
	var mesini = document.getElementsByName('mes_Aviao')[0].value
	var anoini = document.getElementsByName('Yano')[0].value
	var diafim = document.getElementsByName('dias_Aviao2')[0].value
	var mesfim = document.getElementsByName('mes_Aviao2')[0].value	
	var anofim = document.getElementsByName('Yano2')[0].value
	var data_partida = new Date(anoini,mesini-1,diaini);
	var data_fim = new Date(anofim,mesfim-1,diafim);
	var anon = Number(Number(anoini) + Number(1))
	
	if (data_partida > data_fim)
	{
		document.getElementsByName('Yano2')[0].value = anon
	}
}


function Setdatachegada()
{
	var diaini = document.getElementsByName('dias_Aviao')[0].value
	var mesini = document.getElementsByName('mes_Aviao')[0].value
	var anoini = document.getElementsByName('Yano')[0].value
	var diafim = document.getElementsByName('dias_Aviao2')[0].value
	var mesfim = document.getElementsByName('mes_Aviao2')[0].value	
	var anofim = document.getElementsByName('Yano2')[0].value
	var data_partida = new Date(anoini,mesini-1,diaini);
	var data_fim = new Date(anofim,mesfim-1,diafim);
	
	if (data_partida > data_fim)
	{
		document.getElementsByName('dias_Aviao2')[0].value = document.getElementsByName('dias_Aviao')[0].value
		document.getElementsByName('mes_Aviao2')[0].value  = document.getElementsByName('mes_Aviao')[0].value
		document.getElementsByName('Yano2')[0].value = document.getElementsByName('Yano')[0].value
	}
}


function TripTypeChange()
{
	if (document.getElementsByName("TripType")[0].checked)
	{
		document.getElementById("tr_returndate").style.visibility = "hidden";
		document.getElementById("tr_returnhour").style.visibility = "hidden";
	}
	else
	{
		document.getElementById("tr_returndate").style.visibility = "inherit";
		document.getElementById("tr_returnhour").style.visibility = "inherit";
	}
}


function GetNightsValue(dateOut, dateIn)
{
	var dayTime = 86400000; //Numero de milisegundos num dia
	return ((dateOut.valueOf() - dateIn.valueOf()) / dayTime);
}

	
function GetTestNights(dateOut, dateIn)
{
	var dayTime = 86400000; //Numero de milisegundos num dia
	var nights = GetNightsValue(dateOut, dateIn);
	
	if (nights >= 0)
		return true;
		
	alert(air_alert5);
	document.getElementsByName('dias_Aviao').item(0).focus();
	return false;
}


function ValidateMotorAir()
{
	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) || !GetTestNights(dateOut, dateIn))
	{
		alert(air_alert1);
		document.getElementsByName('dias_Aviao').item(0).focus();
		return false;
	}

	if (document.getElementsByName('txt_deAviao')[0].value != "")
	{
		if (document.getElementsByName('txt_paraAviao')[0].value == "")
		{	
			alert(air_alert3);
			document.getElementsByName('txt_paraAviao')[0].focus();
			return false;
		}
	}
	else 
	{	
		alert(air_alert2);
		document.getElementsByName('txt_deAviao')[0].focus();
		return false;
	}
	
	return true;	
}


function SubmitMotorAir()
{
	air_alert1 = document.getElementsByName("air_alert1")[0].value;
	air_alert2 = document.getElementsByName("air_alert2")[0].value;
	air_alert3 = document.getElementsByName("air_alert3")[0].value;
	air_alert4 = document.getElementsByName("air_alert4")[0].value;
	air_alert5 = document.getElementsByName("air_alert5")[0].value;

	if (ValidateMotorAir())
	{	
		document.getElementsByName('formBilhetes')[0].submit();
	}
}

function SubmitMotorRentacar()
{
	rentacar_alert1 = document.getElementsByName("rentacar_alert1")[0].value;
	rentacar_alert2 = document.getElementsByName("rentacar_alert2")[0].value;
	rentacar_alert3 = document.getElementsByName("rentacar_alert3")[0].value;
	rentacar_alert4 = document.getElementsByName("rentacar_alert4")[0].value;
	rentacar_alert6 = document.getElementsByName("rentacar_alert6")[0].value;
	rentacar_alert7 = document.getElementsByName("rentacar_alert7")[0].value;
	rentacar_alert8 = document.getElementsByName("rentacar_alert8")[0].value;

	if (ValidateMotorRentacar())
	{	
			//document.getElementsByName('formRentacar')[0].submit();
			alert("Submit ---> Alugar milhares de carros!!!");
	}
}

function ValidateMotorRentacar()
{ 
//Descomentar quando os selects tiverem values

/*	var dateIn = GetNewDate(document.getElementsByName('dia_1').item(0).value, document.getElementsByName('mes_1').item(0).value, document.getElementsByName('Yano').item(0).value);
	var dateOut = GetNewDate(document.getElementsByName('dia_2').item(0).value, document.getElementsByName('mes_2').item(0).value, document.getElementsByName('Yano2').item(0).value);
	
	alert("Passei o Var");
	if (!CheckDate(document.getElementsByName('dia_1').item(0).value, document.getElementsByName('mes_1').item(0).value, document.getElementsByName('Yano').item(0).value))
	{
		alert(rentacar_alert1);
		document.getElementsByName('dia_1').item(0).focus();
		return false;
	}

	if (document.getElementsByName('txt_dePais')[0].value != "")
	{
		alert(rentacar_alert2);
		document.getElementsByName('txt_dePais')[0].focus();
		return false;
	}
	
	if (document.getElementsByName('txt_dePickup')[0].value != "")
	{
		alert(rentacar_alert3);
		document.getElementsByName('txt_dePickup')[0].focus();
		return false;
	}
	
	if (document.getElementsByName('txt_Partidahora')[0].value != "")
	{
		alert(rentacar_alert7);
		document.getElementsByName('txt_Partidahora')[0].focus();
		return false;
	}
	
	if (document.getElementsByName('txt_Chegadahora')[0].value != "")
	{
		alert(rentacar_alert8);
		document.getElementsByName('txt_Chegadahora')[0].focus();
		return false;
	}
	
		
	if (document.getElementsByName('txt_deDropoff')[0].value != "")
	{
		alert(rentacar_alert4);
		document.getElementsByName('txt_deDropoff')[0].focus();
		return false;
	}
	
	if(dateOut-dateIn <= 0)
	{
		alert(hotel_alert6);
		document.getElementsByName('EndDay')[0].focus();
		return false;
	}
	*/
	return true;	
}


/*
	Functions and Variables used by Motor Hotel
*/

var hotel_alert1, hotel_alert2, hotel_alert3, hotel_alert4, hotel_alert5;

function newCity(nameform, formaction, target)
{
	document.getElementsByName(nameform)[0].action = formaction;
	document.getElementsByName(nameform)[0].target = target;
	document.getElementsByName(nameform)[0].submit();
	document.getElementById("motorDiv").innerHTML = "<table class=motor_search_text width=100% height=100% align=center vAlign=middle><tr><td align=center>Aguarde por favor...</td></tr></table>";
}

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);             
}


function displayRooms(val)
{	
    
	for(i=1; i<=3; i++)
	{
		var obj1 = document.getElementById("td_room" + i + "_1");
		var obj2 = document.getElementById("td_room" + i + "_2");
	        
		
		if (obj1 != null && obj2 != null)
		{
			if (i <= val)
			{
				obj1.style.visibility = "visible";
				obj2.style.visibility = "visible";
			}
			else
			{
				obj1.style.visibility = "hidden";
				obj2.style.visibility = "hidden";
			}
		}
	}
}

				
function ValidateMotorHotel()
{
	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(hotel_alert1);
		document.getElementsByName('BegDay').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(hotel_alert2);
		document.getElementsByName('EndDay').item(0).focus();
		return false;
	}
	
	if(dateOut-dateIn <= 0)
	{
		alert(hotel_alert5);
		document.getElementsByName('EndDay')[0].focus();
		return false;
	}
	
	if (document.getElementsByName('City')[0].value == "")
	{
		alert(hotel_alert4);
		document.getElementsByName('City')[0].focus();
		return false;
	}
	
	return true;
}		


function SubmitMotorHotel()
{
	hotel_alert1 = document.getElementsByName("hotel_alert1")[0].value;
	hotel_alert2 = document.getElementsByName("hotel_alert2")[0].value;
	hotel_alert3 = document.getElementsByName("hotel_alert3")[0].value;
	hotel_alert4 = document.getElementsByName("hotel_alert4")[0].value;
	hotel_alert5 = document.getElementsByName("hotel_alert5")[0].value;

	if (ValidateMotorHotel())
	{	
		document.getElementsByName("formHotelaria")[0].submit();	
	}
}

function SubmitMotorHotelDetail()
{
	hotel_alert1 = document.getElementsByName("hotel_alert1")[0].value;
	hotel_alert2 = document.getElementsByName("hotel_alert2")[0].value;
	hotel_alert3 = document.getElementsByName("hotel_alert3")[0].value;
	hotel_alert4 = document.getElementsByName("hotel_alert4")[0].value;
	hotel_alert5 = document.getElementsByName("hotel_alert5")[0].value;

	if (ValidateMotorHotel())
	{	
		document.getElementsByName("formHotelDetail")[0].submit();	
	}
}


/*
	Functions and Variables used by Motor Vacation
*/

function SetComboBoxTextValues()
{
	var i, idxSel;
	var arrCB = new Array("motor_ferias_continente", "motor_ferias_categoria", "motor_ferias_orcamento");

	for (i=0; i<arrCB.length; i++)
	{
		idxSel = document.getElementById(arrCB[i]).selectedIndex;
		document.getElementById(arrCB[i] + "_txt").value = document.getElementById(arrCB[i]).options[idxSel].text;
	}
}


function SubmitMotorVacation()
{
	SetComboBoxTextValues();
	document.getElementsByName('formVacation')[0].target = "_top";
	document.getElementsByName('formVacation')[0].submit();
}

