function person(name, type) {
  this.name = name;
  this.type = type;
  this.fath = "";
  this.moth = "";
  this.sex = "";
  this.birtdate = "";
  this.birtplac = "";
  this.bapmdate = "";
  this.bapmplac = "";
  this.confdate = "";
  this.confplac = "";
  this.occu = "";
  this.educ = "";
  this.engadate = "";
  this.engaplac = "";
  this.marrdate = "";
  this.marrplac = "";
  this.deatdate = "";
  this.deatplac = "";
  this.burrdate = "";
  this.burrplac = "";
}

var persons = new Array();

function rtrim(s) {
   if (s == null || s == "") {
      return "";
   }
   var i = s.length;
   while (s.substring(i-1, i) == ' ') {
      i--;
   }
   return s.substring(0, i);
}

function ltrim(s) {
   if (s == null || s == "") {
      return "";
   }
   var i = 0;
   while (s.substring(i, i+1) == ' ') {
      i++;
   }
   return s.substring(i);
}

function trim(s, t) {
   if (s == null || s == "") {
      return "";
   }
   var ss = "";
   var i;
   for (i = 0; i < s.length; i++) {
       if (s.substring(i, i+2) == "  ") {
           ss += " ";
           while (i < s.length && s.substring(i+1, i+2) == " ")
               i++;
       } else {
           ss += s.substring(i, i+1);
       }
   }
   return ltrim(rtrim(ss));
}

function lookup(type) {
   for (i = 0; i < persons.length; i++) {
      if (persons[i].type == type) {
         return persons[i];
      }
   }
   return null;
}

function doSubmit(f) {
  var p = persons[f.names.selectedIndex];
  f.reset();
  f.sex.value      = p.sex;
  f.name.value     = trim(p.name);
  f.fath.value     = trim(p.fath);
  f.moth.value     = trim(p.moth);
  f.birtdate.value = trim(p.birtdate);
  f.birtplac.value = trim(p.birtplac);
  f.bapmdate.value = trim(p.bapmdate);
  f.bapmplac.value = trim(p.bapmplac);
  f.confdate.value = trim(p.confdate);
  f.confplac.value = trim(p.confplac);
  f.occu.value     = trim(p.occu);
  f.educ.value     = trim(p.educ);
  f.deatdate.value = trim(p.deatdate);
  f.deatplac.value = trim(p.deatplac);
  f.burrdate.value = trim(p.buridate);
  f.burrplac.value = trim(p.buriplac);
  var partner;
  if (p.type == "Father") {
     partner = "Mother";
  } else if (p.type== "Mother") {
     partner = "Father";
  }
  if (p.type== "Father" || p.type=="Mother") {
     var o = lookup(partner);
     if (o != null) {
        f.countMarriages.value   = 1;
        f.namePartner1.value     = trim(o.name);
        f.marrdate1.value        = trim(o.marrdate);
        f.marrplac1.value        = trim(o.marrplac);
        f.engadate1.value        = trim(o.engadate);
        f.engaplac1.value        = trim(o.engaplac);
        f.birtdatePartner1.value = trim(o.birtdate);
        f.birtplacPartner1.value = trim(o.birtplac);
        f.bapmdatePartner1.value = trim(o.bapmdate);
        f.bapmplacPartner1.value = trim(o.bapmplac);
        f.confdatePartner1.value = trim(o.confdate);
        f.confplacPartner1.value = trim(o.confplac);
        f.occuPartner1.value     = trim(o.occu);
        f.educPartner1.value     = trim(o.educ);
        f.deatdatePartner1.value = trim(o.deatdate);
        f.deatplacPartner1.value = trim(o.deatplac);
        f.burrdatePartner1.value = trim(o.buridate);
        f.burrplacPartner1.value = trim(o.buriplac);
        f.fathPartner1.value     = trim(o.fath);
        f.mothPartner1.value     = trim(o.moth);
     }
  } else {
     f.countMarriages.value   = 0;
     f.namePartner1.value     = "";
     f.marrdate1.value        = "";
     f.marrplac1.value        = "";
     f.engadate1.value        = "";
     f.engaplac1.value        = "";
     f.birtdatePartner1.value = "";
     f.birtplacPartner1.value = "";
     f.bapmdatePartner1.value = "";
     f.bapmplacPartner1.value = "";
     f.confdatePartner1.value = "";
     f.confplacPartner1.value = "";
     f.occuPartner1.value     = "";
     f.educPartner1.value     = "";
     f.deatdatePartner1.value = "";
     f.deatplacPartner1.value = "";
     f.burrdatePartner1.value = "";
     f.burrplacPartner1.value = "";
     f.fathPartner1.value     = "";
     f.mothPartner1.value     = "";
  }
  f.submit();
}

function generateForm() {
   document.write("V&aelig;lg person <select id='names' name='names'>");
   var selected = "selected='selected'";
   for (i=0; i < persons.length; i++) {
      p = persons[i];
   	document.write("<option value='" + i + "' " + selected + ">" + p.name + "</option>");
      selected = "";
   }
   document.write("</select>");
   document.write("</script>");
   document.write("og <input type='button' value='Vis oplysningsside' onclick='doSubmit(this.form);'/>");
   document.write("<input type='hidden' name='name'/>");
   document.write("<input type='hidden' name='sex'/>");
   document.write("<input type='hidden' name='fath'/>");
   document.write("<input type='hidden' name='moth'/>");
   document.write("<input type='hidden' name='birtdate'/>");
   document.write("<input type='hidden' name='birtplac'/>");
   document.write("<input type='hidden' name='bapmdate'/>");
   document.write("<input type='hidden' name='bapmplac'/>");
   document.write("<input type='hidden' name='confdate'/>");
   document.write("<input type='hidden' name='confplac'/>");
   document.write("<input type='hidden' name='occu'/>");
   document.write("<input type='hidden' name='educ'/>");
   document.write("<input type='hidden' name='deatdate'/>");
   document.write("<input type='hidden' name='deatplac'/>");
   document.write("<input type='hidden' name='burrdate'/>");
   document.write("<input type='hidden' name='burrplac'/>");
   document.write("<input type='hidden' name='countMarriages'/>");
   document.write("<input type='hidden' name='namePartner1'/>");
   document.write("<input type='hidden' name='fathPartner1'/>");
   document.write("<input type='hidden' name='mothPartner1'/>");
   document.write("<input type='hidden' name='birtdatePartner1'/>");
   document.write("<input type='hidden' name='birtplacPartner1'/>");
   document.write("<input type='hidden' name='bapmdatePartner1'/>");
   document.write("<input type='hidden' name='bapmplacPartner1'/>");
   document.write("<input type='hidden' name='confdatePartner1'/>");
   document.write("<input type='hidden' name='confplacPartner1'/>");
   document.write("<input type='hidden' name='engadate1'/>");
   document.write("<input type='hidden' name='engaplac1'/>");
   document.write("<input type='hidden' name='marrdate1'/>");
   document.write("<input type='hidden' name='marrplac1'/>");
   document.write("<input type='hidden' name='occuPartner1'/>");
   document.write("<input type='hidden' name='educPartner1'/>");
   document.write("<input type='hidden' name='deatdatePartner1'/>");
   document.write("<input type='hidden' name='deatplacPartner1'/>");
   document.write("<input type='hidden' name='burrdatePartner1'/>");
   document.write("<input type='hidden' name='burrplacPartner1'/>");
   document.write("</p></center>");
   document.write("</form>");
}


