!function(e){function a(e){var a=0,l=e;return l=l.clone().attr("class","hidden_element").appendTo("body"),a=l.width(!0),l.remove(),a}function l(e,a){e&&window.console&&window.console.log&&window.console.log("jQuery-LABELAUTY: "+a)}function n(e,a,l,n,t,c,s){var i,d,r="";return null==t?i=d="":(i=t[0],d=null==t[1]?i:t[1]),r=null==a?"":'tabindex="0" role="'+n+'" aria-checked="'+l+'" aria-label="'+a+'"',1==c&&1==s?'":1==c?'":''}e.fn.labelauty=function(t){var c=e.extend({development:!1,class:"labelauty",icon:!0,label:!0,separator:"|",checked_label:"Checked",unchecked_label:"Unchecked",force_random_id:!1,minimum_width:!1,same_width:!0},t);return this.each(function(){var t,s,i,d=e(this),r=d.is(":checked"),o=d.attr("type"),h=!0,u=!0,b=d.attr("aria-label");if(d.attr("aria-hidden",!0),!1===d.is(":checkbox")&&!1===d.is(":radio"))return this;if(d.addClass(c.class),t=d.attr("data-labelauty"),u=c.label,h=c.icon,!0===u&&(null==t||0===t.length?s=[c.unchecked_label,c.checked_label]:(s=t.split(c.separator)).length>2?(u=!1,l(c.development,"There's more than two labels. LABELAUTY will not use labels.")):1===s.length&&l(c.development,"There's just one label. LABELAUTY will use this one for both cases.")),d.css({display:"none"}),d.removeAttr("data-labelauty"),i=d.attr("id"),c.force_random_id||null==i||""===i.trim()){var p=1+Math.floor(1024e3*Math.random());for(i="labelauty-"+p;0!==e(i).length;)i="labelauty-"+ ++p,l(c.development,"Holy crap, between 1024 thousand numbers, one raised a conflict. Trying again.");d.attr("id",i)}var k=jQuery(n(i,b,r,o,s,u,h));if(k.click(function(){d.is(":checked")?e(k).attr("aria-checked",!1):e(k).attr("aria-checked",!0)}),k.keypress(function(a){a.preventDefault(),32!==a.keyCode&&13!==a.keyCode||(d.is(":checked")?(d.prop("checked",!1),e(k).attr("aria-checked",!1)):(d.prop("checked",!0),e(k).attr("aria-checked",!0)))}),d.after(k),!1!==c.minimum_width&&d.next("label[for="+i+"]").css({"min-width":c.minimum_width}),0!=c.same_width&&1==c.label){var f=d.next("label[for="+i+"]"),m=a(f.find("span.labelauty-unchecked")),y=a(f.find("span.labelauty-checked"));m>y?f.find("span.labelauty-checked").width(m):f.find("span.labelauty-unchecked").width(y)}})}}(jQuery);