var pointerInCalendar = true;
var calendarId = '';
var currentCalendar = null;
var cal1_parsed = null;
var cal2_parsed = null;




function SetCalendarId(id)
{
	calendarId = id;	
}

function SetParsedCalendars(cal1, cal2)
{	
	cal1_parsed = cal1;
	cal2_parsed = cal2;
}


function SetCurrentCalendar(cal)
{	
	currentCalendar = cal;	
}

function SetInCalendar(cal1, cal2)
{
	pointerInCalendar = true;
	pointerHasPassedFrontier(cal1, cal2);
}

function SetOutCalendar(cal1, cal2)
{
	pointerInCalendar = false;
	pointerHasPassedFrontier(cal1, cal2);
}

function pointerHasPassedFrontier(cal1, cal2)
{
	if (pointerInCalendar)
	{	
		
		
		document.getElementsByName(calendarId)[0].onblur = '';
		//document.getElementsByName('txt_deAviao')[0].value = document.getElementsByName('dias_Aviao_mes_Aviao_Yano')[0].onblur;
		
	}
	else
	{		//alert(cal1_parsed);
			//alert("SetDateFieldsCalendar("+ eval(cal1_parsed)+","+eval(cal2_parsed) +", 0)");
			document.getElementsByName(calendarId)[0].focus();
			//document.getElementsByName(calendarId)[0].onblur = function(){SetDateFieldsCalendar(eval(cal1_parsed),eval(cal2_parsed), 0);HideDiv(currentCalendar);};		
			
			document.getElementsByName(calendarId)[0].onblur = function(){HideDiv(currentCalendar);SetDateFieldsCalendar(cal1,cal2,0);};
			//document.getElementsByName('dias_Aviao_mes_Aviao_Yano')[0].onblur = function(){alert(0)};		
			//document.getElementsByName('dias_Aviao_mes_Aviao_Yano')[0].onclick='alert(0)';
			//alert(document.getElementsByName('dias_Aviao_mes_Aviao_Yano')[0].onblur);
			//document.getElementsByName('txt_deAviao')[0].value = document.getElementsByName(calendarId)[0].onblur;			
		
	}
}

function IsPointerInCalendar()
{
	return pointerInCalendar;
}

function ValidValue(value)
{
	return value != null && value != "" && value != "undefined";
}
function SetDefaultElems(objID)
{
	if (!objID.selectIndexOnly)
	{
		objID.defaultDay = objID.day;
		objID.defaultMonth = objID.month;
		objID.defaultYear = objID.year;
	}
}

function SetOpenerElems(objID)
{
	if (ValidValue(objID) && Number(objID.type) == 1)
	{
		window.opener.SetFormElem(objID.elemDay, objID.day);
		window.opener.SetFormElem(objID.elemMonth, Number(objID.month) + 1);
		window.opener.SetFormElem(objID.elemYear, objID.year);
		window.opener.SetFormElem(obj2ID.elemDay, obj2ID.day);
		window.opener.SetFormElem(obj2ID.elemMonth, Number(obj2ID.month) + 1);
		window.opener.SetFormElem(obj2ID.elemYear, obj2ID.year);
		window.close();
	}
}


function GetPageCoords(element)
{
     var coords = {x: 0, y: 0};
     while (element)
     {
       coords.x += element.offsetLeft;
       coords.y += element.offsetTop;
       element = element.offsetParent;
     }
     return coords;
}

function GetPageCoordsById(elementId)
{
	if (document.all)
	{
       return GetPageCoords(document.all[elementId]);
    }
    else if (document.getElementById)
    {
		return GetPageCoords(document.getElementById(elementId));
    }    
}


function ShowDiv(objID, refID)
{	
	//if (document.getElementById("ifrMotor")){
	//	ShowDivWithInc(objID, refID, -GetPageCoordsById("motorDiv").x, GetPageCoordsById("motorDiv").y);
	//}else{
		ShowDivWithInc(objID, refID, -1, 90);
	//}
}

