// de include file zit al in de pageheader.inc en hoeft hier niet nog eens // Hieronder staan de functies voor de clientsite checks function chkMinLength(Field,FieldName,FieldValue,MinLength,MaxLength,ExtraParam) { //functie controleert of de ingevoerde lengte voldoet aan minimale lengte if (FieldValue.length < MinLength) { return DisplayErrMsg(Field,FieldName,FieldValue,'emNotEnough',MinLength,''); }else{ return true; } } function chkMaxLength(Field,FieldName,FieldValue,MinLength,MaxLength,ExtraParam) { //functie controleert of de ingevoerde lengte groter is dan de maximaal toegestaan lengte. if (FieldValue.length != 0) { if (FieldValue.length > MaxLength) { return DisplayErrMsg(Field,FieldName,FieldValue,'emTooMuch','',MaxLength); }else{ return true; } } return true; } //begin chkmandatory functie function chkMandatory(Field,FieldName,FieldValue,MinLength,MaxLength,ExtraParam){ //alert(eval(FieldValue)); if(FieldValue.length == 0){ return DisplayErrMsg(Field,FieldName,FieldValue,'emEmpty','',''); }else{ if (Trim(FieldValue).length == 0) { return DisplayErrMsg(Field,FieldName,FieldValue,'emOnlySpaces','',''); } else { return true; } } } function LTrim(str) { for (var i=0; str.charAt(i)==" "; i++); return str.substring(i,str.length); } function RTrim(str) { for (var i=str.length-1; str.charAt(i)==" "; i--); return str.substring(0,i+1); } function Trim(str) { return LTrim(RTrim(str)); } //einde chkmandatory functie function chkZipCode(Field,FieldName,FieldValue,MinLength,MaxLength,ExtraParam) { if (FieldValue.length != 0) { var txtZipCode = FieldValue.replace(/^ +/, "").replace(/ +$/,""); if (txtZipCode){ //De eerste 4 posities moeten numeriek zijn de laatste 2 in A-Z var objRegex; objRegex = /^\d{4} ?[a-zA-Z]{2}$/i; if (! objRegex.test(txtZipCode)) { return DisplayErrMsg(Field,FieldName,FieldValue,'emFormatWrong','',''); } } return true; } return true; } function chkCharacter(Field,FieldName,FieldValue,MinLength,MaxLength,ExtraParam) { if (FieldValue.length != 0) { var checkOK = ExtraParam; var strNumeric = '0123456789'; var strAlphaLowerCase = 'abcdefghijklmnopqrstuvwxyz0'; var strAlphaUpperCase = strAlphaLowerCase.toUpperCase(); var strAlpha = strAlphaLowerCase + strAlphaUpperCase + ' '; var strAlphaNumeric = strAlpha + strNumeric; var strTelephone = strAlphaNumeric+'+-() '; switch(checkOK) { case "Numeric": checkOK = strNumeric; break; case "Alphanumeric": checkOK = strAlphaNumeric; break; case "Telephone": checkOK = strTelephone; break; } var allValid = true; for (i = 0; i < FieldValue.length; i++) { ch = FieldValue.charAt(i); for (j = 0; j < checkOK.length; j++) { if (ch == checkOK.charAt(j)) { allValid = true; break; } else { allValid = false; } if (j == checkOK.length) { break; } } if (!allValid) { break; } } if (!allValid) { return DisplayErrMsg(Field,FieldName,FieldValue,'emNotValid','','',''); } else { return true; } } return true; } function chkEmail(Field,FieldName,FieldValue,MinLength,MaxLength,ExtraParam) { if (FieldValue.length != 0) { /* The following pattern is used to check if the entered e-mail address fits the user@domain format. It also is used to separate the username from the domain. */ var emailPat=/^(.+)@(.+)$/ /* The following string represents the pattern for matching all special characters. We don't want to allow special characters in the address. These characters include ( ) < > @ , ; : \ " . [ ] */ var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]" /* The following string represents the range of characters allowed in a username or domainname. It really states which chars aren't allowed. */ var validChars="\[^\\s" + specialChars + "\]" /* The following pattern applies if the "user" is a quoted string (in which case, there are no rules about which characters are allowed and which aren't; anything goes). E.g. "jiminy cricket"@disney.com is a legal e-mail address. */ var quotedUser="(\"[^\"]*\")" /* The following pattern applies for domains that are IP addresses, rather than symbolic names. E.g. joe@[123.124.233.4] is a legal e-mail address. NOTE: The square brackets are required. */ var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/ /* The following string represents an atom (basically a series of non-special characters.) */ var atom=validChars + '+' /* The following string represents one word in the typical username. For example, in john.doe@somewhere.com, john and doe are words. Basically, a word is either an atom or quoted string. */ var word="(" + atom + "|" + quotedUser + ")" // The following pattern describes the structure of the user var userPat=new RegExp("^" + word + "(\\." + word + ")*$") /* The following pattern describes the structure of a normal symbolic domain, as opposed to ipDomainPat, shown above. */ var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$") /* Finally, let's start trying to figure out if the supplied address is valid. */ /* Begin with the coarse pattern to simply break up user@domain into different pieces that are easy to analyze. */ var matchArray=FieldValue.match(emailPat) if (matchArray==null) { /* Too many/few @'s or something; basically, this address doesn't even fit the general mould of a valid e-mail address. */ return DisplayErrMsg(Field,FieldName,FieldValue,'emEmailIncorrect','','',''); } var user=matchArray[1] var domain=matchArray[2] // See if "user" is valid if (user.match(userPat)==null) { // user is not valid return DisplayErrMsg(Field,FieldName,FieldValue,'emEmailIncorrect','','',''); } /* if the e-mail address is at an IP address (as opposed to a symbolic host name) make sure the IP address is valid. */ var IPArray=domain.match(ipDomainPat) if (IPArray!=null) { // this is an IP address for (var i=1;i<=4;i++) { if (IPArray[i]>255) { return DisplayErrMsg(Field,FieldName,FieldValue,'emEmailIncorrect','','',''); } } return true } // Domain is symbolic name var domainArray=domain.match(domainPat) if (domainArray==null) { return DisplayErrMsg(Field,FieldName,FieldValue,'emEmailIncorrect','','',''); } /* domain name seems valid, but now make sure that it ends in a three-letter word (like com, edu, gov) or a two-letter word, representing country (uk, nl), and that there's a hostname preceding the domain or country. */ /* Now we need to break up the domain to get a count of how many atoms it consists of. */ var atomPat=new RegExp(atom,"g") var domArr=domain.match(atomPat) var len=domArr.length if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) { // the address must end in a two letter or three letter word. return DisplayErrMsg(Field,FieldName,FieldValue,'emEmailIncorrect','','',''); } // Make sure there's a host name preceding the domain. if (len<2) { return DisplayErrMsg(Field,FieldName,FieldValue,'emEmailIncorrect','','',''); } // If we've gotten this far, everything's valid! return true; } return true; } function y2k(number) { return (number < 1000) ? number + 1900 : number; } function chkDate(Field,FieldName,FieldValue,MinLength,MaxLength,ExtraParam) { // checks if date passed is in valid dd-mm-yyyy format if (FieldValue.length != 0) { if ((FieldValue.length >= 8) && (FieldValue.length <= 10)){ var endpos = FieldValue.indexOf("-"); var date = FieldValue.substring(0,endpos); var startpos = endpos + 1 endpos = FieldValue.indexOf("-",startpos); var month = FieldValue.substring(startpos,endpos); startpos = endpos + 1 var year = FieldValue.substring(startpos,FieldValue.length); var test = new Date(year,month-1,date); if (year == y2k(test.getYear()) && (month-1 == test.getMonth()) && (date == test.getDate())) { return true; } else { return DisplayErrMsg(Field,FieldName,FieldValue,'emNoDate','',''); } //} //else { //return DisplayErrMsg(Field,FieldName,FieldValue,'emFormatWrong','',''); //} } else { return DisplayErrMsg(Field,FieldName,FieldValue,'emNoDate','',''); } } return true; } var IE if (navigator.appName.search("Internet Explorer") != -1 ) { IE = true; } else { IE = false; } function check(arrayname) { // Voert a.h.v. een array (arrayname) met daarin de aan te roepen // functies met parameters checks op betreffende velden uit. Bij // de eerste foute invoer genereert de aangeroepen functie een // foutmelding en wordt de lus doorbroken. var param; var sfunction; var btest; var sdummy; var field; for (counterA=0;counterA < arrayname.length; counterA++){ var param = ""; sfunction = arrayname[counterA][0]; for(counterB=1;counterB < arrayname[counterA].length; counterB++){ if(counterB!=1){param = param + ","; } //param = param + "'" + arrayname[counterA][counterB] + "'"; if ((counterB==1)||(counterB==3)) {param = param + arrayname[counterA][counterB];} else {param = param + '"' + arrayname[counterA][counterB] + '"';} } sdummy = sfunction + "(" + param + ")"; //alert(sdummy); if (!eval(sdummy)) { btest = false; break; } else { btest = true; } } return btest; } function DisplayErrMsg(Field,FieldName,FieldValue,errMsg,MinLength,MaxLength,ExtraParameter) { //var theDiv = document. switch(errMsg) { case "emEmpty": errMsg = "Het veld '"+FieldName+"' mag niet leeg zijn."; break; case "emNotEnough": errMsg = "Het veld '"+FieldName+"' bevat niet het benodigde aantal van "+MinLength+" tekens."; break; case "emTooMuch": errMsg = "Het veld '"+FieldName+"' bevat meer dan het toegestane aantal van "+MaxLength+" tekens."; break; case "emNotValid": errMsg = "Het veld '"+FieldName+"' bevat tekens die niet toegestaan zijn."; break; case "emFormatWrong": errMsg = "Het veld '"+FieldName+"' heeft niet het juiste formaat."; break; case "emNoEmail": errMsg = "Het veld '"+FieldName+"' bevat geen geldig emailadres."; break; case "emNoDate": errMsg = "Het veld '"+FieldName+"' bevat geen geldige datum.\n\nFormaat: DD-MM-YYYY"; break; case "emUNIsPW": errMsg = "De gebruikersnaam is gelijk aan het wachtwoord. Dit is niet toegestaan."; break; case "emEmailIncorrect": errMsg = "Het veld '"+FieldName+"' is niet correct.\n(let op @ en .)"; break; case "emOnlySpaces": errMsg = "Het veld '"+FieldName+"' mag niet alleen spaties bevatten."; break; case "emOneUrl": errMsg = "U kunt maar 1 adres invoeren. Gebruik hier geen komma, puntkomma of spatie."; break; } alert(errMsg); eval(Field).focus(); return false; } var zIndexCounter = 101; var MM_TO=new Array(); function hideObject(id){ if(document.getElementById){ if(document.getElementById(id)){ document.getElementById(id).style.visibility = 'hidden'; } }else if (document.layers){ if(document.layers[id]){ document.layers[id].visibility = 'hide'; } } } //window.onresize = getBrowser; function showObject(event,srcObj,id){ var trgObj; var par; var vzindex; if (document.getElementById){ //alert("IE"); if (trgObj = document.getElementById(id)){ par = srcObj.parentNode; if (id.search("TerMenu_") != -1) {par = par.parentNode;} //window.status = (trgObj.style.zIndex + zIndexCounter++); vzindex = zIndexCounter++; if (id.search("TerMenu_") != -1) {trgObj.style.left = 200 + "px"; trgObj.style.top = (par.offsetTop + srcObj.offsetTop) + "px"; } else {trgObj.style.left = 100 + "px"; trgObj.style.top = (par.offsetTop + 150) + "px"; } trgObj.style.visibility = "visible"; trgObj.style.zindex = vzindex; } }else if (document.layers){ if(document.layers[id]){ document.layers[id].visibility = 'show'; document.layers[id].left = event.pageX; document.layers[id].top = event.pageY; } } } function showVisual(event,srcObj,id){ var trgObj; var par; var vzindex; if (document.getElementById){ if (trgObj = document.getElementById(id)){ par = srcObj.parentElement; trgObj.style.visibility = "visible"; } }else if (document.layers){ if(document.layers[id]){ document.layers[id].visibility = 'show'; document.layers[id].left = event.pageX; document.layers[id].top = event.pageY; } } } function visual_Over(ev,srcEl,index){ window.clearTimeout(MM_TO[index]); showVisual(ev,srcEl,"loVisual" + index); } function visual_Out(ev,srcEl,index){ hideObject("loVisual" + index); } function ClosePrintDoc(){ window.close(); window.setTimeout("ClosePrintDoc()", 1000) } function printDoc(){ var a = navigator.appName + navigator.userAgent.indexOf("3.") var b = navigator.appName + navigator.userAgent.indexOf("MSIE 4") if (a == "Netscape-1" || b == "Microsoft Internet Explorer-1") {self.resizeTo(1,1); window.moveTo(1,1); window.print(); window.setTimeout("ClosePrintDoc()", 1000);} else {alert("Uw browser kan niet automatisch printen.\nKlik op bestand(file) en dan afdrukken(print)\nom het document af te drukken.")} } function scrollToTop() { //var scrollTo = document.getElementById("").parentElement.offsetTop; document.getElementById("content").scrollTop = 0; //content.style.offsetHeight = 0; } //============================================================== var remember = new Array(); var remember2 = new Array(); var checkIt; var par; var trgObj; var classname; var navitem; var navid var lvl var DHTML = (document.getElementById || document.all || document.layers); function hidebg(name,lvl,obj) { classname = obj.className; //alert(name); if (classname.search("primnavisel") == -1) { if (lvl == 1) { navid = name; obj.style.background = "url('template/layout/image/spacer.gif')"; } else { navitem = 'MenuItem_'+navid; navitem = document.getElementById(navitem); navitem.style.background = "url('template/layout/image/spacer.gif')"; } } } function showbg(name,lvl,obj) { if (lvl == 1) { navid = name; obj.style.background = "url('template/layout/image/bg_menu.jpg')"; } else { navitem = 'MenuItem_'+navid; navitem = document.getElementById(navitem); navitem.style.background = "url('template/layout/image/bg_menu.jpg')"; } } function show(name,lvl,obj) { if (!DHTML) return; checkUserInput(); if (remember[lvl] && remember[lvl] == name) return; if (remember[lvl]) { closeAll(lvl); } if (name) { var x = getObj(name); trgObj = document.getElementById(name) par = obj.parentNode; if (document.getElementById){ if (lvl == 1) { trgObj.style.left = 125 + "px"; trgObj.style.top = (par.offsetTop + 151) + "px"; } else { par = par.parentNode; trgObj.style.left = 268 + "px"; trgObj.style.top = (par.offsetTop + obj.offsetTop) + "px"; } }else if (document.layers){ if(document.layers[name]){ document.layers[name].visibility = 'show'; document.layers[name].left = event.pageX; document.layers[name].top = event.pageY; } } x.visibility = 'visible'; } remember[lvl] = name; if (obj.parentNode) y = obj.parentNode; else if (obj.parentElement) y = obj.parentElement; else return; if (y.className) return; y.className = 'over'; if (remember2[lvl]) remember2[lvl].className = ''; remember2[lvl] = y; } function closeAll(lvl) { for (i=remember.length - 1;i>=lvl;i--) { if (remember[i]) { var x = getObj(remember[i]); x.visibility = 'hidden'; } remember[i] = null; if (remember2[i]) { remember2[i].className = ''; remember2[i] = null; } } } function checkUserInput() { if (checkIt) clearTimeout(checkIt); checkIt = setTimeout('closeAll(1)',3000); } function checkUserInput2(lvl) { closeAll(lvl); } function getObj(name) { if (document.getElementById) { return document.getElementById(name).style; } else if (document.all) { return document.all[name].style; } else if (document.layers) { return document.layers[name]; } else return false; } //-->