//Verifica se o objecto Calendar existe
function ValidObj(objID)
{
	return objID != null && objID != "" && objID != "undefined";
}

function ValidObjReplace(objID, newValue)
{
	if (ValidObj(objID))
		return objID;
	return newValue;
}

//Retorna uma data construida a partir dos campos com os valores default(de data) do objecto Calendar
//incrementada ou decrementada com o calor de inc(em dias)
function GetObjProperDate(calendarObj, inc)
{
	return new Date(calendarObj.defaultYear, calendarObj.defaultMonth, Number(calendarObj.defaultDay) + Number(inc));
}

function GetDateWithRange(maxRange)
{
	var dateAux = new Date();
	
	return new Date(dateAux.getFullYear(), dateAux.getMonth(), Number(dateAux.getDate()) + Number(maxRange));
}


//Retorna uma data com os campos horas, minutos e segundos a zero
function CreateDateNoTime(calendarObj)
{
	var dateAux = new Date();
	return new Date(dateAux.getFullYear(), dateAux.getMonth(), dateAux.getDate());
}

function SetDefaultLowerLimit(obj, newValue)
{
	obj.lowerLimit = newValue;
}

function SetDefaultUpperLimit(obj, newValue)
{
	obj.upperLimit = newValue;
}

function SetDefaultLowerLimits(obj, obj2, newValue)
{
	SetDefaultLowerLimit(obj, newValue);
	SetDefaultLowerLimit(obj2, newValue);
}

function SetDefaultUpperLimits(obj, obj2, newValue)
{
	SetDefaultUpperLimit(obj, newValue);
	SetDefaultUpperLimit(obj2, newValue);
}

function ChangeDefaultLimits(objID, obj2ID, newValue, control)
{
	if (control == 0)
		SetDefaultLowerLimits(objID, obj2ID, newValue);
	else
		SetDefaultUpperLimits(objID, obj2ID, newValue);
	
	document.getElementById(objID.elem).innerHTML = DrawCalendar(objID, obj2ID);
	document.getElementById(obj2ID.elem).innerHTML = DrawCalendar(obj2ID, objID);
}

//Afecta os campos do objecto Calendar com uma nova data, assim como o elemento do form para o dia
//e volta a desenhar o calendário com o novo dia seleccionado	
function SetNewDate(objID, obj2ID, newDay)
{
	objID.day = newDay;
	
	switch(Number(objID.type))
	{
		case 1: // POPUP	
			SetProperObjDates(objID, obj2ID);
			SetOpenerElems(objID);
			break;
		
		case 2: // DIV
			SetDefaultElems(objID);
			SetFormElemValue(objID.elemDay, objID.day);
			SetProperObjDates(objID, obj2ID);
			document.getElementById(objID.elem).innerHTML = DrawCalendar(objID, ValidObjReplace(obj2ID, ""));
			HideDiv(objID);
			
			//Acertar a novo combo com os meses e ano juntos
			if ((document.getElementsByName("mes_Aviao").length > 0) && (document.getElementById("mtr").value == "air"))
			{
			    document.getElementsByName("YanoMes")[0].value = document.getElementsByName("Yano")[0].value + " " + document.getElementsByName("mes_Aviao")[0].value;
				document.getElementsByName("YanoMes2")[0].value = document.getElementsByName("Yano2")[0].value + " " + document.getElementsByName("mes_Aviao2")[0].value;
			}
			
			if ((document.getElementsByName("mes_Aviao_AH").length > 0) && (document.getElementById("mtr").value == "airhotel"))
			{			
    			document.getElementsByName("YanoMes")[0].value = document.getElementsByName("Yano_AH")[0].value + " " + document.getElementsByName("mes_Aviao_AH")[0].value;
				document.getElementsByName("YanoMes2")[0].value = document.getElementsByName("Yano2_AH")[0].value + " " + document.getElementsByName("mes_Aviao2_AH")[0].value;
			}
			
            if ((document.getElementsByName("BegMonth").length > 0) && (document.getElementById("mtr").value == "hotel"))
			{
                document.getElementsByName("YanoMes")[0].value = document.getElementsByName("BegYear")[0].value + " " + document.getElementsByName("BegMonth")[0].value;
				document.getElementsByName("YanoMes2")[0].value = document.getElementsByName("EndYear")[0].value + " " + document.getElementsByName("EndMonth")[0].value;
				GetNights();
			}
			
            if ((document.getElementsByName("selCalMonths_Car").length > 0) && (document.getElementById("mtr").value == "car"))
			{
                document.getElementsByName("YanoMes")[0].value = document.getElementsByName("selCalYears_Car")[0].value + " " + document.getElementsByName("selCalMonths_Car")[0].value;
				document.getElementsByName("YanoMes2")[0].value = document.getElementsByName("selCal2Years_Car")[0].value + " " + document.getElementsByName("selCal2Months_Car")[0].value;
			}			
			
			break;
			
		default:
			SetDefaultElems(objID);	
			SetFormElemValue(objID.elemDay, objID.day);	
			SetProperObjDates(objID, obj2ID);
			document.getElementById(objID.elem).innerHTML = DrawCalendar(objID, ValidObjReplace(obj2ID, ""));
			
			break;
	}
	
	SetFullDate(objID, obj2ID);
}