function ShowDivWithInc(objID, refID, x, y)
{	
	if (ValidValue(objID.divID))
	{		
		document.getElementById(objID.divID).style.display = "block";
		document.getElementById(objID.divID).style.top = String(GetPageCoordsById(refID).y - y) + "px";
		document.getElementById(objID.divID).style.left = String(GetPageCoordsById(refID).x + x) + "px";

		for (var i = 0; i < objID.hideableElems.length; i++)
		{
			if (ValidValue(document.getElementById(objID.hideableElems[i])))
			{
				document.getElementById(objID.hideableElems[i]).style.visibility = "hidden";
			}
		}
		var browserType = String(navigator.appVersion);
		
		if(browserType.toLowerCase().indexOf("msie") > -1 && browserType.toLowerCase().indexOf("7.0") == -1)                
            HideControls(objID.divID);
	}
	
	
	
}

function HideDiv(objID)
{
	if (ValidValue(objID.divID))
	{	
	
		document.getElementById(objID.divID).style.display = "none";			
		
		for (var i = 0; i < objID.hideableElems.length; i++)
        {
			if (ValidValue(document.getElementById(objID.hideableElems[i])))
			{
				document.getElementById(objID.hideableElems[i]).style.visibility = "visible";
			}
        }
        var browserType = String(navigator.appVersion);
        if(browserType.toLowerCase().indexOf("msie") > -1 && browserType.toLowerCase().indexOf("7.0") == -1)                
            ShowControls(objID.divID);			
	}
}

function OpenWindow(windowLink, windowName, windowFeatures)
{	
	window.open(String(windowLink), String(windowName), String(windowFeatures));
}

function OpenWindowOffset(windowLink, windowName, windowFeatures)
{
	var x = window.event.clientX;
	var y = window.event.clientY - 20;
	var windowFeatures = windowFeatures + "; left=" + x + "; top=" + y;
	OpenWindow(windowLink, windowName, windowFeatures);
}

function GetWindowSize(idElem, incWidth, incHeight)
{
	var width = document.getElementById(idElem).offsetWidth + Number(incWidth);
	var height = document.getElementById(idElem).offsetHeight + Number(incHeight);
	
	resizeTo(width, height);		
}



// HTML Elems Functions 
function ValidFieldValue(value)
{
	return value != null && value != "undefined" && value != "";
}

function ValidFieldValueReplace(value, newValue)
{
	return ValidFieldValue(value) ? value : newValue;
}

function SetElemNewValue(elemObj, newValue)
{
	if (ValidFieldValue(elemObj))
		elemObj.value = newValue;
}

function SetDateFieldsCalendar_single(objID)
{
	
// não funcionava com um unico calendario - motor hotelaria netviagens - restevao - 10/08/2005
/*
	var today = new Date();
	
	var minDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());
	var date = new Date(document.getElementById(objID.elemYear).value, document.getElementById(objID.elemMonth).value - 1, document.getElementById(objID.elemDay).value, "23", "59", "59");
	
	if (date < minDate)
	{
		SetElemNewValue(document.getElementById(objID.elemYear), date.getFullYear() + 1);
		SetElemNewValue(document.getElementById(objID.elemMonth), date.getMonth() + 1);
		
		objID.year = date.getFullYear() + 1;
		objID.month = date.getMonth();
	}	
	else
	{	
		SetElemNewValue(document.getElementById(objID.elemYear), date.getFullYear());
		SetElemNewValue(document.getElementById(objID.elemMonth), date.getMonth() + 1);
		SetElemNewValue(document.getElementById(objID.elemDay), date.getDate());		
	
		objID.year = date.getFullYear();
		objID.month = date.getMonth();
		
	}

	SetNewDate(objID, document.getElementById(objID.elemDay).value);
*/

	
	var today = new Date();
	
	var minDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());
	var date = new Date(document.getElementById(objID.elemYear).value, document.getElementById(objID.elemMonth).value - 1, document.getElementById(objID.elemDay).value, "23", "59", "59");
	

	if (date < minDate)
	{
		SetElemNewValue(document.getElementById(objID.elemYear), date.getFullYear() + 1);
		SetElemNewValue(document.getElementById(objID.elemMonth), date.getMonth() + 1);
		
		objID.year = date.getFullYear() + 1;
		objID.month = date.getMonth();
	}
	else 
	{	
		SetElemNewValue(document.getElementById(objID.elemYear), date.getFullYear());
		SetElemNewValue(document.getElementById(objID.elemMonth), date.getMonth() + 1);
		SetElemNewValue(document.getElementById(objID.elemDay), date.getDate());		
	
		objID.year = date.getFullYear();
		objID.month = date.getMonth();
	}

	
	SetNewDate(objID, objID, document.getElementById(objID.elemDay).value);
}


