function buildDateArrays(startDate, endDate, yearDDB, monthDDB, dayDDB, dfltDate) {
  if ((startDate.length <6 ) || (endDate.length <6)) return;

  var startyear = startDate.substr(0,2);
  if (startyear < 47) startyear = ("20" + startyear)*1;
  else if (startyear<100) startyear = ("19" + startyear)*1;

  var startmonth = (startDate.substr(2,2))*1;
  var startday = (startDate.substr(4,2))*1;

  var endyear = endDate.substr(0,2);
  if (endyear < 47) endyear = ("20" + endyear)*1;
  else if (endyear<100) endyear = ("19" + endyear)*1;

  var endmonth = (endDate.substr(2,2))*1;
  var endday = (endDate.substr(4,2))*1;

  var YrArrayName = 'window.'+yearDDB.name+'Array';
  eval(YrArrayName+' = new Array()');
  for (year = 0; year<(endyear-startyear)+1; year++) {
    var optValue = (startyear+year) % 100;
    var strYear = ""+optValue;
    if (strYear.length < 2) strYear = "0" + strYear;
    eval(YrArrayName + '[year] = buildOption(optValue, startyear+year, (year==0))');
    if (year == 0) firstmonth=startmonth-1; 
    else firstmonth = 0;
    
    if (year == endyear-startyear) lastmonth = endmonth;
    else lastmonth = 12;
    
  

    for (month = firstmonth; month < lastmonth; month++) {
      var strMonth = ""+(month+1);
      if (strMonth.length<2) strMonth="0"+strMonth;
      if ((year == 0) && (month == firstmonth)) firstday = startday-1;
      else firstday = 0;
      if ((year == endyear-startyear) && (month == endmonth-1)) lastday = endday;
      else lastday = date_howManyDays(month, startyear+year);

      var arrayName = 'window.'+dayDDB.name+strMonth+strYear+'Array';
      var tmp = arrayName +' = DaysArray.slice('+firstday+', '+lastday+')';
      eval(tmp);
      makeFirstDefault(arrayName);  
    }
    var arrayName = 'window.'+monthDDB.name+strYear+'Array';
    var tmp = arrayName + ' = MonthsArray.slice('+firstmonth+', '+lastmonth+')';       
    eval(tmp);
    makeFirstDefault(arrayName);  
  };
  if (dfltDate == null ) dfltDate = startDate;
  var dfltYr = dfltDate.substr(0,2);
  var dfltMth = dfltDate.substr(2,2);
  var dfltDay = dfltDate.substr(4,2);
  populateDDB(yearDDB, "");
  setDropDown(yearDDB, dfltYr);
  populateDDB(monthDDB, yearDDB.options[yearDDB.selectedIndex].value);
  setDropDown(monthDDB, dfltMth);
  populateDDB(dayDDB, monthDDB.options[monthDDB.selectedIndex].value+yearDDB.options[yearDDB.selectedIndex].value);
  setDropDown(dayDDB, dfltDay);
}
  
function buildOption (value, text, first) {
  if (first == null) first = false;
  if (first != true) first = false;
  value = ""+value;
  if (value.length < 2) value="0"+value;

  var opt = '(\'' + text + '\',\'' + value + '\'';
  if (first) opt = opt + ',true,true';
  opt = opt + ')';
  return opt;
}

function makeFirstDefault(arrayName) {
  var tmp = eval(arrayName+'[0]');
  tmp = tmp.substr(0,tmp.lastIndexOf(')'))+',true, true)';
  eval (arrayName+'[0]=tmp');
}
