	var month;
	
	var dfind=document.forms["show_action"];
	
	var monthin;
	var dayin;
	var yearin;
	
	var monthout;
	var dayout;
	var yearout;
	
	var date_in;
	var date_out;
	
	var step = 0;

	
	var curdate = new Date ();	
	
	var curr_day;
	var curr_month;
	var curr_year;
	
	var date_cur;
	
	
	getDate();

	
	var draw_month = monthin;  
	var draw_year = yearin;  
	
	var ud1, um1, uy1, pred_um1, pred_uy1;
	var ud2, um2, uy2;
	var date_new1;
	
	var GlDrow_m, GlDrow_y;
	
	var KalendarPlus;
	
	um1=draw_month;
	uy1=draw_year;
	initCalendar(draw_month, draw_year);


function getDays (month, year) {
    var ar = new Array (12);
    ar[0] = 31;
    ar[1] = (leapYear(year)) ? 29 : 28;
    ar[2] = 31;
    ar[3] = 30;
    ar[4] = 31;
    ar[5] = 30;
    ar[6] = 31;
    ar[7] = 31;
    ar[8] = 30;
    ar[9] = 31;
    ar[10] = 30;
    ar[11] = 31;
    return ar[month];
}

function leapYear (year) {
    if (year % 4 == 0) {
        return true;
    } else {
        return false;
    }
}

function getMonthName (month) {
    var ar = new Array (12);
    ar[0] = "Январь";
    ar[1] = "Февраль";
    ar[2] = "Март";
    ar[3] = "Апрель";
    ar[4] = "Май";
    ar[5] = "Июнь";
    ar[6] = "Июль";
    ar[7] = "Август";
    ar[8] = "Сентябрь";
    ar[9] = "Октябрь";
    ar[10] = "Ноябрь";
    ar[11] = "Декабрь";
	return ar[month];
}

function Obnul(ppp)
{

	dfind.elements["monthin"].value = 1;
	dfind.elements["dayin"].value = 1;
	dfind.elements["yearin"].value = 2000;

			
	dfind.elements["monthout"].value = 2;
	dfind.elements["dayout"].value = 1;
	dfind.elements["yearout"].value = 2000;
	
	KalendarPlus=0;
	
	RefreshDate();
	

	if (ppp) initCalendar(curr_month, curr_year);
	else initCalendar(pred_um1, pred_uy1);
	
	
	dfind.elements['check_ok'].disabled = true;

}

function initCalendar(draw_month, draw_year)
{  
    var CAL_1;
    var CAL_2;
	
	GlDrow_m=draw_month; GlDrow_y=draw_year;
	
	RefreshDate();
	
	pred_uy1=draw_year;
	pred_um1=draw_month;

    CAL_1 = drawCalendar (draw_month, draw_year, 1);
	
	var m2 = draw_month + 1;
	
	if (m2>11)
	{
		m2=0;
		y2=draw_year+1;
	}
	else
	{
		y2=draw_year;
	}
	
	
    CAL_2 = drawCalendar (m2, y2, 0);

var s_out = "<table cellpadding=\"0\" width=\"100%\" cellspacing=\"0\" align=\"center\"><tr><td align=left>Даты заезда и выезда:</td><td align=right><a href=\"javascript: Obnul(1);\">Очистить</a></td></tr><tr height=6><td></td></tr></table><table cellpadding=\"0\" width=\"100%\" cellspacing=\"0\" align=\"center\"><tr>"+"<td valign=\"top\" width=\"119\">"+CAL_1+"</td>"+"<td width=\"5\">&nbsp;</td>"+"<td width=\"119\" valign=\"top\">"+CAL_2+'</td></tr></table>';

	document.getElementById("kalendar").innerHTML = s_out;

}

function KP()
{
	KalendarPlus=KalendarPlus+1;
}

function KM()
{
	KalendarPlus=KalendarPlus-1;
}


