var Month = new Array (31,28,31,30,31,30,31,31,30,31,30,31);var MonthLeap = new Array (31,29,31,30,31,30,31,31,30,31,30,31);


var month_old;var leap_year_old;

function getLeapYear(year) {
   if ((Math.round(year/4)-year/4) == 0)
	  if ((Math.round(year/100)-year/100) == 0)
		 if ((Math.round(year/400)-year/400) == 0) return 1;
		 else return 0;
      else return 1;
	else  return 0;
}


function clearList(obj) {   if (obj.length > 0) {      var len = obj.length-1;
      for (var i=len; i>-1; i--) obj.removeChild(obj.options[i]);
   }
}


function addList(obj, len, sel) {   for (var i=1; i<=len; i++) { 
       var option = document.createElement("OPTION");
	   data = i<10 ? "0"+i : i;
	   option.appendChild(document.createTextNode(data));
	   option.value = data;
       obj.appendChild(option);
   }
}


function changeNumberDay(obj, month, year) {   var sel_month = getLeapYear(year) ? MonthLeap : Month;
   var day = obj.selectedIndex;
   var leap_year = getLeapYear(year);
   if (sel_month[parseInt(month)-1] != sel_month[parseInt(month_old)-1] || leap_year != leap_year_old) {
      clearList(obj);
      addList(obj, sel_month[month-1], "");
   }
   obj.selectedIndex = day;
   if (obj.selectedIndex == -1) obj.selectedIndex = obj.length-1;
   leap_year_old = getLeapYear(year);
    month_old = month;
}


function _setYear(obj, year) {   var len = obj.length-1;
   for (var i=0; i<=len; i++) {
      if (obj.options[i].value == year) {
	     obj.options[i].selectedIndex = i;
		 break;
      }
   }

}

