var MultiselectDropdown={initialised:!1,initialiseAll:function(){if(!MultiselectDropdown.initialised){var n=$(".multiselect-dropdown");$.each(n,function(n,t){MultiselectDropdown.bindClickHandlers(t)}),MultiselectDropdown.initialised=!0}},enable:function(n){var t=$(n);t.hasClass("field-disabled")&&t.removeClass("field-disabled")},disable:function(n,t){var i=$(n),r;i.hasClass("field-disabled")||(i.addClass("field-disabled"),i.find("input").prop("checked",!1),MultiselectDropdown.refreshSelectedLabel(n)),t&&(r=i.find("span.drop-label"),r.text(t))},isDisabled:function(n){var t=$(n);return t.hasClass("field-disabled")},getSelectedValues:function(n){var i=$(n).find("input:checked"),t=[];return $.each(i,function(n,i){i.value!==""&&t.push(i.value)}),t},allSelected:function(n){var t=$(n).find("input:checked").length,i=$(n).find("input").length;return t===i},selectAll:function(n){$(n).find("input").prop("checked",!0),MultiselectDropdown.refreshSelectedLabel(n)},getSelectedText:function(n){var i=MultiselectDropdown.getDefaultOptionText(n),r=$(n).find("input:checked"),t=[];return $.each(r,function(n,r){var u=$(r).attr("text");u&&u!==i&&t.push(u)}),t.join(", ")},getDefaultOptionText:function(n){var t=$(n).find("input"),i="";return t.length>0&&(i=t.first().attr("text")),i},populateOptions:function(n,t,i,r,u){var s=$(n).find("ul");s.empty();var f="",e="",o="";u&&(f=u[0],e=u[1],o=MultiselectDropdown.getListItemHtml(t,f,i,e),$(o).appendTo(s)),r&&($.each(r,function(n,r){f=r[0],e=r[1],o=MultiselectDropdown.getListItemHtml(t,f,i,e),$(o).appendTo(s)}),MultiselectDropdown.bindOptionClickHandlers(n)),MultiselectDropdown.refreshSelectedLabel(n)},bindClickHandlers:function(n){var t=$(n),u=function(i){i.preventDefault(),t.hasClass("field-disabled")||MultiselectDropdown.openDropdown(n)},i=t.find(".multiselect-button"),r=i.data("events");r&&r.click||i.click(u),MultiselectDropdown.bindOptionClickHandlers(n)},bindOptionClickHandlers:function(n){var t=$(n),i=function(i){i.preventDefault();var u=this,r=$(u).find("input"),f=r.parents("ul"),e=f.find("input[value='']");r.is(":checked")?r.prop("checked",!1):r.prop("checked",!0),e.prop("checked",!1),MultiselectDropdown.unhideNameAttributes(n),MultiselectDropdown.refreshSelectedLabel(n),t.trigger("change")},r=function(i){i.preventDefault();var f=this,r=$(f).find("input"),e=r.parents("ul"),u=e.find("input");r.is(":checked")?(u.prop("checked",!1),MultiselectDropdown.unhideNameAttributes(n)):(u.prop("checked",!0),MultiselectDropdown.hideNameAttributes(n)),MultiselectDropdown.refreshSelectedLabel(n),t.trigger("change")},u=t.find("ul.switch-list li");$.each(u,function(t,u){var f=$(u),o=f.find("input"),e=f.data("events");e&&e.click||(o[0].onchange=function(){MultiselectDropdown.refreshSelectedLabel(n)},t===0?f.click(r):f.click(i))}),MultiselectDropdown.refreshSelectedLabel(n)},hideNameAttributes:function(n){var t=$(n).find("input"),i=t.first().attr("name");i&&(t.removeAttr("name"),t.attr("hiddenname",i))},unhideNameAttributes:function(n){var t=$(n).find("input"),i=t.first().attr("hiddenname");i&&(t.removeAttr("hiddenname"),t.attr("name",i))},refreshSelectedLabel:function(n){var u=$(n).find("input").length-1,i=MultiselectDropdown.getSelectedValues(n).length,t,r;t=i===u||i===0?MultiselectDropdown.getDefaultOptionText(n):MultiselectDropdown.getSelectedText(n),r=$(n).find("span.drop-label"),r.text(t)},getListItemHtml:function(n,t,i,r){var u="";return u+="<li>",u+="<span class='tm-switch tm-switch-checkbox'>",u+="<input type='checkbox' name='"+n+"' value='"+t+"' id='"+i+t+"' text='"+r+"'>",u+="<label for='"+i+t+"'><\/label>",u+="<\/span>",u+="<label for='"+i+t+"'>"+r+"<\/label>",u+="<\/li>"},selectOptions:function(n,t){$(n).find("input").prop("checked",!1),$.each(t,function(t,i){var r=$(n).find("input[value='"+i+"']");r.prop("checked",!0)}),MultiselectDropdown.refreshSelectedLabel(n)},openDropdown:function(n){var t=$(n),i=t.find(".multiselect-button");t.toggleClass("open"),i.toggleClass("focus"),t.hasClass("open")&&setTimeout(function(){var n="ontouchstart"in window;n&&$(document.body).bind("touchstart",function(n){t.has(n.target).length===0&&(t.removeClass("open"),i.removeClass("focus"),$(document.body).unbind("click"),$(document.body).unbind("touchstart"))}),$(document.body).bind("click",function(n){t.has(n.target).length===0&&(t.removeClass("open"),i.removeClass("focus"),$(document.body).unbind("click"),$(document.body).unbind("touchstart"))})},20)}}