// gallery gimmicks
document.observe('dom:loaded', function()
{
    if ($('sourceleft') && $('transferleft'))
        $('transferleft').replace($('sourceleft').remove().innerHTML);
    if ($('sourceright') && $('transferright'))
        $('transferright').replace($('sourceright').remove().innerHTML);
    new ContactValidator();
});

var ContactValidator = Class.create({
    initialize: function(el)
    {
        $$('.contactform').each(function(f) {f.observe('submit', this.validateRegistration.bindAsEventListener(this))}, this);
    },

    // validate contact data
    validateRegistration: function(e)
    {
        var elm = e.element();
        if (elm.nodeName.toLowerCase() != 'form')
            elm = elm.up('form');
/*
        if (elm.user)
            elm.email1.value = elm.user.value;
*/
        // check mandatory elements
        var fields = elm.select('.mandatory');
        var incomplete = false;
        fields.each(function(f)
        {
            if (f.down('input').value.length == 0) {
                incomplete = true;
                f.addClassName('missing');
            }
            else
                f.removeClassName('missing');
        });
        if (incomplete) {
            elm.select('.validateerror').each(function(p) {p.show()});
            e.stop();
            return false;
        }
        else {
//            elm.save.name = 'register';
            elm.select('.validateerror').each(function(p) {p.hide()});
            return true;
        }
    }
});