function SetDateFieldsCalendarMYFirst(mes, ano, mes_ano, objID, obj2ID, control)
{	
	var aux = String(document.getElementsByName(mes_ano)[0].value);
	aux = aux.split(" ");

	document.getElementsByName(mes)[0].value = aux[0];
	document.getElementsByName(ano)[0].value = aux[1];

	SetDateFieldsCalendarFirst(objID, obj2ID, control);
}

function SetDateFieldsCalendarMY(mes, ano, mes_ano, objID, obj2ID, control)
{	
	var aux = String(document.getElementsByName(mes_ano)[0].value);
	aux = aux.split(" ");
	
	
	document.getElementsByName(mes)[0].value = aux[0];
	document.getElementsByName(ano)[0].value = aux[1];
	
	SetDateFieldsCalendar(objID, obj2ID, control);
}

function SetDateFieldsCalendar_singleMY(mes, ano, mes_ano, objID)
{	
	var aux = String(document.getElementsByName(mes_ano)[0].value);
	aux = aux.split(" ");
	
	document.getElementsByName(mes)[0].value = aux[0];
	document.getElementsByName(ano)[0].value = aux[1];

	SetDateFieldsCalendar_single(objID);
}

function SetDateFieldsCalendar(objID, obj2ID, control)
{
	var today = new Date();
	
	var minDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());
	var date = new Date(document.getElementById(objID.elemYear).value, document.getElementById(objID.elemMonth).value - 1, document.getElementById(objID.elemDay).value, "23", "59", "59");
	var date2 = new Date(document.getElementById(obj2ID.elemYear).value, document.getElementById(obj2ID.elemMonth).value - 1, document.getElementById(obj2ID.elemDay).value, "23", "59", "59");
	/*
	if (((control == 0) ? date : date2) < minDate)
	{
		//SetElemNewValue(document.getElementById(objID.elemYear), date.getFullYear());
		//SetElemNewValue(document.getElementById(objID.elemMonth), date.getMonth());
		//SetElemNewValue(document.getElementById(objID.elemMonth), date.getMonth() + 1);
		SetElemNewValue(document.getElementById(obj2ID.elemYear), date.getFullYear());
		SetElemNewValue(document.getElementById(obj2ID.elemMonth), date.getMonth() + 2);
		//SetElemNewValue(document.getElementById(obj2ID.elemMonth), date.getMonth() + 1);
		
		//objID.year = date.getFullYear();
		//objID.month = date.getMonth() + 1;
		obj2ID.year = objID.year;
		obj2ID.month = objID.month + 1;
		
		
	}
	*/
	
	if (date > date2)
	{			
		//alert(obj2ID.day +" < " + objID.day);
		if (currentCalendar.index == "2")
		{
			
			objID.month = obj2ID.month;
			objID.year = obj2ID.year;
			objID.day = obj2ID.day;
			SetNewObjDate(objID);
			
		}
		else
		{
			
			obj2ID.month = objID.month;
			obj2ID.year = objID.year;
			obj2ID.day = objID.day;
			SetNewObjDate(obj2ID);
		}
		
		
			
		
	}	
	else
	{	
		
		if (control == 0)
		{
			SetElemNewValue(document.getElementById(objID.elemYear), date.getFullYear());
			SetElemNewValue(document.getElementById(objID.elemMonth), date.getMonth() + 1);
			SetElemNewValue(document.getElementById(objID.elemDay), date.getDate());		
		
			objID.year = date.getFullYear();
			objID.month = date.getMonth();
			
			SetElemNewValue(document.getElementById(obj2ID.elemYear), date2.getFullYear());
			SetElemNewValue(document.getElementById(obj2ID.elemMonth), date2.getMonth() + 1)
			SetElemNewValue(document.getElementById(obj2ID.elemDay), date2.getDate());
			
			obj2ID.year = date2.getFullYear();
			obj2ID.month = date2.getMonth();
		}
		else
		{
			SetElemNewValue(document.getElementById(obj2ID.elemYear), date2.getFullYear());
			SetElemNewValue(document.getElementById(obj2ID.elemMonth), date2.getMonth() + 1)
			SetElemNewValue(document.getElementById(obj2ID.elemDay), date2.getDate());
			
			obj2ID.year = date2.getFullYear();
			obj2ID.month = date2.getMonth();
		}
		
		
	}
	
	SetNewDate(objID, obj2ID, document.getElementById(objID.elemDay).value);
	SetNewDate(obj2ID, objID, document.getElementById(obj2ID.elemDay).value);
	
}

