var month=Array('янв','фев','мар','апр','май','июн','июл','авг','сен','окт','ноя','дек');;



function IsLeapYear(Year) {
	return ((Year % 4) == 0) && (((Year % 100) != 0) || ((Year % 400) == 0))
	}

function CalendarSD(y, m, d, input, div) {
	var ed = document.getElementById(input);
	var e = document.getElementById(div);

	if (!ed || !e) return;

	if (m < 10) {
		m = '0' + m;
	}

	if (d < 10) {
		d = '0' + d;
	}

	ed.value = d + '.' + m + '.' + y;
	e.style.visibility = 'hidden';
}

function ShowCalendarE(div, input, nohide) {
	var el = document.getElementById(input);

	m = el.value.substring(3, 5);
	y = parseInt(el.value.substring(6, 10));

	if (m == "01") m = 1;
	if (m == "02") m = 2;
	if (m == "03") m = 3;
	if (m == "04") m = 4;
	if (m == "05") m = 5;
	if (m == "06") m = 6;
	if (m == "07") m = 7;
	if (m == "08") m = 8;
	if (m == "09") m = 9;

	ShowCalendar(y, m, div, input, nohide);
}

function ShowCalendar(y, m, div, input, nohide) {
    var mdays_noleap = Array(31,28,31,30,31,30,31,31,30,31,30,31);
    var mdays_leap = Array(31,29,31,30,31,30,31,31,30,31,30,31);
	
	var e=document.getElementById(div);
	if (!e) return;

	var el=document.getElementById(input);
	day = parseInt(el.value.substring(0, 2));

	if (nohide==0) if (e.style.visibility=='visible') {e.style.visibility='hidden';return;}
	
	if (e.style.width != '200px') {
		e.style.left=e.offsetLeft-5;
		e.style.width = '200px';
	}

	e.style.visibility='visible';

	if (IsLeapYear(y)) mdays=mdays_noleap; else mdays=mdays_leap;

	var d = '';
	var fday = new Date(y, m-1, 1);
	var dow=fday.getDay();

	if (dow==0) dow=7;

	m=parseInt(m);
	if (m==12) {mn=1;yn=y+1;} else {mn=m+1;yn=y;}
	if (m== 1) {mp=12;yp=y-1;} else {mp=m-1;yp=y;}

	d+='<table width=100% border=0 cellspacing=0 cellpadding=3><tr bgcolor="#e9ebf1">';
	d+='<td width="33%" valign="top"><a href="javascript:ShowCalendar('+yp+','+mp+',\''+div+'\',\''+input+'\',1);"><img src=/img/arrow_prev.gif width=13 height=13 border=0 align=absmiddle>'+month[mp-1]+'</a></td>';
	d+='<td width="33%" align=center valign="top">'+month[m-1]+' '+y+'</td>';
	d+='<td width="33%" align=right valign="top"><table border=0 cellspacing=0 cellpadding=0><tr><td valign="top"><a href="javascript:ShowCalendar('+yn+','+mn+',\''+div+'\',\''+input+'\',1);">'+month[mn-1]+'</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td valign="top"><a href="javascript:ShowCalendar('+yn+','+mn+',\''+div+'\',\''+input+'\',1);"><img src=/img/arrow_next.gif width=13 height=13 border=0 align=absmiddle></a></td></tr></table></td>';
	d+='</tr></table>';

	d+='<table width=90% border=0 cellspacing=1 cellpadding=3 align=center>';
	d+='<tr align=center><td>пн</td><td>вт</td><td>ср</td><td>чт</td><td>пт</td><td>сб</td><td>вс</td></tr>';
	d+='<tr><td colspan=7 bgcolor=#000000></td></tr>';
	d+='<tr class="tbl1">';
	if (dow!=1) d+='<td colspan="'+(dow-1)+'">&nbsp;</td>'
	var i=1;
	do {
		if (i == day) {
			style = ' style="color: #FFFFFF; background-color: #ff7f00;"'; 
		} else {
			style = ' style="cursor: hand; "';
		}

		d+='<td align="right" ' + style + ' onClick="CalendarSD('+y+','+m+','+i+',\''+input+'\',\''+div+'\');"><a href="javascript:CalendarSD('+y+','+m+','+i+',\''+input+'\',\''+div+'\');">'+i+"</a></td>";
		i++;
		dow++;
		if (dow > 7) {d+='</tr>\n<tr class="tbl1">';dow=1;}
		} while (i<=mdays[m-1]);
	
	if (dow!=0) d+='<td colspan="'+(8-dow)+'">&nbsp;</td>';

	d+='</tr></table>';

	if (e) e.innerHTML=d;
}