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.4 - © 2004, CreatoraX - 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,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))
      || ((/^\d+$/.test(o1.value)&&o1.value.length>8)&&!Elf(o1.value))||(a[i+2].charAt(0)=='w'&&!/^[^0-9]+$/.test(o1.value))
      || (a[i+2].charAt(0)=='n'&&!/^\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 (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.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 informatie is incompleet of bevat fouten.\t\n\nCorrigeer a.u.b. het volgende:\n\n' + invmsg);}
  return inv;
}

function StripZero(str_str) { // Extra functie tegen 'zero-bug'
  var x;
  if (str_str.length!= '') {
    x = str_str.value;
    if (x.charAt(0)=='0'){
      x = x.substring(1);
      return str_str.value = x;
    }
  }
}

function formatThis(f) {
	
	f.postcode.value = f.pc_num.value + ' ' + f.pc_alf.value;				// format postcode
	f.telefoon.value = f.tel_net.value + '-' + f.tel_abo.value;				// format telefoonnummer
	
	var gdag = f.geb_d.value;
	if (gdag.length == 1) { gdag = '0' + gdag; }						// Voorloopnul Geboortedag
	var gmaand = f.geb_m.value;
	if (gmaand.length == 1) { gmaand = '0' + gmaand; }					// Voorloopnul Geboortemaand
	f.Gebdatum.value = gdag + '-' + gmaand + '-' + f.geb_j.value;				// format geboortedatum
	
	if (f.Kado[0].checked) 
	{
	  f.actiecode.value = actiecode_IC;
	  // Cols igv geen cadeau
	  f.cid.value = basic_CID;
	  f.cols.value = 'actiecode, uitgavecode, achternaam, tussenvoegsel, voorletters, Gebdatum, geslacht, straatnaam, huisnummer, achtervoegsel, postcode, woonplaats, telefoon, email, bank_gironr, betalingswijze, aanbieding, NB';
	} else if (f.Kado[1].checked) {								// Cols igv wel cadeau
	  f.actiecode.value = actiecode_IC_cadeau;
	  f.cid.value = extra_CID;
	  f.beg_postcode.value = f.beg_pc_num.value + ' ' + f.beg_pc_alf.value;			// format postcode begunstigde
	  f.cols.value = 'actiecode, uitgavecode, beg_achternaam, beg_tussenvoegsel, beg_voorletters, beg_geslacht, beg_straatnaam, beg_huisnummer, beg_achtervoegsel, beg_postcode, beg_woonplaats, achternaam, tussenvoegsel, voorletters, Gebdatum, geslacht, straatnaam, huisnummer, achtervoegsel, postcode, woonplaats, telefoon, email, bank_gironr, betalingswijze, aanbieding, NB';
	} 
	

     if (f.betalingswijze[0].checked && basic_CID==163) {f.actiecode.value = titelcode_AC;}
else if (f.betalingswijze[1].checked && basic_CID==163) {f.actiecode.value = titelcode_IC;}

else if (f.betalingswijze[0].checked && basic_CID==4275) {f.actiecode.value = titelcode_AC;}
else if (f.betalingswijze[1].checked && basic_CID==4275) {f.actiecode.value = titelcode_IC;}
		
else if (f.betalingswijze[0].checked && basic_CID==718) {f.actiecode.value = titelcode_AC;}
else if (f.betalingswijze[1].checked && basic_CID==718) {f.actiecode.value = titelcode_IC;}

else if (f.betalingswijze[0].checked && f.Kado[0].checked ) {f.actiecode.value = actiecode_AC;}
else if (f.betalingswijze[1].checked && f.Kado[0].checked ) {f.actiecode.value = actiecode_IC;}
else if (f.betalingswijze[1].checked && f.Kado[1].checked ) {f.actiecode.value = actiecode_IC_cadeau;}
else if (f.betalingswijze[0].checked && f.Kado[1].checked ) {f.actiecode.value = actiecode_AC_cadeau;}	
		
else { f.actiecode.value = titelcode;}
	
	
	
	
  return true;
}