//Afecta os campos do objecto Calendar com uma nova data, assim como o elemento do form para o dia
//e volta a desenhar o calendário com o novo dia seleccionado	
function SetNewDate1(objID, obj2ID, newDay)
{	
    objID.day = newDay;
	
	switch(Number(objID.type))
	{
		case 1: // POPUP	
			SetProperObjDates(objID, obj2ID);
			SetOpenerElems(objID);
			break;
		
		case 2: // DIV
			SetDefaultElems(objID);
			SetFormElemValue(objID.elemDay, objID.day);
			SetFormElemValue(objID.elemMonth, objID.month + 1);
			SetFormElemValue(objID.elemYear, objID.year);
			
			SetProperObjDates(objID, obj2ID);
			document.getElementById(objID.elem).innerHTML = DrawCalendar(objID, ValidObjReplace(obj2ID, ""));			
			HideDiv(objID);

			//Acertar a novo combo com os meses e ano juntos
			if ((document.getElementsByName("mes_Aviao").length > 0) && (document.getElementById("mtr").value == "air"))
			{
			    document.getElementsByName("YanoMes")[0].value = document.getElementsByName("Yano")[0].value + " " + document.getElementsByName("mes_Aviao")[0].value;
				document.getElementsByName("YanoMes2")[0].value = document.getElementsByName("Yano2")[0].value + " " + document.getElementsByName("mes_Aviao2")[0].value;
			}
			
			if ((document.getElementsByName("mes_Aviao_AH").length > 0) && (document.getElementById("mtr").value == "airhotel"))
			{			
    			document.getElementsByName("YanoMes")[0].value = document.getElementsByName("Yano_AH")[0].value + " " + document.getElementsByName("mes_Aviao_AH")[0].value;
				document.getElementsByName("YanoMes2")[0].value = document.getElementsByName("Yano2_AH")[0].value + " " + document.getElementsByName("mes_Aviao2_AH")[0].value;
			}
			
            if ((document.getElementsByName("BegMonth").length > 0) && (document.getElementById("mtr").value == "hotel"))
			{
                document.getElementsByName("YanoMes")[0].value = document.getElementsByName("BegYear")[0].value + " " + document.getElementsByName("BegMonth")[0].value;
				document.getElementsByName("YanoMes2")[0].value = document.getElementsByName("EndYear")[0].value + " " + document.getElementsByName("EndMonth")[0].value;
				GetNights();
			}
			
            if ((document.getElementsByName("selCalMonths_Car").length > 0) && (document.getElementById("mtr").value == "car"))
			{
                document.getElementsByName("YanoMes")[0].value = document.getElementsByName("selCalYears_Car")[0].value + " " + document.getElementsByName("selCalMonths_Car")[0].value;
				document.getElementsByName("YanoMes2")[0].value = document.getElementsByName("selCal2Years_Car")[0].value + " " + document.getElementsByName("selCal2Months_Car")[0].value;
			}						
			
			break;
			
		default:
			SetDefaultElems(objID);	
			SetFormElemValue(objID.elemDay, objID.day);				
			SetFormElemValue(objID.elemMonth, objID.month + 1);
			SetFormElemValue(objID.elemYear, objID.year);

			SetProperObjDates(objID, obj2ID);
			document.getElementById(objID.elem).innerHTML = DrawCalendar(objID, ValidObjReplace(obj2ID, ""));
			
			break;
	}
	
	
	SetFullDate(objID,obj2ID);
		
	if (obj2ID.index == "2")	
		SetDateFieldsCalendar(objID, obj2ID, 0);
	else
		SetDateFieldsCalendar(obj2ID, objID, 0);
	
}


