/**
	*	vCalendarCallObject: {...}
	*/

var tmpCalendarAJAX=new CAJAX("tmpCalendarAJAX");
var calendarObjects=(typeof calendarObjects=="undefined"?new Array():calendarObjects);
var calendarFirstCalls=(typeof calendarFirstCalls=="undefined"?new Array():calendarFirstCalls);
var tmpobj = "";

function fncChangeCalendar(vCalendarId, vParams)
{
	// Kein gültiger Kalender => Abbruch
	if (typeof calendarObjects[vCalendarId]=="undefined")
	{return;
	}

	// Parameter des Kalender-Objekts ändern
	for (param in vParams)
	{calendarObjects[vCalendarId][param]=vParams[param];
	} // End-for-vParams

	// Kalender ändern
	fncCalendarCall(calendarObjects[vCalendarId]);
	calendarFirstCalls[vCalendarId]=true;
}

function fncCalendarCall(vCalendarCallObject)
{
	tmpCalendarAJAX.URL="../atraveoinc/calendar_inc.php";

	tmpCalendarAJAX.SendRequestData="calendarDivId="+(vCalendarCallObject.divId);
	tmpCalendarAJAX.SendRequestData+="&calendarClickFunction="+(typeof vCalendarCallObject.clickFunction!="undefined"?vCalendarCallObject.clickFunction:"");
	tmpCalendarAJAX.SendRequestData+="&calendarClearButton="+(typeof vCalendarCallObject.clearButton!="undefined"?vCalendarCallObject.clearButton:"");
	tmpCalendarAJAX.SendRequestData+="&calendarDiff="+(typeof vCalendarCallObject.diff!="undefined"?vCalendarCallObject.diff:0);
	tmpCalendarAJAX.SendRequestData+="&calendarMonth="+(typeof vCalendarCallObject.month!="undefined"?vCalendarCallObject.month:"");
	tmpCalendarAJAX.SendRequestData+="&calendarYear="+(typeof vCalendarCallObject.year!="undefined"?vCalendarCallObject.year:"");
	tmpCalendarAJAX.SendRequestData+="&calendarDateFormat="+(typeof vCalendarCallObject.calendarDateFormat!="undefined"?vCalendarCallObject.calendarDateFormat:"");
	tmpCalendarAJAX.SendRequestData+="&objid="+(typeof vCalendarCallObject.objid!="undefined"?vCalendarCallObject.objid:"");
	tmpCalendarAJAX.SendRequestData+="&calendarMockText="+(typeof vCalendarCallObject.mockText!="undefined"?escape(vCalendarCallObject.mockText):"");
	tmpCalendarAJAX.SendRequestData+="&calendarNoPast="+(typeof vCalendarCallObject.noPast!="undefined"?escape(vCalendarCallObject.noPast):"");
	tmpCalendarAJAX.SendRequestData+="&calendarNoFuture="+(typeof vCalendarCallObject.noFuture!="undefined"?escape(vCalendarCallObject.noFuture):"");
	tmpCalendarAJAX.SendRequestData+="&calendarAnreisetageManuell="+(typeof vCalendarCallObject.anreisetage!="undefined"?escape(vCalendarCallObject.anreisetage):"");
	tmpCalendarAJAX.SendRequestData+="&ferienPosition="+(typeof vCalendarCallObject.ferienPosition!="undefined"?escape(vCalendarCallObject.ferienPosition):"");
	tmpCalendarAJAX.SendRequestData+="&jsFerienPos="+(typeof vCalendarCallObject.jsFerienPos!="undefined"?escape(vCalendarCallObject.jsFerienPos):"");
	tmpCalendarAJAX.SendRequestData+="&pid="+(typeof vCalendarCallObject.pid!="undefined"?vCalendarCallObject.pid:"");

	// Calendar-Id merken
	tmpCalendarAJAX.divId=vCalendarCallObject.divId;

	// Time-Handler setzen um ggfs. den Waiter anzuzeigen
	document.getElementById(vCalendarCallObject.divId).innerHTML="<div style=\"text-align: center; height: 170px;\"><br><br><br><br><img src=\"../grafix/waiter_circle.gif\"></div>";

	// Calendar aufrufen
	tmpCalendarAJAX.CallbackFunction="callback_fncCalendarCall";
	tmpCalendarAJAX.Call();

	tmpobj = vCalendarCallObject.divId;
}

