var nbgroepaantal = 1; function nbcheckformat(formel,formformat){ switch(formformat){ case 'currency': if(isNaN(formel.value)){ formel.value = ''; return false; } else{ var nbtostring = formel.value.toString(); var nbcurrency = ''; for(i=1;i<(Math.floor(nbtostring.length/3)+1);i++){ j=i*3; nbcurrency += '.'+nbtostring.substring(nbtostring.length-j,nbtostring.length-j+3); } formel.value = nbtostring.substring(0,nbtostring.length-(Math.floor(nbtostring.length/3)*3) ) +''+ nbcurrency; return true; } break; case 'e-mail': if(formel.value.length < 6 || formel.value.indexOf("@",0) == - 1 || formel.value.indexOf(".",0) == - 1){ return false; } else{ return true; } break; case 'akkoord': if(formel.value!='akkoord'){ return false; } else{ return true; } break; case 'nummer': if(isNaN(formel.value)){ return false; } else{ return true; } break; case 'postcode': var cijfers = new Number(formel.value.substr(0,4)); if(isNaN(cijfers) || formel.value.length != 6 || !isNaN(formel.value.substr(3,2))){ return false; } else{ return true; } break; case 'datum': var cijfers1 = new Number(formel.value.substr(0,2)); var cijfers2 = new Number(formel.value.substr(3,2)); var cijfers3 = new Number(formel.value.substr(6,4)); if(isNaN(cijfers1) || formel.value.length != 10 || isNaN(cijfers2) || isNaN(cijfers3)){ return false; } else{ return true; } break; case 'datum-vandaag': var datumobj = new Date(); var vandaagdag = datumobj.getDate(); if(datumobj.getDate() < 10) vandaagdag = '0' + datumobj.getDate(); var vandaagmaand = datumobj.getMonth() + 1; if(vandaagmaand < 10) vandaagmaand = '0' + vandaagmaand; var datumcomp = vandaagdag + '-' + vandaagmaand + '-' + datumobj.getFullYear(); if(datumcomp != formel.value){ //alert(datumcomp); return false; } else{ return true; } break; case 'telefoon': if ( formel.value == ''){ return false; } var telefoonreeks = formel.value.split('-'); var lengtereeks = telefoonreeks[0] + telefoonreeks[1]; var cijfers1 = new Number(telefoonreeks[0]); var cijfers2 = new Number(telefoonreeks[1]); if(isNaN(cijfers1) || isNaN(cijfers2) || lengtereeks.length != 10){ return false; } else{ return true; } break; case 'plaatsingsdagen': //alert('test'); return false; break; case 'uppercase': formel.value = formel.value.toUpperCase(); return true; break; case 'lowercase': formel.value = formel.value.toLowerCase(); return true; break; case 'no-spaces': formel.value = formel.value.replace(/[ ]+/gi,''); return true; } return false; } function nbcheckform(formid){ if(document.getElementById(formid)){ var nbformid=document.getElementById(formid).elements; } else { alert('Het formulier heeft geen id'); return false; } var nbfoutmelding=''; var nbradioapp=1; var nbcheckboxapp=1; for(i=0;i< nbformid.length;i++) // alle elementen aflopen { var nbchecknietalleenspaties = nbformid[i].value.replace(/ /g,''); if(nbformid[i].title.indexOf('[') > 0){ var nbverplichtreeks = nbformid[i].title.split('['); var nbverplichtveld = nbverplichtreeks[1]; nbverplichtveld = nbverplichtveld.replace(/[ ]+/gi,''); nbverplichtveld = nbverplichtveld.replace(/]/g,''); if(nbverplichtveld != ''){ var nbverplichtformat = nbverplichtveld.split(','); } else{ var nbverplichtformat = new Array('',''); } if(nbverplichtformat[0]=='verplicht'){ var nbverplichtmarkering=1; // verplicht if(nbverplichtformat[1]){ nbverplichtmarkering=2; // verplicht en format } } } else{ var nbverplichtmarkering=0; // niet verplicht } if(nbverplichtmarkering>0) // als het verplicht is dan controleren { switch(nbformid[i].type) // het type veld bepalen en de juiste verwerking { case 'radio': if(eval(nbradioapp)){ var nbgroepnaam = nbformid[i].name; var nbradiogroep = nbformid[nbgroepnaam]; var nbgroepcheck = false; for(j=0;j< nbradiogroep.length;j++){ if(nbradiogroep[j].checked){ nbgroepcheck = true; } } if(!nbgroepcheck){ nbfoutmelding += '\t- '+ nbverplichtreeks[0] +'\n'; } nbradioapp = 'nbformid[i].name!=\''+nbgroepnaam+'\''; } break; case 'checkbox': // if(nbverplichtmarkering == 2){ // var nbchecked = nbcheckformat(nbformid[i], nbverplichtformat[1]); // if (nbchecked){ // nbfoutmelding += '\t- '+ nbverplichtreeks[0] +'\n'; // } // } // else{ if(nbverplichtformat[1].indexOf('groep') == -1 ){ if(!nbformid[i].checked){ nbfoutmelding += '\t- '+ nbverplichtreeks[0] +'\n'; } } else{ var checkboxreeks = nbverplichtformat[1].split(':'); if(eval(nbcheckboxapp)){ var objidreeks = checkboxreeks[2].split('-'); var checkedgroep = 0; if (typeof(checkboxreeks[3]) != 'undefined'){ nbgroepaantal = new Number(checkboxreeks[3]); } for(var ci=0;ci < objidreeks.length;ci++){ var objid = checkboxreeks[1] + '' + objidreeks[ci]; if(document.getElementById(objid).checked == true){ checkedgroep++; } } //alert('Groep aantal: ' + nbgroepaantal + ' Gekozen aantal: ' + checkedgroep); if(checkedgroep < (0 + nbgroepaantal)){ nbfoutmelding += '\t- '+ nbverplichtreeks[0] +'\n'; } nbcheckboxapp = ' nbverplichtreeks[0] !=\''+ nbverplichtreeks[0] +'\''; } } // } break; case 'text': var nbchecked = true; if(nbverplichtmarkering==2) nbchecked = nbcheckformat(nbformid[i],nbverplichtformat[1]); if(nbformid[i].value=='' || (!nbchecked && nbformid[i].value!='') || nbchecknietalleenspaties == '') nbfoutmelding += '\t- '+ nbverplichtreeks[0] +'\n'; break; case 'textarea': if(nbformid[i].value=='' || nbchecknietalleenspaties == '') nbfoutmelding += '\t- '+ nbverplichtreeks[0] +'\n'; break; case 'password': if(nbformid[i].value=='' || nbchecknietalleenspaties == '' || nbformid[i].value.length < 6) nbfoutmelding += '\t- '+ nbverplichtreeks[0] +'\n'; break; case 'select-one': if(nbformid[i].value=='') nbfoutmelding += '\t- '+ nbverplichtreeks[0] +'\n'; break; case 'select-multiple': if(nbformid[i].value=='') nbfoutmelding += '\t- '+ nbverplichtreeks[0] +'\n'; } } } if(nbfoutmelding!=''){ nbfoutmelding = 'Waarschuwing: de volgende velden zijn niet (goed) ingevuld.\n\n\n'+ nbfoutmelding; alert(''+ nbfoutmelding +''); return false; } else { return true; } } function nbverplichtmaken(id,modus,format){ var obj = document.getElementById(id); if(modus == 'verplicht'){ obj.title += ' [verplicht'; if(format!='') obj.title += ', ' + format; obj.title += ']'; } else { var nieuwetitelreeks = obj.title.split('['); obj.title = nieuwetitelreeks[0]; } }