function ParseDate(id, objID, obj2ID)
{
	var content = document.getElementsByName(id)[0].value;
	var today = new Date();	
	try
	{
		var date = content.split('/');
		// contem o 3 elementos
		//if (date.length==3)
		{
			
			// Todos os elementos são validos
			if (Number(date[0]) > 0 && Number(date[1]) > 0 && Number(date[1]) < 13 && Number(date[2]) > 0)
			{
				//var aux_date = new Date(Number(date[2]),Number(date[1]) - 1,Number(date[0]));								
				//alert(today.getDate());
				/*
				if (aux_date < today)
				{					
					SetCalendarToday(objID, obj2ID);				
				}
				else
				*/
				{
					objID.day = Number(date[0]);			
					Number(date[1]);
					objID.month = Number(date[1]) - 1;
					var aux_year = String(date[2]);
					
					if (aux_year.length == 2)
					{ // cliente inserir ano do tipo 06 em vez de 2006
						aux_year = "20" + aux_year;
					}
					
					objID.year = Number(aux_year);			
					SetNewObjDate(objID);				
					SetNewDateWithOutFullDate(objID, obj2ID, objID.day);
					SetNewDateWithOutFullDate(obj2ID, objID, obj2ID.day);
				}				
			}

		}
		
		
	
	}
	catch(e)
	{
		alert (e.message);		
	}
}

/*
function SetCalendarToday(objID, obj2ID)
{
	
	var today = new Date();
	
	if (currentCalendar.index == "1")
	{
		SetElemNewValue(document.getElementById(objID.elemYear), today.getFullYear());
		SetElemNewValue(document.getElementById(objID.elemMonth), today.getMonth() + 1);
		SetElemNewValue(document.getElementById(objID.elemDay), today.getDate());		

		SetNewDateWithOutFullDate(objID, obj2ID, today.getDate());
	}
	else
	{
		SetElemNewValue(document.getElementById(obj2ID.elemYear), today.getFullYear());
		SetElemNewValue(document.getElementById(obj2ID.elemMonth), today.getMonth() + 1);
		SetElemNewValue(document.getElementById(obj2ID.elemDay), today.getDate());		

		SetNewDateWithOutFullDate(obj2ID, objID, today.getDate());
	}
}
*/

