(function(d){var b=function(n){var j=this.superclass&&this.superclass.prototype;var h=d.keys(n);if(!d.keys({toString:true}).length){h.push("toString","valueOf")}for(var g=0,k=h.length;g<k;g++){var m=h[g],l=n[m];if(j&&d.isFunction(l)&&d.argumentNames(l)[0]=="$super"){var o=l,l=d.extend(d.wrap((function(i){return function(){return j[i].apply(this,arguments)}})(m),o),{valueOf:function(){return o},toString:function(){return o.toString()}})}this.prototype[m]=l}return this};d.extend({keys:function(i){var h=[];for(var g in i){h.push(g)}return h},argumentNames:function(g){var h=g.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(/, ?/);return h.length==1&&!h[0]?[]:h},bind:function(h,g){return function(){return h.apply(g,d.makeArray(arguments))}},wrap:function(h,i){var g=h;return function(){return i.apply(this,[d.bind(g,this)].concat(d.makeArray(arguments)))}},klass:function(){var l=null,k=d.makeArray(arguments);if(d.isFunction(k[0])){l=k.shift()}var g=function(){this.initialize.apply(this,arguments)};g.superclass=l;g.subclasses=[];g.addMethods=b;if(l){var h=function(){};h.prototype=l.prototype;g.prototype=new h;l.subclasses.push(g)}for(var j=0;j<k.length;j++){g.addMethods(k[j])}if(!g.prototype.initialize){g.prototype.initialize=function(){}}g.prototype.constructor=g;return g},delegate:function(g){return function(k){var j=d(k.target),i=null;for(var h in g){if(j.is(h)||((i=j.parents(h))&&i.length>0)){return g[h].apply(this,[i||j].concat(d.makeArray(arguments)))}i=null}}},ux:{behavior:function(){var i=d.makeArray(arguments),h=i.shift(),j=null;if(typeof(i[0])=="string"){j=i.shift()}var l=i[0];var k=(i.length>1&&typeof(i[1])==="object")?i[1]:{};l._name=h;this[h]=(j)?d.klass(this[j],l):d.klass(l);this[h].defaults=k;var g=this;d.fn["ux"+h]=function(){return this.firstAttached(h)}}}});var c=function(h){h.elements={};for(var g in h.options.elements){h.elements[g]=d(h.options.elements[g],h.element)}};var f=function(g){for(var h in g){if(h.match(/^on(.+)/)&&typeof g[h]=="function"){g.element.bind(RegExp.$1,d.bind(g[h],g))}}};var e=function(g){return d.klass(g,{initialize:function($super,i,h){this.element=d(i);this.options=(g.defaults)?d.extend({},g.defaults):{};if(g.superclass&&g.superclass.defaults){this.options=d.extend({},g.superclass.defaults,this.options)}d.extend(this.options,(h&&h.length!=0&&typeof(h[0])=="object")?h[0]:{});c(this);if($super){$super.apply(this,h)}},dispatchEvent:function(){var h=d.makeArray(arguments),i="on"+h.shift();if(this.options[i]){this.options[i].apply(this,h)}}})};var a=function(h,i,g){if(typeof(i)==="string"){i=d.ux[i]}var j=e(i);instance=new j(h,g);f(instance);if(!i.instances){i.instances=[]}i.instances.push(instance);return instance};d.fn.extend({attach:function(){var g=d.makeArray(arguments),h=g.shift();if(d.livequery&&this.selector){return this.livequery(function(){a(this,h,g)})}else{return this.each(function(){a(this,h,g)})}},attachAndReturnFirst:function(){return this.attachAndReturn.apply(this,arguments)[0]},attachAndReturn:function(){var g=d.makeArray(arguments),h=g.shift();return d.map(this,function(i){return a(i,h,g)})},delegate:function(g,h){return this.bind(g,d.delegate(h))},attached:function(g){if(typeof(g)==="string"){g=d.ux[g]}var h=[];if(!g.instances){return h}this.each(function(k,j){d.each(g.instances,function(m,l){if(l.element.get(0)==j){h.push(l)}})});return h},firstAttached:function(g){return this.attached(g)[0]},uxMethod:function(){var h=d.makeArray(arguments),i=h.shift(),j=h.shift();var g=this.attached(i);d.each(g,function(k,l){l[j].apply(l,h)});return this},ux:function(){console.log(this);var g=this.attached(this);console.log(g)}})})(jQuery);
