// Kalendarz księżycowo imueninowy
// Maria Dżaman 
// mdzaman@poczta.onet.pl
/*
Skrypt stanowi translacje programu napisanego w Delphi 3.0
*/
// nazwy miesiecy

Months = new Array('Styczeń','Luty','Marzec','Kwiecień','Maj',
'Czerwiec','Lipiec','Sierpień','Wrzesień','Pażdziernik','Listopad','Grudzień');

// imieniny styczeń
im1 = new Array('Masława, Mieczysława, Mieszka ','Bazylego, Makarego, Narcyzy ',
'Arlety, Danuty, Lucjana ','Anieli, Elżbiety, Tytusa ',
'Edwarda, Hanny, Szymona ','Kacpra, Melchiora, Baltazara ',
'Juliana, Lucjana, Walentyny ','Artura, Rajmunda, Seweryny ',
'Adriana, Alicji, Teresy ','Ady, Jana, Wilhelma ',
'Feliksa, Honoraty, Marty ','Bernarda, Czesławy, Grety ',
'Bogumiła, Bogumiły, Weroniki ','Feliksa, Hilarego, Martyny ',
'Arnolda, Dory, Pawła ','Mascelego, Walerii, Włodzimierza ',
'Antoniego, Henryki, Mariana ','Beatrycze, Małgorzaty, Piotra ',
'Erwiny, Henryka, Mariusza ','Fabioli, Miły, Sebastiana ',
'Agnieszki, Jarosława, Nory ','Dominiki, Mateusza, Wincentego ',
'Fernandy, Jana, Rajmundy ','Felicji, Roberta, Sławy ',
'Miłosza, Pawła, Tatiany ','Lutosława, Normy, Pauliny ',
'Anieli, Juliana, Przemysława ','Agnieszki, Kariny, Lesława ',
'Franciszka, Konstancji, Salomei ','Martyny, Macieja, Teofila ',
'Joanny, Ksawerego, Luizy ');
// imieniny luty
im2 = new Array('Brygidy, Dobrogniewa, Ignacego ','Kornela, Marii, Mirosławy ',
'Błażeja, Joanny, Telimeny ','Andrzeja, Mariusza, Weroniki ',
'Agaty, Filipa, Justyniana ','Amandy, Bogdana, Doroty ',
'Ryszarda, Teodora, Wilhelminy ','Irminy, Piotra, Sylwii ',
'Bernarda, Eryki, Rajmunda ','Elwiry, Elizy, Jacka ',
'Bernadetty, Marii, Olgierda ','Czasława, Damiana, Normy ',
'Grzegorza, Lesława, Katarzyny ','Liliany, Walentyny, Walentego ',
'Arnolda, Jowity, Georginy ','Danuty, Daniela, Juliany ',
'Donata, Gizeli, Łukasza ','Konstancji, Krystiana, Sylwany ',
'Bettiny, Konrada, Mirosława ','Anety, Lehca, Leona ',
'Eleonory, Lenki, Kiejstuta ','Małgorzaty, Marty, Nikifora ',
'Damiana, Romana, Romany ','Boguty, Bogusza, Macieja ',
'Almy, Cezarego, Jarosława ','Bogumiła, Eweliny, Mirosława ',
'Gagrieli, Liwii, Leonarda ','Ludomira, Makarego, Wiliany ',
'Lecha, Lutomira ');
// imieniny marzec
im3 = new Array('Albina, Antoniny, Radosławy ','Halszki, Heleny, Karola ',
'Kingi, Maryna, Tycjana ','Adrianny, Kazimierza, Wacława ',
'Aurory, Fryderyka, Oliwii ','Jordana, Marcina, Róży ',
'Flicyty, Kajetana, Pauli ','Beaty, Juliana, Wincentego ',
'Dominika, Franciszki, Katarzyny ','Bożysławy, Cypriana, Marcelego ',
'Konstantego, Ludosława, Rozyny ','Grzegorza, Justyny, Józefiny ',
'Bożeny, Krystyny, Marka ','Dalii, Leona, Matyldy ',
'Delfiny, Longina, Ludwiki ','Izabeli, Henryka, Oktawii ',
'Reginy, Patryka, Zdyszka ','Edwarda, Narcyza, Zbysława ',
'Aleksandryny, Józefa, Nicety ','Joachima, Kiry, Maurycego ',
'Benedykta, Lubomiry, Lubomira ','Bogusława, Jagody, Katarzyny ',
'Feliksa, Konrada, Zbysławy ','Gabrieli, Marka, Seweryna ',
'Bolka, Cezaryny, Marioli ','Dory, Olgi, Teodora ',
'Ernesta, Jana, Marka ','Anieli, Kasrota, Soni ',
'Marka, Wiktoryny, Zenona ','Amelii, Dobromira, Leonarda ',
'Balbiny, Kamila, Kornelii ');
// imieniny kwiecień
im4= new Array('Chryzamtyny, Grażyny, Zygmunta ','Franciszka, Malwiny, Władysława ',
'Pankracego, Renaty, Ryszarda ','Benedykta, Izodory, Wacławy ',
'Ireny, Kleofasa, Wincentego ','Ady, Celestyny, Ireneusza ',
'Donata, Herminy, Rufina ','Amadeusza, Cezaryny, Juliany ',
'Mai, Marcelego, Wadima ','Borysławy, makarego, Michała ',
'Filipa, Izoldy, Leona ','Juliusza, Lubosława, Wiktoryny ',
'Artemona, Justyny, Przemysławy ','Bernarda, Martyny, Waleriana ',
'Adolfiny, Odetty, Wacława ','Bernarda, Biruty, Erwina ',
'Anicety, Klary, Rudolfina ','Apoloniusza, Bogusławy, Gościsławy ',
'Alfa, Leonii, Tytusa ','Agnieszki, Amalii, Czecha ',
'Jarosława, Konrada, Selmy ','Łukasza, Kai, Nastazji ',
'Ilony, Jerzego, Wojciecha ','Bony, Horacji, Jerzego ',
'Jarosława, Marka, Wiki ','Marii, Marzeny, Ryszarda ',
'Sergiusza, Teofila, Zyty ','Bogny, Walerii, Witalisa ',
'Hugona, Piotra, Roberty ','Balladyny, Lilli, Mariana ');
// imieniny maj
im5= new Array('Józefa, Lubomira, Ramony ','Longiny, Toli, Zygmunta ',
'Jaropełka, Marii, Niny ','Floriana, Michała, Moniki ',
'Irydy, Tamary, Waldemara ','Beniny, Filipa, Judyty ',
'Augusta, Gizeli, Ludomiry ','Kornela, Lizy, Stanisława ',
'Grzegorza, Karoliny, Karola ','Antoniny, Izydory, Jana ',
'Igi, Mamerta, Miry ','Dominika, Imeldy, Pankracego ',
'Agnieszki, Magdaleny, Serwacego ','Bonifacego, Julity, Macieja ',
'Dionizego, Nadziei, Zofii ','Andrzeja, Jędrzeja, Małgorzaty ',
'Brunony, Sławomira, Wery ','Alicji, Edwina, Eryka ',
'Celestyny, Iwony, Piotra ','Bazylego, Bernardyna, Krystyny ',
'Jana, Moniki, Wiktora ','Emila, Neleny, Romy ',
'Leoncjusza, Michała, Renaty ','Joanny, Zdenka, Zuzanny ',
'Borysa, Magdy, Marii-Magdaleny ','Eweliny, Jana, Pawła ',
'Amandy, Jana, Juliana ','Augustyna, Ingi, Jaromira ',
'Benity, Maksymiliana, Teodozji ','Ferdynanda, Gryzeldy, Zyndrama ',
'Anieli, Feliksa, Kamili ');
// imieniny czerwiec
im6= new Array('Gracji, Jakuba, Konrada ','Erazma, Marianny, Marzeny ',
'Anatola, Leszka, Tamary ','Christy, Helgi, Karola ',
'Bonifacego, Kiry, Waltera ','Laury, Laurentego, Nory ',
'Ariadny, Jarosława, Roberta ','Ady, Celii, Medarda ',
'Anny-Marii, Felicjana, Sławoja ','Bogumiła, Diany, Małgorzaty ',
'Barnaby, Benedykta, Flory ','Gwidona, Leonii, Niny ',
'Antoniego, Gracji, Lucjana ','Bazylego, Elizy, Justyny ',
'Jolanty, Lotara, Wita ','Aliny, Anety, Benona ',
'Laury, Leszka, Marcjana ','Elżbiety, Marka, Pauli ',
'Gerwazego, Protazego, Sylwii ','Bogny, Rafaeli, Rafała ',
'Alicji, Alojzego, Rudolfa ','Pauliny, Sabiny, Tomasza ',
'Albina, Wandy, Zenona ','Danuty, Jana, Janiny ',
'Łucji, Witolda, Wilhelma ','Jana, Pauliny, Rudolfiny ',
'Cypriana, Emanueli, Władysława ','Florentyny, Ligii, Leona ',
'Pawła, Piotra, Salomei ','Arnolda, Emiliany, Lucyny ');
// imieniny lipiec
im7= new Array('Bogusza, Haliny, Mariana ','Kariny, Serafiny, Urbana ',
'Anatola, Jacka, Mirosławy ','Aureli, Malwiny, Zygfryda ',
'Antoniego, Bartłomieja, Karoliny ','Dominiki, Jaropełka, Łucji ',
'Estery, Kiry, Rudolfa ','Arnolda, Edgara, Elżbiety ',
'Hieronima, Palomy, Weroniki ','Filipa, Sylwany, Witalisa ',
'Benedykta, Kariny, Olgi ','Brunona, Jana, Wery ',
'Danieli, Irwina, Małgorzaty ','Kamili, Kamila, Marcelego ',
'Henryka, Igi, Włodzimierza ','Eustachego, Mariki, Mirelli ',
'Aleksego, Bogdana, Martyny ','Kamila, Karoliny, Roberta ',
'Alfreny, Rufina, Wincentego ','Fryderyka, Małgorzaty, Seweryny ',
'Danieli, Wawrzyńca, Wiktora ','Magdaleny, Mileny, Wawrzyńca ',
'Sławy, Sławosza, Żelisławy ','Kingi, Krystyna, Michaliny ',
'jakuba, Krzysztofa, Walentyny ','Anny, Mirosławy, Joachima ',
'Aureliusza, Natalii, Rudolfa ','Ady, Wiwiany, Sylwiusza ',
'Marty, Konstantego, Olafa ','Julity, Ludmiły, Zdobysława ',
'Ignacego, Lodomiry, Romana ');
// imieniny sierpień
im8= new Array('Jarosława, Justyny, Nadziei ','Gustawa, Kariny, Stefana ',
'Augustyna, Kamelii, Lidii ','Dominiki, Dominika, Protazego ',
'Emila, Karoliny, Kary ','Jakuba, Sławy, Wincentego ',
'Donaty, Olechny, Kajetana ','Izy, Rajmunda, Seweryna ',
'Klary, Romana, Rozyny ','Bianki, Borysa, Wawrzyńca ',
'Luizy, Włodzmierza, Zuzanny ','Hilarii, Juliana, Lecha  ',
'Elwiry, Hipolita, Radosławy ','Alfreda, Maksymiliana, Selmy ',
'Marii, napoleona, Stelii ','Joachima, Nory, Stefana ',
'Anity, Elizy, Mirona ','Bogusława, Bronisława, Ilony ',
'Emilii, Julinana, Konstancji ','Bernarda, Sabiny, Samuela ',
'Franciszka, Kazimiery, Ruty ','Cezarego, Marii, Zygfryda ',
'Apolinarego, Miły, Róży ','Bartosza, Jerzego, Maliny ',
'Belii, Ludwika, Luizy ','Ireneusza, Konstantego, Marii ',
'Cezarego, Małgorzaty, Moniki ','Adeliny, Erazma, Sobiesława ',
'Beaty, Racibora, Sabiny ','Benona, Jowity, Szczęsnego ',
'Cyrusa, Izabeli, Rajmundy ');
// imieniny wrzesień
im9= new Array('Belindy, Bronisza, Idziego ','Dionizy, Izy, Juliana ',
'Joachima, Liliany, Szymona ','Dalii, Idy, Rocha ',
'Doroty, Justyna, Wawrzyńca ','Beaty, Eugeniusza, Lidy ',
'Reginy, Marka, Melchiora ','Czcibora, Marii, Serafiny ',
'Aldony, Jakuba, Sergiusza ','Eligii, Irmy, Łukasza ',
'Dagny, Jacka, Prota ','Amadeusza, Gwidy, Sylwiny ',
'Apolinarego, Eugenii, Lubomira ','Bernarda, Mony, Roksany ',
'Albina, Lolity, Ronalda ','Jagienki, Kamili, Korneliusza ',
'Franciszka, Lamberty, Narcyza ','Ireny, Irminy, Stanisława ',
'Januarego, Konstancji, Leopolda ','Eustachego, Faustyny, Renaty ',
'Darii, Mateusza, Wawrzyńca ','Maury, Milany, Tomasza ',
'Bogusława, Liwiusza, Tekli ','Dory, Gerarda, Maryny ',
'Aureli, Kamila, Kleofasa ','Cypriana, Justyny, Łucji ',
'Damiana, Mirabeli, Wincentego ','Libuszy, Wacławy, Wacława ',
'Michaliny, Michała, Rafała ','Geraldy, Honoriusza, Wery ');
// imieniny październik
im10= new Array('Heloizy, Igora, Remigiusza ','Racheli, Sławy, Teofila ',
'Bogumiła, Gerarda, Józefy ','Edwina, Rosławy, Rozalii ',
'Flawii, Justyna, Rajmunda ','Artura, Fryderyki, Petry ',
'Krystyna, Marii, Marka ','Brygidy, Loreny, Marcina ',
'Arnolda, Ludwika, Sybili ','Franciszka, Loretty, Poli ',
'Aldony, Brunona, Emila ','Krystyny, Maksa, Serafiny ',
'Edwarda, Geraldyny, Teofila ','Alany, Damiana, Liwii ',
'Jadwigi, Leonarda, Teresy ','Ambrożego, Florentyny, Gawła ',
'Antonii, Ignacego, Wiktora ','Hanny, Klementyny, Łukasza ',
'Michaliny, Michała, Piotra ','Ireny, Kleopatry, Witalisa ',
'Celiny, Hilarego, Janusza ','Haliszki, Lody, Przybysłąwa ',
'Edwarda, Marleny, Seweryna ','Arety, Marty, Marcina ',
'Ingi, Maurycego, Sambora ','Ewarysta, Lucyny, Lutosławy ',
'Iwony, Noemi, Szymona ','Narcyza, Serafina, Wioletty ',
'Angeli, Przemysława, Zenobii ','Augustyny, Łukasza, Urbana ');
// imieniny listopad
im11 = new Array('Konrada, Seweryny, Wiktoryny ','Bohdany, Henryka, Tobiasza ',
'Huberta, Miły, Sylwii ','Albertyny, Karola, Olgierda ',
'Balladyny, Elżbiety, Sławomira ','Arletty, Feliksa, Leonarda ',
'Antoniego, Kaliny, Przemiły ','Klaudii, Seweryna, Wiktoriusza ',
'Anatolii, Gracji, Teodora ','Leny, Lubomira, Natalii ',
'Bartłomieja, Gertrudy, Marcina ','Konrada, Renaty, Witolda ',
'Arkadii, Krystyna, Stanisławy ','Emila, Laury, Rogera ',
'Amielii, Idalii, Leopolda ','Edmunda, Marii, Marka ',
'Grzegorza, Salomei, Walerii ','Klaudyny, Romana, Tomasza ',
'Elżbiety, Faustyny, Pawła ','Anatola, Edyty, Rafała ',
'Janusza, Marii, Reginy ','Cecylii, Jonatana, Marka ',
'Adeli, Felicyty, Klemensa ','Emmy, Flory, Romana ',
'Elżbiety, Katarzyny, Klemensa ','Leona, Leonarda, Lesławy ',
'Franciszka, Kseni, Maksymiliana ','Jakuba, Stefana, Romy ',
'Błażeja, Margerity, Saturnina ','Andrzeja, Maury, Ondraszka ');
// imieniny grudzień
im12 = new Array('Blanki, Edmunda, Eligiusza ','Balbiny, Ksawerego, Pauliny ',
'Hilarego, Franciszki, Ksawery ','Barbary, Hieronima, Krystiana ',
'Kryspiny, Norberta, Sabiny ','Dionizji, Leontyny, Mikołaja ',
'Agaty, Dalii, Sobiesława ','Delfiny, Marii, Wirginiusza ',
'Anety, Leokadii, Wiesława ','Danieli, Bohdana, Julii ',
'Biny, Damazego, Waldemara ','Ady, Aleksandra, Dagmary ',
'Dalidy, Juliusza, Łucji ','Alfreda, Izydora, Zoriny ',
'Celiny, Ireneusza, Niny ','Albiny, Sebastiana, Zdzisławy ',
'Jolanty, Łukasza, Olimpii ','Bogusława, Gracjana, Laury ',
'Beniaminy, Dariusza, Gabrieli ','Bogumiły, Dominika, Zefiryna ',
'Honoraty, Seweryny, Tomasza ','Bożeny, Drogomira, Zenona ',
'Dagny, Sławomiry, Wiktora ','Adama, Ewy, Irminy ',
'Anety, Glorii, Piotra ','Dionizego, Kaliksta, Szczepana ',
'Fabioli, Jana, Żanety ','Antoniusza, Cezarego, Teofilii ',
'Dawida, Dionizy, Tomasza ','Eugeniusza, Katarzyny, Sabiny ',
'Mariusza, Melanii, Sylwestra ');
// koniec imienin

