var maxWidth = 455;
var maxChars = 522;
var curChars = 0;

function getRef (divID, oDoc) {
  if (!oDoc) {
    oDoc = document;
  }
  if (document.layers) {
    if (oDoc.layers[divID]) {
      return oDoc.layers[divID];
    } else {
      for (var x = 0, y; !y && x < oDoc.layers.length; x++) {
        y = getRef (divID, oDoc.layers[x].document);
      }
      return y;
    }
  }
  if (document.getElementById) {
    return document.getElementById (divID);
  }
  if (document.all) {
    return document.all[divID];
  }
  return document[divID];
}

function doOnKeyUp() {
  curChars= document.frm.reactietekst.value.length;

  if (curChars > maxChars) {
    document.frm.reactietekst.value= document.frm.reactietekst.value.substring (0, maxChars);
    curChars= maxChars;
  }

  var pct= maxChars / 100;
  var used= (curChars / pct);
  var usedsize= parseInt (used * (maxWidth / 100));
  var uimg= getRef ("textused");
  if (usedsize > maxWidth) {
    usedsize= maxWidth;
  }
  uimg.width = usedsize;
}

function formCheck ()
{
  var allValid = true;

  var re = /^\s{1,}$/g; //match any white space including space, tab, form-feed, etc.
  if ((document.frm.reactietekst.value.length==0) || (document.frm.reactietekst.value==null) || (document.frm.reactietekst.value.search(re) > -1) || (document.frm.reactietekst.value=="")) {
    allValid = false ;
    history.go(0);
    alert("U heeft geen reactie ingevuld.");
    return false;
  }
  if(document.frm.afzender.value=="") {
    allValid = false ;
    history.go(0);
    alert("U heeft geen naam ingevuld.");
    return false;
  }
  if(document.frm.afzender.value.indexOf("@")>-1) {
    allValid = false ;
    history.go(0);
    alert("Hier moet U een naam invullen, niet een email adres");
    return false;
  }
  if(document.frm.woonplaats.value=="") {
    allValid = false ;
    history.go(0);
    alert("U heeft geen woonplaats ingevuld.");
    return false;
  }
  else
  {
    if (allValid == true)
      window.open('about:blank','popup','width=200,height=150');
      document.frm.submit();
      history.go(-1);
      return true;
  }
}

function validateEmail(addr, man, db) {
  var hiea = "Het ingevulde e-mailadres ";
  var mandatory = "U moet een e-mailadres invullen.";
  var invalidChars = hiea + "bevat verboden karakters.";
  var noAtSign = hiea + "bevat geen apenstaartje (@).";
  var noAtSignAtStart = hiea + "mag niet met een apenstaartje (@) beginnen.";
  var oneAtSign = hiea + "mag slechts een apenstaartje (@) bevatten.";
  var noPeriod = hiea + "moet een punt bevatten.";
  var noAtPeriod1 = hiea + "mag geen punt direct na een apenstaartje hebben.";
  var noAtPeriod2 = hiea + "mag geen apenstaartje direct na een punt hebben.";
  var no2Period = hiea + "mag geen twee punten na elkaar bevatten..";
  var invalidDomain = hiea + "bevat een fout domein-naam.";

  if (addr == '' && man) {
     if (db) alert(mandatory);
     return false;
  }
  var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
  for (i=0; i<invalidChars.length; i++) {
     if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
        if (db) alert(invalidChars);
        return false;
     }
  }
  for (i=0; i<addr.length; i++) {
     if (addr.charCodeAt(i)>127) {
        if (db) alert(invalidChars);
        return false;
     }
  }

  var atPos = addr.indexOf('@',0);
  if (atPos == -1) {
     if (db) alert(noAtSign);
     return false;
  }
  if (atPos == 0) {
     if (db) alert(noAtSignAtStart);
     return false;
  }
  if (addr.indexOf('@', atPos + 1) > - 1) {
     if (db) alert(oneAtSign);
     return false;
  }
  if (addr.indexOf('.', atPos) == -1) {
     if (db) alert(noPeriod);
     return false;
  }
  if (addr.indexOf('@.',0) != -1) {
     if (db) alert(noAtPeriod1);
     return false;
  }
  if (addr.indexOf('.@',0) != -1){
     if (db) alert(noAtPeriod2);
     return false;
  }
  if (addr.indexOf('..',0) != -1) {
     if (db) alert(no2Period);
     return false;
  }
  var suffix = addr.substring(addr.lastIndexOf('.')+1);
  if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
     if (db) alert(invalidDomain);
     return false;
  }
  mailArticle(topsection, articid, title);
  return true;
}

function validateNameField(value) {
  if(value=="") {
    alert("U heeft geen naam ingevuld.");
    return false;
  }
  return true;
}

function uploadFormCheck()
{
  var allValid = true;

  if ((document.uploadForm.titel.value=="")||(document.uploadForm.inleiding.value=="")||(document.uploadForm.bereiding.value== ""))
  {
    allValid = false ;
    alert("De velden titel, inleiding en bereiding zijn verplicht!")
  }
    else
  {
    if (allValid == true)
    {
      window.open('about:blank','popup','width=200,height=150');
      document.uploadForm.submit();
      history.go(-1);
      return true;
    }
  }
}

