// miniregister form validation
// (c) 2007 Loco (Loohuis Consulting), http://www.loohuis-consulting.nl/
// This work is licensed under a 
// Creative Commons Attribution-Share Alike 3.0 Netherlands License
// see http://www.loohuis-consulting.nl/development/cc-by-sa.php

// settings
var rejectField = 'save';
var requireField = 'register';
var errorColor = '#C00';
var userField = 'email1';

function validateRegistration(e)
{
    var elm = Event.element(e);
    if (elm.nodeName != 'FORM')
        elm = elm.form;
    // shortcut to removing reject field, and adding required field
    var submit = elm.getInputs('submit', rejectField)[0];
    if (submit)
        submit.name = requireField;

    // check mandatory elements
    var inputs = document.getElementsByClassName('mandatory', elm);
    inputs.each(function(i)
    {
        if (i.value.length == 0) {
            Element.setStyle(i, {color: errorColor, borderColor: errorColor});
            Element.update('registererror', 'Vul a.u.b. de ontbrekende gegevens in.');
            Element.show('registererror');
            Event.stop(e);
        }
    });

    if (!Element.visible('registererror')) {
        // add a user field
        var user = document.createElement('input');
        user.type = 'hidden';
        user.name = 'user';
        user.value = elm.getInputs('text', userField)[0].value;
        elm.appendChild(user);
    }
}

// initialise page
function init()
{
    var registerForm = $('miniregister');
    if (registerForm) {
        Event.observe(registerForm, 'submit', validateRegistration);
    }
}

Event.observe(window, 'load', init);