function imie2(y2)
{
// ustalenie nr miesiaca i nr dnia w oparciu o kod pola input
var ind_month,ind_day;
selected_day = document.calform.elements[y2].value;
if (selected_day == "") return "Wybierz dzień miesiaca";
selected_month = WyznaczMiesiacIdx();
ind_month = selected_month+1;
ind_day=parseInt(selected_day)-1
if (ind_month == 1) return im1[ind_day];
if (ind_month == 2) return im2[ind_day];
if (ind_month == 3) return im3[ind_day];
if (ind_month == 4) return im4[ind_day];
if (ind_month == 5) return im5[ind_day];
if (ind_month == 6) return im6[ind_day];
if (ind_month == 7) return im7[ind_day];
if (ind_month == 8) return im8[ind_day];
if (ind_month == 9) return im9[ind_day];
if (ind_month == 10) return im10[ind_day];
if (ind_month == 11) return im11[ind_day];
if (ind_month == 12) return im12[ind_day];
return ("??? miesiac");
}

function imie1(d1)
{
// ustalenie imienin dnia bieżącego.
var ind_month,ind_day;
selected_day = d1;
ind_month = WyznaczMiesiacIdx()+1;
ind_day=parseInt(d1)-1
if (ind_month == 1) return im1[ind_day];
if (ind_month == 2) return im2[ind_day];
if (ind_month == 3) return im3[ind_day];
if (ind_month == 4) return im4[ind_day];
if (ind_month == 5) return im5[ind_day];
if (ind_month == 6) return im6[ind_day];
if (ind_month == 7) return im7[ind_day];
if (ind_month == 8) return im8[ind_day];
if (ind_month == 9) return im9[ind_day];
if (ind_month == 10) return im10[ind_day];
if (ind_month == 11) return im11[ind_day];
if (ind_month == 12) return im12[ind_day];
return ("??? miesiac");
}


