/** * Form Validator. **/ var ns4 = (document.layers); var ie4 = (document.all && !document.getElementById); var ie5 = (document.all && document.getElementById); var ns6 = (!document.all && document.getElementById); function getObj(id) { // Netscape 4 if(ns4){ return document.layers[id]; } // Explorer 4 else if(ie4){ return document.all[id]; } // W3C - Explorer 5+ and Netscape 6+ else if(ie5 || ns6){ return document.getElementById(id); } return false; } var submitted = false; // to prevent double-clicking var submit_button = ''; // each form may have his own name/id for this button. function validate(theform,verwerking) { if(submitted == true) { return; } messages = ''; /* ********************************************************************* */ /* Validate form "frm_informatie": */ /* ********************************************************************* */ if ( (theform.id=='frm_informatie') ) { submit_button = 'frm_informatie_submit'; var total = 0; var terms = 0; for (var i = 0; i < theform.elements.length; i++) { var element = theform.elements[i]; if ( (element.name=='frm_geslacht[]') && (element.checked) ) { total++; } if ( (element.name=='frm_infosoort[]') && (element.checked) ) { terms++; } } if (terms<1) { messages = messages + '» Geef aan welke soort informatie u wenst.' + '\n' + '\n'; } if (total!=1) { messages = messages + '» Geef aan of u een vrouw of een man bent.' + '\n' + '\n'; } element = getObj('frm_initialen'); if (element.value=='') { messages = messages + '» Vul uw initialen in.' + '\n' + '\n'; } element = getObj('frm_achternaam'); if (element.value=='' || element.value.length<2) { messages = messages + '» Vertel ons alstublieft uw achternaam.' + '\n' + '\n'; } element = getObj('frm_straat'); if (element.value=='') { messages = messages + '» Vul uw straatnaam in.' + '\n' + '\n'; } element = getObj('frm_huisnummer'); if (element.value=='') { messages = messages + '» Vul uw huisnummer in.' + '\n' + '\n'; } element = getObj('frm_postcode'); if (element.value=='' || element.value.length<6) { messages = messages + '» Vul een correcte postcode in.' + '\n' + '\n'; } element = getObj('frm_woonplaats'); if (element.value=='') { messages = messages + '» Vul de woonplaats in.' + '\n' + '\n'; } element = getObj('frm_email'); value = element.value; if (value!='') { var regex = /^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}$/i; if (value != '' && !regex.test(value)) { messages = messages + '» Het opgegeven email adres kan niet bestaan.' + '\n' + '\n'; } } else { messages = messages + '» Vul uw emailadres in.' + '\n' + '\n'; } if (messages!='') { messages = 'De opgegeven informatie is nog niet compleet.' + '\n' + '\n' + messages; alert(messages); return false; } else { element = getObj('in'); element.value=verwerking; //to prevent double-clicking: but = getObj(submit_button);// the id of the button ! but.disabled = true; submitted = true; theform.submit(); // submit the form now! return true; } return false; } /* ********************************************************************* */ /* Validate form "frm_doneren": */ /* ********************************************************************* */ if ( (theform.id=='frm_doneren') ) { submit_button = 'frm_doneren_submit'; element = getObj('frm_bankgiro'); if (element.value=='' || element.value.length<3) { messages = messages + '» Vul een juist giro- of banknummer in.' + '\n' + '\n'; } // element = getObj('frm_bestemming'); // if ( (!element.checked) ) { // messages = messages + '» Geef de bestemming aan.' + '\n' + '\n'; // } var total = 0; var terms = 0; for (var i = 0; i < theform.elements.length; i++) { var element = theform.elements[i]; if ( (element.name=='frm_geslacht[]') && (element.checked) ) { total++; } if ( (element.name=='frm_machtiging') && (element.checked) ) { terms++; } } if (total!=1) { messages = messages + '» Geef aan of u een vrouw of een man bent.' + '\n' + '\n'; } element = getObj('frm_initialen'); if (element.value=='') { messages = messages + '» Vul uw initialen in.' + '\n' + '\n'; } element = getObj('frm_achternaam'); if (element.value=='' || element.value.length<2) { messages = messages + '» Vertel ons alstublieft uw achternaam.' + '\n' + '\n'; } element = getObj('frm_straat'); if (element.value=='') { messages = messages + '» Vul uw straatnaam in.' + '\n' + '\n'; } element = getObj('frm_huisnummer'); if (element.value=='') { messages = messages + '» Vul uw huisnummer in.' + '\n' + '\n'; } element = getObj('frm_postcode'); if (element.value=='' || element.value.length<6) { messages = messages + '» Vul een correcte postcode in.' + '\n' + '\n'; } element = getObj('frm_woonplaats'); if (element.value=='') { messages = messages + '» Vul de woonplaats in.' + '\n' + '\n'; } element = getObj('frm_email'); value = element.value; if (value!='') { var regex = /^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}$/i; if (value != '' && !regex.test(value)) { messages = messages + '» Het opgegeven email adres kan niet bestaan.' + '\n' + '\n'; } } else { messages = messages + '» Vul uw emailadres in.' + '\n' + '\n'; } if (terms!=1) { messages = messages + '» U heeft de machtiging nog niet akkoord gegeven.' + '\n' + '\n'; } if (messages!='') { messages = 'De opgegeven informatie is nog niet compleet.' + '\n' + '\n' + messages; alert(messages); return false; } else { element = getObj('dn'); element.value=verwerking; //to prevent double-clicking: but = getObj(submit_button);// the id of the button ! but.disabled = true; submitted = true; theform.submit(); // submit the form now! return true; } return false; } /* ********************************************************************* */ /* Validate form "frm_nieuwsbrief": */ /* ********************************************************************* */ if ( (theform.id=='frm_nieuwsbrief') ) { submit_button = 'frm_nieuwsbrief_aanmelden'; if (verwerking=='opzeggen') { submit_button = 'frm_nieuwsbrief_opzeggen'; var answer = confirm("Wilt u zich écht afmelden?"); if (answer){ alert("Jammer!"); } else{ alert("Gelukkig!"); return false; } } /** * Validate naam: */ if (verwerking=='aanmelden') { element = getObj('frm_nieuwsbrief_naam'); if (element.value=='' || element.value.length<3) { messages = messages + '» Vertel ons alstublieft uw naam.' + '\n' + '\n'; } } /** * Validate email: */ element = getObj('frm_nieuwsbrief_email'); value = element.value; if (value=='' || value.length<6) { messages = messages + '» Geef alstublieft uw email adres op.' + '\n' + '\n'; } else { var regex = /^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}$/i; if (value != '' && !regex.test(value)) { messages = messages + '» Het opgegeven email adres kan niet bestaan.' + '\n' + '\n'; } } } /* ********************************************************************* */ /* Validate form "frm_zoek_project": */ /* ********************************************************************* */ if ( (theform.id=='frm_zoek_project') ) { submit_button = 'frm_zoek_project_zoek'; var teller=0; element = getObj('frm_zoek_project_trefwoord'); if (element.value!='' && element.value.length>2) { teller++; } element = getObj('frm_zoek_project_thema'); var index = element.selectedIndex; // if (element.options[index].text!='Geen voorkeur') { teller++; // } element = getObj('frm_zoek_project_land'); var index = element.selectedIndex; // if (element.options[index].text!='Geen voorkeur') { teller++; // } if (teller>0) { element = getObj('zp'); element.value=verwerking; //to prevent double-clicking: but = getObj(submit_button);// the id of the button ! but.disabled = true; submitted = true; theform.submit(); // submit the form now! return true; } return false; } /* ********************************************************************* */ /* Validate form "frm_premiecalculator": */ /* ********************************************************************* */ if ( (theform.id=='frm_premiecalculator') ) { submit_button = 'frm_premiecalculator_bereken'; var opbrengst = 0; element = getObj('frm_actieopbrengst'); if (element.value!='' && element.value.length>1) { s = element.value; element.value = s.replace(/,/g,"."); opbrengst = eval(element.value*1); if (isNaN(opbrengst)) { element.value = ''; opbrengst = 0; } } element = getObj('frm_toeslag'); element.value = ''; if (opbrengst>0) { element = getObj('pc'); element.value = verwerking; element = getObj('frm_toeslag'); element.value = 'berekenen.....'; element = getObj('frm_toeslag2'); element.value = 'berekenen.....'; //to prevent double-clicking: but = getObj(submit_button);// the id of the button ! but.disabled = true; submitted = true; theform.submit(); // submit the form now! return true; } return false; } /* ********************************************************************* */ /* General ending for all forms: */ /* ********************************************************************* */ if (messages!='') { messages = 'De opgegeven informatie is nog niet compleet.' + '\n' + '\n' + messages; alert(messages); return false; } else { element = getObj('validator'); element.value='HiHo'; element = getObj('verwerking'); element.value=verwerking; //to prevent double-clicking: but = getObj(submit_button);// the id of the button ! but.disabled = true; submitted = true; theform.submit(); // submit the form now! return true; } return false; // just to be safe. }