/*
*	Balance Form
*	A JS class and an initialization script for AJAX submitted
*	gift card balance forms.
*	
*	Requires Trapeze jQuery library
*	
*	Jonathan McClare (jmcclare at trapeze dot com) - June 30, 2009
*/


$.namespace("trapeze.BalanceForm");

trapeze.BalanceForm = $.Class.extend({

    container : null,


    post_submit : function(response, status) {
        trapeze.init();
        // Bind our submit method to the newly created form (not required for
        // Firefox)
        $(this.container).find("form").submit(this.submit_form.bind(this));
    },

    
    submit_form : function() {
        $(this.container).find("input[type=submit]").attr("disabled", true);
        $(this.container).find(".loading-indicator").css('display', 'block');

        $(this.container).load(
            $(this.container).find("form").attr("action"),
            $(this.container).find("form").serializeArray(),
            this.post_submit.bind(this)
        );

        return false;
    },

    init : function(obj) {
        this.container = obj;
        $(this.container).find("form").submit(this.submit_form.bind(this));
    }

});
