function Nul(w) {if(w.charAt(0)=='0'){w=w.substring(1);}return w;}
function Elf(w){z=true;w2=0;for(i=1;w>0;i++){w-=(x=w%10);w2+=i*x;w/=10;}if(w2%11!=0){z= false;}return z;}

function FormCheck() {  // v0.7 - © 2004,2005,2006, M.W.Dood - Netdirect BV
  var pattern1= /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z]+$/;
  var a=FormCheck.arguments,f,i,j,ns,ds,a2,aa,inv=true,invmsg='',o1,o2,o3;
  f= document.forms[a[0]].elements;
  for (i=2; i<a.length; i=i+7) {
  o1=f[a[i-1]];o2=f[a[i+3]];o3=a[i+5];
    if((o1.type=='text'||o1.type=='password'||o1.type=='hidden')&&(a[i].charAt(0)=='v'||(a[i].charAt(0)==''&&o1.value!=''))){
      if (o1.value==''||(a[i+2].charAt(0)=='e'&&!pattern1.test(o1.value))||(a[i+2].charAt(0)=='b'&&(!/^\d+$/.test(o1.value)||o1.value.length<4
      ||  o1.value.length==8 // BUG FIX - Account # is NEVER 8 digits
      || ((/^\d+$/.test(o1.value)&&o1.value.length>8)&&(!Elf(o1.value)||o1.value==123456789||o1.value==987654321))))
      || (a[i+2].charAt(0)=='w'&&!/^[^0-9]+$/.test(o1.value))
      || ((a[i+2].charAt(0)=='n'||a[i+2].charAt(0)=='d')&&!/^\d+$/.test(o1.value))){invmsg+='- '+a[i+1]+'\n';inv=false;}
      else if (a[i+2].charAt(0)=='n'&&a[i+2].length>1){ns=a[i+2].substring(1).split('-');if(parseInt(o1.value)<ns[0]||parseInt(o1.value)>ns[1]){invmsg+='- '+a[i+1]+'\n';inv=false;}}
      else if (a[i+2].charAt(0)=='d'&&a[i+2].length>1){ds=a[i+2].substring(1).split('-');if(parseInt(Nul(o1.value))<ds[0]||parseInt(Nul(o1.value))>ds[1]){invmsg+='- '+a[i+1]+'\n';inv=false;}}
      else if (a[i+2].charAt(0)=='w'&&a[i+2].length>1){if(o1.value.length!=eval(a[i+2].charAt(1))){invmsg+='- '+a[i+1]+'\n';inv=false;}}
    } else if (o1.length>0&&o1[0].type=='radio'&&a[i].charAt(0)=='v'){a2=o1.length;if(a2>1){aa=0;for(j=0;j<a2;j++){if(o1[j].checked){aa++;}}if(aa<1){invmsg+='- '+a[i+1]+'\n';inv=false;}}
    } else if (o1.type=='checkbox'&&a[i].charAt(0)=='v'&&!o1.checked) { invmsg+='- '+a[i+1]+'\n';inv=false;
    } else if (((o1.type=='select-one'&&o1.options.selectedIndex==0)||(o1.type=='select-multiple'&&o1.options.selectedIndex<0))&&a[i].charAt(0)=='v'){invmsg+='- '+a[i+1]+'\n';inv=false;
    } else if (o1.type=='textarea'&&a[i].charAt(0)=='v'&&o1.value==''){invmsg+='- '+a[i+1]+'\n';inv=false;}
      if([a[i+3]]!=''){ // Related elements
        if (o1.type=='checkbox'&&o1.checked&&(o2.type=='text'||o2.type=='password'||o2.type=='textarea')&&o2.value==''){invmsg+='- '+a[i+4]+'\n';inv=false;
        } else if (o1.length>0&&o1[0].type=='radio'&&o1[o3].checked&&(o2.type=='text'||o2.type=='password'||o2.type=='textarea')&&o2.value==''){invmsg+='- '+a[i+4]+'\n';inv=false;
        } else if (o1.length>0&&o1[0].type=='radio'&&o1[o3].checked&&((o2.type=='select-one'&&o2.options.selectedIndex==0)||(o2.type=='select-multiple'&&o2.options.selectedIndex<0))){invmsg+='- '+a[i+4]+'\n';inv=false;
        } else if (o1.length>0&&o1[0].type=='radio'&&o1[o3].checked&&o2.length>0&&o2[0].type=='radio'){a2=o2.length;if(a2>1){aa=0;for(j=0;j<a2;j++){if(o2[j].checked){aa++;}}if(aa<1){invmsg+='- '+a[i+4]+'\n';inv=false;}}
        } else if (o1.type=='select-one'&&o1.options.selectedIndex==[o3]&&(o2.type=='text'||o2.type=='password'||o2.type=='textarea')&&o2.value==''){invmsg+='- '+a[i+4]+'\n';inv=false;}
      }
    }
  if(inv==false){alert('De door u ingevulde gegevens bevatten fouten of zijn incompleet!\t\n\nCorrigeer a.u.b. het volgende:\n\n' + invmsg);}
  return inv;
}