function drawCalendar(draw_month, draw_year, levo)
{
	var Pcolor, FontColor;

	var monthName = getMonthName(draw_month);


	
	var date = new Date (draw_year, draw_month, 1);
	   
    var day  = date.getDay ();
	var days = getDays (draw_month,draw_year);
	
	var year = draw_year;
	
	var year_minus;
	var year_plus;
	
	var mon_minus = draw_month - 1;	
	if (mon_minus<0)
	{
		mon_minus=11;
		year_minus=draw_year-1;
	}
	else
	{
		year_minus=draw_year;
	}
	

   var TABLE = "";	
   var TAB = "";
   
   
	var TAB1 = '<table cellpadding="0" cellspacing="0" width="100%"><tr>';
	
	if (levo) 
	{
		TAB = '<td align=right><font style="FONT-SIZE: 9px" color="white">'+monthName + ', ' + draw_year+'</font>&nbsp;&nbsp;</td>';
	
		if (  KalendarPlus>0 ) TAB = '<td align=left>&nbsp;&nbsp;<a href="javascript: KM(); initCalendar('+ mon_minus + ',' + year_minus +');" style="FONT-SIZE: 11px" class="kalendar"><<</a>' + TAB;
	}
	else 
	{		
		TAB = '<td align=left>&nbsp;&nbsp;<font style="FONT-SIZE: 9px" color="white">'+monthName + ', ' + draw_year+'</font></td>';
		
		if (KalendarPlus<13) TAB = TAB + '<td align=right><a href="javascript: KP();initCalendar('+ draw_month + ',' + draw_year +');" style="FONT-SIZE: 11px" class="kalendar">>></a>&nbsp;&nbsp;</td>';
	}
	
	TAB = TAB1 + TAB + '</tr></table>';

 
	TABLE += '<table cellpadding="0" cellspacing="0" width="100%" class="btkal">';
    TABLE += '<tr valign=middle><td colspan="7" class="formonth" align=center height=17>';
	
	TABLE += '<table width=100% cellpadding="0" cellspacing="0" class="hkal"><tr><td align=center>'+TAB+'</td></tr></table>';
	
	TABLE += '</td></tr>';
		
		
	
    var openCol = '<td align=center>';
    var closeCol = '</td>';

    var weekDay = new Array (7);
    weekDay[0] = "пн";
    weekDay[1] = "вт";
    weekDay[2] = "ср";
    weekDay[3] = "чт";
    weekDay[4] = "пт";
    weekDay[5] = "сб";
    weekDay[6] = "вс";

    TABLE += '<tr>';
    for (var dayNum = 0; dayNum < 7; ++dayNum) {
		TABLE += openCol +'<font style="FONT-SIZE: 9px">'+ weekDay[dayNum] + '</font>' + closeCol;
    }
    TABLE += '</tr>';
	
    var digit = 1;
    var curCell = 1;

    if(day == 0 ) day = 7;
	
	var digit_utc = Date.UTC(draw_year, draw_month, 1, 12);
	
	for (var row = 1; row <= Math.ceil ((days + day -1) / 7); row ++) {
        TABLE += '<tr>\n';
        for (var col = 0; col < 7; col++) {
            if (curCell < day) {
                TABLE += '<td width="16" height="16"></td>';
                curCell++;
            } else {
			if (days >= digit) {
				if (date_cur > digit_utc) 			
					 TABLE += '<td align=center width="16" height="16" valign="middle"><div style="FONT-SIZE: 8px; padding-top:3px; width:16px; height:16px;display: table-cell;" class="noactiveday">' + digit + '</div></td>';
					else
					{						
						if ( (date_in<=digit_utc) && (digit_utc<date_out) )
						{
							Pcolor = "liveday";
						}
						else if (digit_utc==date_out) Pcolor = "dayout";	
                        else 
						{
							if (col>4) Pcolor = "active_weekend";
							else Pcolor = "activeday";
						}
						
						if (date_new1==digit_utc) Pcolor = "liveday";

						
						TABLE += '<td width="16" height="16" align="center" valign="middle"><div style="cursor: pointer; cursor: hand; FONT-SIZE: 8px; padding-top:3px; width:16px; height: 16px; display: table-cell;" onMouseMove="this.className=\'podsvetka\';" onMouseOut="this.className=\''+Pcolor+'\';" onClick="setParam(' + digit + ',' + draw_month + ',' + draw_year+');" class="'+Pcolor+'">' + digit + '</div></td>';


                        
						
                    }
					
                } else {
                    TABLE += '<td width="16" height="16">&nbsp;</td>';
                }
                digit ++;
				digit_utc=digit_utc+86400000;
		 }
        }
        TABLE += '</tr>\n';
    }
		
    TABLE += "</table>\n\n";
    return TABLE;
}


