
function maxDays(mm, yyyy){
var mDay;
	if((mm == 3) || (mm == 5) || (mm == 8) || (mm == 10)){
		mDay = 30;
  	}
  	else{
  		mDay = 31
  		if(mm == 1){
   			if (yyyy/4 - parseInt(yyyy/4) != 0){
   				mDay = 28
   			}
		   	else{
   				mDay = 29
  			}
		}
  }
return mDay;
}

function changeBgOver(id){ eval(id).style.backgroundColor = "#C0C0C0" }

function changeBgOut(id){ eval(id).style.backgroundColor = "white" }


function writeCalendar(){
var now = new Date
var dd = now.getDate()
var mm = now.getMonth()
var dow = now.getDay()
var yyyy = now.getFullYear()
var arrM = new Array("Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь")

var arrY = new Array()
	for (ii=0;ii<=4;ii++){
		arrY[ii] = yyyy - 2 + ii
	}
var arrD = new Array("Пн","Вт","Ср","Чт","Пт","Сб","Вс")

var text = ""
text = "<form name=calForm style='display:inline'>"
text += "<table border=0 cellspacing=2 cellpadding=2 width='180'>"
text += "<tr><td style='border: 1px solid #808080' bgcolor=#E8E8E8 height=20>"
text += "<table width='100%'><tr>"
text += "<td align=left>"
text += "<select name=selMonth style='font-family: Tahoma; font-size: 10pt' onChange='changeCal()'>"
	for (ii=0;ii<=11;ii++){
		if (ii==mm){
			text += "<option value= " + ii + " Selected>" + arrM[ii] + "</option>"
		}
		else{
			text += "<option value= " + ii + ">" + arrM[ii] + "</option>"
		}
	}
text += "</select>"
text += "</td>"
text += "<td align=right>"
text += "<select name=selYear style='font-family: Tahoma; font-size: 10pt' onChange='changeCal()'>"
	for (ii=0;ii<=4;ii++){
		if (ii==2){
			text += "<option value= " + arrY[ii] + " Selected>" + arrY[ii] + "</option>"
		}
		else{
			text += "<option value= " + arrY[ii] + ">" + arrY[ii] + "</option>"
		}
	}
text += "</select>"
text += "</td>"
text += "</tr></table>"
text += "</td></tr>"
text += "<tr><td style='border: 0px solid #808080'>"
text += "<table border=0 cellspacing=2 cellpadding=2 width=100% height=100%>"
text += "<tr>"
	for (ii=0;ii<=6;ii++){
		text += "<td style='border-bottom: 1px solid #808080' align=center><span class=label>" + arrD[ii] + "</span></td>"
	}
text += "</tr>"
aa = 0
	for (kk=0;kk<=5;kk++){
		text += "<tr>"
		for (ii=0;ii<=6;ii++){
		text += "<td id=td" + aa + " align=center><span id=sp" + aa + ">1</span></td>"
			aa += 1
		}
		text += "</tr>"
	}
text += "</table>"
text += "</td></tr>"
text += "</table>"
text += "</form>"

document.write(text)

changeCal()
}
function changeCal(){
var now = new Date
var dd = now.getDate()
var mm = now.getMonth()
var dow = now.getDay()
var yyyy = now.getFullYear()
var currM = parseInt(document.calForm.selMonth.value)
var prevM
if (currM!=0){ prevM = currM - 1 }
else{ prevM = 11 }

var currY = parseInt(document.calForm.selYear.value)
var mmyyyy = new Date()

mmyyyy.setFullYear(currY)
mmyyyy.setMonth(currM)

// ###################################################
mmyyyy.setDate(0)
var day1 = mmyyyy.getDay()
if (day1 == 0){ day1 = 7 }


var arrN = new Array(41)

var aa
	for (ii=0;ii<day1;ii++){
		//arrN[ii] = maxDays((prevM),currY) - day1 + ii + 1
		arrN[ii] = ''

	}
	aa = 1
	for (ii=day1;ii<=day1+maxDays(currM,currY)-1;ii++){
arrN[ii] = aa

// printing days after today - current month
if ((arrN[ii]>dd)&&(mm==currM)&&(yyyy==currY))
{ arrN[ii] = '<font color="#808080">'+aa+'</font>' }

// printing days after today - next years
else if (currY>yyyy)
{ arrN[ii] = '<font color="#808080">'+aa+'</font>' }

// printing days after today - next months and years
else if ((currM>mm)&&(currY>=yyyy))
{ arrN[ii] = '<font color="#808080">'+aa+'</font>' }

// printing today - red, underline href
else if ((arrN[ii]==dd)&&(mm==currM)&&(yyyy==currY))
{ arrN[ii]='<a style="text-decoration: underline; color: red" href=/cgi-bin/arc/select.cgi?db=news&type=by_date&q='+currY+'-'+(currM+1)+'-'+arrN[ii]+'&start=0>'+arrN[ii]+'</a>' }

// printing days before - general style href
else { arrN[ii]='<a style="text-decoration: none; color: #333333" href=/cgi-bin/arc/select.cgi?db=news&type=by_date&q='+currY+'-'+(currM+1)+'-'+arrN[ii]+'&start=0>'+arrN[ii]+'</a>' }
		
		aa += 1
	}
	aa = 1
	for (ii=day1+maxDays(currM,currY);ii<=41;ii++){
		arrN[ii] = ''
		//arrN[ii] = aa

		aa += 1
	}
	for (ii=0;ii<=41;ii++){
		eval("sp"+ii).style.backgroundColor = "#FFFFFF"
	}

var dCount = 0
	for (ii=0;ii<=41;ii++){
		if (((ii<7)&&(arrN[ii]>20)) || ((ii>27)&&(arrN[ii]<20))){
			eval("sp"+ii).innerHTML = arrN[ii]
			eval("sp"+ii).className = "c3"
		}
		else{
			eval("sp"+ii).innerHTML = arrN[ii]
			if ((dCount==5) || (dCount==6)){
				eval("sp"+ii).className = "c2"
			}
			else{
				eval("sp"+ii).className = "c1"
			}
			if ((arrN[ii]==dd)&&(mm==currM)&&(yyyy==currY)){
				eval("td"+ii).style.backgroundColor="#C0C0C0"
				//eval("sp"+ii).style.backgroundColor="#C0C0C0"
				//eval("td"+ii).style.borderColor="red"
				//eval("sp"+ii).style.textDecoration="underline"
			}
		}
	dCount += 1
	if (dCount>6){ dCount=0 }
	}
}

