		
		url_cal = ""; 
		var defaultDayDiff = 2;
		url_cal = "";
	
		var hotel_alert1, hotel_alert2, hotel_alert3, hotel_alert4;
		
		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 GetNewDate(day, month, year)
		{
			month --;			
			return new Date(year, month, day);
		}
		
			
		function GetDaysInMonth(month)
		{
			var minDaysInMonth = 30;
			var maxDaysInMonth = 31;
									
			if (month < 8)
				return (minDaysInMonth + (month % 2));
			return (maxDaysInMonth - (month % 2));
		}

		function TestIfRegularYear(year)
		{	
			return !(((year % 4) == 0 && (year % 100) != 0) || (year % 400) == 0);
		}
		
		function CheckDate(day, month, year)
		{
			if (!CheckDateAux(day, month, year))
			{
				alert(hotel_alert1);
				return false;
			}
			
			if(!RegularReservationDate(day, month, year))
			{
				alert("Pesquise com pelo menos 2 dias da data de hoje");
				return false;
			}
			
			return true;
		}
		
		function CheckDateAux(day, month, year) // determina se a data é ou não válida
		{
			var control = (TestIfRegularYear(year) ? 28 : 29);
									
			if (month == 2)
				return (day <= control);
			return (day <= GetDaysInMonth(month));
		}
		
		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 ValidSearchDate(dateComp, dateToday)
		{
			return dateComp >= dateToday;
		}
								
	
		function check_ok_hotelaria()
		{
			var ok = true;
		
			var start = document.getElementsByName('BegDay_BegMonth_BegYear')[0].value;
			var end = document.getElementsByName('EndDay_EndMonth_EndYear')[0].value;
			
			if (!CheckIndependentDate(start.split('/')[0], start.split('/')[1], start.split('/')[2]))
			{
				alert(unescape("Data%20de%20chegada%20n%E3o%20%E9%20v%E1lida."));
				return false;
			}
			
			if (!CheckIndependentDate(end.split('/')[0], end.split('/')[1], end.split('/')[2]))
			{
				alert(unescape("Data%20de%20chegada%20n%E3o%20%E9%20v%E1lida."))		
				return false;
			}
			
			
			if(document.getElementById('mtrRooms1_Children').value >= 1)
			{
				var mtrRooms1_ChildrenAge1 = document.getElementById('mtrRooms1_ChildrenAge1').value;
				
				if(mtrRooms1_ChildrenAge1 == '-')
				{
					alert("Insira a idade da criança");
					return false
				}
				if(document.getElementById('mtrRooms1_Children').value == 2)
					if(document.getElementById('mtrRooms1_ChildrenAge2').value == '-')
					{
						alert("Insira a idade da criança");
						return false
					}
					
			}
			if(document.getElementById('mtrRooms2_Children').value >= 1)
			{
				
				if(document.getElementById('mtrRooms2_ChildrenAge1').value == '-')
				{
					alert("Insira a idade da criança");
					return false
				}
				if(document.getElementById('mtrRooms2_Children').value == 2)
					if(document.getElementById('mtrRooms2_ChildrenAge2').value == '-')
					{
						alert("Insira a idade da criança");
						return false
					}
					
			}
			if(document.getElementById('mtrRooms3_Children').value >= 1)
			{
				if(document.getElementById('mtrRooms3_ChildrenAge1').value == '-')
				{
					alert("Insira a idade da criança");
					return false
				}
				if(document.getElementById('mtrRooms3_Children').value == 2)
					if(document.getElementById('mtrRooms3_ChildrenAge2').value == '-')
					{
						alert("Insira a idade da criança");
						return false
					}
					
			}
			
			
			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))
			{
				
				return false;
			}
			
			if (!CheckDate(document.getElementsByName('EndDay').item(0).value, document.getElementsByName('EndMonth').item(0).value, document.getElementsByName('EndYear').item(0).value))
			{
				
				return false;
			}
			
			
			if(dateOut-dateIn <= 0)
			{
				alert(hotel_alert4);
				//document.getElementsByName('EndDay')[0].focus();
				return false;
			}
		
			if (document.getElementsByName('CITY')[0].value == "")
			{
				alert(hotel_alert3);
				document.getElementsByName('CITY')[0].focus();
				return false;
			}
			
			return true;
		}		
		
		function CheckIndependentDate(day, month, year)
		{
			if (!CheckDate(day, month, year))
			{			
				return false;
			}
			return true;
		}
	
		function check_ok_hotelaria_avancada()
		{	
			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);
		
			var start = document.getElementsByName('BegDay_BegMonth_BegYear')[0].value;
			var end = document.getElementsByName('EndDay_EndMonth_EndYear')[0].value;
			
			if (!CheckIndependentDate(start.split('/')[0], start.split('/')[1], start.split('/')[2]))
			{
					
				return false;
			}
			
			if (!CheckIndependentDate(end.split('/')[0], end.split('/')[1], end.split('/')[2]))
			{
						
				return false;
			}
			
			
			if (document.getElementsByName('CITY')[0].value == "")
			{
				alert(hotel_alert3);
				document.getElementsByName('CITY')[0].focus();
				return false;
			}
			
			if(document.getElementById('mtrRooms1_Children').value >= 1)
			{
				var mtrRooms1_ChildrenAge1 = document.getElementById('mtrRooms1_ChildrenAge1').value;
				
				if(mtrRooms1_ChildrenAge1 == '-')
				{	
					
					alert("Insira a idade da criança");
					return false
				}
				if(document.getElementById('mtrRooms1_Children').value == 2)
					if(document.getElementById('mtrRooms1_ChildrenAge2').value == '-')
					{
						alert("Insira a idade da criança");
						return false
					}
					
			}
			if(document.getElementById('mtrRooms2_Children').value >= 1)
			{
				
				if(document.getElementById('mtrRooms2_ChildrenAge1').value == '-')
				{
					alert("Insira a idade da criança");
					return false
				}
				if(document.getElementById('mtrRooms2_Children').value == 2)
					if(document.getElementById('mtrRooms2_ChildrenAge2').value == '-')
					{
						alert("Insira a idade da criança");
						return false
					}
					
			}
			if(document.getElementById('mtrRooms3_Children').value >= 1)
			{
				if(document.getElementById('mtrRooms3_ChildrenAge1').value == '-')
				{
					alert("Insira a idade da criança");
					return false
				}
				if(document.getElementById('mtrRooms3_Children').value == 2)
					if(document.getElementById('mtrRooms3_ChildrenAge2').value == '-')
					{
						alert("Insira a idade da criança");
						return false
					}
					
			}
			
			
			
			if(dateOut-dateIn <= 0)
			{
				alert(hotel_alert4);
				//document.getElementsByName('EndDay')[0].focus();
				return false;
			}
			
			return true;
		}		
					
		function Pesquisa()
		{
		
			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;			
			if (check_ok_hotelaria())
			{	
				document.formHotelaria.action = "/loading.aspx?vAction=Hotel/hotel_pesquisa.aspx";
				document.formHotelaria.target = "_top";
				document.formHotelaria.submit();
			}	
		}	
		
		function PesquisaAvancada()
		{
			
			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;

			if (check_ok_hotelaria_avancada())
			{	
				document.formHotelaria.action = "/loading.aspx?vAction=Hotel/hotel_pesquisa.aspx";
				document.formHotelaria.target = "_top";
				document.formHotelaria.submit();
			}	
		}	
		
		
		function GetNights()
		{
			try
			{
					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 = ((date2-date1) / 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;
			}catch(e){}
		}
		
		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); 
			date1.setDate(date1.getDate() + Number(nights))			


			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 goToHotelHomepage(val)
	{
		if (val > 1)
		{
			document.getElementsByName("formHotelaria")[0].action = "/Hotel/hotel.aspx";
			document.getElementsByName("formHotelaria")[0].target = "_self";
			document.getElementsByName("formHotelaria")[0].submit();
		}
	}
	
	function goToHotelHomepageMoto()
	{
		document.getElementsByName("formHotelaria")[0].action = "/Hotel/hotel.aspx";
		document.getElementsByName("formHotelaria")[0].target = "_self";
		document.getElementsByName("formHotelaria")[0].submit();
	}
	
	
	function toogleExtraFields()
	{
		var obj = document.getElementById('extraFields');
		if(obj.style.display == 'none')
			obj.style.display = 'block';
		else
			obj.style.display = 'none';
	}
	
	function changeRooms(nrRooms)
	{
		for(i = 1; i <=3; i++)
		{
			var objHeader = document.getElementById('roomHeader' + i);
			var objAd = document.getElementById('mtrRooms' + i + '_Adults');
			var objCh = document.getElementById('mtrRooms' + i + '_Children');
			
			if(i <= nrRooms)
			{
				objAd.style.display = 'block';
				objCh.style.display = 'block';
				objHeader.style.display = 'block';
			}
			else
			{
				objAd.style.display = 'none';
				objCh.style.display = 'none';
				objHeader.style.display = 'none';
				changeChildren(i, 0);
				objCh.selectedIndex = 0;
			}
		}
	}
	
	function changeChildren(nrRoom, nrChildren)
	{
		var showAgeHeader = false;
		var ageHeader = document.getElementById('ageHeader');
		
		for(j = 1; j <=2; j++)
		{
			var obj = document.getElementById('mtrRooms' + nrRoom + '_ChildrenAge' + j);
			
			if(j <= nrChildren)
				obj.style.display = 'block';
			else
				obj.style.display = 'none';
		}
	
		for(z = 1; z <= 3; z++)
		{
			var ch = document.getElementById('mtrRooms' + z + '_Children')
			if(ch.selectedIndex > 0)
				showAgeHeader = true;
		}
		
		if(showAgeHeader)
			ageHeader.style.display = 'block';
		else
			ageHeader.style.display = 'none';
	}