function setParam(day, mon, year)
{
	var ry,rm;
	
	step=step+1;

	
	if (step==1)
	{
	
		ud1=day;
		um1=mon;
		uy1=year;
		
		date_new1 = Date.UTC(uy1, um1, ud1, 12);
		
		ry=uy1;
		rm=um1;
		
	}
	else if (step==2)
	{
		ud2=day;
		um2=mon;
		uy2=year;

		var date_new2 = Date.UTC(uy2, um2, ud2, 12);
		
		if (date_new1<date_new2)
		{
			dfind.elements["monthin"].value = um1+1;
			dfind.elements["dayin"].value = ud1;
			dfind.elements["yearin"].value = uy1;
			
			ry=uy1;
			rm=um1;
			
			dfind.elements["monthout"].value = um2+1;
			dfind.elements["dayout"].value = ud2;
			dfind.elements["yearout"].value = uy2;
			RefreshDate();
		}
		else if (date_new1>date_new2)
		{
			dfind.elements["monthin"].value = um2+1;
			dfind.elements["dayin"].value = ud2;
			dfind.elements["yearin"].value = uy2;
			
			ry=uy2;
			rm=um2;
			
			dfind.elements["monthout"].value = um1+1;
			dfind.elements["dayout"].value = ud1;
			dfind.elements["yearout"].value = uy1;
			RefreshDate();			
		}
		else
		{
			step=1;
			ry=uy1;
			rm=um1;
		}
	}
	
	if (step==2)
	{
		step=0;
		date_new1=0;
		dfind.elements['check_ok'].disabled = false;
	}
	
	
	dddd = Date.UTC(ry, rm, 1, 12);
	tttt = Date.UTC(GlDrow_y, GlDrow_m, 1, 12);
	if (tttt<dddd) KP();
	
	if (step==1) Obnul(0);
	else initCalendar(pred_um1, pred_uy1);//initCalendar(rm, ry);
	
}

function getDate()
{
	monthin = parseInt(dfind.elements["monthin"].value)-1;
	dayin = parseInt(dfind.elements["dayin"].value);
	yearin = parseInt(dfind.elements["yearin"].value);
	
	monthout = parseInt(dfind.elements["monthout"].value)-1;
	dayout =parseInt(dfind.elements["dayout"].value);
	yearout =parseInt(dfind.elements["yearout"].value);
}	

function RefreshDate()
{
	
	getDate();
	
	date_in = Date.UTC(yearin, monthin, dayin, 12);
	date_out = Date.UTC(yearout, monthout, dayout, 12);

	
	curr_day   = curdate.getDate();
	curr_month = curdate.getMonth();
	curr_year  = curdate.getYear();
	
	if (curr_year<2000) curr_year = curr_year + 1900;

	date_cur = Date.UTC(curr_year, curr_month, curr_day, 12);
	
	
	a1 = Date.UTC(GlDrow_y, GlDrow_m, 1, 12);
	a2 = Date.UTC(curr_year, curr_month, 1, 12);
	
	bb = (a1 - a2)/86400000;
	
	bb = parseInt(bb/28);
	
	KalendarPlus = bb;

}