function SetDateFieldsCalendarFirst(objID, obj2ID, control)
{
	var today = new Date();
	
	var minDate = new Date(today.getFullYear(), today.getMonth(), today.getDate());
	var date = new Date(document.getElementById(objID.elemYear).value, document.getElementById(objID.elemMonth).value - 1, document.getElementById(objID.elemDay).value, "23", "59", "59");
	var date2 = new Date(document.getElementById(obj2ID.elemYear).value, document.getElementById(obj2ID.elemMonth).value - 1, document.getElementById(obj2ID.elemDay).value, "23", "59", "59");
	
	if (((control == 0) ? date : date2) < minDate)
	{
	/*
		SetElemNewValue(document.getElementById(objID.elemYear), date.getFullYear() + 1);
		SetElemNewValue(document.getElementById(objID.elemMonth), date.getMonth());
		//SetElemNewValue(document.getElementById(objID.elemMonth), date.getMonth() + 1);
		SetElemNewValue(document.getElementById(obj2ID.elemYear), date.getFullYear() + 1);
		SetElemNewValue(document.getElementById(obj2ID.elemMonth), date.getMonth());
		//SetElemNewValue(document.getElementById(obj2ID.elemMonth), date.getMonth() + 1);
		
		objID.year = date.getFullYear() + 1;
		objID.month = date.getMonth();
		obj2ID.year = objID.year;
		obj2ID.month = objID.month;
	*/
		//SetElemNewValue(document.getElementById(objID.elemYear), date.getFullYear());
		//SetElemNewValue(document.getElementById(objID.elemMonth), date.getMonth());
		//SetElemNewValue(document.getElementById(objID.elemMonth), date.getMonth() + 1);
		SetElemNewValue(document.getElementById(objID.elemYear), date.getFullYear());
		SetElemNewValue(document.getElementById(objID.elemMonth), date.getMonth() + 2);
		SetElemNewValue(document.getElementById(obj2ID.elemYear), date.getFullYear());
		SetElemNewValue(document.getElementById(obj2ID.elemMonth), date.getMonth() + 2);
		SetElemNewValue(document.getElementById(obj2ID.elemDay), date.getDate());
		//SetElemNewValue(document.getElementById(obj2ID.elemMonth), date.getMonth() + 1);
		
		//objID.year = date.getFullYear();
		//objID.month = date.getMonth() + 1;
		objID.year = objID.year;
		objID.month = objID.month + 1;
		obj2ID.year = objID.year;
		obj2ID.month = objID.month;		
		obj2ID.day = objID.day;

	}
	else if (date > date2)
	{	
		//SetElemNewValue(document.getElementById(objID.elemDay), (control == 0) ? date.getDate() : date2.getDate());
		SetElemNewValue(document.getElementById(objID.elemMonth), (control == 0) ? date.getMonth() + 1 : date2.getMonth() + 1);
		SetElemNewValue(document.getElementById(objID.elemYear), (control == 0) ? date.getFullYear() : date2.getFullYear());
		SetElemNewValue(document.getElementById(obj2ID.elemDay), (control == 0) ? date.getDate() : date2.getDate());
		SetElemNewValue(document.getElementById(obj2ID.elemMonth), (control == 0) ? date.getMonth() + 1 : date2.getMonth() + 1);
		SetElemNewValue(document.getElementById(obj2ID.elemYear), (control == 0) ? date.getFullYear() : date2.getFullYear());
		
		objID.year = ((control == 0) ? date.getFullYear() : date2.getFullYear());
		objID.month = ((control == 0) ? date.getMonth() : date2.getMonth());
		obj2ID.year = objID.year;
		obj2ID.month = objID.month;

	}
	else
	{	
		if (control == 0)
		{
			SetElemNewValue(document.getElementById(objID.elemYear), date.getFullYear());
			SetElemNewValue(document.getElementById(objID.elemMonth), date.getMonth() + 1);
			SetElemNewValue(document.getElementById(objID.elemDay), date.getDate());		
		
			objID.year = date.getFullYear();
			objID.month = date.getMonth();
		}
		else
		{
			SetElemNewValue(document.getElementById(obj2ID.elemYear), date2.getFullYear());
			SetElemNewValue(document.getElementById(obj2ID.elemMonth), date2.getMonth() + 1)
			SetElemNewValue(document.getElementById(obj2ID.elemDay), date2.getDate());
			
			obj2ID.year = date2.getFullYear();
			obj2ID.month = date2.getMonth();
		}

	}
	
	SetNewDate(objID, obj2ID, document.getElementById(objID.elemDay).value);
	SetNewDate(obj2ID, objID, document.getElementById(obj2ID.elemDay).value);	
		

}