function test1(y11)
{
// obsługa wybranego dnia 
// aktualizacja imienin
document.calform.elements[45].value = PadSpac1(imie2(y11),50);
// zmiana zaznaczenia dnia
y11stare=document.calform.elements[47].value;
document.calform.elements[y11stare].className='image1';
document.calform.elements[y11].className='image2';
// tworzenie napisu wybranej daty
NapisDaty(y11);
// zapamietanie indeksu wybranego pola
document.calform.elements[47].value = y11;
// aktualizacja ksiezyca
pokaz(parseInt(dzien));
return y11;
}

function test2()
{
// ustala index pola dnia biezacego przy uruchomieniu 
dzis=myDate.getDate();
for ( i=6 ; i<43 ; i++ )
{if (document.calform.elements[i].value==dzis) 
	{
	document.calform.elements[47].value=i;
	document.calform.elements[i].className='image2';
	};
};
}

function NapisDaty (Idx)
{
// tworzy napis aktualnej daty
dzien=""+document.calform.elements[Idx].value;
text2=""+dzien;
text2=text2 +"  "+document.calform.elements[4].value;;
text2=text2+"  "+document.calform.elements[1].value;
document.calform.elements[43].value = PadSpac1(text2,35);
}

function PadSpac1(TheString,Number)
{
// centruje napis TheString w polu o szerokosci Number
	var i;
	var Sstring=new String(TheString);
	len = Math.round((Number - (Sstring.length))/2);
	for (i=1;i<=len ;i++)
	{ Sstring=" "+Sstring;
	};
	return Sstring;
}

