var forum_registratie = {
    init: function() {
        this.form = document.forms['digid_registratie'];
        this.error_element = document.getElementById('digid_registratie_error');
        this.error = new Array();

        this.error_element.innerHTML = '';
    },

    validate: function() {
        this.init();
        var naam_filter = /^[a-zA-Z0-9_ ]{3,16}$/;
        var email_filter = /^.+@.+\..{2,4}$/;

        if(this.form.naam.value == '') {
            this.addError('U moet een naam opgegeven.');
        } else if(!naam_filter.test(this.form.naam.value)) {
            this.addError('Deze naam is ongeldig.');
        }        

        if(this.form.email.value == '') {
            this.addError('U moet een E-mail adres opgegeven.');
        } else if(!email_filter.test(this.form.email.value)) {
            this.addError('U heeft een ongeldig E-mail adres opgegeven.');
        }

        if(this.form.wachtwoord.value == '') {
            this.addError('U moet een wachtwoord opgegeven.');
        }
        
        if(this.form.bevestiging.value == '') {
            this.addError('U moet uw wachtwoord bevestigen.');
        }

        if(this.form.wachtwoord.value != '' && this.form.bevestiging.value != '' && this.form.wachtwoord.value != this.form.bevestiging.value) {
            this.addError('De opgegeven wachtwoorden komen niet met elkaar overeen.');
        }

        if(this.error.length > 0) {
            this.displayError();
            return false;
        } else {
            return true;
        }
    },

    addError: function(errorString) {
        this.error[this.error.length] = errorString;
    },

    displayError: function() {
        var l = this.error.length;
        var ul = document.createElement('ul');

        for(var i = 0;i<l;i++) {
            var li = document.createElement('li');
            var text = document.createTextNode(this.error[i]);

            li.appendChild(text);
            ul.appendChild(li);
        }

        this.error_element.appendChild(ul);
    }
}

