  function createCalendar(a)
  {
    document.getElementById('calendar').innerHTML='';	
	if(a==0) dat = new Date();
 	else dat = new Date(document.getElementById('years').value,document.getElementById('month').value,1);
 	var mon = Array ("Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь");
 	var day1 = new Array("Пн","Вт","Ср","Чт","Пт","Сб","Вс");
 	var e, countdays=31;
	var cssth="	background-color:#db0102;color:#fcffff;font: 12px Arial;	font-weight:bold;	text-align:center;	height:20px;	width:25px;	border-color: #f7f2df;	border: 1px solid;";
    var csstc = "background-color:#fcf9f0;color:#9a9a9a;font: 12px Arial;text-align:center;height:20px;	width:25px;	border: 1px solid #f7f2df;";
	var csstn = "background-color:#ffffff;color:#d60201;font: 12px Arial;text-decoration:underline;text-align:center;height:20px;	width:25px;	border: 1px solid #f7f2df;";
 	if (a==0)
  	{
  		dat.setDate(1);
  		selmon=document.createElement("select");
  		selmon.id="month";
  		selmon.style.cssText="padding-top:1px;padding-left:4px; border:1px solid #dcdbbf;width:100px ";
  		selmon.onchange= function(){createCalendar(1);};
  		document.getElementById('tdmonth').appendChild(selmon);	
  		
  		for(i=0;i<=11;i++)
			{
			  selmon.appendChild(document.createElement("option"));
			  selmon.options[i].value = i;
			  selmon.options[i].text = mon[i];
			  if (dat.getMonth()==i) selmon.options[i].selected = 1;
			}
  		
  		
  		selyear=document.createElement("select");
  		selyear.id="years";
  		selyear.style.cssText="padding-top:1px;padding-left:4px; border:1px solid #dcdbbf; width:60px";
  		selyear.onchange= function(){createCalendar(1);};
  		document.getElementById('tdyears').appendChild(selyear);	
  		for(i=2008;i<=dat.getFullYear(r=new Date());i++)
		  	{
		  		selyear.appendChild(document.createElement("option"));
				selyear.options[i-2008].value = i;
				selyear.options[i-2008].text = i;
				if (dat.getFullYear()==i) selyear.options[i-2008].selected = 1;
	 	 	}
 	 }
        e=document.createElement('table');
        e["cellPadding"]=0;
        e['cellSpacing'] = 0;
        e.style.cssText = "border: 1px solid #e9ddc1;width:100%";
        row=e.insertRow(0);
        var d=dat.getDay()-1;
        if (d<0) d=6; 
        //формируем заголовок
      	for (j=0;j<7;j++)
			{
				cell=row.insertCell(j);
				cell.style.cssText = cssth;
				cell.innerHTML=day1[j];
			}
		//формируем сам календарь	
		
		//сначала пустые ячейки если они есть
		j=1;
		row=e.insertRow(j);
		row.setAttribute("height",15);
		row["height"] =15;
		for (i=0;i<d;i++)
			{
				cell=row.insertCell(i);
				cell.style.cssText = csstc;
			}
			m=dat.getMonth();
		// теперь дни которые есть
		while(m==dat.getMonth())	
			{
				cell=row.insertCell(i);
				cell.setAttribute("height",15);
      	cell["height"] =15;
				i++;
				if (i==7)
				{
					i=0;
					j++;
		//			alert(m);
					row=e.insertRow(j);


				}				
				strdate=""+(dat.getFullYear());
				if (dat.getMonth()>8) strdate+=(dat.getMonth()+1);
				else strdate+="0"+(dat.getMonth()+1);
				if (dat.getDate()>9) strdate+=dat.getDate();
				else strdate+="0"+dat.getDate();
				if (sdate[strdate]===undefined) {
					cell.style.cssText = csstc;
					cell.innerHTML=dat.getDate();
				}
				else {
					cell.style.cssText = csstn;
				    cell.innerHTML='<a style="'+csstn+'" href="/showNewsOnDay/'+strdate+'/">'+dat.getDate()+"</a>";
				}
				dat.setDate(dat.getDate()+1);
			}
			// и пустые ячейки до конца недели
			if (i!=0)
			{
  			for (i;i<7;i++)
  			{
  				cell=row.insertCell(i);
  				cell.style.cssText = csstc;
  			}
			} 

        document.getElementById('calendar').appendChild(e);     
}