function SetNewDateWithOutFullDate(objID, obj2ID, newDay)
{
	objID.day = newDay;		
	
	switch(Number(objID.type))
	{
		case 1: // POPUP	
			SetProperObjDates(objID, obj2ID);
			SetOpenerElems(objID);
			break;
		
		case 2: // DIV
			SetDefaultElems(objID);
			SetFormElemValue(objID.elemDay, objID.day);
			SetProperObjDates(objID, obj2ID);
			document.getElementById(objID.elem).innerHTML = DrawCalendar(objID, ValidObjReplace(obj2ID, ""));
			//HideDiv(objID);
			
			//Acertar a novo combo com os meses e ano juntos
			if ((document.getElementsByName("mes_Aviao").length > 0) && (document.getElementById("mtr").value == "air"))
			{
			    document.getElementsByName("YanoMes")[0].value = document.getElementsByName("Yano")[0].value + " " + document.getElementsByName("mes_Aviao")[0].value;
				document.getElementsByName("YanoMes2")[0].value = document.getElementsByName("Yano2")[0].value + " " + document.getElementsByName("mes_Aviao2")[0].value;
			}
			
			if ((document.getElementsByName("mes_Aviao_AH").length > 0) && (document.getElementById("mtr").value == "airhotel"))
			{			
    			document.getElementsByName("YanoMes")[0].value = document.getElementsByName("Yano_AH")[0].value + " " + document.getElementsByName("mes_Aviao_AH")[0].value;
				document.getElementsByName("YanoMes2")[0].value = document.getElementsByName("Yano2_AH")[0].value + " " + document.getElementsByName("mes_Aviao2_AH")[0].value;
			}
			
            if ((document.getElementsByName("BegMonth").length > 0) && (document.getElementById("mtr").value == "hotel"))
			{
                document.getElementsByName("YanoMes")[0].value = document.getElementsByName("BegYear")[0].value + " " + document.getElementsByName("BegMonth")[0].value;
				document.getElementsByName("YanoMes2")[0].value = document.getElementsByName("EndYear")[0].value + " " + document.getElementsByName("EndMonth")[0].value;
				GetNights();
			}			
			
            if ((document.getElementsByName("selCalMonths_Car").length > 0) && (document.getElementById("mtr").value == "car"))
			{
                document.getElementsByName("YanoMes")[0].value = document.getElementsByName("selCalYears_Car")[0].value + " " + document.getElementsByName("selCalMonths_Car")[0].value;
				document.getElementsByName("YanoMes2")[0].value = document.getElementsByName("selCal2Years_Car")[0].value + " " + document.getElementsByName("selCal2Months_Car")[0].value;
			}			
			
			break;
			
		default:
			SetDefaultElems(objID);	
			SetFormElemValue(objID.elemDay, objID.day);	
			SetProperObjDates(objID, obj2ID);
			
			document.getElementById(objID.elem).innerHTML = DrawCalendar(objID, ValidObjReplace(obj2ID, ""));			
			
			break;
	}
				
}