function IleLatPrzestepnych(StartYear, EndYear)
{
 // ustala ilość lat przestępnych pomiędzy StartYear i EndYear
 	var LeapYears, i;
 	if (EndYear >= StartYear){
 		for(LeapYears = 0; StartYear <= EndYear; StartYear++)
 		if (CzyRokPrzestepny(StartYear)) LeapYears++;
	}else{
	for(LeapYears = 0; EndYear <= StartYear; EndYear++)
 		if (CzyRokPrzestepny(EndYear)) LeapYears++;
	}
 	return LeapYears;
}
function CzyRokPrzestepny(Year)
{

	if(Math.round(Year/4) == Year/4){
		if(Math.round(Year/100) == Year/100){
			if(Math.round(Year/400) == Year/400)
				return true;
			else return false;
		}else return true;
	}
	return false;
}
function Trim(TheString)
{
	var len;
	len = TheString.length;
 	while(TheString.substring(0,1) == " "){ //trim left
 		TheString = TheString.substring(1, len);
  		len = TheString.length;
	}
 	while(TheString.substring(len-1, len) == " "){ //trim right
 		TheString = TheString.substring(0, len-1);
  		len = TheString.length;
 	}
 	return TheString;
}
function WyznaczMiesiacIdx()
{
	var i, month, month_s, len;
	month = Trim(document.calform.elements[4].value);
	len = month.length;
	for( i = 0; i <12; i++){
    		month_s = Months[i].substring(0,len);
		if (month_s.toUpperCase() == month.toUpperCase())
        		return (i);
  	}
  	return -1;
}
function ZnajdzDzienNowegoRoku(Year)
{
 	var LeapYears, Years, Day;
 	LeapYears = IleLatPrzestepnych(1995, Year);
 	if  (Year >=1995)
 		Years = (Year -1995)+LeapYears;
 	else	Years = (Year -1995)-LeapYears;
 	if  (Year >=1995)
		Day = Math.round(((Years/7 - Math.floor(Years/7))*7)+.1);
 	else	Day = Math.round(((Years/7 -  Math.ceil(Years/7))*7)-.1);
	if (Year >=1995){
 		if(CzyRokPrzestepny(Year)) Day--;
 	}else Day += 7;
 	if(Day < 0) Day = 6;
 	if(Day > 6) Day = 0;
 	return Day;
}
function IloscDniMiesiaca(Year, Month)
{
 	if(Month == 1){
   		if(CzyRokPrzestepny(Year)) return 29;
   		else return 28;
 	}else{
   		if(Month >6) Month++;
   		if(Month/2 == Math.round(Month/2))  return 31;
 	}
 return 30;
}
function FindPierwszyDzienMiesiaca(PierwszyDzienNowegoRoku, Year, Month)
{
  	var PierwszyDzienMiesiaca;
  	AddArray = new Array(12);
  	AddArray[0]=0;AddArray[1]=3;AddArray[2]=3;AddArray[3]=6;
	AddArray[4]=1;AddArray[5]=4;AddArray[6]=6;AddArray[7]=2;
	AddArray[8]=5;AddArray[9]=0;AddArray[10]=3;AddArray[11]=5;
  	PierwszyDzienMiesiaca = PierwszyDzienNowegoRoku + AddArray[Month];
  	if(CzyRokPrzestepny(Year)  && (Month ) > 1) PierwszyDzienMiesiaca ++;
  	if (PierwszyDzienMiesiaca > 6) PierwszyDzienMiesiaca -= 7;
  	return PierwszyDzienMiesiaca;
}
function  WypelnijKalendarz()
{
  	var Year, Month, Midx, PierwszyDzienNowegoRoku, PierwszyDzienMiesiaca;
	var IleDniWMiesiacu, i, t;
  	Year = parseFloat(document.calform.elements[1].value);
  	Month = document.calform.elements[4].value;
  	Midx  =  WyznaczMiesiacIdx();
  	if (Midx == -1){
   		alert ("Nie można rozpoznać nazwy miesiąca");
   		return;
  	}
  	PierwszyDzienNowegoRoku = ZnajdzDzienNowegoRoku(Year);
  	PierwszyDzienMiesiaca = FindPierwszyDzienMiesiaca(PierwszyDzienNowegoRoku, Year,  Midx);
  	IleDniWMiesiacu = IloscDniMiesiaca(Year, Midx);
  	for(i = 6;  i < 43;  i++){
		t = i-PierwszyDzienMiesiaca-5;
		if ( t >= 1  &&  t <= IleDniWMiesiacu)
			document.calform.elements[i].value =t;
		else document.calform.elements[i].value = "";
  	}
}
function IncDecYear(val)
{
	var valNum = parseInt(val);
	var valNum2 = parseInt(document.calform.elements[1].value)
	document.calform.elements[1].value = valNum2 + valNum;
	WypelnijKalendarz();
	ksiezyc();
	Wielkanoc();
	idx = document.calform.elements[47].value;
	idx = parseInt(idx);
	NapisDaty(idx);
	dzien=parseInt(document.calform.elements[idx].value);
	pokaz(dzien);
	document.calform.elements[45].value = PadSpac1(imie2(idx),50);
}
function IncDecMonth(val)
{
	var valNum = parseInt(val);
  	var Midx  =  WyznaczMiesiacIdx();
	Midx += valNum;
	if(Midx > 11) Midx = 0;
	if(Midx < 0)  Midx = 11;
	document.calform.elements[4].value = PadSpac1(Months[Midx],11);
	WypelnijKalendarz();
	ksiezyc();
	idx = document.calform.elements[47].value;
	idx = parseInt(idx);
	NapisDaty(idx);
	dzien=parseInt(document.calform.elements[idx].value);
	pokaz(dzien);
	document.calform.elements[45].value = PadSpac1(imie2(idx),50);
}
function WielkanocM(Y) {
	// based on the algorithm of Oudin
	var C = Math.floor(Y / 100);
    var N = Y - 19 * Math.floor(Y / 19);
    var K = Math.floor((C - 17) / 25);
    var I = C - Math.floor(C / 4) - Math.floor((C - K) / 3) + 19 * N + 15;
    I = I - 30*Math.floor((I / 30));
    I = I - Math.floor(I / 28) * (1 - Math.floor(I / 28) * Math.floor(29 / (I + 1)) * Math.floor((21 - N) / 11));
    var J = Y + Math.floor(Y / 4) + I + 2 - C + Math.floor(C / 4);
    J = J - 7 * Math.floor(J / 7);
    var L = I - J;
    var M = 3 + Math.floor((L + 40) / 44);
    var D = L + 28 - 31 * Math.floor(M / 4);
	return M;
}
function WielkanocD(Y) {
	// based on the algorithm of Oudin
	var C = Math.floor(Y / 100);
    var N = Y - 19 * Math.floor(Y / 19);
    var K = Math.floor((C - 17) / 25);
    var I = C - Math.floor(C / 4) - Math.floor((C - K) / 3) + 19 * N + 15;
    I = I - 30*Math.floor((I / 30));
    I = I - Math.floor(I / 28) * (1 - Math.floor(I / 28) * Math.floor(29 / (I + 1)) * Math.floor((21 - N) / 11));
    var J = Y + Math.floor(Y / 4) + I + 2 - C + Math.floor(C / 4);
    J = J - 7 * Math.floor(J / 7);
    var L = I - J;
    var M = 3 + Math.floor((L + 40) / 44);
    var D = L + 28 - 31 * Math.floor(M / 4);
	return D;
}
function Wielkanoc()
{
	var text1= "";
	var year = parseInt(document.calform.elements[1].value);
	var Dayw=WielkanocD(year);
	var Monthw=WielkanocM(year);
	text1="   Niedziela"+"\n\r"+ "   Wielkanocna"+"\n\r"+ Dayw +" "+Months[Monthw-1];
	text1=text1+Wielkanoc2(Dayw,Monthw);
	text1=text1+Srpop(Dayw,Monthw);
	text1=text1+Bozecialo(Dayw,Monthw);
	document.calform.elements[44].value=text1;
}
function Wielkanoc2(Dayw,Monthw)
{
	var text1="";
	var dayv , monthv;
	dayv=Dayw+1;
	monthv=Monthw;
	if (dayv==32)
	{dayv=1;
	monthv=4;
	}
	text1="\n\r"+"   Poniedziałek"+"\n\r"+ "   Wielkanocny"+"\n\r"+ dayv +" "+Months[monthv-1];
	return text1;
}
function Srpop (Dayw,Monthw)
{
	var text1="";
	var dayp=Dayw-46;
	var year = parseInt(document.calform.elements[1].value);
	dzluty =IloscDniMiesiaca(year, 1);
	if( (Monthw==4)&& (Dayw>15)) 
			{dayp=Dayw-46+31; monthp=3;};
	if( (Monthw==4)&& (Dayw<16)) 
		{dayp=Dayw-46+31+dzluty; monthp=2;};
if (Monthw==3) 
	{dayp=Dayw-46+dzluty; monthp=2; };
	text1="\n\r"+"   Sroda"+"\n\r"+ "   Popielcowa"+"\n\r"+ dayp +" "+Months[monthp-1];
	return text1;
}
function Bozecialo(Dayw,Monthw)
{
	var text1="";
	var dayb = Dayw - 1;
	var monthb = Monthw + 2;
	var year = parseInt(document.calform.elements[1].value);
	if (dayb<1) {monthb=monthb-1; dayb=IloscDniMiesiaca(year, monthb-1);};
	text1="\n\r"+"   Boże"+"\n\r"+ "   Ciało"+"\n\r"+ dayb +" "+Months[monthb-1];
	return text1;
}

