var months = new Array('Януари','Февруари','Март','Април','Май','Юни','Юли','Август','Септември','Октомври','Ноември','Декември');

function setToday() {
	var now   = new Date();
	var day   = now.getDate();
	var month = now.getMonth();
	var year  = now.getYear();
	if (year < 2000) year = year + 1900;
	this.focusDay = day;
	displayCalendar(month, year);
}

function isFourDigitYear(year) {
	if (year.length != 4) {
		//alert ("Sorry, the year must be four-digits in length.");
	}
	else {
		return true;
	}
	return true;
}

function selectDate() {
	var year  = document.calControl.year.value;
	if (isFourDigitYear(year)) {
		var day   = 0;
		var month = document.calControl.month.selectedIndex;
		displayCalendar(month, year);
	}
}

function setPreviousYear() {
	var year  = calendarcontrolyear.innerHTML;
	if (isFourDigitYear(year)) {
		var day   = 0;
		var month = 0;
		for (var i=0;i<months.length;i++) {
			if (months[i]==calendarcontrolmonth.innerHTML) month=i;
		}
		year--;
		if (year<2000) year = 2020;
		calendarcontrolyear.innerHTML = year;
		displayCalendar(month, year);
	}
}

function setPreviousMonth() {
	var month = 0;
	var year  = calendarcontrolyear.innerHTML;
	if (isFourDigitYear(year)) {
		for (var i=0;i<months.length;i++) {
			if (months[i]==calendarcontrolmonth.innerHTML) month=i;
		}
		if (month == 0) {
			month = 11;
			if (year > 1000) {
				year--;
				calendarcontrolyear.innerHTML = year;
			}
		}
		else {
			month--;
		}
		calendarcontrolmonth.innerHTML = months[month];
		displayCalendar(month, year);
	}
}

function setNextMonth() {
	var year  = calendarcontrolyear.innerHTML;
	if (isFourDigitYear(year)) {
		for (var i=0;i<months.length;i++) if (months[i]==calendarcontrolmonth.innerHTML) month=i;
		if (month == 11) {
			month = 0;
			year++;
			calendarcontrolyear.innerHTML = year;
		}
		else {
			month++;
		}
		calendarcontrolmonth.innerHTML = months[month];
		displayCalendar(month, year);
	}
}

function setNextYear() {
	var year = calendarcontrolyear.innerHTML;
	if (isFourDigitYear(year)) {
		var day = 0;
		var month = 0;
		for (var i=0;i<months.length;i++) {
			if (months[i]==calendarcontrolmonth.innerHTML) month=i;
		}
		year++;
		if (year>2020) year = 2000;
		calendarcontrolyear.innerHTML = year;
		displayCalendar(month, year);
	}
}

function displayCalendar(month, year) {
	var now		= new Date();
	var nowday	= now.getDate();
	var nowmonth	= now.getMonth();
	var nowyear	= now.getYear();
	if (nowyear < 2000) nowyear = nowyear + 1900;

	month = parseInt(month);
	year = parseInt(year);
	var i = 0;
	var j;
	var days = getDaysInMonth(month+1,year);
	var firstOfMonth = new Date (year, month, 1);
	var startingPos = firstOfMonth.getDay()-1;
	if (startingPos<0) startingPos=6;
	days += startingPos;
	var s='';
	s+='<table width=100% class=calendar><col><col><col><col><col><col class=weekend><col class=weekend><tr class=title><td>П<td>В<td>С<td>Ч<td>П<td>С<td>Н';
	for (i = 0; i < startingPos; i++) {
		if ( i%7 == 0 ) {
			s+='<tr>';
		}
		s+='<td>';
	}
	for (i = startingPos; i < days; i++) {
		if ( i%7 == 0 ) {
			s+='<tr>';
		}
		if (i-startingPos+1 < 10) {
			// допълваща нула
		}
		j=i-startingPos+1;
		if (year==nowyear && month==nowmonth && j==nowday) {
			s+='<td class=today>'+j;
		}
		else s+='<td>'+j;
	}
	s+='</table>';
	calendar.innerHTML=s;
	calendarcontrolmonth.innerHTML = months[month];
	calendarcontrolyear.innerHTML = year;
}

function getDaysInMonth(month,year)  {
	var days;
	if (month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)  days=31;
	else if (month==4 || month==6 || month==9 || month==11) days=30;
	else if (month==2)  {
		if (isLeapYear(year)) { days=29; }
		else { days=28; }
	}
	return (days);
}

function isLeapYear (Year) {
	if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) {
		return (true);
	}
	else {
		return (false);
	}
}


function updateClock ( ) {
	var currentTime = new Date ( );
	var currentHours = currentTime.getHours ( );
	var currentMinutes = currentTime.getMinutes ( );
	var currentSeconds = currentTime.getSeconds ( );
	currentMinutes = ( currentMinutes < 10 ? "0" : "" ) + currentMinutes;
	currentSeconds = ( currentSeconds < 10 ? "0" : "" ) + currentSeconds;
	var timeOfDay = ( currentHours < 12 ) ? "AM" : "PM";
	//currentHours = ( currentHours > 12 ) ? currentHours - 12 : currentHours;
	currentHours = ( currentHours == 0 ) ? 24 : currentHours;
	var currentTimeString = currentHours + ":" + currentMinutes + ":" + currentSeconds;// + " " + timeOfDay;
	document.getElementById("clock").firstChild.nodeValue = currentTimeString;
}
