function GetMonDays(month, year)

{

   var DaysInMonth=[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

   if (IsLeapYear(year))

   {

      DaysInMonth[1]=29;

   }   

   return DaysInMonth[month];   

}



function IsLeapYear(year)

{

   if ((year%4)==0)

   {

      if ((year%100==0) && (year%400)!=0)

      {

         return false;

      }

      else

      {

         return true;

      }

   }

   else

   {

      return false;

   }

}



var MonthName=["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"];



function SetupDays()

{

   var dayObj = document.getElementById('day');

   var monthObj = document.getElementById('month');

   var yearObj = document.getElementById('year');

   

   today = new Date();

   d = today.getDate();

   m = today.getMonth();

   y = today.getFullYear();

   

   startd = 1;

   

   if (yearObj.value == y && monthObj.value == m + 1)

   {

      startd = d;

   }

   

   oldday = dayObj.value;

   

   for (i = dayObj.length - 1; i >= 0; i--)

   {

      dayObj.remove(i);   

   }

   

   oldd = startd;

   

   for (i = startd; i <= GetMonDays(parseInt(monthObj.value) - 1); i++)

   {

      if (oldday == i) oldd = oldday;

      dayObj.options[i - startd] = new Option(i, i);

   }

   

   dayObj.value = oldd;   

   

}



function SetupMonths(yearObj)

{

   monthObj = document.getElementById('month');

   yearObj = document.getElementById('year');



   today = new Date();

   d = today.getDate();

   m = today.getMonth();

   y = today.getFullYear();

   

   startm = 0;

   

   if (yearObj.value == y)

   {

      startm = m;

   }

   

   oldmonth = monthObj.value;

   

   for (i = monthObj.length - 1; i >= 0; i--)

   {

      monthObj.remove(i);   

   }

   

   oldm = startm + 1;

   for (i = startm; i < 12; i++)

   {

      if (oldmonth == i + 1) oldm = oldmonth;

      monthObj.options[i - startm] = new Option(MonthName[i], (i + 1));

   }

   

   monthObj.value = oldm;

   

   SetupDays();

   

}



SetupMonths();