function chooseDestino(field, str)
{
	document.getElementsByName(field)[0].value = str;
	hideDivDestinos('horas1,horas2,dias_Aviao_AH,dias_Aviao2_AH,sel_singles_AH,sel_duplos_AH,sel_triplos_AH,sel_adultos_AH,sel_criancas_AH,sel_bebes_AH,sel_estrelas_AH,TipoPesquisa,sel_MenoresDe2Aviao,sel_MenoresDe11Aviao,dias_Aviao2,mes_Aviao2,YanoMes2,dias_Aviao,mes_Aviao,YanoMes,sel_MaioresDe11Aviao,sel_ClasseAviao','');
}

function hideDivDestinos(show, hide){

	if (document.getElementById("divDestinos") != null)
		document.getElementById("divDestinos").style.display = 'none';
	if (document.getElementById("divDestinosReturn") != null)
		document.getElementById("divDestinosReturn").style.display = 'none';
	if (document.getElementById("divCalendar1_AH") != null)
		document.getElementById("divCalendar1_AH").style.display = 'none';
	if (document.getElementById("divCalendar2_AH") != null)
		document.getElementById("divCalendar2_AH").style.display = 'none';
		if (document.getElementById("divCalendar1") != null)
		document.getElementById("divCalendar1").style.display = 'none';
	if (document.getElementById("divCalendar2") != null)
		document.getElementById("divCalendar2").style.display = 'none';
	
	if (""+show != ""){
		show = show.split(",");	
		var elem;
		if (show.length > 0){
			for (i=0; i < show.length; i++)
			{
				elem = show[i];
				if (document.getElementsByName(elem)[0] != null)
					document.getElementsByName(elem)[0].style.visibility = 'visible';
			}
		}
	}
	
	if (""+hide != ""){
		hide = hide.split(",");	
		var elem;
		if (hide.length > 0){
			for (i=0; i < hide.length; i++){
				elem = hide[i];
				if (document.getElementsByName(elem)[0] != null)
					document.getElementsByName(elem)[0].style.visibility = 'hidden';
			}
		}
	}
}

function MyShowDiv(showDiv, hideDiv, ref, show, hide, xVal, yVal)
{

	document.getElementById(showDiv).style.top = GetPageCoordsById(ref).y - yVal;
	document.getElementById(showDiv).style.left = GetPageCoordsById(ref).x + xVal;	
	document.getElementById(showDiv).style.display = 'block';
	document.getElementById(hideDiv).style.display = 'none';
	
	if (document.getElementById("divCalendar1_AH") != null)
		document.getElementById("divCalendar1_AH").style.display = 'none';
	if (document.getElementById("divCalendar2_AH") != null)
		document.getElementById("divCalendar2_AH").style.display = 'none';
		
	if (document.getElementById("divCalendar1") != null)
		document.getElementById("divCalendar1").style.display = 'none';
	if (document.getElementById("divCalendar2") != null)
		document.getElementById("divCalendar2").style.display = 'none';
	
	if (""+show != ""){
		show = show.split(",");	
		var elem;
		if (show.length > 0){
			for (i=0; i < show.length; i++){
				elem = show[i];
				if (document.getElementsByName(elem)[0] != null)
					document.getElementsByName(elem)[0].style.visibility = 'visible';
			}
		}
	}
	
	if (""+hide != ""){
		hide = hide.split(",");	
		var elem;
		if (hide.length > 0){
			for (i=0; i < hide.length; i++){
				elem = hide[i];
				if (document.getElementsByName(elem)[0] != null)
					document.getElementsByName(elem)[0].style.visibility = 'hidden';
			}
		}
	}
}


