
function populateDates( theform, name, date )
{
  if( typeof( theform ) == "undefined" ) theform = document.forms[0];

  today=new Date(date);

//  theform.elements[name+'_day'].selectedIndex=today.getDate()-1;
//  theform.elements[name+'_month'].selectedIndex=today.getMonth();
//  theform.elements[name+'_year'].selectedIndex=today.getFullYear()-firstToYear;

  //selFind(theform.elements[name+'_day'], today.getDate());
  //selFind(theform.elements[name+'_month'], today.getMonth()+1);
  theform.elements[name+'_day'].value = today.getDate();
  theform.elements[name+'_month'].value = today.getMonth()+1;
  theform.elements[name+'_year'].value = today.getFullYear();

}


function selFind( e, v )
{
  for (i=0; i<e.options.length; i++)
  {
    if(e.options[i].value == v)
    {
      e.selectedIndex = i;
      break;
    }
  }
}

function dateValidation( theform, name )
{
  months=new Array(13);
  months[1]=31;months[2]=28;months[3]=31;months[4]=30;months[5]=31;months[6]=30;
  months[7]=31;months[8]=31;months[9]=30;months[10]=31;months[11]=30;months[12]=31;

  if( typeof( theform ) == "undefined" ) theform = document.forms[0];

//  yearIndex=theform.elements[name+'_year'].selectedIndex;
//  monthIndex=theform.elements[name+'_month'].selectedIndex;
//  dayIndex=theform.elements[name+'_day'].selectedIndex;

//  year  = theform.elements[name+'_year'].options[yearIndex*1].value;
//  month = theform.elements[name+'_month'].options[monthIndex*1].value;
//  day   = theform.elements[name+'_day'].options[dayIndex*1].value;
  year  = theform.elements[name+'_year'].value*1;
  month = theform.elements[name+'_month'].value*1;
  day   = theform.elements[name+'_day'].value*1;
  if( year % 4 == 0 && ( year % 100 != 0 || year % 400 == 0 ) )  { months[2]++; }

  if( day > months[month]) theform.elements[name+'_day'].value = months[month];
  if ( typeof( theform.elements[name] ) != "undefined" )
  {
    theform.elements[name].value = theform.elements[name+'_year'].value + "" +
                                   theform.elements[name+'_month'].value + "" +
                                   theform.elements[name+'_day'].value ;
  }
}

function isValidDate( f, name )
{
  dateValidation( f, name );
  if ( ( f.elements[name+"_year"].value != "" ||
         f.elements[name+"_month"].value != ""  ||
         f.elements[name+"_day"].value != "" ) &&
       ( f.elements[name+"_year"].value == "" ||
         f.elements[name+"_month"].value == "" ||
         f.elements[name+"_day"].value == "" ) )
  {
    return false;
  }
  if ( f.elements[name+"_year"].value != "" &&
       ( f.elements[name+"_year"].value*1!=f.elements[name+"_year"].value ||
         f.elements[name+"_month"].value*1!=f.elements[name+"_month"].value ||
         f.elements[name+"_day"].value*1!=f.elements[name+"_day"].value )
       )
  {
    return false;
  }
  if ( f.elements[name+"_year"].value != "" && ((f.elements[name+"_year"].value*1)<1900) )
  {
    return false;
  }
  return true;
}

if ( typeof( addErrorCheck )!="undefined" )
{
  addErrorCheck( "date", "You have entered an invalid date:", "isValidDate" )
}
