Event.observe(window, 'load', init_page);

function init_page() {
    var btn = $('btnsubmit');
    if(btn) {
        btn.observe('mouseover', function(){ this.src = 'images/submit-on.gif' }.bind(btn))
        btn.observe('mouseout', function(){ this.src = 'images/submit-off.gif' }.bind(btn))
    }
    
    var f = $('form-contact');
    if(f) f.observe('submit', this.submitForm.bind(f));
}

function submitForm(ev) {
    var p = $('placeholder').hide();
    var f = $(this);
    
    new Ajax.Updater(p, f.action, {
        method: f.method,
        parameters: f.serialize(),

        onFailure: function(ar, json) {
            f.enable();
            if(json) json.invoke('addClassName', 'error');
        },
        
        onSuccess: function() {
            $$('p').invoke('hide');
            new Effect.Fade(f, { duration: 0.4, queue: 'end' });
        },

        onComplete: function() {
            $$('#placeholder p').invoke('show');
            new Effect.BlindDown(p, { duration: 0.4, queue: 'end' });
        }
    });
    
    f.getElements().invoke('removeClassName', 'error');
    f.disable();
    
    Event.stop(ev);
}