function SetFullDate(objID, obj2ID)
{
	var content = ZeroBefore(document.getElementById(objID.elemDay).value) + "/" + ZeroBefore(document.getElementById(objID.elemMonth).value) + "/" + document.getElementById(objID.elemYear).value;
	var content2 = ZeroBefore(document.getElementById(obj2ID.elemDay).value) + "/" + ZeroBefore(document.getElementById(obj2ID.elemMonth).value) + "/" + document.getElementById(obj2ID.elemYear).value;
	
	document.getElementsByName(objID.elemDay + "_" + objID.elemMonth + "_" + objID.elemYear)[0].setAttribute('value',content);
	document.getElementsByName(obj2ID.elemDay + "_" + obj2ID.elemMonth + "_" + obj2ID.elemYear)[0].setAttribute('value',content2);
	if (currentCalendar != null)
	{
		document.getElementsByName(objID.elemDay + "_" + objID.elemMonth + "_" + objID.elemYear)[0].onblur = function(){HideDiv(currentCalendar);};		
		document.getElementsByName(obj2ID.elemDay + "_" + obj2ID.elemMonth + "_" + obj2ID.elemYear)[0].onblur = function(){HideDiv(currentCalendar);};		
	}
		
	
}

function ZeroBefore(num)
{
	if (Number(num) < 10)
		return "0" + num;
	else
		return num;
}

		
function SetNewObjDate(objID, obj2ID)
{	
	obj2ID.day = objID.day;
	obj2ID.month = objID.month;
	obj2ID.year = objID.year;				
	
	if (!obj2ID.selectIndexOnly)
	{
		obj2ID.defaultDay = objID.day;
		obj2ID.defaultMonth = objID.month;
		obj2ID.defaultYear = objID.year;
	}
		
	document.getElementById(obj2ID.elem).innerHTML = DrawCalendar(obj2ID, ValidObjReplace(objID, ""));
	SetFormElemValue(obj2ID.elemDay, obj2ID.day);
	SetFormElemValue(obj2ID.elemMonth, obj2ID.month + 1);
	SetFormElemValue(obj2ID.elemYear, obj2ID.year);	
}

function SetNewObjDate(objID)
{	

	SetFormElemValue(objID.elemDay, objID.day);
	SetFormElemValue(objID.elemMonth, objID.month + 1);
	SetFormElemValue(objID.elemYear, objID.year);
	
		document.getElementById(objID.elem).innerHTML = DrawCalendar(objID, ValidObjReplace(objID, ""));
}		
		
function GetControlIndex(ind1, ind2)
{
	if (ind1 > ind2)
		return 1;
	if (ind1 == ind2)
		return -1;
	return 0;
}
		
function SetProperObjDates(objID, obj2ID)
{
	if (ValidObj(obj2ID))
	{
		var date1 = new Date(objID.year, objID.month, objID.day);
		var date2 = new Date(obj2ID.year, obj2ID.month, obj2ID.day);
		var index1 = Number(objID.index);
		var index2 = Number(obj2ID.index);
		var index = GetControlIndex(index1, index2);		
				
		switch (index)
		{
			case 0:
				if (date1.valueOf() > date2.valueOf())
					SetNewObjDate(objID, obj2ID);
				break;
							
			case 1:
				if (date2.valueOf() > date1.valueOf())
					SetNewObjDate(objID, obj2ID);
				break;
							
			default:
				break;
		}	
	}	
}

function SetFormElemValue(formElem, newValue)
{
	if (ValidObj(document.getElementById(formElem)))
		document.getElementById(formElem).value = newValue;
}
		
function ChangeMonthAux(objID, obj2ID, newValue)
{	
	
	var inc = (Number(newValue) - 1) - Number(objID.month);
	ChangeMonth(objID, obj2ID, inc);
}


function ChangeMonth(objID, obj2ID, control)
{

	var currentMonth = Number(objID.month);
	var currentYear = Number(objID.year);		
	var newMonth = Number(currentMonth) + Number(control);
	
	switch (newMonth)
	{
		case -1:
			objID.month = 11;
			objID.year = currentYear - 1;
			
			SetFormElemValue(objID.elemMonth, 12);
			SetFormElemValue(objID.elemYear, objID.year);
			break;
							
		case 12:
			objID.month = 0;
			objID.year = currentYear + 1;
			
			SetFormElemValue(objID.elemMonth, 1);
			SetFormElemValue(objID.elemYear, objID.year);
			break;
							
		default:				
			objID.month = newMonth;
			SetFormElemValue(objID.elemMonth, objID.month + 1);
			break;
	}	
	
	
	document.getElementById(objID.elem).innerHTML = DrawCalendar(objID, ValidObjReplace(obj2ID, ""));
	
	if (objID.type == 1) //Redimensiona a window
		GetWindowSize(objID.windowMainTable, objID.defaultWindowWidthInc, objID.defaultWindowHeightInc);
	
	return false;
	
}

