
function change_days(elem_name)
{
 var the_name = elem_name.name;
 var the_d = "cCdDpP_"+elem_name.name+"_d";
 var the_m = "cCdDpP_"+elem_name.name+"_m";
 var the_y = "cCdDpP_"+elem_name.name+"_y";
 var obj_name = document.getElementsByName(the_name);
 var obj_d = document.getElementsByName(the_d);
 var obj_m = document.getElementsByName(the_m);
 var obj_y = document.getElementsByName(the_y);
 var index = obj_d[0].options.selectedIndex;
 obj_d[0].options.length = 0;
 obj_d[0].options[obj_d[0].options.length] = new Option("","00");
 var mon = obj_m[0].options[obj_m[0].options.selectedIndex].text;
 switch (mon)
 {
  case "Jan": mon = "January"; break;
  case "Feb": mon = "February"; break;
  case "Mar": mon = "March"; break;
  case "Apr": mon = "April"; break;
  case "May": mon = "May"; break;
  case "Jun": mon = "June"; break;
  case "Jul": mon = "July"; break;
  case "Aug": mon = "August"; break;
  case "Sep": mon = "September"; break;
  case "Oct": mon = "October"; break;
  case "Nov": mon = "November"; break;
  case "Dec": mon = "December"; break;
 }
 var year = obj_y[0].options[obj_y[0].options.selectedIndex].text;
 year = parseInt(year);
 var today = new Date("" + mon + " 1 2000 00:00:01 +0000");
 var d = today.getMonth()+1;
 switch (d)
 {
  case 1: var days = 28; break; //feb
  case 2: var days = 31; break; //mar
  case 3: var days = 30; break; //apr
  case 4: var days = 31; break; //may
  case 5: var days = 30; break; //jun
  case 6: var days = 31; break; //jul
  case 7: var days = 31; break; //aug
  case 8: var days = 30; break; //sep
  case 9: var days = 31; break; //oct
  case 10: var days = 30; break; //nov
  case 11: var days = 31; break; //dec
  case 12: var days = 31; break; //jan
  default: var days = 0; break
 }
 if ((days == 28) && (obj_y[0].value != "0000"))
 {
  if ((year % 4 == 0 && year % 100 != 0) || (year % 4 == 0 && year % 100 == 0 && year % 400 == 0))
  {
   days = 29;
  }
 }
 for (i=1;i<=days;i++)
 {
  obj_d[0].options[obj_d[0].options.length] = new Option(i,i);
  if (i == index)
  {
   obj_d[0].options[i].selected = true;
  }
 }
 obj_d[0].disabled = false;
// update years selection choices  
 obj_y[0].options.length = 0;
 obj_y[0].options[obj_y[0].options.length] = new Option("","0000");
// fill with new number of years
 var j = 1;
 if (isNaN(year))
 {
  var y = new Date();
  year = y.getFullYear();
 }
 if (days == 0)
  match = 0;
 else
  match = year;
 for (i=year-5;i<=year+5;i++)
 {
  obj_y[0].options[obj_y[0].options.length] = new Option(i,i);
  if (i == match)
  {
   obj_y[0].options[j].selected = true;
  }
  j++;
 }
 obj_y[0].disabled = false;
 var namem = obj_m[0].value;
 switch (namem)
 {
  case "Jan": namem = 1; break;
  case "Feb": namem = 2; break;
  case "Mar": namem = 3; break;
  case "Apr": namem = 4; break;
  case "May": namem = 5; break;
  case "Jun": namem = 6; break;
  case "Jul": namem = 7; break;
  case "Aug": namem = 8; break;
  case "Sep": namem = 9; break;
  case "Oct": namem = 10; break;
  case "Nov": namem = 11; break;
  case "Dec": namem = 12; break;
 }
 obj_name[0].value = obj_y[0].value + "-" + namem + "-" + obj_d[0].value;
// begin debug window  
//  var msgWin=window.open('');
//  msgWin.document.write("index = " + j + " value = " + i);
}
