//
//	
//
//	Purpose:  
//
//	Author:		
//	Supervisor:	
//	Date:	 	
//
//	Changes History:
//---------------------------------------------------------------
//	Author:		Alexander Sokolov
//	Supervisor:	Tsuri Bar-Haim
//	Date:		March 29 2005
//	Change Description:
//		Added support for opening multiple calendars
//		on the same page (#255364-032205).
//
//	All [m]ultiple [c]alendars functions begin with "mc_" prefix.
//	It is recommended to use these mc_xxx() functions for further development
//	instead of previous functions, both in single- and multi-calendar pages.
//	Previous functions are left for backward compatibility reasons only
//	and should be treated as deprecated.
//
//	The mc_xxx() functions set is completely stand-along
//	and does not use any function or global variable from the previous set.
//
//	The only function a JSP needs to interface with is
//		mc_openCalendar(dateId, calId)
//	Arguments:
//		dateId – string ID of the text control where the picked date is to be displayed;
//		calId – string ID of the div element where the calendar will be drawn.
//	Remarks:
//		There is no longer need for any well-known IDs.
//		Any number of calendars can be displayed simultaneously on the same page.
//
//	TODOs:
//		1. Localization support (?)
//		2. Customizable date format (?)
//		3. Customizable L&F (.css (?)) (?)
//		4. Today's day highlighting + special handling for navigating to a month
//		   with fewer days than current (?)
//		5. Complete reusability (wrap into a custom tag (?)) (?)
//---------------------------------------------------------------
//	Author:		Alexander Sokolov
//	Supervisor:	Tsuri Bar-Haim
//	Date:		April 05 2005
//	Change Description:
//		Fixed incorrect behavior of single-instance calendar
//		when initial date of month is greater than maximal
//		possible date of the next month, e.g. the following dates
//		affected:
//		Jan 31, March 31, May 31, Aug 31, Oct 31 (#255748-040205)
//---------------------------------------------------------------
//	Author:		Alexander Sokolov
//	Supervisor:	Tsuri Bar-Haim
//	Date:		April 06 2005
//	Change Description:
//		Added mc_openCalendarOnForm(dateId, calId, formId) function.
//		Function can be used in case if several forms with duplicated
//		element IDs are presented on the same page.
//---------------------------------------------------------------
//
//	@ Copyright Amdocs Israel.
//	This document contains proprietary and confidential
//	information, and shall not be reproduced, transferred, or
//	disclosed to others, without the prior written consent of
//	Amdocs.
//
//------------------------------------------------------------------------------------------------------

var months = new Array("ßíâ", "Ôåâ", "Ìàð", "Àïð", "Ìàé", "Èþí", "Èþë", "Àâã", "Ñåí", "Îêò", "Íîÿ", "Äåê");

var current;
var profile;
var imgPath;
var currentSelection;
var ie = false;
var ns4 = false;
var ns6 = false;
var sender = 0;



// Macromedia script
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
// End of Macromedia script

function setProfile(formName, imgPath){
	profile = eval("window.document." + formName + ".name");
	this.imgPath = imgPath;
//	alert(navigator.appVersion);
	if ((navigator.appName).indexOf("Microsoft") != -1) ie = true;
	else if ((navigator.appName).indexOf("Netscape") != -1){
		if (parseInt(navigator.appVersion) < 5) ns4 = true;
		else ns6 = true;
	}
	if (ns4){
		document.layers["calFrom"].moveBy(12,-5);
		document.layers["calTo"].moveBy(12,-5);
	}
	current = new Date();
		var initDateFrom = "";
	var initDate = "";

	var month = "" ;
	if ((current.getMonth() + 1) < 10)
	{
		month = month+ "0" ;
	}
	month = month +	(current.getMonth() + 1) ;
		

	
	
	var initDateTemp ="";	
	if ((current.getDate()) < 10)
	{
		initDateTemp = initDateTemp + "0" ;
	}
    initDateTemp = initDateTemp + current.getDate();
    		
    	initDateFrom = initDateTemp  + "." + month  + "." + current.getFullYear();
	initDate = initDateTemp + "." + month + "." + current.getFullYear();
}

function setSelected(selection){
	if (ie)	{
		currentSelection = eval(profile + "." + selection);
	}
	else currentSelection = eval("window.document." + profile + "." + selection);
	sender = 1;
	writer(sender);
	sender = 2;
	writer(sender);
}