function ChangeMonth(objID, obj2ID, control, nochange)
{
	var currentMonth = Number(objID.month);
	var currentYear = Number(objID.year);		
	var newMonth = Number(currentMonth) + Number(control);
	
	if (nochange)		
		switch (newMonth)
		{
			case -1:
				objID.month = 11;
				objID.year = currentYear - 1;
				
				//SetFormElemValue(objID.elemMonth, 12);
				//SetFormElemValue(objID.elemYear, objID.year);
				break;
								
			case 12:
				objID.month = 0;
				objID.year = currentYear + 1;
				
				//SetFormElemValue(objID.elemMonth, 1);
				//SetFormElemValue(objID.elemYear, objID.year);
				break;
								
			default:				
				objID.month = newMonth;
				//SetFormElemValue(objID.elemMonth, objID.month + 1);
				break;
		}	
	
	
	document.getElementById(objID.elem).innerHTML = DrawCalendar(objID, ValidObjReplace(obj2ID, ""));
	
	if (objID.type == 1) //Redimensiona a window
		GetWindowSize(objID.windowMainTable, objID.defaultWindowWidthInc, objID.defaultWindowHeightInc);
	
	return false;
	
}

function ChangeYearAux(objID, obj2ID, newValue)
{	
	var inc = Number(newValue) - Number(objID.year);
	ChangeYear(objID, obj2ID, inc);
}

function ChangeYear(objID, obj2ID, control)
{	
	var currentYear = Number(objID.year);
	var newYear = Number(currentYear) + Number(control);
	
	objID.year = newYear;
	
	document.getElementById(objID.elemYear).value = objID.year;
	ChangeMonth(objID, obj2ID, 0);
}

function GetDayType(calendarObj,calendar2Obj, currentDate)
{
	//var selectedDate = new Date(calendarObj.year, calendarObj.month, calendarObj.day);
	var selectedDate = new Date(document.getElementById(calendarObj.elemYear).value, Number(document.getElementById(calendarObj.elemMonth).value - 1), document.getElementById(calendarObj.elemDay).value);
	var lowerDate = GetObjProperDate(calendarObj, Number(Number(calendarObj.lowerLimit) * -1));
	var upperDate = GetObjProperDate(calendarObj, Number(calendarObj.upperLimit));
			
	var today = CreateDateNoTime(calendarObj);
	var otherDate = new Date(document.getElementById(calendar2Obj.elemYear).value, Number(document.getElementById(calendar2Obj.elemMonth).value - 1), document.getElementById(calendar2Obj.elemDay).value);

	
	var delayedDate = GetDateWithRange(calendarObj.searchMinDelay);
	var maxRangedDate = GetDateWithRange(Number(calendarObj.maxRange) - 1);
			
	//if (currentDate.valueOf() != selectedDate.valueOf() && currentDate.valueOf() >= lowerDate.valueOf() && currentDate.valueOf() <= upperDate.valueOf() && currentDate.valueOf() >= today.valueOf() && currentDate.valueOf() <= maxRangedDate.valueOf() && currentDate.valueOf() >= delayedDate.valueOf())
	//if (currentDate.valueOf() != selectedDate.valueOf() && currentDate.valueOf() >= lowerDate.valueOf() && currentDate.valueOf() <= upperDate.valueOf() && currentDate.valueOf() >= today.valueOf() && currentDate.valueOf() <= maxRangedDate.valueOf())
	//	return 0; // Dentro do intervalo
			
	//if (currentDate.valueOf() >= lowerDate.valueOf() && currentDate.valueOf() <= upperDate.valueOf() && currentDate.valueOf() >= today.valueOf() && currentDate.valueOf() <= maxRangedDate.valueOf() && currentDate.valueOf() >= delayedDate.valueOf())
	//if (currentDate.valueOf() == selectedDate.valueOf() && currentDate.valueOf() >= lowerDate.valueOf() && currentDate.valueOf() <= upperDate.valueOf())
	if (currentDate.valueOf() == selectedDate.valueOf())
		return 1; // Data seleccionada
			
	//if ((currentDate.valueOf() < today.valueOf() || calendarObj.selectIndexOnly) || currentDate.valueOf() > maxRangedDate.valueOf() || currentDate.valueOf() < delayedDate.valueOf())
	if (currentDate.valueOf() < today.valueOf())
		return 2; // Menor que a data corrente
	
	// Data do outro calendário.
	if (currentDate.valueOf() == otherDate.valueOf())	
		return 3;
		
	if (currentDate > selectedDate && currentDate < otherDate && calendarObj.index=="1")	
		return 4; // intervalo de datas 1
	
	if (currentDate < selectedDate && currentDate > otherDate && calendarObj.index=="2")	
		return 4; // intervalo de datas 2
		
	return -1; // Maior ou entre data actual e data seleccionada
}

