var currentDate = new Date();
var currentDay = currentDate.getDate();
var currentMonth = currentDate.getMonth();
var currentYear = (currentDate.getYear() < 1900)? (currentDate.getYear() + 1900) : currentDate.getYear();
var calendarObj;

function showCalendar(){	
	createYearsSelect('topDiv');
	createMonthsSelect('topDiv');
	createDatesTable('rightDiv');
	updateCalendar(currentYear, currentMonth);
}
function setDateORIGINAL(_d, _m, _y){
	if(_y <= currentYear){
		if (_m <= currentMonth){
			if(_d <= currentDay){
				if (_d.length == 1){_d = '0' + _d}
				var _m = parseInt(_m) + 1;
				if (_m.toString().length == 1){_m = '0' + _m}
				window.location = '/k-br/kbr-main.nsf/NewsCalend?OpenForm&date='+ _d + '.' + _m + '.' + _y;
			}
		}
	
	}
	else{return false;}
}


function setDate(_d, _m, _y){
	if(_y >currentYear){return false;}
	else{
		if(_y == currentYear){
			if(_m>currentMonth){return false;}
			else{
				if(_m<currentMonth){
					if (_d.length == 1){_d = '0' + _d}
					var _m = parseInt(_m) + 1;
					if (_m.toString().length == 1){_m = '0' + _m}
					window.location = '/k-br/kbr-main.nsf/NewsCalend?OpenForm&date='+ _d + '.' + _m + '.' + _y;
				}else{
					if(_d <= currentDay){
						if (_d.length == 1){_d = '0' + _d}
						var _m = parseInt(_m) + 1;
						if (_m.toString().length == 1){_m = '0' + _m}
						window.location = '/k-br/kbr-main.nsf/NewsCalend?OpenForm&date='+ _d + '.' + _m + '.' + _y;
					}else{return false;}
				}
			}
		}else{
			if (_d.length == 1){_d = '0' + _d}
			var _m = parseInt(_m) + 1;
			if (_m.toString().length == 1){_m = '0' + _m}
			window.location = '/k-br/kbr-main.nsf/NewsCalend?OpenForm&date='+ _d + '.' + _m + '.' + _y;
		}
	}
}

function updateCalendar(year, month){
	var newDate = new Date(year, month, 1);
	var weekDay = ((newDate.getDay()-1) < 0)? 6 : (newDate.getDay()-1);
	var daysAmount = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	daysAmount[1] = (((year%4 == 0) && (year%100 != 0)) ||	(year%400 == 0))? 29 : 28;
	var day = 1;
	for (var i = 0; i <= 41; i++){
		var _obj = document.getElementById('date_' + i);
		if ((i < weekDay)){
			_obj.innerHTML = "";
			_obj.style.visibility = 'hidden';			
		}
		else if ((day > daysAmount[month])){
			_obj.style.display = 'none'; 
		}
		else{
			_obj.style.visibility = 'visible';
			_obj.style.display = ''; 
			_obj.style.width = '27px';
			_obj.innerHTML = day;
			_obj.onmouseover = function(){this.style.background = '#DEEAEE'; this.style.borderColor = '#c0c0c0'; this.style.cursor = 'pointer';}
			_obj.onmouseout = function(){this.style.background = ''; this.style.borderColor = '#0073AB';}
			_obj.onclick = function(){setDate(this.firstChild.nodeValue, month, year);}			
			day++;
		}
	}
}

function handler(year, month){
	var yearSelect = document.getElementById(year);
	var monthSelect = document.getElementById(month);	
	updateCalendar(yearSelect.options[yearSelect.selectedIndex].value, monthSelect.options[monthSelect.selectedIndex].value);
}
function createDatesTable(id){
	var newTABLE = document.createElement('table');
	newTABLE.setAttribute('id', 'numbers');
	newTABLE.setAttribute('cellSpacing', '2');
	newTABLE.setAttribute('cellPadding', '0');
	document.getElementById(id).appendChild(newTABLE);
	
	var newTBODY = document.createElement('tbody');
	newTABLE.appendChild(newTBODY);
	
	for (var i = 0; i <= 6; i++){
		var newTR = document.createElement('tr');
		if (i == 5 || i == 6){newTR.className = 'weekend';}
		newTBODY.appendChild(newTR);
		for (var j = 0; j <= 5; j++) {
			newTD = document.createElement('td');
			newTD.setAttribute('id', 'date_' + (i + j*7));
			newTR.appendChild(newTD);
		}
	}
}

function createYearsSelect(id){
	var newSPAN = document.createElement('span');
	newSPAN.setAttribute('id', 'years');
	document.getElementById(id).appendChild(newSPAN);
	
	var newSELECT = document.createElement('select');
	newSELECT.setAttribute('id', 'yearSelect');
	newSELECT.onchange = function(){ handler('yearSelect', 'monthSelect');}
	newSPAN.appendChild(newSELECT);	
	for (var i = 2008; i <= 2011; i++){
		var newOPTION = document.createElement('option');
		newOPTION.setAttribute('value', i);
		newOPTION.innerHTML = i;
		if (currentYear == i){newOPTION.setAttribute('selected', true);}
		newSELECT.appendChild(newOPTION);		
	}
}
function createMonthsSelect(id){
	var months = new Array('ßíâàðü','Ôåâðàëü','Ìàðò','Àïðåëü','Ìàé','Èþíü','Èþëü','Àâãóñò','Ñåíòÿáðü','Îêòÿáðü','Íîÿáðü','Äåêàáðü');
	
	var newSPAN = document.createElement('span');
	newSPAN.setAttribute('id', 'months');
	document.getElementById(id).appendChild(newSPAN);
	
	var newSELECT = document.createElement('select');
	newSELECT.setAttribute('id', 'monthSelect');
	newSELECT.onchange = function(){ handler('yearSelect', 'monthSelect');}
	newSPAN.appendChild(newSELECT);
	
	for (var i = 0; i <= 11; i++){
		var newOPTION = document.createElement('option');
		newOPTION.setAttribute('value', i);
		newOPTION.innerHTML = months[i];
		if (currentMonth == i){newOPTION.setAttribute('selected', true);}
		newSELECT.appendChild(newOPTION);		
	}
}