function setSelectedOneCalendar(selection){
	if (ie)	{
		currentSelection = eval(profile + "." + selection);
	}
	else currentSelection = eval("window.document." + profile + "." + selection);
	sender = 1;
	writer(sender);
}
function selectDate(selection, sourcer){
	var theMonth=current.getMonth()+1;
	var showMonth = "";
	var showDay = "";
	if (theMonth < 10) showMonth = "0" + theMonth;
	else showMonth = theMonth;
	if (selection < 10) showDay = "0" + selection;
	else showDay = selection;
	var dateLine = showDay + "." + showMonth + "." + current.getFullYear();
	currentSelection.value = dateLine;
	hideLayer(sourcer);
}

function hideLayer(sourcer){
	if (ie){
		if (sourcer == 1) document.all.calFrom.style.visibility = "hidden";
		else document.all.calTo.style.visibility = "hidden";
	}
	else if (ns4){
		if (sourcer == 1) document.layers["calFrom"].visibility = "hide";
		else document.layers["calTo"].visibility = "hide";
	}
	else{
		if (sourcer == 1) document.getElementById("calFrom").style.visibility = "hidden";
		else document.getElementById("calTo").style.visibility = "hidden";
	}
}

function moveUp(sourcer){
	current.setMonth(current.getMonth() + 1);
	writer(sourcer);
}

function moveDown(sourcer){
	current.setMonth(current.getMonth() - 1);
	writer(sourcer);
}

function moveUpYear(sourcer){
	current.setFullYear(current.getFullYear() + 1);
	writer(sourcer);
}

function moveDownYear(sourcer){
	current.setFullYear(current.getFullYear() - 1);
	writer(sourcer);
}

function writer(sourcer){
	sender = sourcer;
	if (ie){
		if (sourcer == 1) document.all.calFrom.innerHTML = writeCode(current);
		else document.all.calTo.innerHTML = writeCode(current);
	}
	else if(ns4){
		if (sourcer == 1){
			document.layers["calFrom"].document.open();
			document.layers["calFrom"].document.write(writeCode(current));
			document.layers["calFrom"].document.close();
		}
		else {
			document.layers["calTo"].document.open();
			document.layers["calTo"].document.write(writeCode(current));
			document.layers["calTo"].document.close();
		}
	}
	else{
		if (sourcer == 1){			
			document.getElementById("calFrom").style.visibility = "visible";
			document.getElementById("calFrom").innerHTML = writeCode(current);
		}
		else {
			document.getElementById("calTo").style.visibility = "visible";
			document.getElementById("calTo").innerHTML = writeCode(current);
		}
	}
}