function DrawCalendarTop(calendarObj, calendar2Obj, imageBack, imageNext)
{
	return '<table cellpadding="0" cellspacing="0" class="calendar_top"><tr><td class="pesquisaTblCalendarioMonthNav"><a href="void(0);"  onclick="javascript:return ChangeMonth(' + calendarObj.id + ', ' + calendar2Obj.id + ', -1, true);"><<</a></td><td class="pesquisaTblCalendarioMonth"><span id="cal_mes_ano" ></span><span onclick="this.style.display=\'none\';document.getElementById(\'cal_mes_ano\').innerHTML = document.getElementById(\'drop_mes_ano_calendarDepartDIV\').innerHTML;">' + months[Number(calendarObj.month)] + ' ' + calendarObj.year  + '</span></td><td class="pesquisaTblCalendarioMonthNav"><a href="void(0)" onclick="javascript: return ChangeMonth(' + calendarObj.id + ', ' + calendar2Obj.id + ', 1, true);">>></a></td></tr></table>';
	//return '<table cellpadding="0" cellspacing="0" class="calendar_top"><tr><td class="pesquisaTblCalendarioMonthNav"><a href="javascript:;" onclick="javascript:return ChangeMonth(' + calendarObj.id + ', ' + calendar2Obj.id + ', -1, true);"><img src="/images/arrow_white_2.gif" border="0"/></a></td><td class="pesquisaTblCalendarioMonth"><span>' + months[Number(calendarObj.month)] + ' ' + calendarObj.year  + '</span></td><td class="pesquisaTblCalendarioMonthNav"><a href="javascript:;" onclick="javascript:return ChangeMonth(' + calendarObj.id + ', ' + calendar2Obj.id + ', 1, true);"><img src="/images/arrow_white.gif" border="0"/></a></td></tr></table>';
}
	
function DrawWeekDays()
{		
	var out = "<table class=\"weekdays\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>";
			
	for (var i = 0; i < weekDays.length; i++)
		out += '<td class="weekdays">' + weekDays[i] + '</td>';
			
	return out + "</tr></table>";
}

