/*
 * author: Marta Mandowska
 * date: 24th November 2009
 */

/*
 * Calendar
 */

function makeCalendar(){

	var now = new Date();
	var day = now.getDate();
	var dayName = now.getDay();
	var month = now.getMonth();
	var year = now.getYear();
	
	//imię dnia od którego miesiąc się zaczął
	dayFirst = Math.abs((day-1)%7 - dayName+1);

	//liczba dni w miesiącu
	days = getAmountOfDays(month);
	
	window.document.write ("<table class=\"calendar\" rules=all cellpadding=6>");
	window.document.write ("<tr><th colspan=\"7\">" + getMonthName(month) + "</th></tr>")
	for (var i = 0; i<(dayFirst+1); i++)
		window.document.write ("<td></td>");
		
	for (var i = 0; i<days; i++){
	  	if ((i+dayFirst+1)%7 == 0 )
	  		window.document.write ("</tr><tr>");
  		if ((i+1) == day)
   			window.document.write ("<td class=\"today\">" + (i+1) + "</td>");
		else
			window.document.write ("<td>" + (i+1) + "</td>");
 	}
 	//for (var i = 0; i<(days-1-(5-dayFirst))%7-1; i++)
		//window.document.write ("<td></td>");
 	window.document.write ("</table>");
}

/* zwraca nazwę danego dnia */
function getDayName(id){
  
  var name = '';
  
  switch(id){
    case 0: name = 'Niedziela'; break;
    case 1: name = 'Poniedziałek'; break;
    case 2: name = 'Wtorek'; break;
    case 3: name = 'Środa'; break;
    case 4: name = 'Czwartek'; break;
    case 5: name = 'Piątek'; break;
    case 6: name = 'Sobota'; break;
    }
  
  return name;
}

/* zwraca nazwę danego miesiąca */
function getMonthName(id){
  
  var name = '';
  
  switch(id){
    case 0: name = 'Styczeń'; break;
    case 1: name = 'Luty'; break;
    case 2: name = 'Marzec'; break;
    case 3: name = 'Kwiecień'; break;
    case 4: name = 'Maj'; break;
    case 5: name = 'Czerwiec'; break;
    case 6: name = 'Lipiec'; break;
    case 7: name = 'Sierpień'; break;
    case 8: name = 'Wrzesień'; break;
    case 9: name = 'Październik'; break;
    case 10: name = 'Listopad'; break;
    case 11: name = 'Grudzień'; break;
  }
  
  return name;
}

/* zwraca liczbę dni w danym miesiącu */
function getAmountOfDays(id){
  
  var days = 0;
  
  switch(id){
    case 0:
    case 2:
    case 4:
    case 6:
    case 7:
    case 9:
    case 11: days = 31; break;
    case 1: days = 28; break;
    case 3:
    case 5:
    case 8:
    case 10: days = 30; break;
  }
  
  return days;
}

