/* (c) 1996-2005 TEM, VPSCash, Islive */ var form; var req; var nonfilled; function checkEmail(email){ var at; var c; var pos; if(email.indexOf(',')!=-1){ if(email.toLowerCase().indexOf('compuserve.com')!=-1) return "in een compuserve-adres dient u de komma's door punten te vervangen"; else return "een e-mail adres mag geen komma's bevatten"; } at=email.indexOf('@'); if(at==0) return "er staat niets voor het @-teken"; else if(at==-1) return "een e-mail adres hoort een @-teken te bevatten"; c=email.charAt(at+1).toLowerCase(); if((c<'a'||c>'z')&&(c<'0'||c>'9')) return "achter het @-teken hoort een letter of cijfer te staan"; if(email.indexOf('..',at)!=-1) return "achter het @-teken staan twee punten achter elkaar"; for(pos=at+1;pos'z')&&(c<'0'||c>'9')&&c!='.'&&c!='-') return "het e-mail adres bevat het ongeldige teken '"+c+"'"; } pos=email.lastIndexOf('.'); if(pos==-1) return "de domeinnaam bevat geen punt"; c=email.substring(pos+1,email.length); return null; } function formCheck(theForm, required) { var firstc=0; var lastc=0; var verder=true; var nietIngevuld=''; var melding=''; var aantal=0; var filled=true; var elementName; var email=null; var wrongEmail=null; var emailFirst=false; var req = (typeof required == 'string') ? required : required.value; form = theForm; nonfilled=null; while(verder){ lastc=req.indexOf(',',lastc+1); if(lastc==-1){ lastc=req.length; verder=false; } if(req.charAt(firstc)==' ') firstc++; elementName=req.substring(firstc,lastc); if(!form[elementName]){ alert("Foutje van de webmaster: '"+elementName+"' komt niet in het fomulier voor."); return false; } if(form[elementName].type){ elementType = form[elementName].type.split('-').shift(); switch(elementType) { case 'select': filled=form[elementName].selectedIndex > 0; break; case 'checkbox': filled=form[elementName].checked; break; default: filled = form[elementName].value != '' && form[elementName].value.substring(0,1) != '?'; if (elementName.toLowerCase()=='e-mail' || elementName.toLowerCase()=='email' || elementName.indexOf('email') > 0) { email = elementName; emailFirst = !nonfilled; } break; } } else if(form[elementName].length){ elementType = form[elementName][0].type.split('-').shift(); var radioCheck=false; for(var i=0;i 0) nietIngevuld +="\n"; nietIngevuld += "- " + displayName; aantal++; } firstc=lastc+1; } if (email && form[email].value != '' ) wrongEmail = checkEmail(form[email].value); if (aantal == 1) melding="Het veld "+nietIngevuld+" is nog niet ingevuld"; else if(aantal > 0) { var lastcomma=nietIngevuld.lastIndexOf("\n"); nietIngevuld=nietIngevuld.substring(0,lastcomma)+"\nen '"+nietIngevuld.substring(lastcomma+2,nietIngevuld.length) + "'"; melding="Waarschuwing!\n De gegevens voor:\n"+nietIngevuld+" zijn nog niet ingevuld."; } if (wrongEmail){ melding+="\nDit e-mail adres is niet juist ingevuld: "+wrongEmail; } if (wrongEmail||aantal>0) alert(melding+"."); if (aantal > 0 && !(wrongEmail && emailFirst) && form[nonfilled].type) { switch(form[nonfilled].type) { case 'select': form[nonfilled].focus(); setTimeout("form[nonfilled].blur();",100); setTimeout("form[nonfilled].focus();",200); setTimeout("form[nonfilled].blur();",300); setTimeout("form[nonfilled].focus();",400); break; case 'checkbox': form[nonfilled].focus(); break; case 'radio': form[nonfilled][0].focus(); break; case 'file': form[nonfilled].focus(); break; default: form[nonfilled].value=' < < <'; setTimeout("form[nonfilled].value=' < < <';",200); setTimeout("form[nonfilled].value=' < < <';",400); setTimeout("form[nonfilled].value='< < <';",600); setTimeout("form[nonfilled].value='';form[nonfilled].focus();",800); break; } } else if(wrongEmail){ form[email].select(); form[email].focus(); } return aantal==0&&!wrongEmail; }