function MyShowDivHotel(showDiv, ref, show, hide, xVal, yVal)
{
	
	document.getElementById(showDiv).style.top = GetPageCoordsById(ref).y - yVal;
	document.getElementById(showDiv).style.left = GetPageCoordsById(ref).x + xVal;	
	document.getElementById(showDiv).style.display = 'block';
	
	
	if (document.getElementById("divCalendar1_AH") != null)
		document.getElementById("divCalendar1_AH").style.display = 'none';
	if (document.getElementById("divCalendar2_AH") != null)
		document.getElementById("divCalendar2_AH").style.display = 'none';
		
	if (document.getElementById("divCalendar1") != null)
		document.getElementById("divCalendar1").style.display = 'none';
	if (document.getElementById("divCalendar2") != null)
		document.getElementById("divCalendar2").style.display = 'none';
	
	if (""+show != ""){
		show = show.split(",");	
		var elem;
		if (show.length > 0){
			for (i=0; i < show.length; i++){
				elem = show[i];
				if (document.getElementsByName(elem)[0] != null)
					document.getElementsByName(elem)[0].style.display = 'block';
			}
		}
	}
	
	if (""+hide != ""){
		hide = hide.split(",");	
		var elem;
		if (hide.length > 0){
			for (i=0; i < hide.length; i++){
				elem = hide[i];
				if (document.getElementsByName(elem)[0] != null)
					document.getElementsByName(elem)[0].style.display = 'none';
			}
		}
	}
}


function chooseDestinoHotel(field, str)
{
	document.getElementsByName(field)[0].value = str;
	hideDivDestinosHotel('DivmtrRooms,Nights,mtrRooms,mtrRooms1,mtrRooms2,mtrRooms3,estrelas','');
}

function hideDivDestinosHotel(show, hide)
{
	
	if (document.getElementById("divDestinosHotel") != null)
		document.getElementById("divDestinosHotel").style.display = 'none';
	if (document.getElementById("divCalendar1_AH") != null)
		document.getElementById("divCalendar1_AH").style.display = 'none';
	if (document.getElementById("divCalendar1") != null)
		document.getElementById("divCalendar1").style.display = 'none';
	
	if (""+show != ""){
		show = show.split(",");	
		var elem;
		if (show.length > 0){
			for (i=0; i < show.length; i++)
			{
				elem = show[i];
				if (document.getElementsByName(elem)[0] != null)
					document.getElementsByName(elem)[0].style.display = 'block';
			}
		}
	}
	
	if (""+hide != ""){
		hide = hide.split(",");	
		var elem;
		if (hide.length > 0){
			for (i=0; i < hide.length; i++){
				elem = hide[i];
				if (document.getElementsByName(elem)[0] != null)
					document.getElementsByName(elem)[0].style.display = 'block';
			}
		}
	}
}

var hiddenControls;
function HideControls(aDiv){    
	this.hiddenControls = new Array();

	var aboveElement = document.getElementById(aDiv);

	var arrElements = document.getElementsByTagName('SELECT');

	for (var myIndex = 0; myIndex < arrElements.length; myIndex++) {
		var myElement = arrElements[myIndex];

		var elementInside = isInside(aboveElement, myElement);

		if (elementInside) {					
			myElement.style.visibility = 'hidden';
			hiddenControls[hiddenControls.length] = myElement;
		}
	}
}

function ShowControls() {
	if (this.hiddenControls != null) {
		for (var myIndex = 0; myIndex < this.hiddenControls.length; myIndex++) {
			var myElement = this.hiddenControls[myIndex];

			myElement.style.visibility = 'visible';
		}

		this.hiddenControls = null;
	}
}

function findPosX(obj) {
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}
			
function isInside(containerElement, element) {
	var returnValue = false;

	var width = element.offsetWidth;
	var height = element.offsetHeight;

	var elementX1 = findPosX(element);
	var elementY1 = findPosY(element);

	var elementX2 = elementX1 + width;
	var elementY2 = elementY1;

	var elementX3 = elementX1;
	var elementY3 = elementY1 + height;

	var elementX4 = elementX1 + width;
	var elementY4 = elementY1 + height;

	if (!returnValue)
		returnValue = returnValue || isInsideArea(containerElement, elementX1, elementY1);

	if (!returnValue)
		returnValue = returnValue || isInsideArea(containerElement, elementX2, elementY2);

	if (!returnValue)
		returnValue = returnValue || isInsideArea(containerElement, elementX3, elementY3);

	if (!returnValue)
		returnValue = returnValue || isInsideArea(containerElement, elementX4, elementY4);

	if (!returnValue)
		returnValue = returnValue || intersectLines(containerElement, elementX1, elementY1, elementX2, elementY2);

	if (!returnValue)
		returnValue = returnValue || intersectLines(containerElement, elementX2, elementY2, elementX4, elementY4);

	if (!returnValue)
		returnValue = returnValue || intersectLines(containerElement, elementX4, elementY4, elementX3, elementY3);

	if (!returnValue)
		returnValue = returnValue || intersectLines(containerElement, elementX3, elementY3, elementX1, elementY1);

	return returnValue;
}