function DrawMonthDays(calendarObj, calendar2Obj)
{
	var counter = 0;
	var dateAux = new Date(calendarObj.year, calendarObj.month, 1);				
	var out = "<table cellspacing='2' cellpadding='0' width='100%'>";
	
	var elemDay = String(calendarObj.elemDay);
	var inc = Number(dateAux.getDay());
	
	while (counter < (31 + inc))
	{	
		out += (counter % 7 == 0) ? "<tr>" : "";
				
		if (calendarObj.month == dateAux.getMonth() && counter >= dateAux.getDay())
		{	
			switch (GetDayType(calendarObj, calendar2Obj, dateAux))
			{		
				case 0: // Dentro do limite
					out += '<td class="weekdays_ranged_' + calendarObj.index + '"><a class="weekdays_ranged_' + calendarObj.index + '" href="javascript: void(0);" onclick="javascript: SetNewDate1(' + calendarObj.id + ', ' + calendar2Obj.id + ', this.id);" + id="' + dateAux.getDate() + '">' + dateAux.getDate() + '</a></td>';
					break;
							
				case 1: // Data seleccionada
					out += '<td class="weekdays_selected_' + calendarObj.index + '"><a class="Weekdays_selectable_' + calendarObj.index + '" href="javascript: void(0);" onclick="javascript: SetNewDate1(' + calendarObj.id + ', ' + calendar2Obj.id + ', this.id);" + id="' + dateAux.getDate() + '">' + dateAux.getDate() + '</a></td>';
					break;
						
				case 2: // Menor
					out += '<td class="weekdays_unselected">' + dateAux.getDate() + '</td>';
					break;
				
				case 3: // Data de outro calendar					
					if(document.getElementsByName('TripType').length > 0 && document.getElementsByName('TripType')[0].value!='OneWay')
						out += '<td class="weekdays_selected_' + calendar2Obj.index + '"><a class="Weekdays_selectable_' + calendar2Obj.index + '" href="javascript: void(0);" onclick="javascript: SetNewDate1(' + calendarObj.id + ', ' + calendar2Obj.id + ', this.id);" + id="' + dateAux.getDate() + '">' + dateAux.getDate() + '</a></td>';
					else if (document.getElementsByName('TripType').length == 0)
						out += '<td class="weekdays_selected_' + calendar2Obj.index + '"><a class="Weekdays_selectable_' + calendar2Obj.index + '" href="javascript: void(0);" onclick="javascript: SetNewDate1(' + calendarObj.id + ', ' + calendar2Obj.id + ', this.id);" + id="' + dateAux.getDate() + '">' + dateAux.getDate() + '</a></td>';
					break;
					
				case 4: // Intervalo de datas										
						if(document.getElementsByName('TripType').length > 0 && document.getElementsByName('TripType')[0].value!='OneWay' || document.getElementsByName('TripType').length == 0)
							out += '<td class="weekdays_selected_3"><a class="Weekdays_selectable_3" href="javascript: void(0);" onclick="javascript: SetNewDate1(' + calendarObj.id + ', ' + calendar2Obj.id + ', this.id);" + id="' + dateAux.getDate() + '">' + dateAux.getDate() + '</a></td>';
						else if (document.getElementsByName('TripType').length > 0 && document.getElementsByName('TripType')[0].value =='OneWay')
							out += '<td align="center" class="Weekdays_selectable"><a class="Weekdays_selectable_3" href="javascript: void(0);" onclick="javascript: SetNewDate1(' + calendarObj.id + ', ' + calendar2Obj.id + ', this.id);" + id="' + dateAux.getDate() + '">' + dateAux.getDate() + '</a></td>';
					break;
						
				default: // Maior
					out += '<td align="center" class="Weekdays_selectable"><a class="Weekdays_selectable" href="javascript: void(0);" onclick="javascript: SetNewDate1(' + calendarObj.id + ', ' + calendar2Obj.id + ', this.id);" + id="' + dateAux.getDate() + '">' + dateAux.getDate() + '</a></td>';
					break;
			}
			dateAux.setDate(dateAux.getDate() + 1);
			dateAux = new Date(dateAux);
		}
		else
			out += '<td align="center">&#32;</td>';			
		counter++;
		out += (counter % 7 == 0) ? "</tr>" : "";			
	}
			
	return out + "</table>";
}
		
function DrawCalendar(calendarObj, calendar2Obj)
{
	var out = "<table width='99%' cellspacing='0' cellpadding='2'>";
	out += "<tr><td class='calendar_top_month'>" + DrawCalendarTop(calendarObj, calendar2Obj, "/images/pop_up_new_cal/esq.gif", "/images/pop_up_new_cal/dir.gif") + "</td></tr>";
	out += "<tr><td class='calendar_weekDays'>" + DrawWeekDays() + "</td></tr>";
	out += "<tr><td>" + DrawMonthDays(calendarObj, calendar2Obj) + "</td></tr>";	
	return out + "</table>";
}