function nonEdit()
{
	document.calform.elements[16].focus();
}

function ksiezyc()
{
rok = parseInt(document.calform.elements[1].value);
miesiac = WyznaczMiesiacIdx()+1;
// Określa dzień nowiu w oparciu o numer miesiąca i numer roku
var ks_a , ks_b , ks_c;
wsp_a = new Array(28,3,7,11.5,16,20,24,29,3.5,8,12.5,16.5,21,25.5,0,14.5,19,24,0,5.5,9.5,15,20.5,25.5,0.5,6,11,16.5,21);
wsp_b = new Array(0,18.5,7.5,26.5,15.5,4.5,23,12.5,1.5,20,9,28,17,6,24.5,14,3,21.5,11);
wsp_c = new Array(4,5.5,4,5.5,6,7.5,8,9.5,11,11.5,13,13.5);
ks_a =wsp_a[Math.round((rok/100))];
ks_b =wsp_b[Math.round(Math.round((Math.round(rok%100))%19))];
ks_c =wsp_c[miesiac-1];
if ((rok<1582)&&(rok>1499)) {ks_a = 4.5;};
if ((CzyRokPrzestepny(rok))&&((miesiac==1)|| (miesiac==2))) { ks_c=ks_c-1;};
now = ks_a+ks_b-ks_c;
if (now > 29.5) { now = now - 29.5;};
if (now < 0) { now = now + 29.5;};
document.calform.elements[46].value=now;
return now;
}