function Format() {  // v0.1 - © 2005,2006, M.W.Dood - Netdirect BV
  var a=Format.arguments,f,fe,i,j,o1,o2,o3,s,r,t,nz;
  f=document.forms[a[0]]; fe=f.elements;
  for (i=1; i<a.length; i=i+6) {
    if (a[i+3]=='l'||a[i+3]=='lp'||a[i+3]=='k'||a[i+3]=='kp') {
      if (a[i+3]=='l'||a[i+3]=='lp') { o1=fe[a[i]].value.toLowerCase(); }
      else if (a[i+3]=='k'||a[i+3]=='kp') { o1=fe[a[i]].value.toUpperCase(); }
      s=a[i+5];
      if (a[i+3]=='lp'||a[i+3]=='kp') { t=''; for (var j=0; j< o1.length; j++) { var d= o1.charAt(j); if (/[A-Za-z]/.test(d)) t=t+d; } o1=t;
      if (o1.length!=0) { t=''; for (var j=0;j<o1.length;j++) { var d= o1.charAt(j); t=t+d+s; } } o1=t; }
      fe[a[i]].value = o1;
    } else if (a[i+3]=='kf') { o1=fe[a[i]].value.toLowerCase(); fe[a[i]].value=o1.substring(0,1).toUpperCase()+o1.substring(1);
    } else if (a[i+3]=='kw') { o1=fe[a[i]].value.toLowerCase(); t=''; for (var j=0; j<o1.length; j++) { d= o1.charAt(j);
        if (!/[A-Za-z]/.test(o1.charAt(j-1))&&/[A-Za-z]/.test(o1.charAt(j))) { t=t+d.toUpperCase(); } else { t=t+d; } } fe[a[i]].value = t;
    } else if (a[i+3]=='c'||a[i+3]=='cp') {
      if (a[i+3]=='c') {
        if (a[i+2]=='') { o1=fe[a[i]].value; o2=fe[a[i+1]].value; s=a[i+5]; r=o1+s+o2; }
        else { o1=fe[a[i]].value; o2=fe[a[i+1]].value; o3=fe[a[i+2]].value; s=a[i+5]; r=o1+s+o2+s+o3; } }
      else if (a[i+3]=='cp') { o1=fe[a[i]].value; o2=fe[a[i+1]].value; s=a[i+5]; r=s.substring(0,1)+o1+s.substring(1,2)+o2; }
      if (document.getElementById) { var input=document.createElement('INPUT');
        if (document.all) { input.type='hidden'; input.name=a[i+4]; input.value=r; }
        else if (document.getElementById) { input.setAttribute('type', 'hidden'); input.setAttribute('name', a[i+4]); input.setAttribute('value', r); }
        f.appendChild(input); }
    } else if (a[i+3]=='z')  { o1=fe[a[i]].value; nz=a[i+5]; t=''; for (var j=0; j<(nz-o1.length); j++) { t='0'+t; } fe[a[i]].value=t+o1;
    } else if (a[i+3]=='e')  { if (fe[a[i]].value==a[i+5]) { fe[a[i]].value=''; } 
    } else if (a[i+3]=='ee') { o1=fe[a[i]].value; strip=a[i+5]; t=''; for (var j=0; j<o1.length; j++) { if (o1.charAt(j)!=strip) { t=t+o1.charAt(j); } fe[a[i]].value=t; } }
  }
  return true;
}