
	function calendarHTML(_layer,_field,_ts)
		{
		eval("var date=document.mailform." + _field + ".value");

		var ts=tsCurrent;
		if(date)
			ts=date2ts(field2date(date));
		if(_ts)
			ts=_ts;

		var tsSelected=(date)? date2ts(field2date(date)) : tsCurrent;

		var html_,tsBack,tsForward;

		calendarMonth=ts2date(ts);
		selectedDay=ts2date(tsSelected);

		dateForward=monthIncrement(ts,1);
		dateBack=monthIncrement(ts,-1);

		tsForward=date2ts(dateForward);
		tsBack=date2ts(dateBack);

		html_="<table width=300 border=0 cellspacing=0 cellpadding=1 bgcolor=#aaaaaa><tr><td>";

		//month

		html_+="<!--monthnav--><table width=100% border=0 cellspacing=0 cellpadding=3>";
		html_+="<tr bgcolor=#ffffff><td><a href=javascript:void(null) onclick=calendarCreate('"+_layer+"','" + _field + "','" + tsBack +"');>&lt;&lt;</td><td width=100% align=center><b>"+calendarMonth.month+" "+calendarMonth.year+"</b></td><td><a href=javascript:void(null) onclick=calendarCreate('"+_layer+"','" + _field + "','"+tsForward+"')>&gt;&gt;</td></tr></table>";

		//days

		html_+="<!--days--><table width=100% border=0 align=center cellspacing=0 cellpadding=3>";
		html_+="<tr class=small bgcolor=#eeeeee>";

		for(i=1;i<=7;i++)
			{
			var i_=(i<7)? i:0;
			html_+="<td align=center>"+wdays[i_]+"</td>";
			}
		html_+="</tr>";

		//mdays

		firstDay=new Date(calendarMonth.year,calendarMonth.monthNum,1);
		firstDayWdayNum=firstDay.getDay();
		colspan=eval(firstDayWdayNum)-1;

		emptyCellBegin=(colspan>0)? "<td colspan="+colspan+">&nbsp;</td>" : 0;

		var cells=0;

		for(i=1;i<32;i++)
			{
			cells++;

			dateCalendarDay=new Date(calendarMonth.year,calendarMonth.monthNum,i);

			calendarDay=dateObj(dateCalendarDay.getFullYear(), dateCalendarDay.getMonth(), dateCalendarDay.getDate());

			calendarDayTs=inputHidden=date2ts(calendarDay);
			inputDate=date2Readable(calendarDay);

			if(cells==1)
				{
				html_+="<tr bgcolor=#ffffff class=small>";

				if(i==1 && emptyCellBegin)
					{
					html_+=emptyCellBegin;
					cells=eval(cells)+colspan;
					}
				}

			if(calendarDay.monthNum1>calendarMonth.monthNum1)
				break;

			html_+="<td align=center>";

			dateClass="CDate";
			if(calendarDayTs==tsSelected)
				dateClass="CDateSelected";
			if(calendarDayTs==tsCurrent)
				dateClass="CDateCurrent";
			if(calendarDayTs==tsSelected && calendarDayTs==tsCurrent)
				dateClass="CDateCurrentSelected";

			html_+="<a href=javascript:void(null) onclick=calendarSetDate('"+_layer+"','"+ _field +"','"+inputDate+"'); class="+dateClass+">"+i+"</a>";
			html_+="</td>";

			if(cells==7)
				{
				cells=0;
				html_+="</tr>";
				}
			}
		
		html_+="</table>";
		html_+="</td></tr></table>";

		return html_;
		}

	function calendarCreate(_layer,_field,_ts)
		{
		layerWrite(_layer,calendarHTML(_layer,_field,_ts));
		return 1;
		}


	function calendarShow(_layer,_field,_ts)
		{
		calendarCreate(_layer,_field,_ts);
		layerSwap(_layer,'visible');
		return 1;
		}


	function calendarSetDate(_layer,_field,_date)
		{
		eval("document.mailform." + _field + ".value='" + _date + "';");
		layerSwap(_layer,'hidden');
		return 1;
		}


