## Uniwersalny kalendarz

N
| P | W | Ś | C | P | S

Skopiuj przykładowy kod

W ramach HEAD

    <!--
    This Java Script is free to the domain. All I ask is you send me an
    email to ddelong@csci.csusb.edu to let me know that you will be using it.
    This message must be included with the script if you copy it.
    -->
    <!-- corrected by - Grzegorz Fidler, g_fidler@poczta.onet.pl -->
    <script language="JavaScript">
    <!-- for sucky browsers

    Months = new Array(12);
    Months[0] = "Styczeń";
    Months[1] = "Luty";
    Months[2] = "Marzec";
    Months[3] = "Kwiecień";
    Months[4] = "Maj";
    Months[5] = "Czerwiec";
    Months[6] = "Lipiec";
    Months[7] = "Sierpień";
    Months[8] = "Wrzesień";
    Months[9] = "Październik";
    Months[10] = "Listopad";
    Months[11] = "Grudzień";

    function PadSpaces(TheString)
    {
    	var Spaces = "             ";
    	len = Math.round((9 - TheString.length)/2);

    	return Spaces.substring(0,len) + TheString;
    }

    function NumLeapYears(StartYear, EndYear)
    {
     	var LeapYears, i;

     	if (EndYear >= StartYear){
     		for(LeapYears = 0; StartYear <= EndYear; StartYear++)
     		if (IsLeapYear(StartYear)) LeapYears++;
    	}else{
    	for(LeapYears = 0; EndYear <= StartYear; EndYear++)
     		if (IsLeapYear(EndYear)) LeapYears++;
    	}
     	return LeapYears;
    }

    function IsLeapYear(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 DetermineMonthIdx()
    {
    	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 FindNewYearStartingDay(Year)
    {
     	var LeapYears, Years, Day;

     	LeapYears = NumLeapYears(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(IsLeapYear(Year)) Day--;
     	}else Day += 7;

     	if(Day < 0) Day = 6;
     	if(Day > 6) Day = 0;
     	return Day;
    }

    function FindNumDaysInMonth(Year, Month)
    {
     	if(Month == 1){
       		if(IsLeapYear(Year)) return 29;
       		else return 28;
     	}else{
       		if(Month >6) Month++;
       		if(Month/2 == Math.round(Month/2))  return 31;
     	}
     return 30;
    }

    function FindMonthStartDay(NewYearDay, Year, Month)
    {
      	var MonthStartDay;

      	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;

      	MonthStartDay = NewYearDay + AddArray[Month];
      	if(IsLeapYear(Year)  && (Month ) > 1) MonthStartDay ++;

      	if (MonthStartDay > 6) MonthStartDay -= 7;

      	return MonthStartDay;
    }

    function  FillCalendar()
    {
      	var Year, Month, Midx, NewYearDay, MonthStartDay;
    	var NumDaysInMonth, i, t;

      	Year = parseFloat(document.calform.elements[1].value);
      	Month = document.calform.elements[4].value;

      	Midx  =  DetermineMonthIdx();
      	if (Midx == -1){
       		alert ("Can't recognize that month");
       		return;
      	}

      	NewYearDay = FindNewYearStartingDay(Year);
      	MonthStartDay = FindMonthStartDay(NewYearDay, Year,  Midx);
      	NumDaysInMonth = FindNumDaysInMonth(Year, Midx);

      	for(i = 6;  i < 43;  i++){
    		t = i-5-MonthStartDay;
    		if ( t >= 1  &&  t <= NumDaysInMonth)
    			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;

    	FillCalendar()
    }

    function IncDecMonth(val)
    {
    	var valNum = parseInt(val);
      	var Midx  =  DetermineMonthIdx();

    	Midx += valNum;
    	if(Midx > 11) Midx = 0;
    	if(Midx < 0)  Midx = 11;

    	document.calform.elements[4].value = PadSpaces(Months[Midx]);

    	FillCalendar()
    }

    // -->
    </script>

W ramach BODY

    <table border=1 bgcolor="#000000" cellpadding=1 cellspacing=1><tr><td
    align=center>
    <table border=0  cellpadding=0 cellspacing=0>
    <form name="calform">
    <tr>
    	<td align=center cellpadding=0 cellspacing=0 bgcolor="#000000"><input
    type=button value="<<" onClick="IncDecYear(-1)"></td>
    	<th cellpadding=0 cellspacing=0 bgcolor="#aaaaaa" colspan=5
    align=center><input size=4 type=text value="1993"></th>
    	<td align=center cellpadding=0 cellspacing=0 bgcolor="#000000"><input
    type=button value=">>" onClick="IncDecYear(1)"></td>
    </tr>
    <tr>
    	<td align=center bgcolor="#000000"><input type=button value="<<"
    onClick="IncDecMonth(-1)"></td>
    	<th bgcolor="#aaaaaa" colspan=5 align=center><input size=9 type=text
    value=" January "></th>
    	<td align=center bgcolor="#000000"><input type=button value=">>"
    onClick="IncDecMonth(1)"></td>
    </tr>
    <tr>
    	<th  bgcolor="#ffcccc">N</td>
    	<th  bgcolor="#ccccff">P</td>
    	<th  bgcolor="#ccccff">W</td>
    	<th  bgcolor="#ccccff">Ś</td>
    	<th  bgcolor="#ccccff">C</td>
    	<th  bgcolor="#ccccff">P</td>
    	<th  bgcolor="#ccccff">S</td>
    </tr>
    <tr>
    	<td  bgcolor="#ffcccc"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    </tr>
    <tr>
    	<td  bgcolor="#ffcccc"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    </tr>
    <tr>
    	<td  bgcolor="#ffcccc"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    </tr>
    <tr>
    	<td  bgcolor="#ffcccc"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    </tr>
    <tr>
    	<td  bgcolor="#ffcccc"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#ccccff" ><input type=text size=2></td>
    </tr>
    <tr>
    	<td  bgcolor="#ffcccc"><input type=text size=2></td>
    	<td  bgcolor="#ccccff"><input type=text size=2></td>
    	<td  bgcolor="#aaaaaa" colspan=5><input type=text></td>
    </tr>

    </form>
    </table>
    </td></tr></table>

    <script language="JavaScript">
    <!--
    //include this script segment if you want to set the calendar to today's date.
    //this MUST come after the tabled form which contains the calendar

    //set calendar to today's date
    	myDate = new Date();
    	var Month = parseInt(myDate.getMonth());

    	document.calform.elements[1].value = 0 + myDate.getYear();
    	document.calform.elements[4].value = PadSpaces(Months[Month]);

    	document.calform.elements[43].value = "Dziś jest: " +
    		myDate.getDate() + " " + Months[Month].substring(0,3)
    		 + ", " + (0 + myDate.getYear());

    	FillCalendar();

    // -->
    </script>