// JavaScript Document var dtCh= "-"; var minYear=1900; var maxYear=2100; function submit_onclick(obj,post){ var msg=''; var form=document.getElementById(obj); var el = form.getElementsByTagName('label'); for(i=0;i < form.elements.length;i++){ if(form.elements[i].id!='' && form.elements[i].title!=''){ if(form.elements[i].owner!=undefined && form.elements[i].owner!=''){ //if form element contains owner attribute if(document.getElementById(form.elements[i].owner).style.display!='none'){ //then only check if shown msg = msg + chckField(form.elements[i],form.elements[i].title) } }else{ msg = msg + chckField(form.elements[i],form.elements[i].title) } } } for (var e=0; e< el.length; e++) { //check for radio/checkboxes var objLabel = el[e]; var domLabel = document.getElementById(objLabel.getAttribute('id')); var domLabelText = document.getElementById(objLabel.getAttribute('id')).innerHTML; var id_1 = domLabel.id.replace('lbl','') var spanObj = document.getElementById(id_1+'_group'); var radio_checked1 = false; var radio_result = ''; var allInputTags = spanObj.getElementsByTagName('INPUT'); for (var c=0; c< allInputTags.length; c++) { if (allInputTags[c].checked) { radio_checked1 = true; if (allInputTags[c].value!='overig'){ radio_result = allInputTags[c].value; break; }else{ if (document.getElementById(id_1+'_overig').value==''){ msg=msg + '- '+allInputTags[0].title +'\n';} break; } } } if(!radio_checked1) { msg=msg + '- '+allInputTags[0].title +'\n'; } } if(obj=='frmRegister'){ if(document.getElementById('password').value==''){ msg = msg + "- " + 'Wachtwoord' + "\n"; errorLayout(document.getElementById('password'),false); }else{ errorLayout(document.getElementById('password'),true); } } if(obj == 'frmProfile'){ if(document.getElementById('email').value!=''){ if(!UserOK) { msg=msg + '- Uw emailadres is reeds in gebruik\n'; errorLayout(document.getElementById('email'),false); }else{ errorLayout(document.getElementById('email'),true); } } } if(obj == 'frmPress'){ if(document.getElementById('username').value!=''){ if(!UserOK) { msg=msg + '- Gebruikersnaam is al bezet\n'; errorLayout(document.getElementById('email'),false); }else{ errorLayout(document.getElementById('email'),true); } } } if(obj == 'frmProfile') { if(document.getElementById('password').value!=document.getElementById('passwordBis').value) { msg=msg + '- Wachtwoorden zijn niet aan elkaar gelijk\n'; errorLayout(document.getElementById('password'),false); errorLayout(document.getElementById('passwordBis'),false); }else{ if(document.getElementById('password').value==''){ msg=msg + '- Wachtwoord\n'; errorLayout(document.getElementById('password'),false); errorLayout(document.getElementById('passwordBis'),false); }else{ errorLayout(document.getElementById('password'),true); errorLayout(document.getElementById('passwordBis'),true); } } } if(obj=='frmReactions'){ if(document.getElementById('body').value.length>=300){ msg = msg + "- " + 'Er zijn maximaal 300 tekens toegestaan' + "\n"; } } if(obj=='frmMessageboard'){ if(document.getElementById('body').value.length>=8000){ msg = msg + "- " + 'Er zijn maximaal 300 tekens toegestaan' + "\n"; } } if(msg!='') { alert("De volgende velden zijn verplicht:\n" + msg); return false; } else { if(post){ form.submit() }else{ return true } } } //place your checks here please function chckField(obj,title) { var err = '' if (obj.id.indexOf('email')>-1 && obj.value!=''){ if (!isEmail(obj.value)){ err = err + "- Het emailadres is niet correct\n" errorLayout(obj,false); }else{ errorLayout(obj,true); } } if (obj.id.indexOf('_tel')>-1 && obj.value!=''){ if (obj.value.length< 10){ err = err + "- Een telefoonnummer dient 10 tekens lang te zijn\n" errorLayout(obj,false); }else{ errorLayout(obj,true); } } if (obj.id.indexOf('DD')>-1 && obj.value!=''){ if (!isDate(obj.value+'-'+document.getElementById(obj.id.replace('DD','MM')).value+'-'+document.getElementById(obj.id.replace('DD','YY')).value)){ err = err + "- "+obj.title+" incorrect\n" errorLayout(obj,false); errorLayout(document.getElementById(obj.id.replace('DD','MM')),false); errorLayout(document.getElementById(obj.id.replace('DD','YY')),false); }else{ errorLayout(obj,true); errorLayout(document.getElementById(obj.id.replace('DD','MM')),true); errorLayout(document.getElementById(obj.id.replace('DD','YY')),true); if (obj.id.indexOf('birthDD')>-1 && obj.value!=''){ if (!FV_IsDateIsBirthDate(obj.value+'-'+document.getElementById(obj.id.replace('DD','MM')).value+'-'+document.getElementById(obj.id.replace('DD','YY')).value)){ err = err + "- De minimale leeftijd is 18 jaar\n" errorLayout(obj,false); errorLayout(document.getElementById(obj.id.replace('DD','MM')),false); errorLayout(document.getElementById(obj.id.replace('DD','YY')),false); }else{ errorLayout(obj,true); errorLayout(document.getElementById(obj.id.replace('DD','MM')),true); errorLayout(document.getElementById(obj.id.replace('DD','YY')),true); } } } }else{ if(obj.value=='' || obj.value==title){ err = "- " + title + "\n"; errorLayout(obj,false); } else { errorLayout(obj,true); } } return err } function errorLayout(obj,ok){ //set colors submit_onclick form if error if(ok){ obj.style.backgroundColor = "#FFFFFF"; obj.style.color = "#333333"; }else{ obj.style.backgroundColor = "#eeeeee"; obj.style.color = "#333333"; } } function isEmail(string) { if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) return true; else return false; } function isNumberKey(e) { var k; document.all ? k = e.keyCode : k = e.which; return ((k > 47 && k < 58 || k == 46 || k == 8)); } function isTelefoon(obj,e) { var k; document.all ? k = e.keyCode : k = e.which; if(obj.value.length < 10){ return ((k > 47 && k < 58 || k == 46 || k == 8)); }else{ alert('Een telefoonnummer kan max. 10 cijfers lang te zijn.') } } function daysInFebruary (year){ // February has 29 days in any year evenly divisible by four, // EXCEPT for centurial years which are not also divisible by 400. return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 ); } function DaysArray(n) { for (var i = 1; i <= n; i++) { this[i] = 31 if (i==4 || i==6 || i==9 || i==11) {this[i] = 30} if (i==2) {this[i] = 29} } return this } function isDate(dtStr){ var daysInMonth = DaysArray(12) var arrDate = dtStr.split(dtCh) strDay=arrDate[0] strMonth=arrDate[1] strYear=arrDate[2] if(strDay.length>0 && strMonth.length>0 && strYear.length>0) { month=parseInt(strMonth) day=parseInt(strDay) year=parseInt(strYear) if (day < 1 || day > 31 || (month==2 && day > daysInFebruary(year)) || (day > daysInMonth[month] || daysInMonth[month]==undefined ) || (strYear.length < 4) ){ return false } return true }else{ return false } } function FV_IsDateIsBirthDate(val) { var now = new Date(); var thisYear = now.getFullYear() - 18 //minimum 18 years old now.setFullYear(thisYear) now = now.getTime(); //NN3 var valueDate = val.split('-'); var dateToCheck = new Date(); if (valueDate[2] < 1900) { return false; } dateToCheck.setYear(valueDate[2]); dateToCheck.setMonth(valueDate[1]-1); dateToCheck.setDate(valueDate[0]); var checkDate = dateToCheck.getTime(); var pastDate = (now > checkDate); return pastDate; } function doElfCheck(bankNummer) { var totaal = 0 var bankgiro = bankNummer.value var oneToTen = new Array() if (bankgiro.length == 9) { oneToTen[0]=10*bankgiro.substring(0,0) oneToTen[1]=9*bankgiro.substring(0,1) oneToTen[2]=8*bankgiro.substring(1,2) oneToTen[3]=7*bankgiro.substring(2,3) oneToTen[4]=6*bankgiro.substring(3,4) oneToTen[5]=5*bankgiro.substring(4,5) oneToTen[6]=4*bankgiro.substring(5,6) oneToTen[7]=3*bankgiro.substring(6,7) oneToTen[8]=2*bankgiro.substring(7,8) oneToTen[9]=1*bankgiro.substring(8,9) for (i=0;i < 10;i++){ totaal=totaal+oneToTen[i] } totaal=totaal/11 if (totaal!=Math.round(totaal)){ return "- Ongeldig bank/girorekening" + "\n"; } else { return "" } }else if (bankgiro.length == 10) { oneToTen[0]=10*bankgiro.substring(0,1) oneToTen[1]=9*bankgiro.substring(1,2) oneToTen[2]=8*bankgiro.substring(2,3) oneToTen[3]=7*bankgiro.substring(3,4) oneToTen[4]=6*bankgiro.substring(4,5) oneToTen[5]=5*bankgiro.substring(5,6) oneToTen[6]=4*bankgiro.substring(6,7) oneToTen[7]=3*bankgiro.substring(7,8) oneToTen[8]=2*bankgiro.substring(8,9) oneToTen[9]=1*bankgiro.substring(9,10) for (i=0;i < 10;i++){ totaal=totaal+oneToTen[i] } totaal=totaal/11 if (totaal!=Math.round(totaal)){ return "- Ongeldig bank/girorekening" + "\n"; } else { return "" } } return "" }