var form = {
		
    registerAjaxForm : function(cssSelector, options) {
   
        //register for form submit
        $(cssSelector).submit(function(event){
        	$(cssSelector).unbind();
        
                form.submit(cssSelector, options);
                //remove event bindings so future forms work
       
                event.preventDefault();
        });
			
    },
    
    submit : function(cssSelector, options) {
            
            $.post($(cssSelector).attr('action'), $(cssSelector).serialize(), function(data){
                
                if (data == 1) {
                    if (options.success && typeof(options.success) === 'function') {
                        options.success.call();
                    }
                } else {
                    form.registerAjaxForm(cssSelector, options);
                    if (options.error && typeof(options.error) === 'function') {
                        options.error.call(this, data);
                    }
                }
            });
    },

    get : function(url, options) {

        options = $.extend({
                autoResize : true,
                autoPosition : true,
                close : true
        }, options);
        
        $.get(url, function(data) {
               $.modal(data, options);

               if (options.open && typeof(options.open) === 'function') {
                       options.open.call();
               }
        });
    }
};
