//This function auto completes incomplete date fields
function AutoDate( item ){
  var f_item = eval( "document." + item );
  if( f_item ) {
    var dateString = f_item.value;
    var month = "";
    var day = "";
    var d = new Date();
    var year = d.getFullYear();
    var re = /^(\d\d)\/(\d\d)\/(\d\d\d\d)$/;
    if (!re.test(dateString)){
      var re1 = /^(\d)\/(\d)$/;
      if (re1.test(dateString)){
        month = RegExp.$1;
        day = RegExp.$2;
        f_item.value = '0' + month + '/0' + day + '/'+ year;
      }else{
        var re2 = /^(\d\d)\/(\d)$/;
        if (re2.test(dateString)){
          month = RegExp.$1;
          day = RegExp.$2;
          f_item.value = month + '/0' + day + '/'+ year;
        }else{
          var re3 = /^(\d)\/(\d\d)$/;
          if (re3.test(dateString)){
            month = RegExp.$1;
            day = RegExp.$2;
            f_item.value = '0' + month +'/'+ day + '/'+ year;
          }else{
            var re4 = /^(\d\d)\/(\d\d)$/;
            if (re4.test(dateString)){
              f_item.value = dateString + '/'+ year;
            }else{
              var re5 = /^(\d\d)(\d\d)$/;
              if (re5.test(dateString)){
                month = RegExp.$1;
                day = RegExp.$2;
                f_item.value = month +'/'+ day + '/'+ year;
              }else{
                var re6 = /^(\d)\/(\d)\/(\d\d\d\d)$/;
                if (re6.test(dateString)){
                  month = RegExp.$1;
                  day = RegExp.$2;
                  year = RegExp.$3;
                  f_item.value = '0' + month + '/0' + day + '/'+ year;
                }else{
                  var re7 = /^(\d\d)\/(\d)\/(\d\d\d\d)$/;
                  if (re7.test(dateString)){
                    month = RegExp.$1;
                    day = RegExp.$2;
                    year = RegExp.$3;
                    f_item.value = month + '/0' + day + '/'+ year;
                  }else{
                    var re8 = /^(\d)\/(\d\d)\/(\d\d\d\d)$/;
                    if (re8.test(dateString)){
                      month = RegExp.$1;
                      day = RegExp.$2;
                      year = RegExp.$3;
                      f_item.value = '0' + month + '/' + day + '/'+ year;
                    }else{
                      var re9 = /^(\d)\/(\d)\/(\d\d)$/;
                      if (re9.test(dateString)){
                        month = RegExp.$1;
                        day = RegExp.$2;
                        year = RegExp.$3;
                        year = 20 + year;
                        f_item.value = '0' + month + '/0' + day + '/'+ year;
                      }else{
                        var re10 = /^(\d\d)\/(\d)\/(\d\d)$/;
                        if (re10.test(dateString)){
                          month = RegExp.$1;
                          day = RegExp.$2;
                          year = RegExp.$3;
                          year = 20 + year;
                          f_item.value = month + '/0' + day + '/'+ year;
                        }else{
                          var re11 = /^(\d)\/(\d\d)\/(\d\d)$/;
                          if (re11.test(dateString)){
                            month = RegExp.$1;
                            day = RegExp.$2;
                            year = RegExp.$3;
                            year = 20 + year;
                            f_item.value = '0' +month + '/' + day + '/'+ year;
                          }else{
                            var re12 = /^(\d\d)\/(\d\d)\/(\d\d)$/;
                            if (re12.test(dateString)){
                              month = RegExp.$1;
                              day = RegExp.$2;
                              year = RegExp.$3;
                              year = 20 + year;
                              f_item.value = month + '/' + day + '/'+ year;
							}else{
							  var re13 = /^(\d\d)(\d\d)(\d\d)$/;
							  if (re13.test(dateString)){
								month = RegExp.$1;
								day = RegExp.$2;
								year = RegExp.$3;
								year = 20 + year;
								f_item.value = month + '/' + day + '/'+ year;
							  }else{
							    var re14 = /^(\d\d)(\d\d)(\d\d\d\d)$/;
							    if (re14.test(dateString)){
								  month = RegExp.$1;
								  day = RegExp.$2;
								  year = RegExp.$3;
								  year = year;
								  f_item.value = month + '/' + day + '/'+ year;
							    }
							  }
							}
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

function formatDate(mon, day, year) {
  var dstr;
  if (mon < 10) {
    dstr = "0" + mon + "/";
  }
  else {
    dstr = mon + "/";
  }
  if (day < 10) {
    dstr += "0" + day + "/";
  }
  else {
    dstr += day + "/";
  }
  if (year < 50) {
    dstr += "20" + year;
  }
  else if (year < 100) {
    dstr += "19" + year;
  }
  else {
    dstr += year;
  }
  return dstr;
}

// reformat incomplete time value
function makeTime(time){
  return(makeTime2(time));
}

// reformat incomplete time value, and adjust AM/PM indicator
function makeTime2(time, ampmField){
  var re1 = /^(\d+):(\d\d)$/;
  var re2 = /^(\d+)$/;
  var hour, min;
  var valid = false;
  
  if (time && (time.length > 0)) {
    if (re1.test(time)) {
      // ':' found, extract
      hour = Number(RegExp.$1);
      min = Number(RegExp.$2);
      valid = true;
    }
    else if (re2.test(time)) {
      // handle a number with no ':'
      var n = Number(time);
      // assume a small number is an hour
      if (n < 24) {
          hour = n;
          min = 0;
      }
      else {
          min = n % 100;
          hour = Math.floor(n / 100);
      }
      valid = true;
    }
    else {
      // invalid time format
    }
  }
  
  if (valid) {
    // set AM/PM if requested
    if (ampmField) {
      var ampmItem = eval( "document." + ampmField );
      if (ampmItem) {
        if (hour == 0) {
          hour = 12;
          ampmItem.selectedIndex = 0;
        }
        else if (hour < 12) {
          ampmItem.selectedIndex = 0;
        }
        else if (hour == 12) {
          ampmItem.selectedIndex = 1;
        }
        else {
          hour -= 12;
          ampmItem.selectedIndex = 1;
        }
      }
    }
    // reformat nicely
    var hourExtraZero = "";
    if (hour < 10) {
      hourExtraZero = "0";
    }
    var minExtraZero = "";
    if (min < 10) {
      minExtraZero = "0";
    }
    time = hourExtraZero + hour + ":" + minExtraZero + min;
  }
  return(time);
}


