Estuve haciendo unos script con jquery es como un pluing para crear botones


Pero ,es decir, crea los botones, le aplica el estilo y los eventos,etc, anda perfecto.
E aqui el problema: No se como hacer para agrgarle una propiedad a mi pluing ej:
El Pluing se utiliza de este modo

Código Javascript :
$().ready(function() { $("#Boton1").button({label:"Continuar >",toggle:false,defaultClass:{ default:"ui-button-blue-default", active:"ui-button-blue-active"} }) $("#Boton2").button({label:"Salir de la aplicacion",toggle:true}); $("#Boton3").button(); $("#Boton4").button().click(function(){ alert("Click Boton4"); }); });
Los botones se crean son parecidos a los del facebook

Pero como tengo que hacer para que el pluing tambien tenga metodos ,es decir, en caso de que quiera poner un boton como disabled seria:
Código Javascript :
$("#Boton4").button.disabled() // <- Boton ya creado o $("#Boton4").button({label:"Mi texto del boton"}).disabled()
Es decir, que sea un metodo de mi pluing jquery
Ese metodo anda agregando en el code del pluing
Código Javascript :
$.fn.button.disabled= function () { // Aqui la funcion };
anda e puesto un alerta y todo y anda cando pongo "$("#Boton4").button.disabled()" pero cuando dentro utilizo
Código Javascript :
$.fn.button.disabled= function () { $(this).attr("id") // este es un ejemplo e probado de todo Me da un error. };
Código Javascript :
(function($) { $.fn.button =function( options ) { var options = $.extend({},$.fn.button.defaults, options); $(this).attr("toggle",options.toggle); return this.each(function() { $(this).addClass(options.defaultClass.default); // Obtiene las propiedades en caso de q sea un boton if($(this).attr("type")=="button" || $(this).attr("type")=="reset" || $(this).attr("type")=="submit"){ options.label= (options.label==null && $(this).attr("value")!="")? $(this).attr("value") : options.label; $(this).attr("value",options.label); $(this).css("height","22px"); } if(options.toggle){ $(this).attr("toggle",true); $(this).toggle( function () { $(this).addClass(options.defaultClass.active); $(this).attr("select",true); }, function () { $(this).removeClass(options.defaultClass.active); $(this).attr("select",false); } ); if(options.defaultClass.hover!=null){ $(this).bind({ mouseout: function() { $(this).removeClass(options.defaultClass.hover); }, mouseover: function() { $(this).addClass(options.defaultClass.hover); } }); } }else{ $(this).bind({ mousedown: function(){ $(this).addClass(options.defaultClass.active); }, mouseup: function(){ $(this).removeClass(options.defaultClass.active); }, mouseout: function() { $(this).removeClass(options.defaultClass.active); } }); if(options.defaultClass.hover!=null){ $(this).bind({ mouseout: function() { $(this).removeClass(options.defaultClass.active); $(this).removeClass(options.defaultClass.hover); }, mouseover: function() { $(this).addClass(options.defaultClass.hover); } }); } } }); }; $.fn.button.disabled= function () { alert("anda"); $(this).attr("id") // este es un ejemplo e probado de todo Me da un error. }; $.fn.button.defaults = { label: null, toggle: false, disabled: false, defaultClass:{ default:"ui-button-default", hover:null, active:"ui-button-active", disabled:"ui-button-disabled" } }; })(jQuery);
Algien tiene alguna idea de porque no anda $(this), e intentado con "css","addClass","removeClass" y nada

disabled tiene que cambiar el estilo el boton pero no me deja.
aquie les dejo los archivos http://rapidshare.com/files/440995362/Cross.button.rar