Gsguma - MiniLibrary

by gsguma

JavaScript

/**
 * Configuração Ajax
 */
$.support.cors = true; //Habilita suporte a requisições cross-site (sites externos)

/**
 * Classe: MeuRebanho
 * Finalidade: Ler comentarios dos metodos
 */
var MeuRebanho = $.fn.extend({
    
    /**
     * Processa envio de formularios
     */
    formSubmit: function(form, divMsg, elLoad) {
        var form   = $(form);
        var divMsg = $(divMsg);
        var elLoad = $(elLoad);
        
        var params = form.serialize();
        var action = form.attr('action');

        $.ajax({
            cache      : false,
            dataType   : 'json',
            type       : 'post',
            url        : action,
            data       : params,           
            beforeSend : function() {
                elLoad.show();
                $('input[type=submit]', form).attr('disabled', true);
            },           
            complete   : function() {
                elLoad.hide();
                $('input[type=submit]', form).attr('disabled', false);
                //divMsg.scrollTo();
            },           
            success    : function(data) {
                if (data.error === true) 
                {
                    divMsg.showFormError(data.message);
                    var elm = $('input[name=' +data.element+ ']').exists() ? $('input[name=' +data.element+ ']') : $('textarea[name=' +data.element+ ']'); 
                        elm = elm.exists() ? elm : $('select[name=' +data.element+ ']');
                        elm.focus();
                }
                else if (data.error === false) 
                {
                    divMsg.showFormSuccess('<img...