function writeCode(requesedDate){
current = requesedDate;
var currentDay = current.getDay();
var currentDate = current.getDate();
var currentMonth = current.getMonth();
var currentYear = current.getFullYear();
var nextMonth = new Date();
// nextMonth.setDate(currentDate);
nextMonth.setDate(1);
nextMonth.setMonth(currentMonth);
nextMonth.setYear(currentYear);
nextMonth.setMonth(nextMonth.getMonth() + 1);
var str = " ";

str = str + '<table border="0" cellspacing="0" cellpadding="0" width="100%" bgcolor="#D0C8BA">';
str = str + '<tr>';
str = str + '<td>';

str = str + '<table width="100%" border="0" cellspacing="1" cellpadding="0">';
str = str + '<tr>';
str = str + '<td align="right" nowrap ><a href="javascript:void(0)" onClick="moveDown(' + sender + '); return false;"><img src="' + imgPath + 'back.gif" width="12" height="12" border="0"></a><img src="images/empty.gif" width="3" height="5" border="0"><a href="javascript:void(0)" onClick="moveUp(' + sender + '); return false;"><img src="' + imgPath + 'next.gif" width="12" height="12" border="0"></a></td>';
str = str + '<td align="center"><img src="images/empty.gif" width="5" height="5" border="0"></td>';
str = str + '<td align="left" nowrap ><a href="javascript:void(0)" onClick="moveDownYear(' + sender + '); return false;"><img src="' + imgPath + 'back.gif" width="12" height="12" border="0"></a><img src="images/empty.gif" width="3" height="5" border="0"><a href="javascript:void(0)" onClick="moveUpYear(' + sender + '); return false;"><img src="' + imgPath + 'next.gif" width="12" height="12" border="0"></a></td>';
str = str + '</tr>';
str = str + '<tr>';
str = str + '<td align="right" nowrap ><font face="Arial, Helvetica, sans-serif" size="1" color="#B31736"><b>' + months[currentMonth] + '</b></font></td>';
str = str + '<td align="center"><img src="images/empty.gif" width="5" height="5" border="0"></td>';
str = str + '<td align="left" nowrap ><font face="Arial, Helvetica, sans-serif" size="1" color="#B31736"><b>'  + currentYear + '</b></font></td>';

//str = str + '<td><a href="javascript:void(0)" onClick="moveDown(' + sender + '); return false;"><img src="' + imgPath + 'back.gif" width="12" height="12" border="0"></a></td>';
//str = str + '<td align="center" nowrap ><font face="Arial, Helvetica, sans-serif" size="1" color="#B31736"><b>&nbsp;&nbsp;&nbsp;' + months[currentMonth] + ' ' + currentYear + '&nbsp;&nbsp;&nbsp;</b></font></td>';
//str = str + '<td align="right"><a href="javascript:void(0)" onClick="moveUp(' + sender + '); return false;"><img src="' + imgPath + 'next.gif" width="12" height="12" border="0"></a></td>';
str = str + '</tr>';
str = str + '</table>';

str = str + '</td>';
str = str + '</tr>';
str = str + '<tr>';
str = str + '<td>';
str = str + '<table width="100%" border="0" cellspacing="1" cellpadding="2">';
str = str + '<tr>';
str = str + '<td align="center"><font face="Arial, Helvetica, sans-serif" size="1" color="#B31736"><b>Ï</b></font></td>';
str = str + '<td align="center"><font face="Arial, Helvetica, sans-serif" size="1" color="#B31736"><b>Â</b></font></td>';
str = str + '<td align="center"><font face="Arial, Helvetica, sans-serif" size="1" color="#B31736"><b>Ñ</b></font></td>';
str = str + '<td align="center"><font face="Arial, Helvetica, sans-serif" size="1" color="#B31736"><b>×</b></font></td>';
str = str + '<td align="center"><font face="Arial, Helvetica, sans-serif" size="1" color="#B31736"><b>Ï</b></font></td>';
str = str + '<td align="center"><font face="Arial, Helvetica, sans-serif" size="1" color="#F0BE32"><b>Ñ</b></font></td>';
str = str + '<td align="center"><font face="Arial, Helvetica, sans-serif" size="1" color="#F0BE32"><b>Â</b></font></td>';
str = str + '</tr>';

var nextDay = 1;
current.setDate(nextDay);
var jumper = current.getDay();
jumper-=1;
if (jumper<0){
	jumper=6;
}
var counter = jumper;
str = str + '<tr>';
for (i = 0; i < jumper; i++){
	str = str + '<td align="center" bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif" size="1" color="#B31736">&nbsp;</font></td>';
}
while (counter < 7){
	if (counter == 5 || counter == 6){
		//str = str + '<td align="center" bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif" size="1" color="#9000280"><b>' + current.getDate() + '<b></font></td>';
		str = str + '<td align="center" bgcolor="#FFFFFF"><a href="javascript:void(0)" onClick="selectDate(' + nextDay + ', ' + sender + ');"><font face="Arial, Helvetica, sans-serif" size="1" color="#F0BE32"><b>' + current.getDate() + '</b></font></a></td>';
	}
	else{	
		str = str + '<td align="center" bgcolor="#FFFFFF"><a href="javascript:void(0)" onClick="selectDate(' + nextDay + ', ' + sender + ');"><font face="Arial, Helvetica, sans-serif" size="1" color="#B31736"><b>' + current.getDate() + '</b></font></a></td>';
	}
	nextDay++;
	current.setDate(nextDay);
	counter++;
}
str = str + '</tr>';

counter = 0;
var isBuilding = true;
while (isBuilding){
	str = str + '<tr>';
	while (counter < 7){
		if (current.getMonth() != nextMonth.getMonth()){
			if (counter == 5 || counter == 6){
				//str = str + '<td align="center" bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif" size="1" color="#B31736"><b>' + current.getDate() + '</b></font></td>';
				str = str + '<td align="center" bgcolor="#FFFFFF"><a href="javascript:void(0)" onClick="selectDate(' + nextDay + ', ' + sender + ');"><font face="Arial, Helvetica, sans-serif" size="1" color="#F0BE32"><b>' + current.getDate() + '</b></font></a></td>';
			}
			else{
				str = str + '<td align="center" bgcolor="#FFFFFF"><a href="javascript:void(0)" onClick="selectDate(' + nextDay + ', ' + sender + ');"><font face="Arial, Helvetica, sans-serif" size="1" color="#B31736"><b>' + current.getDate() + '</b></font></a></td>';
			}
			nextDay++;
			current.setDate(nextDay);
			counter++;
		}
		else{
			if (counter!=0) {
				for (t = counter; t < 7; t++){
					str = str + '<td align="center" bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif" size="1" color="#B31736">&nbsp;</font></td>';
				}
			}
			isBuilding = false;
			break;
		}
	}
	str = str + '</tr>';
	counter = 0;
}

str = str + '</table>';
str = str + '</td>';
str = str + '</tr>';
str = str + '<tr>';
str = str + '<td align="center"><a href="javascript:void(0)" onClick="hideLayer(' + sender + ');" bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif" size="1" color="#B31736">Çàêðûòü</font></a></td>';
str = str + '</tr>';
str = str + '</table>';
current.setDate(currentDate);
current.setMonth(currentMonth);
current.setYear(currentYear);
return str;
}

