function ChangeDate(_date, _month, _year)
{
  var tmpList = new Array();
  var previousIndex, newIndex;

  previousIndex = _date.length;
  
  if(_year.value%4 ==0)
    leap = true;
  else
    leap = false;

  if (_month.value==2)
  {
    if (leap)
    {
      if (previousIndex==31)
      {
        _date.options[30] = null;
        _date.options[29] = null;
      }
      
      if (previousIndex==30)
        _date.options[29] = null;
      
      if (previousIndex==28)
        _date.options[28] = new Option ("29", value=29);
    }
    else
    {
      if (previousIndex==31)
      {
        _date.options[30] = null;
        _date.options[29] = null;
        _date.options[28] = null;
      }
      
      if (previousIndex==30)
        _date.options[29] = null;
        _date.options[28] = null;        
    
      if (previousIndex==29)
        _date.options[28] = null;
    }
  }
  else
  {
    if( (_month.value==1) || (_month.value==3) || (_month.value==5) || (_month.value==7) || (_month.value==8) || (_month.value==10) || (_month.value==12) )
    {
      if (previousIndex == 30)
        _date.options[30] = new Option ("31", value=31);
        
      if (previousIndex == 28)
      {
       _date.options[28] = new Option ("29", value=29);
       _date.options[29] = new Option ("30", value=30);
       _date.options[30] = new Option ("31", value=31);
      }
   
      if (previousIndex == 29)
      {
       _date.options[29] = new Option ("30", value=30);
       _date.options[30] = new Option ("31", value=31);
      }
    }
    else
    {
      if (previousIndex == 31)
        _date.options[30] = null;
        
      if (previousIndex == 28)
      {
       _date.options[28] = new Option ("29", value=29);
       _date.options[29] = new Option ("30", value=30);
      }
   
      if (previousIndex == 29)
       _date.options[29] = new Option ("30", value=30);
    }
  }
}
  
