/* jQWidgets v3.1.0 (2013-Dec-23) Copyright (c) 2011-2014 jQWidgets. License: http://jqwidgets.com/license/ */ (function(a){a.jqx.jqxWidget("jqxButtonGroup","",{});a.extend(a.jqx._jqxButtonGroup.prototype,{defineInstance:function(){this.mode="default";this.roundedCorners=true;this.disabled=false;this.enableHover=false;this.orientation="horizontal";this.width=null;this.height=null;this._eventsMap={mousedown:a.jqx.mobile.getTouchEventName("touchstart"),mouseup:a.jqx.mobile.getTouchEventName("touchend")};this._events=["selected","unselected","buttonclick"];this._buttonId={};this._selected=null;this._pressed=null;this.rtl=false;this._baseId="group_button";this.aria={"aria-disabled":{name:"disabled",type:"boolean"}}},createInstance:function(b){this._isTouchDevice=a.jqx.mobile.isTouchDevice();var c=this;a.jqx.aria(this);this.addHandler(this.host,"selectstart",function(d){if(!c.disabled){d.preventDefault()}})},refresh:function(){if(this.width){if(this.width.toString()&&this.width.indexOf("%")>=0){this.element.style.width=this.width}else{this.host.width(this.width)}}if(this.height){this.host.height(this.height)}this._refreshButtons()},render:function(){this.refresh()},_getEvent:function(b){if(this._isTouchDevice){var c=this._eventsMap[b]||b;c+="."+this.element.id;return c}b+="."+this.element.id;return b},_refreshButtons:function(){if(this.lastElement){this.lastElement.remove()}this.lastElement=a("
");var c=this.host.children(),e=c.length,f;switch(this.mode){case"radio":this.host.attr("role","radiogroup");break;case"checkbox":case"default":this.host.attr("role","group");break}var d=new Number(100/e).toFixed(2);for(var b=0;b");return b},_removeStyles:function(b){this.host.removeClass("jqx-widget");this.host.removeClass("jqx-rc-all");b.removeClass(this.toThemeProperty("jqx-fill-state-normal"));b.removeClass(this.toThemeProperty("jqx-group-button-normal"));b.removeClass(this.toThemeProperty("jqx-rc-tl"));b.removeClass(this.toThemeProperty("jqx-rc-bl"));b.removeClass(this.toThemeProperty("jqx-rc-tr"));b.removeClass(this.toThemeProperty("jqx-rc-br"));b.css("margin-left",0)},_addStyles:function(c,b,d){this.host.addClass(this.toThemeProperty("jqx-widget"));this.host.addClass(this.toThemeProperty("jqx-rc-all"));this.host.addClass(this.toThemeProperty("jqx-buttongroup"));c.addClass(this.toThemeProperty("jqx-button"));c.addClass(this.toThemeProperty("jqx-group-button-normal"));c.addClass(this.toThemeProperty("jqx-fill-state-normal"));if(this.roundedCorners){if(b===0){this._addRoundedCorners(c,true)}else{if(b===d-1){this._addRoundedCorners(c,false)}}}if(this.orientation=="horizontal"){c.css("margin-left",-parseInt(c.css("border-left-width"),10))}else{c.css("margin-top",-parseInt(c.css("border-left-width"),10))}},_addRoundedCorners:function(b,c){if(this.orientation=="horizontal"){if(c){b.addClass(this.toThemeProperty("jqx-rc-tl"));b.addClass(this.toThemeProperty("jqx-rc-bl"))}else{b.addClass(this.toThemeProperty("jqx-rc-tr"));b.addClass(this.toThemeProperty("jqx-rc-br"))}}else{if(c){b.addClass(this.toThemeProperty("jqx-rc-tl"));b.addClass(this.toThemeProperty("jqx-rc-tr"))}else{b.addClass(this.toThemeProperty("jqx-rc-bl"));b.addClass(this.toThemeProperty("jqx-rc-br"))}}},_centerContent:function(c,b){c.css({"margin-top":(b.height()-c.height())/2,"margin-left":(b.width()-c.width())/2});return c},_renderFromButton:function(b){var c=b.val();if(c==""){c=b.html()}var e;var d=b[0].id;b.wrap("
");e=b.parent();e.attr("style",b.attr("style"));b.remove();a.jqx.utilities.html(e,c);e[0].id=d;return e},_performLayout:function(b){if(this.orientation=="horizontal"){if(this.rtl){b.css("float","right")}else{b.css("float","left")}}else{b.css("float","none")}this._centerContent(a(b.children()),b)},_mouseEnterHandler:function(d){var b=d.data.self,c=a(d.currentTarget);if(b._isDisabled(c)||!b.enableHover){return}c.addClass(b.toThemeProperty("jqx-group-button-hover"));c.addClass(b.toThemeProperty("jqx-fill-state-hover"))},_mouseLeaveHandler:function(d){var b=d.data.self,c=a(d.currentTarget);if(b._isDisabled(c)||!b.enableHover){return}c.removeClass(b.toThemeProperty("jqx-group-button-hover"));c.removeClass(b.toThemeProperty("jqx-fill-state-hover"))},_mouseDownHandler:function(d){var b=d.data.self,c=a(d.currentTarget);if(b._isDisabled(c)){return}b._pressed=c;c.addClass(b.toThemeProperty("jqx-group-button-pressed"));c.addClass(b.toThemeProperty("jqx-fill-state-pressed"))},_mouseUpHandler:function(d){var b=d.data.self,c=a(d.currentTarget);if(b._isDisabled(c)){return}b._handleSelection(c);b._pressed=null;c=b._buttonId[c[0].id];b._raiseEvent(2,{index:c.num,button:c.btn})},_isDisabled:function(b){if(!b||!b[0]){return false}return this._buttonId[b[0].id].disabled},_documentUpHandler:function(d){var b=d.data.self,c=b._pressed;if(c&&!b._buttonId[c[0].id].selected){c.removeClass(b.toThemeProperty("jqx-fill-state-pressed"));b._pressed=null}},_addButtonListeners:function(c){var b=this;this.addHandler(c,this._getEvent("mouseenter"),this._mouseEnterHandler,{self:this});this.addHandler(c,this._getEvent("mouseleave"),this._mouseLeaveHandler,{self:this});this.addHandler(c,this._getEvent("mousedown"),this._mouseDownHandler,{self:this});this.addHandler(c,this._getEvent("mouseup"),this._mouseUpHandler,{self:this});this.addHandler(a(document),this._getEvent("mouseup"),this._documentUpHandler,{self:this})},_removeButtonListeners:function(b){this.removeHandler(b,this._getEvent("mouseenter"),this._mouseEnterHandler);this.removeHandler(b,this._getEvent("mouseleave"),this._mouseLeaveHandler);this.removeHandler(b,this._getEvent("mousedown"),this._mouseDownHandler);this.removeHandler(b,this._getEvent("mouseup"),this._mouseUpHandler);this.removeHandler(a(document),this._getEvent("mouseup"),this._documentUpHandler)},_handleSelection:function(b){if(this.mode==="radio"){this._handleRadio(b)}else{if(this.mode==="checkbox"){this._handleCheckbox(b)}else{this._handleDefault(b)}}},_handleRadio:function(b){var c=this._getSelectedButton();if(c&&c.btn[0].id!==b[0].id){this._unselectButton(c.btn,true)}for(var d in this._buttonId){this._buttonId[d].selected=true;this._unselectButton(this._buttonId[d].btn,false)}this._selectButton(b,true)},_handleCheckbox:function(c){var b=this._buttonId[c[0].id];if(b.selected){this._unselectButton(b.btn,true)}else{this._selectButton(c,true)}},_handleDefault:function(b){this._selectButton(b,false);for(var c in this._buttonId){this._buttonId[c].selected=true;this._unselectButton(this._buttonId[c].btn,false)}},_getSelectedButton:function(){for(var b in this._buttonId){if(this._buttonId[b].selected){return this._buttonId[b]}}return null},_getSelectedButtons:function(){var b=[];for(var c in this._buttonId){if(this._buttonId[c].selected){b.push(this._buttonId[c].num)}}return b},_getButtonByIndex:function(b){var d;for(var c in this._buttonId){if(this._buttonId[c].num===b){return this._buttonId[c]}}return null},_selectButton:function(c,d){var b=this._buttonId[c[0].id];if(b.selected){return}b.btn.addClass(this.toThemeProperty("jqx-group-button-pressed"));b.btn.addClass(this.toThemeProperty("jqx-fill-state-pressed"));b.selected=true;if(d){this._raiseEvent(0,{index:b.num,button:b.btn})}a.jqx.aria(b.btn,"aria-checked",true)},_unselectButton:function(c,d){var b=this._buttonId[c[0].id];if(!b.selected){return}b.btn.removeClass(this.toThemeProperty("jqx-group-button-pressed"));b.btn.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));b.selected=false;if(d){this._raiseEvent(1,{index:b.num,button:b.btn})}a.jqx.aria(b.btn,"aria-checked",false)},setSelection:function(b){if(b===-1){this.clearSelection();return}if(this.mode==="checkbox"){if(typeof b==="number"){this._setSelection(b)}else{for(var c=0;c