var regNumber = /[^0-9-. ]/;     // checked of alleen uit nummers en evt. puntjes en spaties bestaat (telefoon/fax)
var regPcode = /[0-9]{4}(\s?)[a-zA-Z]{2}/;  // checked postcode

// Deze regexp checked het emailadres, werkt prima, jat hem gerust. (wordt gebruikt op regel 41-43 & 59-61).
var regEmail = /^([A-Za-z0-9._-]+)@([a-zA-Z0-9.-]+)(.+)([a-zA-Z0-9.-]{2,4})$/;

function hardSteppish() {        // validatie contactformulier
  var d = document.theForm;
  var arr = new Array('per_email','email','emailadres','per_tel','tel','telefoonnummer','per_fax','fax','faxnummer');
  var check = 0;
  if(!d.cname.value &! d.pname.value) {  // bedrijfsnaam en/of contactpersoon moet ingevuld zijn
    Error("Van de velden bedrijfsnaam en contactpersoon moet er in ieder geval één ingevuld zijn!",d.cname);  return false;
  }
  for(i=0;i<arr.length;i+=3) {  // gebruiker geeft op hoe contact met hem/haar op te nemen
  var c = arr[i];               // dan moet wel betreffence info opgegeven zijn (email/telnummer/faxnummer)
  var k = arr[i+1];
  var error = arr[i+2];
    if(d[c].checked) {
      check++;
      if(!d[k].value) {
        Error("U bent vergeten uw " + error + " in te vullen.",d[k]);  return false;
      }
    }
  }
  if(!check) {                  // indien geen manier van contact opnemen is opgegeven
    Error("U hebt niet ingevuld via welke weg u antwoord wilt krijgen.",d.per_email);  return false;
  }
  if(!d.text.value) {           // indien geen tekst is opgegeven
    Error("U hebt geen bericht ingevuld",d.text);  return false;
  }
  if(d.per_tel.checked) {       // telefoonnummer mag alleen nummers, spaties en punten bevatten
    if(regNumber.test(d.tel.value)) {
      Error("Het telefoonnummer bevat ongeldige tekens.",d.tel);  return false;
    }
  }
  if(d.per_fax.checked) {       // faxnummer mag alleen nummers, spaties en punten bevatten
    if(regNumber.test(d.fax.value)) {
      Error("Het faxnummer bevat ongeldige tekens.",d.fax);  return false;
    }
  }
  if(d.per_email.checked) {     // valideer emailadres
    if(!regEmail.test(d.email.value.toLowerCase())) {
      Error("Het emailadres is ongeldig.",d.email);  return false;
    }
  }
}
function slowDance() {          // validatie bestelformulier
  var d = document.theForm;
  var arr = new Array('email','uw emailadres','tel','uw telefoonnummer','fname','de naam van het factuuradres','faddr','het factuur adres','fpcode','de postcode van het factuuradres','fcity','de stad van het factuuradres','dname','de naam van het afleveradres','daddr','het afleveradres','dpcode','de postcode van het afleveradres','dcity','de stad van het afleveradres');
  if(!d.cname.value &! d.pname.value) {  // bedrijfsnaam en/of contactpersoon moet ingevuld zijn
    Error("Van de velden bedrijfsnaam en contactpersoon moet er in ieder geval één ingevuld zijn!",d.cname); return false;
  }
  for(i=0;i<arr.length;i+=2) {
    if(!d[arr[i]].value) {     // check voor alle verplichte velden of ingevuld (zie array arr[])
      Error("U bent vergeten " + arr[i+1] + " in te vullen.",d[arr[i]]);
      document.theForm[arr[i]].focus();
      return false;
    }
  }
  if(!regEmail.test(d.email.value)) {  // valideer emailadres
    Error("Het emailadres is ongeldig.",d.email);  return false;
  }
  if(regNumber.test(d.tel.value)) {    // telefoonnummer mag alleen nummers, punten en spaties bevatten
    Error("Het telefoonnummer bevat ongeldige tekens.",d.tel);  return false;
  }
  if(d.fax.value) {
    if(regNumber.test(d.fax.value)) {  // faxnummer mag alleen nummers, punten en spaties bevatten
      Error("Het faxnummer bevat ongeldige tekens.",d.fax);  return false;
    }
  }
  if(!regPcode.test(d.fpcode.value)) { // valideer postcode factuuradres
    Error("De postcode is ongeldig",d.fpcode);  return false;
  }
  if(!regPcode.test(d.dpcode.value)) { // valideer postcode leveradres
    Error("De postcode is ongeldig",d.dpcode);  return false;
  }
}
function Error(str,el) {               // geef foutmelding en focus op fout ingevulde veld
  alert("Fout bij het invullen:\n\n" + str);
  el.focus();
  el.select();
  window.scrollBy(0,-50);
}
function copyData() {                  // kopieer de data van factuuradres naar leveradres
  var d=document.theForm;
  d.dname.value=d.fname.value;
  d.daddr.value=d.faddr.value;
  d.dpcode.value=d.fpcode.value;
  d.dcity.value=d.fcity.value;
}
function sheIsPure(id,v) {
  var url = '/print.pl?'+id + ','+ v;
  var newWin = window.open(url,'printversion','width=650,height=400,top=20,left=20,scrollbars=1,menubar=1,status=1,resizable=1');
}
function printHer() {
  if(window.print) {
    window.print();
  }
  else {
    alert("Uw browser ondersteunt deze functie niet. Gebruik het menu van uw browser om de pagina te printen.");
  }
}
function herInfo(id) {
  var url = "/extrainfo.pl?";
  url += id;
  window.open(url,'infoWindow','height=240,width=360,top=30,left=30,scrollbars=yes,resizable=yes');
}

	