function isInsideArea(containerElement, myX, myY) {
	var returnValue = false;

	var width = containerElement.offsetWidth;
	var height = containerElement.offsetHeight;

	var containerX1 = findPosX(containerElement);
	var containerY1 = findPosY(containerElement);
	
	var containerX2 = containerX1 + width;
	var containerY2 = containerY1;

	var containerX3 = containerX1;
	var containerY3 = containerY1 + height;

	var containerX4 = containerX1 + width;
	var containerY4 = containerY1 + height;

	if ((containerX1 <= myX) && (containerX2 >= myX)) { // Está dentro do eixo X
		if ( (containerY1 <= myY) && (containerY3 >= myY) ) { // Está dentro do eixo Y
			returnValue = true;
		}
	}

	return returnValue;
}

function intersectLines(containerElement, lineX1, lineY1, LineX2, LineY2) {
	var returnValue = false;

	var containerWidth = containerElement.offsetWidth;
	var containerHeight = containerElement.offsetHeight;

	var containerX1 = findPosX(containerElement);
	var containerY1 = findPosY(containerElement);
	
	var containerX2 = containerX1 + containerWidth;
	var containerY2 = containerY1;

	var containerX3 = containerX1;
	var containerY3 = containerY1 + containerHeight;

	var containerX4 = containerX1 + containerWidth;
	var containerY4 = containerY1 + containerHeight;

	if (!returnValue) // Recta de X1 para X2
		returnValue = returnValue || intersect(containerX1, containerY1, containerX2, containerY2, lineX1, lineY1, LineX2, LineY2);

	if (!returnValue) // Recta de X2 para X4
		returnValue = returnValue || intersect(containerX2, containerY2, containerX4, containerY4, lineX1, lineY1, LineX2, LineY2);

	if (!returnValue) // Recta de X4 para X3
		returnValue = returnValue || intersect(containerX4, containerY4, containerX3, containerY3, lineX1, lineY1, LineX2, LineY2);

	if (!returnValue) // Recta de X3 para X1
		returnValue = returnValue || intersect(containerX3, containerY3, containerX1, containerY1, lineX1, lineY1, LineX2, LineY2);

	return returnValue;
}

function intersect(line1X1, line1Y1, line1X2, line1Y2, line2X1, line2Y1, line2X2, line2Y2) {
	var returnValue = false;

	if ( (line1X1 <= line2X1) && (line2X1 <= line1X2) ) {
		if ( (line2Y1 <= line1Y1) && (line1Y1 <= line2Y2) ) {
			returnValue = true;
		}
	}

	return returnValue;
}
			
function getElementHeight(Elem) {
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.clip.height;
	} else {
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (op5) { 
			xPos = elem.style.pixelHeight;
		} else {
			xPos = elem.offsetHeight;
		}
		return xPos;
	} 
}
			
function getElementWidth(Elem) {
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.clip.width;
	} else {
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (op5) {
			xPos = elem.style.pixelWidth;
		} else {
			xPos = elem.offsetWidth;
		}
		return xPos;
	}
}
			
function getObjNN4(obj,name)
{
	var x = obj.layers;
	var foundLayer;
	for (var i=0;i<x.length;i++)
	{
		if (x[i].id == name)
			foundLayer = x[i];
		else if (x[i].layers.length)
			var tmp = getObjNN4(x[i],name);
		if (tmp) foundLayer = tmp;
	}
	return foundLayer;
}