/////////////////////////////////////////
// Multiple calendars support functions
function mc_openCalendar(dateId, calId) {
	mc_openCalendarOnForm(dateId, calId, null);
}

function mc_openCalendarOnForm(dateId, calId, formId) {
	mc_openCalendarOnFormCallback(dateId, calId, formId, null);
}

function mc_openCalendarOnFormCallback(dateId, calId, formId, onSetDate) {
	var str = mc_findDateElement(dateId, formId).value;
	var DATE_FMT = /^(0[1-9]|[12][0-9]|3[01])\.(0[1-9]|1[012])\.\d{4}$/;
	var date = new Date();
	if (DATE_FMT.test(str)) {
		// TODO: Special handling for navigating to a month
		// with fewer days than current:
		date.setDate(1);
		date.setFullYear(str.substr(6, 4));
		var month = str.substr(3, 2);
		date.setMonth(month - 1);
	}
	mc_fillCalendar(date, dateId, calId, formId, onSetDate);
	mc_showCalendar(calId, formId);
}

function mc_setDate(day, month, year, dateId, calId, formId) {
	if (day < 10)
		day = "0" + day;
	
	month = month + 1;
	if (month < 10)
		month = "0" + month;

	mc_findDateElement(dateId, formId).value = day + "." + month + "." + year;
	mc_hideCalendar(calId, formId);
}

function mc_hideCalendar(calId, formId) {
	mc_findCalendarElement(calId, formId).style.visibility = "hidden";
}

function mc_showCalendar(calId, formId) {
	mc_findCalendarElement(calId, formId).style.visibility = "visible";
}

function mc_nextMonth(month, year, dateId, calId, formId, onSetDate) {
	var date = new Date();
	// TODO: Special handling for navigating to a month
	// with fewer days than current:
	date.setDate(1);
	date.setFullYear(year);
	date.setMonth(month + 1);
	mc_fillCalendar(date, dateId, calId, formId, onSetDate);
}

function mc_prevMonth(month, year, dateId, calId, formId, onSetDate) {
	var date = new Date();
	// TODO: Special handling for navigating to a month
	// with fewer days than current:
	date.setDate(1);
	date.setFullYear(year);
	date.setMonth(month - 1);
	mc_fillCalendar(date, dateId, calId, formId, onSetDate);
}

function mc_nextYear(month, year, dateId, calId, formId, onSetDate) {
	var date = new Date();
	// TODO: Special handling for navigating to a month
	// with fewer days than current:
	date.setDate(1);
	date.setFullYear(year + 1);
	date.setMonth(month);
	mc_fillCalendar(date, dateId, calId, formId, onSetDate);
}

function mc_prevYear(month, year, dateId, calId, formId, onSetDate) {
	var date = new Date();
	// TODO: Special handling for navigating to a month
	// with fewer days than current:
	date.setDate(1);
	date.setFullYear(year - 1);
	date.setMonth(month);
	mc_fillCalendar(date, dateId, calId, formId, onSetDate);
}

