File: D:/HostingSpaces/Velosophe/dev.abloc.cc/wwwroot/app/themes/abloc/js/plugins/selectod.custom.min.js
/* (NM: custom version) selectordie.js 0.1.8 - Copyright (c) 2014 Per Vestman - Dual licensed under the MIT and GPL licenses. */
(function(d){d.fn.selectOrDie=function(g){var A={customID:null,customClass:"",placeholder:null,placeholderOption:!1,prefix:null,cycle:!1,stripEmpty:!1,links:!1,linksExternal:!1,size:0,tabIndex:0,onOpen:d.noop,onClose:d.noop,onChange:d.noop},f={},m=!1,w,j,e={initSoD:function(a){f=d.extend({},A,a);return this.each(function(){if(d(this).parent().hasClass("sod_select"))console.log("Select or Die: It looks like the SoD already exists");else{var a=d(this),c=a.data("custom-id")?a.data("custom-id"):f.customID, k=a.data("custom-class")?a.data("custom-class"):f.customClass,t=a.data("prefix")?a.data("prefix"):f.prefix,r=a.data("placeholder")?a.data("placeholder"):f.placeholder,l=a.data("placeholder-option")?a.data("placeholder-option"):f.placeholderOption,h=a.data("cycle")?a.data("cycle"):f.cycle,B=a.data("links")?a.data("links"):f.links,p=a.data("links-external")?a.data("links-external"):f.linksExternal,g=parseInt(a.data("size"))?a.data("size"):f.size,m=parseInt(a.data("tabindex"))?a.data("tabindex"):f.tabIndex? f.tabIndex:a.attr("tabindex")?a.attr("tabindex"):f.tabIndex,j=a.data("strip-empty")?a.data("strip-empty"):f.stripEmpty,x=a.prop("title")?a.prop("title"):null,n=a.is(":disabled")?" disabled":"",u="",y="",s=0,q,v;t&&(u='<span class="sod_prefix">'+t+"</span> ");q=d("<span/>",{id:c,"class":"sod_select "+k+n,title:x,tabindex:m,html:r&&!t?y+('<span class="sod_label sod_placeholder">'+r+"</span>"):y+('<span class="sod_label">'+u+"</span>"),"data-cycle":h,"data-links":B,"data-links-external":p,"data-placeholder":r, "data-placeholder-option":l,"data-prefix":t,"data-filter":""}).insertAfter(this);e.isTouch()&&q.addClass("touch");c=d("<span/>",{"class":"sod_list_wrapper"}).appendTo(q);v=d("<span/>",{"class":"sod_list"}).appendTo(c);d("option, optgroup",a).each(function(a){var b=d(this);j&&!d.trim(b.text())?b.remove():0===a&&l&&!u?e.populateSoD(b,v,q,!0):e.populateSoD(b,v,q,!1)});g&&(c.show(),d(".sod_option:lt("+g+")",v).each(function(){s+=d(this).outerHeight()}),c.removeAttr("style"),v.css({"max-height":s}));a.appendTo(q); q.on("focusin",e.focusSod).on("click",e.triggerSod).on("click",".sod_option",e.optionClick).on("mousemove",".sod_option",e.optionHover).on("keydown",e.keyboardUse);a.on("change",e.selectChange);d(document).on("click","label[for='"+a.attr("id")+"']",function(a){a.preventDefault();q.focus()})}})},populateSoD:function(a,b,c,k){var e=c.data("placeholder"),f=c.data("placeholder-option"),l=c.data("prefix"),h=c.find(".sod_label"),g=a.parent(),p=a.text(),m=a.val(),j=a.data("custom-id")?a.data("custom-id"): null,w=a.data("custom-class")?a.data("custom-class"):"",x=a.is(":disabled")?" disabled ":"",n=a.is(":selected")?" selected active ":"",u=a.data("link")?" link ":"",y=a.data("link-external")?" linkexternal":"",s=a.prop("label");a.is("option")?(d("<span/>",{"class":"sod_option "+w+x+n+u+y,id:j,title:p,html:p,"data-value":m}).appendTo(b),k&&!l?(c.data("label",p),c.data("placeholder",p),a.prop("disabled",!0),b.find(".sod_option:last").addClass("is-placeholder disabled"),n&&h.addClass("sod_placeholder")): n&&e&&!f&&!l?c.data("label",e):n&&c.data("label",p),(n&&!e||n&&f||n&&l)&&h.append(p),g.is("optgroup")&&(b.find(".sod_option:last").addClass("groupchild"),g.is(":disabled")&&b.find(".sod_option:last").addClass("disabled"))):d("<span/>",{"class":"sod_option optgroup "+x,title:s,html:s,"data-label":s}).appendTo(b)},focusSod:function(){var a=d(this);a.hasClass("disabled")?e.blurSod(a):(e.blurSod(d(".sod_select.focus").not(a)),a.addClass("focus"),d("html").on("click.sodBlur",function(){e.blurSod(a)}))}, triggerSod:function(a){a.stopPropagation();a=d(this);var b=a.find(".sod_list"),c=a.data("placeholder"),k=a.find(".active"),t=a.find(".selected");!a.hasClass("disabled")&&!a.hasClass("open")&&!a.hasClass("touch")?(f.onOpen.call(this),a.addClass("open"),c&&!a.data("prefix")&&a.find(".sod_label").addClass("sod_placeholder").html(c),e.listScroll(b,t),e.checkViewport(a,b)):(f.onClose.call(this),clearTimeout(j),a.removeClass("open"),c&&(a.find(".sod_label").get(0).lastChild.nodeValue=k.text()))},keyboardUse:function(a){var b= d(this),c=b.find(".sod_list"),k=b.find(".sod_option"),f=b.find(".sod_label"),g=b.data("cycle"),l=k.filter(".active"),h,j;if(36<a.which&&41>a.which){if(37===a.which||38===a.which)h=l.prevAll(":not('.disabled, .optgroup')").first(),j=k.not(".disabled, .optgroup").last();else if(39===a.which||40===a.which)h=l.nextAll(":not('.disabled, .optgroup')").first(),j=k.not(".disabled, .optgroup").first();!h.hasClass("sod_option")&&g&&(h=j);if(h.hasClass("sod_option")||g)l.removeClass("active"),h.addClass("active"), f.get(0).lastChild.nodeValue=h.text(),e.listScroll(c,h),b.hasClass("open")||(m=!0);return!1}13===a.which||32===a.which&&b.hasClass("open")&&(" "===b.data("filter")[0]||""===b.data("filter"))?(a.preventDefault(),l.click()):32===a.which&&!b.hasClass("open")&&(" "===b.data("filter")[0]||""===b.data("filter"))?(a.preventDefault(),m=!1,b.click()):27===a.which&&e.blurSod(b);0!==a.which&&(clearTimeout(w),b.data("filter",b.data("filter")+String.fromCharCode(a.which)),a=k.filter(function(){return 0===d(this).text().toLowerCase().indexOf(b.data("filter").toLowerCase())}).not(".disabled, .optgroup").first(), a.length&&(l.removeClass("active"),a.addClass("active"),e.listScroll(c,a),f.get(0).lastChild.nodeValue=a.text(),b.hasClass("open")||(m=!0)),w=setTimeout(function(){b.data("filter","")},500))},optionHover:function(){var a=d(this);!a.hasClass("disabled")&&!a.hasClass("optgroup")&&a.siblings().removeClass("active").end().addClass("active")},optionClick:function(a){a.stopPropagation();a=d(this);var b=a.closest(".sod_select"),c=a.hasClass("disabled"),k=a.hasClass("optgroup"),e=b.find(".sod_option:not('.optgroup')").index(this); b.hasClass("touch")||(!c&&!k&&(b.find(".selected, .sod_placeholder").removeClass("selected sod_placeholder"),a.addClass("selected"),b.find("select option")[e].selected=!0,b.find("select").change()),clearTimeout(j),f.onClose.call(this),b.removeClass("open"))},selectChange:function(){var a=d(this),b=a.find(":selected"),c=b.text(),a=a.closest(".sod_select");a.find(".sod_label").get(0).lastChild.nodeValue=c;a.data("label",c);f.onChange.call(this);(a.data("links")||b.data("link"))&&!b.data("link-external")? window.location.href=b.val():(a.data("links-external")||b.data("link-external"))&&window.open(b.val(),"_blank")},blurSod:function(a){if(d("body").find(a).length){var b=a.data("label"),c=a.data("placeholder"),e=a.find(".active"),g=a.find(".selected"),r=!1;clearTimeout(j);m&&!e.hasClass("selected")?(e.click(),r=!0):e.hasClass("selected")||(e.removeClass("active"),g.addClass("active"));!r&&c?a.find(".sod_label").get(0).lastChild.nodeValue=g.text():r||(a.find(".sod_label").get(0).lastChild.nodeValue= b);m=!1;f.onClose.call(a);a.removeClass("open focus");a.blur();d("html").off(".sodBlur")}},checkViewport:function(a,b){var c=a[0].getBoundingClientRect(),f=b.outerHeight();c.bottom+f+10>d(window).height()&&10<c.top-f?a.addClass("above"):a.removeClass("above");j=setTimeout(function(){e.checkViewport(a,b)},200)},listScroll:function(a,b){var c=a[0].getBoundingClientRect(),d=b[0].getBoundingClientRect();c.top>d.top?a.scrollTop(a.scrollTop()-c.top+d.top):c.bottom<d.bottom&&a.scrollTop(a.scrollTop()-c.bottom+ d.bottom)},isTouch:function(){return"ontouchstart"in window||0<navigator.MaxTouchPoints||0<navigator.msMaxTouchPoints}},z={destroy:function(){return this.each(function(){var a=d(this),b=a.parent();b.hasClass("sod_select")?(a.off("change"),b.find("span").remove(),a.unwrap()):console.log("Select or Die: There's no SoD to destroy")})},update:function(){return this.each(function(){var a=d(this),b=a.parent(),c=b.find(".sod_list:first");b.hasClass("sod_select")?(c.empty(),b.find(".sod_label").get(0).lastChild.nodeValue= "",a.is(":disabled")&&b.addClass("disabled"),d("option, optgroup",a).each(function(){e.populateSoD(d(this),c,b)})):console.log("Select or Die: There's no SoD to update")})},disable:function(a){return this.each(function(){var b=d(this),c=b.parent();c.hasClass("sod_select")?"undefined"!==typeof a?(c.find(".sod_list:first .sod_option[data-value='"+a+"']").addClass("disabled"),c.find(".sod_list:first .sod_option[data-label='"+a+"']").nextUntil(":not(.groupchild)").addClass("disabled"),d("option[value='"+ a+"'], optgroup[label='"+a+"']",this).prop("disabled",!0)):c.hasClass("sod_select")&&(c.addClass("disabled"),b.prop("disabled",!0)):console.log("Select or Die: There's no SoD to disable")})},enable:function(a){return this.each(function(){var b=d(this),c=b.parent();c.hasClass("sod_select")?"undefined"!==typeof a?(c.find(".sod_list:first .sod_option[data-value='"+a+"']").removeClass("disabled"),c.find(".sod_list:first .sod_option[data-label='"+a+"']").nextUntil(":not(.groupchild)").removeClass("disabled"), d("option[value='"+a+"'], optgroup[label='"+a+"']",this).prop("disabled",!1)):c.hasClass("sod_select")&&(c.removeClass("disabled"),b.prop("disabled",!1)):console.log("Select or Die: There's no SoD to enable")})}};if(z[g])return z[g].apply(this,Array.prototype.slice.call(arguments,1));if("object"===typeof g||!g)return e.initSoD.apply(this,arguments);d.error('Select or Die: Oh no! No such method "'+g+'" for the SoD instance')}})(jQuery);