function PopUpWindow(Wurl,Wname,Wtoolbar,Wlocation,Wdirectories,Wstatus,Wmenubar,Wscrollbars,Wresizable,Wcopyhistory,_width,_height)
{
  Wtop  = (document.body.clientHeight-_height)/2;
  Wleft = (document.body.clientWidth-_width)/2
  nw = window.open(Wurl,Wname,"height="+_height+",width="+_width+",top="+Wtop+",left="+Wleft+",resizable="+Wresizable+",scrollbars="+Wscrollbars+",toolbar="+Wtoolbar+",menubar="+Wmenubar+",location="+Wlocation+",status="+Wstatus+",directories="+Wdirectories);
}

function IsEmpty(aTextField) {
   if ((aTextField.value.length==0) ||
   (aTextField.value==null)) {
      return true;
   }
   else { return false; }
}

function checkform(required) {
  if (IsEmpty(mailform['mail['+required+']'])) {
    alert ('Het veld "'+required+'" is niet ingevuld');
    mailform['mail['+required+']'].focus();
    return false;
  }
  else {
      if (required == 'email') {
              if (!validEmail(mailform['mail[email]'].value)) {
                      alert('email is niet geldig');
                      mailform['mail[email]'].focus();
                      return false;
              }
      }
  }
  return true;
}

function checkformulier(waardes) {
  for (i=0; i<waardes.length; i++) {
    if (checkform(waardes[i]) == false) return false;
  }
  if (canSubmit())
    mailform.submit();
}

function validEmail(email)
{
 var reg        = new RegExp('^([A-Za-z0-9]([\.\-_][^\.\-_]|[A-Za-z0-9])*)@([A-Za-z0-9]([\.\-][^\.\-]|[A-Za-z0-9])*\.[A-Za-z]{2,4})$');
 return reg.exec(email);
}

var counter       = 0;
var teller        = 0;
var maxCount      = 25;
var maxCountText  = 'Maximum aantal velden bereikt';
var controleVraag = 'Weet je zeker dat je deze wil verwijderen ?';

function moreFields()
{
  if (teller == maxCount) {
    alert (maxCountText);
    return false;
  }

  var newFields = document.getElementById('readroot').cloneNode(true);
  newFields.id = '';
  newFields.style.display = 'block';
  var newField = newFields.childNodes;
  for (var i=0;i<newField.length;i++)
  {
    var theName = newField[i].name
    if (theName) newField[i].name = theName + '[' + counter + ']';
  }
  var insertHere = document.getElementById('writeroot');
  insertHere.parentNode.insertBefore(newFields,insertHere);

  teller++;
  counter++;
}

function setCounter( waarde ) {
  teller = counter = waarde;
  if (counter == 0) moreFields();
}

function removeField( obj, fieldname ) {
  var Fields = obj.childNodes;
  for (var i=0;i<Fields.length;i++)
  {
    var theName = Fields[i].name;
    if (theName && (Fields[i].name.indexOf(fieldname) != -1)) {
      if (Fields[i].value.length > 0) {
        if (confirm (controleVraag)) {
          obj.parentNode.removeChild(obj);
          teller--;
          return true;
        }
        return false;
      }
      else {
        obj.parentNode.removeChild(obj);
        teller--;
        return true;
      }
    }
  }
}

function showhide(show, hide) {
  for (var i=0; i<hide.length; i++) {
    if (document.getElementById(hide[i])) {
      document.getElementById(hide[i]).style.display = 'none';
      if (show == hide[i]) document.getElementById(show).style.display = 'block';
    }
  }
}

function TrimString(sInString) {
sInString = sInString.replace( /^\s+/g, '' );// strip leading
return sInString.replace( /\s+$/g, '' );// strip trailing
}

function findElement(name)
{
       if (typeof mailform != 'undefined')
          formobj = mailform;
       else
          return undefined;
       var ele = formobj.elements[name];
       if (ele != undefined)
          return ele;
       for(var i = 0; i < formobj.elements.length; i++)
          if (formobj.elements[i].name == name)
             return formobj.elements[i];
       return undefined;
}

function canSubmit()
{
       var fields  = Array('mail[Producten][Artikel]', 'mail[Producten][Kleur]', 'mail[Producten][Aantal]');
       var names   = Array('Artikel', 'Kleur', 'Aantal');
       var fout    = Array('Er is geen artikel ingevuld op regel ', 'Er is geen kleur gekozen op regel ', 'Er is geen aantal ingevuld op regel ');
       var foutempty = 'Er zijn geen artikelen opgegegeven.';
       var noerror = true;
       var teller  = 1;
       var emptyrows = 0;

       for(var i = 0; i <= counter; i++)
       {
               var mempty = 0;
               var mfield = '';
               var ele = findElement('mail[Producten][Artikel]['+i+']');
               if (ele != undefined)
               {
                 for(var n = 0; n < fields.length; n++)
                 {
                         var mvalue = TrimString(findElement(fields[n]+'['+i+']').value);
                         var l = fields[n].length;
                         var last = fields[n].substring(l-3,l);
                         if (mvalue == '')
                         {
                            mempty++;
                            if (!mfield)
                               mfield = fout[n];
                         }
                 }
                 if ((mempty > 0) && (mempty != fields.length))
                 {
                    alert(mfield+teller+'.');
                    noerror = false;
                 }
                 else if (mempty == fields.length)
                    emptyrows++;
                 teller++;
                 
                 if (emptyrows == counter) {
                   alert(foutempty);
                   noerror = false;
                 }
               }
       }
       return noerror;
}