﻿<!--
/*
//	Kalendarz ver 1.0
//	Rafał Herszkowicz (rafcioo_23@poczta.onet.pl)
//
//	wywołanie:
//	Należy umieścić na stronie blok
//	<div id="kalendarz">	
//	<!-- Generowany kalendarz -->
//	</div>
//	i dołączyć plik styl.css 
 
//
//

*/
function daneKalendarz(){
	this.data = new Date();
	this.miesiac = new Array("Styczeń" , "Luty" , "Marzec" , "Kwiecień" , "Maj" , "Czerwiec" , "Lipiec" , "Śierpień" , "Wrzesień", "Październk" , "Listopad" , "Grudzień")
	this.dzien = new Array("Niedziela" , "Poniedziałek " , "Wtorek" , "Środa" , "Czwartek" , "Piątek" , "Sobota");
	this.dniMiesiaca = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	this.aktualnyDzien = this.data.getDate();
	this.miesiacDzis =this.data.getMonth();
	//*** metoda uzupelniające dane
	this.konstruktor = function konstruktor(){
	this.aktualnyRok = this.data.getFullYear();
	
	// modyfikacja drugiego elementu tablicy dniMiesiaca[]     jeżeli rok jest przestępny.
	if (this.aktualnyRok%4==0)
		if(this.aktualnyRok%100 != 0) this.dniMiesiaca[1] = 29;
		else 
		this.dniMiesiaca[1] = 28;
	// --------------------------------------------------------------------------------------------------------------
	this.aktualnyMiesiac = this.data.getMonth();
	
	this.aktualnyDzienTygodnia = this.data.getDay();
	this.data.setDate(1);
	this.pierwszyDzienMiesiaca = this.data.getDay();
	this.liczbaDniMiesiaca = this.dniMiesiaca[this.data.getMonth()];
	}
	// metoda      *** pobierzMiesiac() *** zwraca nazwę aktualnego miesiąca
	this.pobierzMiesiac = function pobierzMiesiac (){
		return (this.miesiac[this.aktualnyMiesiac]);
	}
	
	// metoda  ***** pobierzDzienTygodnia() ****** zwraca aktualną nazwę dnia tygodnia
	this.pobierzDzienTygodnia = function pobierzDzienTygodnia (){
		return (this.dzien[this.aktualnyDzienTygodnia]);
	}
	// metoda  ***** pobierzRok() ****** zwraca aktualną nazwę dnia tygodnia
	this.pobierzRok = function pobierzRok (){
		return (this.aktualnyRok);
	}
	
	//metoda ********** nastepnyMiesiac() ********************* ustawia kolejny miesiac
	this.nastepnyMiesiac = function nastepnyMiesiac(){
		this.data.setMonth(++this.aktualnyMiesiac);
		this.rysujKalendarz();
	}
	
	
	//metoda ********* poprzedniMiesiac() ******************** ustawia poprzedni miesiac
	this.poprzedniMiesiac = function poprzedniMiesiac(){
		this.data.setMonth(--this.aktualnyMiesiac);
		this.rysujKalendarz();
	}

this.rysujKalendarz = function rysujKalendarz(){
	this.konstruktor();
	this.tabela = '<table id="tabKal" cellspacing="0" cellpadding="0" border="0">';
	this.dni = '<tr><td class="dni">Nie</td><td class="dni">Pon</td><td class="dni">Wto</td><td class="dni">Śro</td><td class="dni">Czw</td><td class="dni">Pią</td><td class="dni">Sob</td></tr>';
	this.koniecTabeli = '</tr></tabel>';
	
	this.blok = document.getElementById("kalendarz");
	this.tabela += '<tr><td class="przycisk" onClick="k.poprzedniMiesiac();"><<</td><td id="miesiac" colspan="5"> '+k.pobierzMiesiac()+ ', '+k.pobierzRok()+'</td><td class="przycisk" onClick="k.nastepnyMiesiac();">>></td></tr>' + this.dni;
	
	// puste miejsce przed pierwszym dniem miesiaca
	this.tabela += '<tr>';
	for (var i=0; i<this.pierwszyDzienMiesiaca; i++){
		this.tabela += '<td>&nbsp;</td>';
	}
	this.dzien = this.pierwszyDzienMiesiaca;
	for (var i=1; i<=this.liczbaDniMiesiaca; i++){
		if (this.dzien == 0) this.tabela += '</tr><tr>';
		(i == this.aktualnyDzien && this.aktualnyMiesiac == this.miesiacDzis)?this.tabela += '<td class="dzis">' + i + '</td>':this.tabela += '<td class="dzien">' + i + '</td>';
		(this.dzien == 6)?this.dzien = 0:this.dzien++;
	}
	if (this.dzien != 0)
	for (var i=this.dzien; i<=6; i++)
		this.tabela += '<td>&nbsp;</td>';
	
	this.tabela += this.koniecTabeli;
	this.blok.innerHTML = this.tabela;
	}
}

function kalendarz(){
	k = new daneKalendarz();
	k.rysujKalendarz();
}
window.onload=kalendarz;

-->
