"use strict";!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof exports?module.exports=n(require("jquery")):n(jQuery)}(function(n){function i(t,i){this.element=t;this.$element=n(t);var r=this.$element.data();return""===r.reverse&&(r.reverse=!0),""===r.switchAlways&&(r.switchAlways=!0),""===r.html&&(r.html=!0),this.options=n.extend({},n.fn.checkboxpicker.defaults,i,r),this.$element.closest("label").length?void console.warn(this.options.warningMessage):(this.$group=n.create("div"),this.$buttons=n.create("a","a"),this.$off=this.$buttons.eq(this.options.reverse?1:0),this.$on=this.$buttons.eq(this.options.reverse?0:1),void this.init())}var t,r;return n.create=function(){return n(n.map(arguments,n.proxy(document,"createElement")))},i.prototype={init:function(){var t=this.options.html?"html":"text";this.$element.addClass("hidden");this.$group.addClass(this.options.baseGroupCls).addClass(this.options.groupCls);this.$buttons.addClass(this.options.baseCls).addClass(this.options.cls);this.options.offLabel&&this.$off[t](this.options.offLabel);this.options.onLabel&&this.$on[t](this.options.onLabel);this.options.offIconCls&&(this.options.offLabel&&this.$off.prepend("&nbsp;"),n.create("span").addClass(this.options.iconCls).addClass(this.options.offIconCls).prependTo(this.$off));this.options.onIconCls&&(this.options.onLabel&&this.$on.prepend("&nbsp;"),n.create("span").addClass(this.options.iconCls).addClass(this.options.onIconCls).prependTo(this.$on));this.element.checked?(this.$on.addClass("active"),this.$on.addClass(this.options.onActiveCls),this.$off.addClass(this.options.offCls)):(this.$off.addClass("active"),this.$off.addClass(this.options.offActiveCls),this.$on.addClass(this.options.onCls));this.element.title?this.$group.attr("title",this.element.title):(this.options.offTitle&&this.$off.attr("title",this.options.offTitle),this.options.onTitle&&this.$on.attr("title",this.options.onTitle));this.$group.on("keydown",n.proxy(this,"keydown"));this.$buttons.on("click",n.proxy(this,"click"));this.$element.on("change",n.proxy(this,"toggleChecked"));n(this.element.labels).on("click",n.proxy(this,"focus"));n(this.element.form).on("reset",n.proxy(this,"reset"));this.$group.append(this.$buttons).insertAfter(this.element);this.element.disabled?(this.$buttons.addClass("disabled"),this.options.disabledCursor&&this.$group.css("cursor",this.options.disabledCursor)):(this.$group.attr("tabindex",this.element.tabIndex),this.element.autofocus&&this.focus())},toggleChecked:function(){this.$buttons.toggleClass("active");this.$off.toggleClass(this.options.offCls);this.$off.toggleClass(this.options.offActiveCls);this.$on.toggleClass(this.options.onCls);this.$on.toggleClass(this.options.onActiveCls)},toggleDisabled:function(){this.$buttons.toggleClass("disabled");this.element.disabled?(this.$group.attr("tabindex",this.element.tabIndex),this.$group.css("cursor","")):(this.$group.removeAttr("tabindex"),this.options.disabledCursor&&this.$group.css("cursor",this.options.disabledCursor))},focus:function(){this.$group.trigger("focus")},click:function(t){var i=n(t.currentTarget);i.hasClass("active")&&!this.options.switchAlways||this.change()},change:function(){this.set(!this.element.checked)},set:function(n){this.element.checked=n;this.$element.trigger("change")},keydown:function(t){-1!=n.inArray(t.keyCode,this.options.toggleKeyCodes)?(t.preventDefault(),this.change()):13==t.keyCode&&n(this.element.form).trigger("submit")},reset:function(){(this.element.defaultChecked&&this.$off.hasClass("active")||!this.element.defaultChecked&&this.$on.hasClass("active"))&&this.set(this.element.defaultChecked)}},t=n.extend({},n.propHooks),n.extend(n.propHooks,{checked:{set:function(i,r){var u=n.data(i,"bs.checkbox");u&&i.checked!=r&&u.change(r);t.checked&&t.checked.set&&t.checked.set(i,r)}},disabled:{set:function(i,r){var u=n.data(i,"bs.checkbox");u&&i.disabled!=r&&u.toggleDisabled();t.disabled&&t.disabled.set&&t.disabled.set(i,r)}}}),r=n.fn.checkboxpicker,n.fn.checkboxpicker=function(t,r){var u;return u=this instanceof n?this:n("string"==typeof t?t:r),u.each(function(){var r=n.data(this,"bs.checkbox");r||(r=new i(this,t),n.data(this,"bs.checkbox",r))})},n.fn.checkboxpicker.defaults={baseGroupCls:"btn-group",baseCls:"btn",groupCls:null,cls:null,offCls:"btn-default",onCls:"btn-default",offActiveCls:"btn-danger",onActiveCls:"btn-success",offLabel:"No",onLabel:"Yes",offTitle:!1,onTitle:!1,iconCls:"glyphicon",disabledCursor:"not-allowed",toggleKeyCodes:[13,32],warningMessage:"Please do not use Bootstrap-checkbox element in label element."},n.fn.checkboxpicker.Constructor=i,n.fn.checkboxpicker.noConflict=function(){return n.fn.checkboxpicker=r,this},n.fn.checkboxpicker})