function mc_fillCalendar(date, dateId, calId, formId, onSetDate) {
	var MONTHS = new Array("ßíâ", "Ôåâ", "Ìàð", "Àïð", "Ìàé", "Èþí", "Èþë", "Àâã", "Ñåí", "Îêò", "Íîÿ", "Äåê");
	
	var strForm;
	if (null == formId)
		strForm = "null";
	else
		strForm = "'" + formId + "'";
	
	var strOnSetDate;
	var strCallback;
	if (null == onSetDate) {
		strOnSetDate = ", null";
		strCallback = "";
	}
	else {
		strOnSetDate = ", '" + onSetDate + "'";
		strCallback = onSetDate + ";"
	}
		 
	var month = date.getMonth();
	var year = date.getFullYear();
	var dateNextMonth = new Date();
	dateNextMonth.setDate(1);
	dateNextMonth.setFullYear(year);
	dateNextMonth.setMonth(month + 1);
	
	var str =
	'<table border="0" cellspacing="0" cellpadding="0" width="100%">' +
		'<tr>' +
			'<td bgcolor="#CCCCCC">' +
				'<table width="100%" border="0" cellspacing="1" cellpadding="0">' +
					'<tr>' +
						'<td align="right" nowrap>' +
							'<a href="javascript:void(0)" onClick="mc_prevMonth(' + month + ', ' + year + ', \'' + dateId + '\', \'' + calId + '\', ' + strForm + strOnSetDate + '); return false;">' +
								'<img src="images/back.gif" width="12" height="12" border="0">' +
							'</a>' +
							'<img src="images/empty.gif" width="3" height="5" border="0">' +
							'<a href="javascript:void(0)" onClick="mc_nextMonth(' + month + ', ' + year + ', \'' + dateId + '\', \'' + calId + '\', ' + strForm + strOnSetDate + '); return false;">' +
								'<img src="images/next.gif" width="12" height="12" border="0">' +
							'</a>' +
						'</td>' +
						'<td align="center"><img src="images/empty.gif" width="5" height="5" border="0"></td>' +
						'<td align="left" nowrap>' +
							'<a href="javascript:void(0)" onClick="mc_prevYear(' + month + ', ' + year + ', \'' + dateId + '\', \'' + calId + '\', ' + strForm + strOnSetDate + '); return false;">' +
								'<img src="images/back.gif" width="12" height="12" border="0">' +
							'</a>' +
							'<img src="images/empty.gif" width="3" height="5" border="0">' +
							'<a href="javascript:void(0)" onClick="mc_nextYear(' + month + ', ' + year + ', \'' + dateId + '\', \'' + calId + '\', ' + strForm + strOnSetDate + '); return false;">' +
								'<img src="images/next.gif" width="12" height="12" border="0">' +
							'</a>' +
						'</td>' +
					'</tr>' +
					'<tr>' +
						'<td align="right" nowrap><font face="Arial, Helvetica, sans-serif" size="1" color="#003366"><b>' + MONTHS[month] + '</b></font></td>' +
						'<td align="center"><img src="images/empty.gif" width="5" height="5" border="0"></td>' +
						'<td align="left" nowrap><font face="Arial, Helvetica, sans-serif" size="1" color="#003366"><b>'  + year + '</b></font></td>' +
					'</tr>' +
				'</table>' +
			'</td>' +
		'</tr>' +
		'<tr>' +
			'<td>' +
				'<table width="100%" border="0" cellspacing="1" cellpadding="2">' +
					'<tr>' +
						'<td align="center"><font face="Arial, Helvetica, sans-serif" size="1" color="#003366"><b>Ï</b></font></td>' +
						'<td align="center"><font face="Arial, Helvetica, sans-serif" size="1" color="#003366"><b>Â</b></font></td>' +
						'<td align="center"><font face="Arial, Helvetica, sans-serif" size="1" color="#003366"><b>Ñ</b></font></td>' +
						'<td align="center"><font face="Arial, Helvetica, sans-serif" size="1" color="#003366"><b>×</b></font></td>' +
						'<td align="center"><font face="Arial, Helvetica, sans-serif" size="1" color="#003366"><b>Ï</b></font></td>' +
						'<td align="center"><font face="Arial, Helvetica, sans-serif" size="1" color="#9000280"><b>Ñ</b></font></td>' +
						'<td align="center"><font face="Arial, Helvetica, sans-serif" size="1" color="#9000280"><b>Â</b></font></td>' +
					'</tr>' +
					'<tr>';

	var nextDay = 1;
	date.setDate(nextDay);
	var jumper = date.getDay();
	jumper-=1;
	if (jumper<0){
		jumper=6;
	}
	var counter = jumper;
	for (i = 0; i < jumper; i++) {
		str = str + '<td align="center" bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif" size="1" color="#003366">&nbsp;</font></td>';
	}
	while (counter < 7) {
		if (counter == 5 || counter == 6) {
			str = str +
				'<td align="center" bgcolor="#FFFFFF">' +
					'<a href="javascript:void(0)" onClick="mc_setDate(' + nextDay + ', ' + month + ', ' + year + ', \'' + dateId + '\', \'' + calId + '\', ' + strForm + '); ' + strCallback + '">' +
						'<font face="Arial, Helvetica, sans-serif" size="1" color="#9000280"><b>' + nextDay + '</b></font>' +
					'</a>' +
				'</td>';
		}
		else {	
			str = str +
				'<td align="center" bgcolor="#FFFFFF">' +
					'<a href="javascript:void(0)" onClick="mc_setDate(' + nextDay + ', ' + month + ', ' + year + ', \'' + dateId + '\', \'' + calId + '\', ' + strForm + '); ' + strCallback + '">' +
						'<font face="Arial, Helvetica, sans-serif" size="1" color="#003366"><b>' + nextDay + '</b></font>' +
					'</a>' +
				'</td>';
		}
		nextDay++;
		date.setDate(nextDay);
		counter++;
	}
	str = str + '</tr>';

	counter = 0;
	var isBuilding = true;
	while (isBuilding) {
		str = str + '<tr>';
		while (counter < 7) {
			if (date.getMonth() != dateNextMonth.getMonth()) {
				if (counter == 5 || counter == 6) {
					str = str +
						'<td align="center" bgcolor="#FFFFFF">' +
							'<a href="javascript:void(0)" onClick="mc_setDate(' + nextDay + ', ' + month + ', ' + year + ', \'' + dateId + '\', \'' + calId + '\', ' + strForm + '); ' + strCallback + '">' +
								'<font face="Arial, Helvetica, sans-serif" size="1" color="#900028"><b>' + nextDay + '</b></font>' +
							'</a>' +
						'</td>';
				}
				else {
					str = str +
						'<td align="center" bgcolor="#FFFFFF">' +
							'<a href="javascript:void(0)" onClick="mc_setDate(' + nextDay + ', ' + month + ', ' + year + ', \'' + dateId + '\', \'' + calId + '\', ' + strForm + '); ' + strCallback + '">' +
								'<font face="Arial, Helvetica, sans-serif" size="1" color="#003366"><b>' + nextDay + '</b></font>' +
							'</a>' +
						'</td>';
				}
				nextDay++;
				date.setDate(nextDay);
				counter++;
			}
			else {
				if (counter != 0) {
					for (t = counter; t < 7; t++) {
						str = str + '<td align="center" bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif" size="1" color="#003366">&nbsp;</font></td>';
					}
				}
				isBuilding = false;
				break;
			}
		}
		str = str + '</tr>';
		counter = 0;
	}

	str = str +
				'</table>' +
			'</td>' +
		'</tr>' +
		'<tr>' +
			'<td align="center"><a href="javascript:void(0)" onClick="mc_hideCalendar(\'' + calId + '\', ' + strForm + ');" bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif" size="1" color="#003366">Çàêðûòü</font></a></td>' +
		'</tr>' +
	'</table>';

	mc_findCalendarElement(calId, formId).innerHTML = str;
}

function mc_findDateElement(dateId, formId) {
	var obj = null;
	if (null == formId)
		obj = document.getElementById(dateId);
	else
		obj = document.forms[formId].elements[dateId];
	return obj;
}

function mc_findCalendarElement(calId, formId) {
	// Obtain div via form - form.all[] works fine in IE;
	// TODO: find solution for Netscape.
	return document.getElementById(calId);
}

