﻿var objDiv = "divCalendar";

function Make_Calendar(vMonth, vYear, vLanguage, objFrame, objTxt)
{
	var Month_Label_1 = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
	var Month_Label_2 = new Array('Ιανουάριος', 'Φεβρουάριος', 'Μάρτιος', 'Απρίλιος', 'Μάϊος', 'Ιούνιος', 'Ιούλιος', 'Αύγουστος', 'Σεπτέμβριος', 'Οκτώβριος', 'Νοέμβριος', 'Δεκέμβριος');
	var Month_Label_3 = new Array('Januar', 'Februar', 'Marz', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember');
	var Month_Label_4 = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
	var Month_Label_5 = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
	var Month_Label_8 = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');

	var Day_Label_1 = new Array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
	var Day_Label_2 = new Array('Κυρ', 'Δευ', 'Τρι', 'Τετ', 'Πεμ', 'Παρ', 'Σαβ');
	var Day_Label_3 = new Array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
	var Day_Label_4 = new Array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
	var Day_Label_5 = new Array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
	var Day_Label_8 = new Array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');

	var vTodayDate = new Date();
	if ( vMonth == "" || vYear == "" )
	{
		vMonth = vTodayDate.getMonth();
		vYear = vTodayDate.getYear();
	}
	vTodayDate = "" + (vTodayDate.getYear() < 1000 ? vTodayDate.getYear() + 1900 : vTodayDate.getYear()) + "" + (vTodayDate.getMonth().toString().length == "1" ? "0" + vTodayDate.getMonth() : vTodayDate.getMonth()) + "" + (vTodayDate.getDate().toString().length == "1" ? "0" + vTodayDate.getDate() : vTodayDate.getDate());

	if (vYear < 1000)
		vYear += 1900;

	var sCalendar = "";

	//Month & year
	sCalendar = '<table cellspacing="0" cellpadding="0" border="0">\n';
	sCalendar += '<tr>\n';
	sCalendar += '	<td bgcolor="#ffffff" width="2" rowspan="3"></td>\n';
	sCalendar += '	<td class="Calendar_td_hover" width="1" rowspan="3"></td>\n';
	sCalendar += '	<td class="Calendar_td_hover" height="1"></td>\n';
	sCalendar += '	<td class="Calendar_td_hover" width="1" rowspan="3"></td>\n';
	sCalendar += '	<td bgcolor="#ffffff" width="2" rowspan="3"></td>\n';
	sCalendar += '</tr>\n';
	sCalendar += '<tr>\n';
	sCalendar += '	<td valign="top">\n';
	sCalendar += '		<table border="0" cellspacing="0" cellpadding="1" bgcolor="#ffffff">\n';
	sCalendar += '		<tr>\n';
	sCalendar += '			<td colspan="7" height="25">';
	sCalendar += '				<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr>\n';
	sCalendar += CheckDirection(vMonth, vYear, vLanguage, objFrame, objTxt, "1");
	sCalendar += '				<td width="10" class="linkCalendar">&nbsp;</td>\n';
	sCalendar += CheckDirection(vMonth, vYear, vLanguage, objFrame, objTxt, "2");
	sCalendar += '				<td class="linkCalendar"><div align="center"><b>' + eval('Month_Label_' + vLanguage + '[vMonth]') + " " + vYear + '</b></div></td>\n';
	sCalendar += CheckDirection(vMonth, vYear, vLanguage, objFrame, objTxt, "3");
	sCalendar += '				<td width="10" class="linkCalendar">&nbsp;</td>\n';
	sCalendar += CheckDirection(vMonth, vYear, vLanguage, objFrame, objTxt, "4");
	sCalendar += '				</tr></table>\n';
	sCalendar += '			</td>\n';
	sCalendar += '		</tr>\n';

	//Days of week
	sCalendar += '		<tr>\n';
	sCalendar += '			<td class="Calendar_title">' + eval('Day_Label_' + vLanguage + '[0]') + '&nbsp;</td>\n';
	sCalendar += '			<td class="Calendar_title">' + eval('Day_Label_' + vLanguage + '[1]') + '&nbsp;</td>\n';
	sCalendar += '			<td class="Calendar_title">' + eval('Day_Label_' + vLanguage + '[2]') + '&nbsp;</td>\n';
	sCalendar += '			<td class="Calendar_title">' + eval('Day_Label_' + vLanguage + '[3]') + '&nbsp;</td>\n';
	sCalendar += '			<td class="Calendar_title">' + eval('Day_Label_' + vLanguage + '[4]') + '&nbsp;</td>\n';
	sCalendar += '			<td class="Calendar_title">' + eval('Day_Label_' + vLanguage + '[5]') + '&nbsp;</td>\n';
	sCalendar += '			<td class="Calendar_title">' + eval('Day_Label_' + vLanguage + '[6]') + '&nbsp;</td>\n';
	sCalendar += '		</tr>\n';

	var iCountRows = 0;
	for (var i = 1; i <= 31; i++) 
	{
		try
		{
			vDate = new Date(vYear, vMonth, i, 0, 0, 0);
			if ( vDate.getMonth() == vMonth )
			{
				if ( i == 1 || vDate.getDay() == 0)
				{
					sCalendar += '		<tr>\n';
					iCountRows++;
				}

				if ( i == 1 && vDate.getDay() != 0)
				{
					for (var j = 1; j <= vDate.getDay(); j++) 
					{
						sCalendar += '			<td class="linkCalendar">&nbsp;</td>\n';
					}
				}

				var vCreatedDate = "" + vYear + "" + (vMonth.toString().length == "1" ? "0" + vMonth : vMonth) + "" + (vDate.getDate().toString().length == "1" ? "0" + vDate.getDate() : vDate.getDate());

				if ( parseInt(vCreatedDate) >= parseInt(vTodayDate) )
				{
					sCalendar += '			<td>\n';
					sCalendar += '				<table id="tbl' + objDiv + "_" + i + '" cellspacing="1" cellpadding="0" border="0" width="100%"><tr><td valign="top">\n';
					sCalendar += '				<table border="0" cellspacing="1" cellpadding="0" bgcolor="#ffffff" width="100%"><tr>\n';
					sCalendar += '					<td height="15" id="' + objDiv + "_" + i + '" valign="middle" class="Calendar_td"><a href="#" onclick="SetDate(\'' + vDate.getDate() + "/" + (parseInt(vMonth)+1) + "/" + vYear + '\', \'' + objFrame + '\', \'' + objTxt + '\'); return false;" onmouseover="document.getElementById(\'tbl' + objDiv + "_" + i + '\').style.backgroundColor=\'#666666\'; document.getElementById(\'' + objDiv + "_" + i + '\').className=\'Calendar_td_hover\';" onmouseout="document.getElementById(\'tbl' + objDiv + "_" + i + '\').style.backgroundColor=\'#ffffff\'; document.getElementById(\'' + objDiv + "_" + i + '\').className=\'Calendar_td\';" class="linkCalendar">' + vDate.getDate() + '</a></td>\n';
					sCalendar += '				</tr></table>\n';
					sCalendar += '				</td></tr></table>\n';
					sCalendar += '			</td>\n';
				}
				else
				{
					sCalendar += '			<td>\n';
					sCalendar += '				<table id="tbl' + objDiv + "_" + i + '" cellspacing="1" cellpadding="0" border="0" width="100%"><tr><td valign="top">\n';
					sCalendar += '				<table border="0" cellspacing="1" cellpadding="0" bgcolor="#ffffff" width="100%"><tr>\n';
					sCalendar += '					<td height="15" align="center" valign="middle" class="linkCalendar"><font color="#cccccc">' + vDate.getDate() + '</font></td>\n';
					sCalendar += '				</tr></table>\n';
					sCalendar += '				</td></tr></table>\n';
					sCalendar += '			</td>\n';
				}

				if ( vDate.getDay() == 6)
					sCalendar += '		</tr>\n';
			}
		}
		catch(e)
		{
			sCalendar = "";
			break;
		}
	}
	for (var i = 1; i <= 6-iCountRows; i++) 
	{
		sCalendar += '		<tr><td height="21">&nbsp;</td></tr>\n';
	}

	if ( sCalendar.lastIndexOf("</tr>") != sCalendar.length - "</tr>".length - 1)
		sCalendar += '		</tr>\n';

	sCalendar += '		</table>\n';
	sCalendar += '	</td>\n';
	sCalendar += '</tr>\n';
	sCalendar += '<tr>\n';
	sCalendar += '	<td class="Calendar_td_hover" height="1"></td>\n';
	sCalendar += '</tr>\n';
	sCalendar += '<tr>\n';
	sCalendar += '	<td bgcolor="#ffffff" width="2" colspan="5"></td>\n';
	sCalendar += '</tr>\n';
	sCalendar += '</table>\n';

	if ( document.getElementById(objDiv) != null )
	{
		document.getElementById(objDiv).innerHTML = sCalendar;
	}
}

function CheckDirection(vMonth, vYear, vLanguage, objFrame, objTxt, direction)
{
	//direction:	1 - Back Year, 2 - Back Month, 3 - Forward Month, 4 - Forward Year
	var vDirection = "";

	var vTodayDate = new Date();
	vTodayDate = "" + (vTodayDate.getYear() < 1000 ? vTodayDate.getYear() + 1900 : vTodayDate.getYear()) + "" + (vTodayDate.getMonth().toString().length == "1" ? "0" + vTodayDate.getMonth() : vTodayDate.getMonth());

	if ( direction == "1" )
	{
		var vDirectionDate = "" + (parseInt(vYear)-1) + "" + (vMonth.toString().length == "1" ? "0" + vMonth : vMonth);
		if ( parseInt(vDirectionDate) >= parseInt(vTodayDate) )
			vDirection += '			<td width="20"><a href="#" class="link" onclick="Make_Calendar(\'' + vMonth + '\', \'' + (parseInt(vYear)-1) + '\', \'' + vLanguage + '\', \'' + objFrame + '\', \'' + objTxt + '\'); return false;"><img src="../MitsisImages/calendar_backward_year.gif" border="0"></a></td>\n';
		else
			vDirection += '			<td width="20">&nbsp;</td>\n';
	}

	if ( direction == "2" )
	{
		var vDirectionDate = "" + (parseInt(vMonth)-1 >= 0 ? vYear : (parseInt(vYear)-1)) + "" + (parseInt(vMonth)-1 >= 0 ? ((parseInt(vMonth)-1).toString().length == "1" ? "0" + (parseInt(vMonth)-1) : (parseInt(vMonth)-1)) : '11');
		if ( parseInt(vDirectionDate) >= parseInt(vTodayDate) )
			vDirection += '			<td width="10"><a href="#" class="link" onclick="Make_Calendar(\'' + (parseInt(vMonth)-1 >= 0 ? parseInt(vMonth)-1 : '11') + '\', \'' + (parseInt(vMonth)-1 >= 0 ? vYear : (parseInt(vYear)-1)) + '\', \'' + vLanguage + '\', \'' + objFrame + '\', \'' + objTxt + '\'); return false;"><img src="../MitsisImages/calendar_backward.gif" border="0"></a></td>\n';
		else
			vDirection += '			<td width="10">&nbsp;</td>\n';
	}

	if ( direction == "3" )
	{
		if ( (parseInt(vYear)+1) <= 2080 )
			vDirection += '			<td width="10"><a href="#" class="link" onclick="Make_Calendar(\'' + (parseInt(vMonth)+1 <= 11 ? parseInt(vMonth)+1 : '0') + '\', \'' + (parseInt(vMonth)+1 <= 11 ? vYear : (parseInt(vYear)+1)) + '\', \'' + vLanguage + '\', \'' + objFrame + '\', \'' + objTxt + '\'); return false;"><img src="../MitsisImages/calendar_forward.gif" border="0"></a></td>\n';
		else
			vDirection += '			<td width="10">&nbsp;</td>\n';
	}

	if ( direction == "4" )
	{
		if ( (parseInt(vYear)+1) <= 2080 )
			vDirection += '			<td width="20"><a href="#" class="link" onclick="Make_Calendar(\'' + vMonth + '\', \'' + (parseInt(vYear)+1) + '\', \'' + vLanguage + '\', \'' + objFrame + '\', \'' + objTxt + '\'); return false;"><img src="../MitsisImages/calendar_forward_year.gif" border="0"></a></td>\n';
		else
			vDirection += '			<td width="20">&nbsp;</td>\n';
	}

	return vDirection;
}

function SetDate(vDate, objFrame, objTxt)
{
	if ( window.parent.document.getElementById(objFrame) != null )
		window.parent.document.getElementById(objFrame).style.display = "none";

	if ( window.parent.document.getElementById(objTxt) != null )
		window.parent.document.getElementById(objTxt).value = vDate;
}
