function drawCalendar(day, month, year, width) {
		var text = '';
		text += '<div style="text-align: center; width: '+width+'px;" id="calendarContent">';
		text += '<select id="calendarMonth" onchange="document.getElementById(\'calendarSubmitButton\').click()"><option value="0">January</option>';
		text += '<option value="1">February</option><option value="2">March</option>';
		text += '<option value="3">April</option><option value="4">May</option>';
		text += '<option value="5">June</option><option value="6">July</option>';
		text += '<option value="7">August</option><option value="8">September</option>';
		text += '<option value="9">October</option><option value="10">November</option>';
		text += '<option value="11">December</option></select> ';
		text += '<input type="text" size="4" id="calendarYear" value="'+year+'" /> <input type="submit" value="Set" onclick="setCalendarPage(0); return false;" id="calendarSubmitButton" />';
		text += '<table style="width: 100%; margin-top: 3px;" class="tbl_content" id="calendarTable"><tbody>';
		text += '<tr>';
		text += '<th style="width: 14%;">Sun</th>';
		text += '<th style="width: 14%;">Mon</th>';
		text += '<th style="width: 14%;">Tue</th>';
		text += '<th style="width: 14%;">Wen</th>';
		text += '<th style="width: 14%;">Thu</th>';
		text += '<th style="width: 14%;">Fri</th>';
		text += '<th style="width: 14%;">Sat</th>';
		text += '</tr>';
		text += '</tbody></table>';
		text += '</div>';

		document.getElementById('calendar').innerHTML = text;

		document.getElementById('calendarMonth').options[month].selected = "selected";

		setCalendarDate(ActualYear, ActualMonth, ActualDay);

		return true;
}


function clearCalendarRows() {
		var obj = document.getElementById("calendarTable");
		var len = obj.rows.length;

		for(var i = 1; i < len; i++) {
				obj.deleteRow(1);
		}

		return true;
}



function setCalendarPage(setDay) {
		var year = document.getElementById('calendarYear').value;
		
		calendarLoading(true);
		
		var month;
		var monthObj = document.getElementById('calendarMonth').options;
		var len = monthObj.length;

		for(var i = 0; i < len; i++) {
				if(monthObj[i].selected=="selected" || monthObj[i].selected==true) {
						month = i;
				}
		}
		
		
		if(year == '')
		{
			return true;
		}
		
		
		year = parseInt(year);
		month = parseInt(month);
		
		var http_request;
		
		if (window.XMLHttpRequest) {
				http_request = new XMLHttpRequest();
		} else if (window.ActiveXObject) {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
		}
		
		http_request.onreadystatechange = function(){
				if (http_request.readyState == 4) {
						setCalendarPage2(setDay, month, year, http_request.responseXML);
				}
		};
		
		var url = 'xml.php?m='+(month+1)+'&y='+year;
		
		http_request.open('GET', url, true);
		http_request.send(null);
		
		
		return true;
}



function calendarLoading(what) {
		if(what == true) {
				clearCalendarRows();
				document.getElementById('calendarMonth').disabled = true;
				document.getElementById('calendarYear').disabled = true;
				document.getElementById('calendarSubmitButton').disabled = true;
				var row = document.getElementById('calendarTable').insertRow(1);
				var cell = row.insertCell(0);
				cell.colSpan = 7;
				cell.innerHTML = '<br />Ładowanie...<br /><br />';
		}
		else {
				document.getElementById('calendarMonth').disabled = false;
				document.getElementById('calendarYear').disabled = false;
				document.getElementById('calendarSubmitButton').disabled = false;
		}
		
		return true;
}



function setCalendarPage2(setDay, month, year, XML) {
		if(setDay == 0) {
				setDay = setDayA;
		}
		setDayA = setDay;
		
		var obj = document.getElementById("calendarTable");
		
		calendarLoading(false);
		clearCalendarRows();
		
		document.getElementById('calendarYear').value = year;

		var dateA = new Date(year, month, 1);
		var weekDay = dateA.getDay();

		var row = obj.insertRow(1);
		var cell;

		for(var i = 0; i < weekDay; i++) {
				cell = row.insertCell(i);
				cell.innerHTML = '&nbsp;';
		}

		var dateTmp;
		var monthTmp;

		var rowNo = 2;

		var dateTmp, monthTmp, dayTmp, weekDayTmp;

		var actXML;
		
		for(var i = 1; i < 100; i++) {
				dateTmp = new Date(year, month, i);
				monthTmp = dateTmp.getMonth();
				dayTmp = dateTmp.getDate();
				weekDayTmp = dateTmp.getDay();

				if(month != monthTmp) {
						break;
				}

				if(i > 1 && weekDayTmp == 0) {
				row = obj.insertRow(rowNo);
				rowNo++;
				}

				cell = row.insertCell(weekDayTmp);
				
				if(dayTmp == setDay)
				{
						cell.style.background = '#82C226';
				}
				
				actXML = XML.getElementsByTagName('day')[dayTmp];
				actXML = actXML.firstChild.data;
				
				cell.innerHTML = '<'+(actXML == '1' ? 'a href="list,'+year+'-'+(month+1)+'-'+dayTmp+'.html"' : 'span')+(dayTmp == setDay ? ' style="color: white;"' : '')+'>'+dayTmp+'</'+(actXML == '1' ? 'a' : 'span')+'>';
		}

		if(weekDayTmp > 0) {
				for(var i = weekDayTmp; i < 7; i++) {
						cell = row.insertCell(i);
						cell.innerHTML = '&nbsp;';
				}
		}
		
		row = obj.insertRow(rowNo);
		cell = document.createElement('td');
		cell.colSpan = 7;
		if(setDay == 0)
		{
				cell.style.background = '#82C226';
		}
		
		actXML = XML.getElementsByTagName('month')[0];
		actXML = actXML.firstChild.data;
		
		if(actXML == '1') {
				row.appendChild(cell);
				cell.innerHTML = '<a href="list,'+year+'-'+(month+1)+'.html"'+(setDay == 0 ? ' style="color: white;"' : '')+'>Cały miesiąc</a>';
		}
		
		var lookup = year+'-'+(month < 9 ? '0' : '')+(month+1)+'-'+(setDay < 10 ? '0' : '')+setDay;
		eval('document.'+formnameA+'.'+fieldnameA+'.value = "'+lookup+'"');

		return true;
}




function setCalendarDate(year, month, day) {
		document.getElementById('calendarYear').value = year;
		var elems = document.getElementById('calendarMonth').options;
		var len = elems.length;

		for(var i = 0; i < len; i++) {
				elems[i].selected = false;
		}

		elems[month].selected = "selected";

		setCalendarPage(day);

		return true;
}



function calendarInit(formname, fieldname, width) {
		document.write('<div id="calendar"></div>');

		formnameA = formname;
		fieldnameA = fieldname;
		setDayA = ActualDay;

		window.onload = setTimeout('drawCalendar('+ActualMonth+', '+ActualMonth+', '+ActualYear+', '+width+');', 1);

		return true;
}



var ActualDate = new Date();
var ActualDay = ActualDate.getDate();
var ActualMonth = ActualDate.getMonth();
var ActualYear = ActualDate.getFullYear();
var formnameA, fieldnameA, setDayA;