var feedback = {};
feedback.init = function(config) {
    if (!(config.button && config.drop && config.popup))
        throw "invalid params";
    config.popup.find('form.feedback').ajaxSubmit({
        'onstart':function(){
            config.popup.find('button').html('wysyłam...').attr('disabled', 'disabled');
        },
        'onend':function(){
            config.popup.find('button').html('Wyślij').removeAttr('disabled');
        },
        'onerror':function(why){
            alert('Error! '+why);
        },
        'onsuccess':feedback.done(config)
    });

    config.button.click(function(event){
        config.drop.removeClass('hiding');
        config.popup.removeClass('hiding');
        config.popup.find('input[name=email]').focus();
        event.preventDefault();
    });
    config.popup.find('.close').click(feedback.closeit(config));
};

feedback.done = function(config) {
    return function() {
        config.popup.addClass('thanks');
        config.popup.delay(1000).fadeOut(500, feedback.closeit(config));
        config.popup.delay(1000).fadeOut(500);
    };
};

feedback.closeit = function(config) {
    return function(){
        config.drop.addClass('hiding');
        config.popup.addClass('hiding');
        config.popup.removeClass('thanks');
        config.popup.css('display','');
        config.drop.css('display','');
        config.popup.find('textarea').val('');
        config.popup.find('input[name=subject]').val('');
    };
};

