(function(c){var d,a="ui-button ui-widget ui-state-default ui-corner-all",e="ui-state-hover ui-state-active ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon ui-button-text-only",b=function(g){c(":ui-button",g.target.form).each(function(){var h=c(this).data("button");setTimeout(function(){h.refresh()},1)})},f=function(j){var g=j.name,i=j.form,h=c([]);if(g){if(i){h=c(i).find("[name='"+g+"']")}else{h=c("[name='"+g+"']",j.ownerDocument).filter(function(){return !this.form})}}return h};c.widget("ui.button",{options:{text:true,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button",b);this._determineButtonType();this.hasTitle=!!this.buttonElement.attr("title");var j=this,k=this.options,g=this.type==="checkbox"||this.type==="radio",i="ui-state-hover"+(!g?" ui-state-active":""),h="ui-state-focus";if(k.label===null){k.label=this.buttonElement.html()}if(this.element.is(":disabled")){k.disabled=true}this.buttonElement.addClass(a).attr("role","button").bind("mouseenter.button",function(){if(k.disabled){return}c(this).addClass("ui-state-hover");if(this===d){c(this).addClass("ui-state-active")}}).bind("mouseleave.button",function(){if(k.disabled){return}c(this).removeClass(i)}).bind("focus.button",function(){c(this).addClass(h)}).bind("blur.button",function(){c(this).removeClass(h)});if(g){this.element.bind("change.button",function(){j.refresh()})}if(this.type==="checkbox"){this.buttonElement.bind("click.button",function(){if(k.disabled){return false}c(this).toggleClass("ui-state-active");j.buttonElement.attr("aria-pressed",j.element[0].checked)})}else{if(this.type==="radio"){this.buttonElement.bind("click.button",function(){if(k.disabled){return false}c(this).addClass("ui-state-active");j.buttonElement.attr("aria-pressed",true);var l=j.element[0];f(l).not(l).map(function(){return c(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed",false)})}else{this.buttonElement.bind("mousedown.button",function(){if(k.disabled){return false}c(this).addClass("ui-state-active");d=this;c(document).one("mouseup",function(){d=null})}).bind("mouseup.button",function(){if(k.disabled){return false}c(this).removeClass("ui-state-active")}).bind("keydown.button",function(l){if(k.disabled){return false}if(l.keyCode==c.ui.keyCode.SPACE||l.keyCode==c.ui.keyCode.ENTER){c(this).addClass("ui-state-active")}}).bind("keyup.button",function(){c(this).removeClass("ui-state-active")});if(this.buttonElement.is("a")){this.buttonElement.keyup(function(l){if(l.keyCode===c.ui.keyCode.SPACE){c(this).click()}})}}}this._setOption("disabled",k.disabled)},_determineButtonType:function(){if(this.element.is(":checkbox")){this.type="checkbox"}else{if(this.element.is(":radio")){this.type="radio"}else{if(this.element.is("input")){this.type="input"}else{this.type="button"}}}if(this.type==="checkbox"||this.type==="radio"){this.buttonElement=this.element.parents().last().find("[for="+this.element.attr("id")+"]");this.element.addClass("ui-helper-hidden-accessible");var g=this.element.is(":checked");if(g){this.buttonElement.addClass("ui-state-active")}this.buttonElement.attr("aria-pressed",g)}else{this.buttonElement=this.element}},widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible");this.buttonElement.removeClass(a+" "+e).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html());if(!this.hasTitle){this.buttonElement.removeAttr("title")}c.Widget.prototype.destroy.call(this)},_setOption:function(h,g){c.Widget.prototype._setOption.apply(this,arguments);if(h==="disabled"){if(g){this.element.attr("disabled",true)}else{this.element.removeAttr("disabled")}}this._resetButton()},refresh:function(){var g=this.element.is(":disabled");if(g!==this.options.disabled){this._setOption("disabled",g)}if(this.type==="radio"){f(this.element[0]).each(function(){if(c(this).is(":checked")){c(this).button("widget").addClass("ui-state-active").attr("aria-pressed",true)}else{c(this).button("widget").removeClass("ui-state-active").attr("aria-pressed",false)}})}else{if(this.type==="checkbox"){if(this.element.is(":checked")){this.buttonElement.addClass("ui-state-active").attr("aria-pressed",true)}else{this.buttonElement.removeClass("ui-state-active").attr("aria-pressed",false)}}}},_resetButton:function(){if(this.type==="input"){if(this.options.label){this.element.val(this.options.label)}return}var j=this.buttonElement,i=c("<span></span>").addClass("ui-button-text").html(this.options.label).appendTo(j.empty()).text(),h=this.options.icons,g=h.primary&&h.secondary;if(h.primary||h.secondary){j.addClass("ui-button-text-icon"+(g?"s":""));if(h.primary){j.prepend("<span class='ui-button-icon-primary ui-icon "+h.primary+"'></span>")}if(h.secondary){j.append("<span class='ui-button-icon-secondary ui-icon "+h.secondary+"'></span>")}if(!this.options.text){j.addClass(g?"ui-button-icons-only":"ui-button-icon-only").removeClass("ui-button-text-icons ui-button-text-icon");if(!this.hasTitle){j.attr("title",i)}}}else{j.addClass("ui-button-text-only")}}});c.widget("ui.buttonset",{_create:function(){this.element.addClass("ui-buttonset");this._init()},_init:function(){this.refresh()},_setOption:function(h,g){if(h==="disabled"){this.buttons.button("option",h,g)}c.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){this.buttons=this.element.find(":button, :submit, :reset, :checkbox, :radio, a, :data(button)").filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return c(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end()},destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return c(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");c.Widget.prototype.destroy.call(this)}})}(jQuery));