

var events = new Array();
var bevents = new Array();
var y, m;

for(y=2000; y<2010; y++){
	events[y] = new Array();
	for(m=0; m<12; m++)
		events[y][m] = new Array();				
}

var monthDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

var monthNames = new Array('Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień');

var now = new Date();
var month = now.getMonth();
var year = now.getFullYear();

	/********** Funkcje ************/

function getMonthDays(month, year){
	if(month != 1) return monthDays[month];
	if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) return 29;
	else return 28;
}

function getLastDayInMonth(month, year){
	var now = new Date(year, month, getMonthDays(month, year));
	return now.getDay();
}

function prevMonth(){
	if(month == 0) {
		month = 11;
		year--
	}
	else month--;
	writeCalendar();
}

function nextMonth(){
	if(month == 11){
		month = 0;
		year++;
	}
	else month++;
	writeCalendar();
}

/* Zwraca kalendarz na dany miesiac w postaci Html */
function getCalendar(month, year){
	var dane = new Array();
	var dPierwszy = new Date(year, month, 1);
	
	var cal = "<table id='calendar' cellpadding='1' cellspacing='0'><thead><th>N</th><th>P</th><th>W</th><th>Ś</th><th>C</th><th>P</th><th>S</th></thead><tbody id='calendarBody'>";
	var obj;
	
	dane['poczatek'] = dPierwszy.getDay();
	dane['ilosc'] = getMonthDays(month, year);
	dane['koniec'] = getLastDayInMonth(month, year);
	dane['pusteKoniec'] = 6 - dane['koniec'];
	
	var i;
	var dzien = 1;
	
	cal += "<tr>";
	
	for(i=0; i<dane['poczatek']; i++){
		cal = cal + "<td>&nbsp</td>";
	}
	
	var total = i;
	var todayDate = new Date();
	var today = todayDate.getDate();
	var actual = 0;
	
	if(todayDate.getMonth() == month && todayDate.getFullYear() == year){
		actual = 1;
	}
	
	var id="";
	var classN;
	var title;
	
	for(; dzien<=dane['ilosc']; dzien++, total++)
	{
		if(total % 7 == 0) cal += "</tr><tr>";
		var dayEvents = "";
		if(events[year] && events[year][month] && events[year][month][dzien]) dayEvents = events[year][month][dzien];
		
		var dayBEvents = "";
		if(bevents[month] && bevents[month][dzien]) dayBEvents = bevents[month][dzien];
		
		//alert("eventy na "+year+month+dzien+": "+dayEvents);
		var content;
		
		if(actual == 1){
			if(today == dzien) id = "id='today'";
			else id = "";
		}
		
		if(dayBEvents) {
			be = "bevents["+month+"]["+dzien+"]";
		}
		else be = 0;
		if(dayEvents) {
			e = "events["+year+"]["+month+"]["+dzien+"]";
		}
		else e = 0;
		
		var s = "";
		var c = "";
		
		if(dayBEvents) c = "class='event'";
		if(dayEvents) s = "style='background:url(public/foto/pilka_small_dark.gif) center no-repeat; color:red !important; font-weight:bold'";
		if(dayEvents || dayBEvents){
			onEvent = "t(this,event,"+e+","+be+")";
			cal += "<td "+c+" "+id+" "+s+" onmouseover='"+onEvent+"'>"+dzien+"</td>";
		}
		else {
			cal += "<td class='no-event' "+id+">"+dzien+"</td>";
		}
	}
	
	for(i=0; i<dane['pusteKoniec']; i++){
		cal = cal + "<td>&nbsp</td>";
	}
	
	cal += "</tbody></table>";
	return cal;
}

function getEventDiv(myEvent){
	return "<div class='"+myEvent['cat']+"'>"+myEvent['content']+"</div>";
}
function getBEventDiv(myEvent){
	var lat = year - myEvent['year'];
	return "<div class='u'>"+myEvent['name']+" obchodzi "+lat+" urodziny</div>";
}

function dayDescription(dzien){
	pozycjaMyszki();
	obj = document.getElementById("calPopUp_"+dzien);
	
	if(obj.style.display == "none")	{
		obj.innerHTML = events[year][month][dzien];
		obj.style.display = "inline";
	}
	else{
		obj.style.display = "none";
	}
}



function t(v,e,dayEvents,dayBEvents,t){
	if(!document.createElement)return 
	t=document.createElement("div")
	
	t.move = function(e){
		e=e||event
		t.style.left=e.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft)+"px"
		t.style.top=e.clientY+(document.documentElement.scrollTop||document.body.scrollTop)+"px";
	}
	
	t.hide = function(x){
		if(x=document.getElementById("calendarDayEvents")) 
			document.body.removeChild(x)
	}
	
	t.move(e);
	t.id = "calendarDayEvents";
	
	var content = "";
	if(dayEvents)
		for ( var i in dayEvents ){
			content += getEventDiv(dayEvents[i]);
		}
	if(dayBEvents)
		for ( var i in dayBEvents ){
			content += getBEventDiv(dayBEvents[i]);
		}
	
	t.innerHTML = content;
	t.getElementsByTagName('div')[0].style.border = "none";
	v.title = "";
	
	document.body.appendChild(t)
	v.onmouseout = t.hide
	//v.onmousemove = t.move
}


function writeCalendar(){
	cal = document.getElementById('calendarDiv');
	cal.innerHTML = getCalendar(month, year);
	date = document.getElementById('calendarDate');
	date.innerHTML = monthNames[month] + " " + year;
}