1 /*! jQuery UI - v1.9.0 - 2012-10-08
3 * Includes: jquery.ui.button.js
4 * Copyright 2012 jQuery Foundation and other contributors; Licensed MIT */
5 (function(e
,t
){var n
,r
,i
,s
,o
="ui-button ui-widget ui-state-default ui-corner-all",u
="ui-state-hover ui-state-active ",a
="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",f=function(){var t
=e(this).find(":ui-button");setTimeout(function(){t
.button("refresh")},1)},l=function(t
){var n
=t
.name
,r
=t
.form
,i
=e([]);return n
&&(r
?i
=e(r
).find("[name='"+n
+"']"):i
=e("[name='"+n
+"']",t
.ownerDocument
).filter(function(){return!this.form
})),i
};e
.widget("ui.button",{version
:"1.9.0",defaultElement
:"<button>",options
:{disabled
:null,text
:!0,label
:null,icons
:{primary
:null,secondary
:null}},_create:function(){this.element
.closest("form").unbind("reset"+this.eventNamespace
).bind("reset"+this.eventNamespace
,f
),typeof this.options
.disabled
!="boolean"?this.options
.disabled
=!!this.element
.prop("disabled"):this.element
.prop("disabled",this.options
.disabled
),this._determineButtonType(),this.hasTitle
=!!this.buttonElement
.attr("title");var t
=this,u
=this.options
,a
=this.type
==="checkbox"||this.type
==="radio",c
="ui-state-hover"+(a
?"":" ui-state-active"),h
="ui-state-focus";u
.label
===null&&(u
.label
=this.type
==="input"?this.buttonElement
.val():this.buttonElement
.html()),this.buttonElement
.addClass(o
).attr("role","button").bind("mouseenter"+this.eventNamespace
,function(){if(u
.disabled
)return;e(this).addClass("ui-state-hover"),this===n
&&e(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace
,function(){if(u
.disabled
)return;e(this).removeClass(c
)}).bind("click"+this.eventNamespace
,function(e
){u
.disabled
&&(e
.preventDefault(),e
.stopImmediatePropagation())}),this.element
.bind("focus"+this.eventNamespace
,function(){t
.buttonElement
.addClass(h
)}).bind("blur"+this.eventNamespace
,function(){t
.buttonElement
.removeClass(h
)}),a
&&(this.element
.bind("change"+this.eventNamespace
,function(){if(s
)return;t
.refresh()}),this.buttonElement
.bind("mousedown"+this.eventNamespace
,function(e
){if(u
.disabled
)return;s
=!1,r
=e
.pageX
,i
=e
.pageY
}).bind("mouseup"+this.eventNamespace
,function(e
){if(u
.disabled
)return;if(r
!==e
.pageX
||i
!==e
.pageY
)s
=!0})),this.type
==="checkbox"?this.buttonElement
.bind("click"+this.eventNamespace
,function(){if(u
.disabled
||s
)return!1;e(this).toggleClass("ui-state-active"),t
.buttonElement
.attr("aria-pressed",t
.element
[0].checked
)}):this.type
==="radio"?this.buttonElement
.bind("click"+this.eventNamespace
,function(){if(u
.disabled
||s
)return!1;e(this).addClass("ui-state-active"),t
.buttonElement
.attr("aria-pressed","true");var n
=t
.element
[0];l(n
).not(n
).map(function(){return e(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement
.bind("mousedown"+this.eventNamespace
,function(){if(u
.disabled
)return!1;e(this).addClass("ui-state-active"),n
=this,t
.document
.one("mouseup",function(){n
=null})}).bind("mouseup"+this.eventNamespace
,function(){if(u
.disabled
)return!1;e(this).removeClass("ui-state-active")}).bind("keydown"+this.eventNamespace
,function(t
){if(u
.disabled
)return!1;(t
.keyCode
===e
.ui
.keyCode
.SPACE
||t
.keyCode
===e
.ui
.keyCode
.ENTER
)&&e(this).addClass("ui-state-active")}).bind("keyup"+this.eventNamespace
,function(){e(this).removeClass("ui-state-active")}),this.buttonElement
.is("a")&&this.buttonElement
.keyup(function(t
){t
.keyCode
===e
.ui
.keyCode
.SPACE
&&e(this).click()})),this._setOption("disabled",u
.disabled
),this._resetButton()},_determineButtonType:function(){var e
,t
,n
;this.element
.is("[type=checkbox]")?this.type
="checkbox":this.element
.is("[type=radio]")?this.type
="radio":this.element
.is("input")?this.type
="input":this.type
="button",this.type
==="checkbox"||this.type
==="radio"?(e
=this.element
.parents().last(),t
="label[for='"+this.element
.attr("id")+"']",this.buttonElement
=e
.find(t
),this.buttonElement
.length
||(e
=e
.length
?e
.siblings():this.element
.siblings(),this.buttonElement
=e
.filter(t
),this.buttonElement
.length
||(this.buttonElement
=e
.find(t
))),this.element
.addClass("ui-helper-hidden-accessible"),n
=this.element
.is(":checked"),n
&&this.buttonElement
.addClass("ui-state-active"),this.buttonElement
.prop("aria-pressed",n
)):this.buttonElement
=this.element
},widget:function(){return this.buttonElement
},_destroy:function(){this.element
.removeClass("ui-helper-hidden-accessible"),this.buttonElement
.removeClass(o
+" "+u
+" "+a
).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement
.find(".ui-button-text").html()),this.hasTitle
||this.buttonElement
.removeAttr("title")},_setOption:function(e
,t
){this._super(e
,t
);if(e
==="disabled"){t
?this.element
.prop("disabled",!0):this.element
.prop("disabled",!1);return}this._resetButton()},refresh:function(){var t
=this.element
.is(":disabled");t
!==this.options
.disabled
&&this._setOption("disabled",t
),this.type
==="radio"?l(this.element
[0]).each(function(){e(this).is(":checked")?e(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):e(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):this.type
==="checkbox"&&(this.element
.is(":checked")?this.buttonElement
.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement
.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if(this.type
==="input"){this.options
.label
&&this.element
.val(this.options
.label
);return}var t
=this.buttonElement
.removeClass(a
),n
=e("<span></span>",this.document
[0]).addClass("ui-button-text").html(this.options
.label
).appendTo(t
.empty()).text(),r
=this.options
.icons
,i
=r
.primary
&&r
.secondary
,s
=[];r
.primary
||r
.secondary
?(this.options
.text
&&s
.push("ui-button-text-icon"+(i
?"s":r
.primary
?"-primary":"-secondary")),r
.primary
&&t
.prepend("<span class='ui-button-icon-primary ui-icon "+r
.primary
+"'></span>"),r
.secondary
&&t
.append("<span class='ui-button-icon-secondary ui-icon "+r
.secondary
+"'></span>"),this.options
.text
||(s
.push(i
?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle
||t
.attr("title",e
.trim(n
)))):s
.push("ui-button-text-only"),t
.addClass(s
.join(" "))}}),e
.widget("ui.buttonset",{version
:"1.9.0",options
:{items
:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(button)"},_create:function(){this.element
.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(e
,t
){e
==="disabled"&&this.buttons
.button("option",e
,t
),this._super(e
,t
)},refresh:function(){var t
=this.element
.css("direction")==="rtl";this.buttons
=this.element
.find(this.options
.items
).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(t
?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(t
?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element
.removeClass("ui-buttonset"),this.buttons
.map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}})})(jQuery
);