function callback_fncCalendarCall()
{
	document.getElementById(tmpCalendarAJAX.divId).innerHTML=tmpCalendarAJAX.Data;
	fncFerien(tmpobj);
}

/**	
	* vCalendarObject: {divId, clickFunction, day, month, monthName, year, formattedDate}
	*/
function fncSetReisebeginnBox(vCalendarObject)
{
	// DropDownBox-Text ändern
	if (vCalendarObject.day!=0 && vCalendarObject.month!=0 && vCalendarObject.year!=0)
	{document.getElementById(vCalendarObject.divId+"Txt").innerHTML = (vCalendarObject.formattedDate != "" ? vCalendarObject.formattedDate : (vCalendarObject.dayNameKrz != "" ? vCalendarObject.dayNameKrz : vCalendarObject.dayName.substring(0, 2))+", "+vCalendarObject.day+". "+vCalendarObject.monthName+" "+vCalendarObject.year);
	}
	else
	{document.getElementById(vCalendarObject.divId+"Txt").innerHTML=vCalendarObject.dayName;
	}
	
	// Werte in Formular speichern
	if (typeof document.suchform!="undefined" && typeof document.suchform.day!="undefined")
	{document.suchform.day.value=vCalendarObject.day;
	}
	if (typeof document.suchform!="undefined" && typeof document.suchform.month!="undefined")
	{document.suchform.month.value=vCalendarObject.month+""+vCalendarObject.year;
	}

	// DropDownBox schließen
	if (document.getElementById(vCalendarObject.divId+"Box").style.display=="block")
	{CDropDownBox_SwitchState({id: vCalendarObject.divId, bgColor: ''});
	}
}

function fncSwitchCalendarMonthList(vCalendarDivId, vJustValue, vAlternateOptions)
{	
	var tmpPartnerlayout=(typeof vAlternateOptions.partnerlayout!="undefined" && vAlternateOptions.partnerlayout?true:false);
	
	document.getElementById("id"+vCalendarDivId+"DateSelectDiv").style.display=(typeof vJustValue!="undefined"?vJustValue:(document.getElementById("id"+vCalendarDivId+"DateSelectDiv").style.display=="none"?"block":"none"));
	document.getElementById("id"+vCalendarDivId+"DateSelectDivArw").src="../grafix/"+(document.getElementById("id"+vCalendarDivId+"DateSelectDiv").style.display=="block"?(tmpPartnerlayout?"arw_pl_close.gif":"arw_linkup_7f7f7f.png"):(tmpPartnerlayout?"arw_pl_open.gif":"arw_linkdown_7f7f7f.png"));

	if (document.getElementById("id"+vCalendarDivId+"DateSelectDiv").style.display=="none" && navigator.userAgent.indexOf("MSIE 6")!=-1)
	{fncChangeCalendar(vCalendarDivId, {});
	}
	else
	{document.getElementById(vCalendarDivId).innerHTML=document.getElementById(vCalendarDivId).innerHTML;
	}
}

function fncFirstLoadCalendar(vObject)
{
	if (vObject.state=="opened")
	{
		if (typeof calendarFirstCalls=="undefined" || (typeof calendarFirstCalls!="undefined" && !calendarFirstCalls[vObject.formFieldName]) )
		{
			fncCalendarCall(calendarObjects[vObject.formFieldName]);
			calendarFirstCalls[vObject.formFieldName]=true;
		}
	}
}