function pokaz(data)
{
now = document.calform.elements[46].value;
if (Math.floor(now)==0) { now = 1;};
if (data>=now)  {dd=1+data-Math.round(now);}
else
{dd=30+data-Math.round(now)};
Rysunek(dd);
}


function Rysunek(nr) { 
if (nr==0) {nr=1;};
if ((nr==1)||(nr==30)) {Nowy="./moon/f01.jpg"}; 
if ((nr==2)||(nr==31)) {Nowy="./moon/f02.jpg"}; 
if (nr==3) {Nowy="./moon/f03.jpg"}; 
if (nr==4) {Nowy="./moon/f04.jpg"}; 
if (nr==5) {Nowy="./moon/f05.jpg"};
if (nr==6) {Nowy="./moon/f06.jpg"};
if (nr==7) {Nowy="./moon/f07.jpg"};
if (nr==8) {Nowy="./moon/f08.jpg"};
if (nr==9) {Nowy="./moon/f09.jpg"};
if (nr==10) {Nowy="./moon/f10.jpg"};
if (nr==11) {Nowy="./moon/f11.jpg"};
if (nr==12) {Nowy="./moon/f12.jpg"};
if (nr==13) {Nowy="./moon/f13.jpg"};
if (nr==14) {Nowy="./moon/f14.jpg"};
if (nr==15) {Nowy="./moon/f15.jpg"};
if (nr==16) {Nowy="./moon/f16.jpg"};
if (nr==17) {Nowy="./moon/f17.jpg"};
if (nr==18) {Nowy="./moon/f18.jpg"};
if (nr==19) {Nowy="./moon/f19.jpg"};
if (nr==20) {Nowy="./moon/f20.jpg"};
if (nr==21) {Nowy="./moon/f21.jpg"};
if (nr==22) {Nowy="./moon/f22.jpg"};
if (nr==23) {Nowy="./moon/f23.jpg"};
if (nr==24) {Nowy="./moon/f24.jpg"};
if (nr==25) {Nowy="./moon/f25.jpg"};
if (nr==26) {Nowy="./moon/f26.jpg"};
if (nr==27) {Nowy="./moon/f27.jpg"};
if (nr==28) {Nowy="./moon/f28.jpg"};
if (nr==29) {Nowy="./moon/f29.jpg"};
document.marek1.src=Nowy 
}

function preload() 
	{
  if (!document.images) return;
  var ar = new Array();
  var arguments = preload.arguments;
  for (var i = 0; i < arguments.length; i++) {
    ar[i] = new Image();
    ar[i].src = arguments[i];
	}
 }


// -->