document.write('<div id="Calendar" class="DivCalendar"></div>');

CalendarEvent = 0;
CalendarInput = null;
CalendarYearFrom = null;
CalendarYearTo = null;

function CalendarFocus(Object, YearFrom, YearTo)
{
	CalendarEvent++;
	if (typeof(YearFrom)=="undefined")
		CalendarYearFrom = "";
	else
		CalendarYearFrom = YearFrom;
	if (typeof(YearTo)=="undefined")
		CalendarYearTo = "";
	else
		CalendarYearTo = YearTo;

	CalendarDraw(Object);
}

function CalendarBlur()
{
	CalendarHide();
}

function CalendarInputFocus()
{
	CalendarEvent++;
}

function CalendarInputBlur()
{
	CalendarHide();
}

function CalendarOver()
{
	CalendarEvent++;
}

function CalendarOut()
{
	window.setTimeout(function () { CalendarHide(); } , 250);
}

function CalendarDraw(Object)
{
	CalendarInput = Object;
	DivCalendar = document.getElementById("Calendar");

	DivCalendar.style.top = GetElementPositionY(Object)+Object.offsetHeight;
	DivCalendar.style.left = GetElementPositionX(Object);

	XMLHTTPObject = getXMLHTTPObject();

	XMLHTTPObject.open('GET', 'calendar.php?object=Calendar&yearfrom='+CalendarYearFrom+'&yearto='+CalendarYearTo+'&datetime='+CalendarInput.value, true);
	XMLHTTPObject.onreadystatechange = function() { if (XMLHTTPObject.readyState==4) eval(XMLHTTPObject.responseText); };
	XMLHTTPObject.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
	XMLHTTPObject.send('');
}

function CalendarChange(Month, Year)
{
	document.getElementById("Calendar").onmouseout = new Function();
	document.getElementById("Calendar").onmouseover = new Function();

	document.getElementById("CalendarMonth").onmouseout = new Function();
	document.getElementById("CalendarMonth").onmouseover = new Function();

	document.getElementById("CalendarYear").onmouseout = new Function();
	document.getElementById("CalendarYear").onmouseover = new Function();

	CalendarEvent = 0;

	XMLHTTPObject = getXMLHTTPObject();

	XMLHTTPObject.open('GET', 'calendar.php?object=Calendar&yearfrom='+CalendarYearFrom+'&yearto='+CalendarYearTo+'&month='+Month+'&year='+Year, true);
	XMLHTTPObject.onreadystatechange = function() { if (XMLHTTPObject.readyState==4) eval(XMLHTTPObject.responseText); };
	XMLHTTPObject.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
	XMLHTTPObject.send('');
}

function CalendarShow()
{
	DivCalendar = document.getElementById("Calendar");

	DivCalendar.style.display = "block";

	DivCalendar.onmouseover = function () { CalendarOver(); };
	DivCalendar.onmouseout = function () { CalendarOut(); };
}

function CalendarHide()
{
	CalendarEvent--;

	if (CalendarEvent==0)
	{
		DivCalendar = document.getElementById("Calendar");
		DivCalendar.style.display = "none";

		DivCalendar.onmouseout = new Function();
		DivCalendar.onmouseover = new Function();
	}
}

function CalendarSelect(Date)
{
	DivCalendar = document.getElementById("Calendar");
	DivCalendar.style.display = "none";

	CalendarInput.value = Date;
	CalendarInput.onchange();
}

