var allps; var WPDM={ beep: function(){ if(WPDM.audio==undefined) var snd=new Audio("data:audio/wav;base64,//uQRAAAAWMSLwUIYAAsYkXgoQwAEaYLWfkWgAI0wWs/ItAAAGDgYtAgAyN+QWaAAihwMWm4G8QQRDiMcCBcH3Cc+CDv/7xA4Tvh9Rz/y8QADBwMWgQAZG/ILNAARQ4GLTcDeIIIhxGOBAuD7hOfBB3/94gcJ3w+o5/5eIAIAAAVwWgQAVQ2ORaIQwEMAJiDg95G4nQL7mQVWI6GwRcfsZAcsKkJvxgxEjzFUgfHoSQ9Qq7KNwqHwuB13MA4a1q/DmBrHgPcmjiGoh//EwC5nGPEmS4RcfkVKOhJf+WOgoxJclFz3kgn//dBA+ya1GhurNn8zb//9NNutNuhz31f////9vt///z+IdAEAAAK4LQIAKobHItEIYCGAExBwe8jcToF9zIKrEdDYIuP2MgOWFSE34wYiR5iqQPj0JIeoVdlG4VD4XA67mAcNa1fhzA1jwHuTRxDUQ//iYBczjHiTJcIuPyKlHQkv/LHQUYkuSi57yQT//uggfZNajQ3Vmz+Zt//+mm3Wm3Q576v////+32///5/EOgAAADVghQAAAAA//uQZAUAB1WI0PZugAAAAAoQwAAAEk3nRd2qAAAAACiDgAAAAAAABCqEEQRLCgwpBGMlJkIz8jKhGvj4k6jzRnqasNKIeoh5gI7BJaC1A1AoNBjJgbyApVS4IDlZgDU5WUAxEKDNmmALHzZp0Fkz1FMTmGFl1FMEyodIavcCAUHDWrKAIA4aa2oCgILEBupZgHvAhEBcZ6joQBxS76AgccrFlczBvKLC0QI2cBoCFvfTDAo7eoOQInqDPBtvrDEZBNYN5xwNwxQRfw8ZQ5wQVLvO8OYU+mHvFLlDh05Mdg7BT6YrRPpCBznMB2r//xKJjyyOh+cImr2/4doscwD6neZjuZR4AgAABYAAAABy1xcdQtxYBYYZdifkUDgzzXaXn98Z0oi9ILU5mBjFANmRwlVJ3/6jYDAmxaiDG3/6xjQQCCKkRb/6kg/wW+kSJ5//rLobkLSiKmqP/0ikJuDaSaSf/6JiLYLEYnW/+kXg1WRVJL/9EmQ1YZIsv/6Qzwy5qk7/+tEU0nkls3/zIUMPKNX/6yZLf+kFgAfgGyLFAUwY//uQZAUABcd5UiNPVXAAAApAAAAAE0VZQKw9ISAAACgAAAAAVQIygIElVrFkBS+Jhi+EAuu+lKAkYUEIsmEAEoMeDmCETMvfSHTGkF5RWH7kz/ESHWPAq/kcCRhqBtMdokPdM7vil7RG98A2sc7zO6ZvTdM7pmOUAZTnJW+NXxqmd41dqJ6mLTXxrPpnV8avaIf5SvL7pndPvPpndJR9Kuu8fePvuiuhorgWjp7Mf/PRjxcFCPDkW31srioCExivv9lcwKEaHsf/7ow2Fl1T/9RkXgEhYElAoCLFtMArxwivDJJ+bR1HTKJdlEoTELCIqgEwVGSQ+hIm0NbK8WXcTEI0UPoa2NbG4y2K00JEWbZavJXkYaqo9CRHS55FcZTjKEk3NKoCYUnSQ0rWxrZbFKbKIhOKPZe1cJKzZSaQrIyULHDZmV5K4xySsDRKWOruanGtjLJXFEmwaIbDLX0hIPBUQPVFVkQkDoUNfSoDgQGKPekoxeGzA4DUvnn4bxzcZrtJyipKfPNy5w+9lnXwgqsiyHNeSVpemw4bWb9psYeq//uQZBoABQt4yMVxYAIAAAkQoAAAHvYpL5m6AAgAACXDAAAAD59jblTirQe9upFsmZbpMudy7Lz1X1DYsxOOSWpfPqNX2WqktK0DMvuGwlbNj44TleLPQ+Gsfb+GOWOKJoIrWb3cIMeeON6lz2umTqMXV8Mj30yWPpjoSa9ujK8SyeJP5y5mOW1D6hvLepeveEAEDo0mgCRClOEgANv3B9a6fikgUSu/DmAMATrGx7nng5p5iimPNZsfQLYB2sDLIkzRKZOHGAaUyDcpFBSLG9MCQALgAIgQs2YunOszLSAyQYPVC2YdGGeHD2dTdJk1pAHGAWDjnkcLKFymS3RQZTInzySoBwMG0QueC3gMsCEYxUqlrcxK6k1LQQcsmyYeQPdC2YfuGPASCBkcVMQQqpVJshui1tkXQJQV0OXGAZMXSOEEBRirXbVRQW7ugq7IM7rPWSZyDlM3IuNEkxzCOJ0ny2ThNkyRai1b6ev//3dzNGzNb//4uAvHT5sURcZCFcuKLhOFs8mLAAEAt4UWAAIABAAAAAB4qbHo0tIjVkUU//uQZAwABfSFz3ZqQAAAAAngwAAAE1HjMp2qAAAAACZDgAAAD5UkTE1UgZEUExqYynN1qZvqIOREEFmBcJQkwdxiFtw0qEOkGYfRDifBui9MQg4QAHAqWtAWHoCxu1Yf4VfWLPIM2mHDFsbQEVGwyqQoQcwnfHeIkNt9YnkiaS1oizycqJrx4KOQjahZxWbcZgztj2c49nKmkId44S71j0c8eV9yDK6uPRzx5X18eDvjvQ6yKo9ZSS6l//8elePK/Lf//IInrOF/FvDoADYAGBMGb7FtErm5MXMlmPAJQVgWta7Zx2go+8xJ0UiCb8LHHdftWyLJE0QIAIsI+UbXu67dZMjmgDGCGl1H+vpF4NSDckSIkk7Vd+sxEhBQMRU8j/12UIRhzSaUdQ+rQU5kGeFxm+hb1oh6pWWmv3uvmReDl0UnvtapVaIzo1jZbf/pD6ElLqSX+rUmOQNpJFa/r+sa4e/pBlAABoAAAAA3CUgShLdGIxsY7AUABPRrgCABdDuQ5GC7DqPQCgbbJUAoRSUj+NIEig0YfyWUho1VBBBA//uQZB4ABZx5zfMakeAAAAmwAAAAF5F3P0w9GtAAACfAAAAAwLhMDmAYWMgVEG1U0FIGCBgXBXAtfMH10000EEEEEECUBYln03TTTdNBDZopopYvrTTdNa325mImNg3TTPV9q3pmY0xoO6bv3r00y+IDGid/9aaaZTGMuj9mpu9Mpio1dXrr5HERTZSmqU36A3CumzN/9Robv/Xx4v9ijkSRSNLQhAWumap82WRSBUqXStV/YcS+XVLnSS+WLDroqArFkMEsAS+eWmrUzrO0oEmE40RlMZ5+ODIkAyKAGUwZ3mVKmcamcJnMW26MRPgUw6j+LkhyHGVGYjSUUKNpuJUQoOIAyDvEyG8S5yfK6dhZc0Tx1KI/gviKL6qvvFs1+bWtaz58uUNnryq6kt5RzOCkPWlVqVX2a/EEBUdU1KrXLf40GoiiFXK///qpoiDXrOgqDR38JB0bw7SoL+ZB9o1RCkQjQ2CBYZKd/+VJxZRRZlqSkKiws0WFxUyCwsKiMy7hUVFhIaCrNQsKkTIsLivwKKigsj8XYlwt/WKi2N4d//uQRCSAAjURNIHpMZBGYiaQPSYyAAABLAAAAAAAACWAAAAApUF/Mg+0aohSIRobBAsMlO//Kk4soosy1JSFRYWaLC4qZBYWFRGZdwqKiwkNBVmoWFSJkWFxX4FFRQWR+LsS4W/rFRb/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////VEFHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU291bmRib3kuZGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjAwNGh0dHA6Ly93d3cuc291bmRib3kuZGUAAAAAAAAAACU="); else var snd=new Audio(WPDM.audio); snd.play(); }, popupWindow: function(url, title, w, h){ var dualScreenLeft=window.screenLeft!=undefined ? window.screenLeft:screen.left; var dualScreenTop=window.screenTop!=undefined ? window.screenTop:screen.top; var width=window.innerWidth ? window.innerWidth:document.documentElement.clientWidth ? document.documentElement.clientWidth:screen.width; var height=window.innerHeight ? window.innerHeight:document.documentElement.clientHeight ? document.documentElement.clientHeight:screen.height; var left=((width / 2) - (w / 2)) + dualScreenLeft; var top=((height / 2) - (h / 2)) + dualScreenTop; var newWindow=window.open(url, title, 'scrollbars=yes, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left); if(window.focus){ newWindow.focus(); } return false; }, bootAlert: function(heading, content, width){ var html; if(!width) width=400; jQuery("#w3eden__bootModal").remove(); html='
'; jQuery('body').append(html); jQuery("#__bootModal").modal('show'); }, pushNotify: function(title, message, icon, image, url){ if(!('Notification' in window)||!('ServiceWorkerRegistration' in window)){ return; } Notification.requestPermission(function (result){ if(result==='granted'){ console.log('Notification: ' + result); try { var notification=new Notification(title, {body: message, icon: icon?icon:'https://cdn1.iconfinder.com/data/icons/hawcons/32/698558-icon-47-note-important-512.png', image: image?image:''}); if(url){ notification.onclick=function (e){ e.preventDefault(); window.open(url, '_blank'); };}} catch (err){ console.log('Notification API error: ' + err); }}else{ console.log('Notification: ' + result); }}); }, notify: function(message, type, position){ var $=jQuery; if(type===undefined) type="info"; position='top-right'; var notifycont='#wpdm-notify-'+position; if($(notifycont).length==0) $('body').prepend("
"); var notif=$("
"+message+"
"); $(notifycont).append(notif); $(notif).animate({marginRight: '0px'}); return $(notif); }, floatify: function(html, position){ var $=jQuery; position='top-right'; var floatifycont='#wpdm-floatify-'+position; if($(floatifycont).length==0) $('body').prepend("
"); var floatify=$("
"+html+"
"); $(floatifycont).append(floatify); $(floatify).animate({marginRight: '0px'}); return $(floatify); }, blockUI: function(element, xhr){ jQuery(element).addClass("blockui"); if(xhr) xhr.addEventListener("load", function (){ jQuery(element).removeClass("blockui"); }); }, unblockUI: function(element){ jQuery(element).removeClass("blockui"); }, overlay: function(element, html){ var $=jQuery; var overlaycontent=$(""); $(element).addClass('wpdm-overlay').append(overlaycontent); $(overlaycontent).fadeIn(); $('body').on('click', '.wpdm-overlay-close', function (){ $(overlaycontent).fadeOut(function (){ $(this).remove(); }); }); return $(overlaycontent); }, confirm: function(heading, content, buttons){ var html, $=jQuery; $("#w3eden__boot_popup").remove(); var _buttons=''; if(buttons){ _buttons='\n'; } html='
'; $('body').append(html); $("#__boot_popup").modal('show'); $.each(buttons, function (i, button){ var id='btx_'+i; $('#'+id).unbind('click'); $('#'+id).bind('click' , function (){ button.callback.call($("#__boot_popup")); return false; }); }); return $("#__boot_popup"); }}; jQuery(function ($){ $('.wpdm_hide.wpdm_remove_empty').remove(); $('.wpdm-checkbox.wpdm-lock-terms').on('click', function (){ var target=$(this).data('target'); if($(this).is(':checked')) $(target).slideDown(); else $(target).slideUp(); }); $('.input-group input').on('focus', function (){ $(this).parent().find('.input-group-addon').addClass('input-group-addon-active'); }); $('.input-group input').on('blur', function (){ $(this).parent().find('.input-group-addon').removeClass('input-group-addon-active'); }); $('body').on('click', '.wpdm-download-link.wpdm-download-locked', function (e){ e.preventDefault(); hideLockFrame(); $('body').append(""); }); $('body').on('click', '.inddl', function (){ var tis=this; $.post(wpdm_site_url, { wpdmfileid: $(this).data('pid'), wpdmfile: $(this).data('file'), actioninddlpvr: $($(this).data('pass')).val() }, function (res){ res=res.split('|'); var ret=res[1]; if(ret=='error') $($(tis).data('pass')).addClass('input-error'); if(ret=='ok') location.href=$(tis).attr('rel') + '&_wpdmkey=' + res[2]; }); }); $('body').on('click', '.wpdm-download-locked.pop-over', function (){ var $dc=$($(this).attr('href')); if($(this).attr('data-ready')==undefined){ $(this).popover({ placement: 'bottom', html: true, content: function (){ return $dc.html()+'
'; }}); $(this).attr('data-ready', 'hide'); } if($(this).attr('data-ready')=='hide'){ $(this).popover('show'); $(this).attr('data-ready', 'show'); }else if($(this).attr('data-ready')=='show'){ $(this).popover('hide'); $(this).attr('data-ready', 'hide'); } return false; }); $('body').on('click', '.wpdm-indir', function (e){ e.preventDefault(); $('#xfilelist').load(location.href, { action: 'wpdmfilelistcd', pid: $(this).data('pid'), cd: $(this).data('dir') }); }); $('body').on('click', '.po-close', function (){ $('.wpdm-download-link').popover('hide'); $('.wpdm-download-link').attr('data-ready', 'hide'); }); $('body').on('click', '.wpdm-btn-play', function (e){ e.preventDefault(); var player=$('#' + $(this).data('player')); var btn=$('#' + this.id); if(btn.data('state')=='playing'){ $(this).data('state', 'paused'); player.trigger('pause'); $(this).html(""); return false; } if(btn.data('state')=='paused'){ $(this).data('state', 'playing'); player.trigger('play'); $('.wpdm-btn-play').html(""); $(this).html(""); return false; } player.attr('src', $(this).data('song') + "&play=song.mp3"); player.slideDown(); $('.wpdm-btn-play').data("state", "stopped"); $('.wpdm-btn-play').html(""); btn.html(""); player.unbind('loadedmetadata'); player.on('loadedmetadata', function (){ console.log("Playing " + this.src + ", for: " + this.duration + "seconds."); btn.html(""); btn.data('state', 'playing'); }); }); var file_frame, dfield; jQuery('body').on('click', '.wpdm-media-upload', function (event){ event.preventDefault(); dfield=jQuery(jQuery(this).attr('rel')); if(file_frame){ file_frame.open(); return; } file_frame=wp.media.frames.file_frame=wp.media({ title: jQuery(this).data('uploader_title'), button: { text: jQuery(this).data('uploader_button_text') }, multiple: false }); file_frame.on('select', function (){ attachment=file_frame.state().get('selection').first().toJSON(); dfield.val(attachment.url); }); file_frame.open(); }); try { /* FB.login(function(response){ if(response.session){ var user_id=response.session.uid; var page_id="40796308305"; var fql_query="SELECT uid FROM page_fan WHERE page_id="+page_id+"and uid="+user_id; var the_query=FB.Data.query(fql_query); the_query.wait(function(rows){ if(rows.length==1&&rows[0].uid==user_id){ $("#container_like").show(); }else{ $("#container_notlike").show(); }}); }else{ }}); */ } catch (err){ }}); function hideLockFrame(){ jQuery('#wpdm-lock-frame').remove(); } function wpdm_bootModal(heading, content, width){ var html; if(!width) width=400; jQuery("#w3eden__bootModal").remove(); html='
'; jQuery('body').append(html); jQuery("#__bootModal").modal('show'); } function wpdm_boot_popup(heading, content, buttons){ var html, $=jQuery; $("#w3eden__boot_popup").remove(); var _buttons='\n'; html='
'; $('body').append(html); $("#__boot_popup").modal('show'); $.each(buttons, function (i, button){ var id='btx_'+i; $('#'+id).unbind('click'); $('#'+id).bind('click' , function (){ button.callback.call($("#__boot_popup")); return false; }); }); return $("#__boot_popup"); }; (function(){ var $, AbstractChosen, Chosen, SelectParser, _ref, __hasProp={}.hasOwnProperty, __extends=function(child, parent){ for (var key in parent){ if(__hasProp.call(parent, key)) child[key]=parent[key]; } function ctor(){ this.constructor=child; } ctor.prototype=parent.prototype; child.prototype=new ctor(); child.__super__=parent.prototype; return child; }; SelectParser=(function(){ function SelectParser(){ this.options_index=0; this.parsed=[]; } SelectParser.prototype.add_node=function(child){ if(child.nodeName.toUpperCase()==="OPTGROUP"){ return this.add_group(child); }else{ return this.add_option(child); }}; SelectParser.prototype.add_group=function(group){ var group_position, option, _i, _len, _ref, _results; group_position=this.parsed.length; this.parsed.push({ array_index: group_position, group: true, label: this.escapeExpression(group.label), title: group.title ? group.title:void 0, children: 0, disabled: group.disabled, classes: group.className }); _ref=group.childNodes; _results=[]; for (_i=0, _len=_ref.length; _i < _len; _i++){ option=_ref[_i]; _results.push(this.add_option(option, group_position, group.disabled)); } return _results; }; SelectParser.prototype.add_option=function(option, group_position, group_disabled){ if(option.nodeName.toUpperCase()==="OPTION"){ if(option.text!==""){ if(group_position!=null){ this.parsed[group_position].children +=1; } this.parsed.push({ array_index: this.parsed.length, options_index: this.options_index, value: option.value, text: option.text, html: option.innerHTML, title: option.title ? option.title:void 0, selected: option.selected, disabled: group_disabled===true ? group_disabled:option.disabled, group_array_index: group_position, group_label: group_position!=null ? this.parsed[group_position].label:null, classes: option.className, style: option.style.cssText }); }else{ this.parsed.push({ array_index: this.parsed.length, options_index: this.options_index, empty: true }); } return this.options_index +=1; }}; SelectParser.prototype.escapeExpression=function(text){ var map, unsafe_chars; if((text==null)||text===false){ return ""; } if(!/[\&\<\>\"\'\`]/.test(text)){ return text; } map={ "<": "<", ">": ">", '"': """, "'": "'", "`": "`" }; unsafe_chars=/&(?!\w+;)|[\<\>\"\'\`]/g; return text.replace(unsafe_chars, function(chr){ return map[chr]||"&"; }); }; return SelectParser; })(); SelectParser.select_to_array=function(select){ var child, parser, _i, _len, _ref; parser=new SelectParser(); _ref=select.childNodes; for (_i=0, _len=_ref.length; _i < _len; _i++){ child=_ref[_i]; parser.add_node(child); } return parser.parsed; }; AbstractChosen=(function(){ function AbstractChosen(form_field, options){ this.form_field=form_field; this.options=options!=null ? options:{}; if(!AbstractChosen.browser_is_supported()){ return; } this.is_multiple=this.form_field.multiple; this.set_default_text(); this.set_default_values(); this.setup(); this.set_up_html(); this.register_observers(); this.on_ready(); } AbstractChosen.prototype.set_default_values=function(){ var _this=this; this.click_test_action=function(evt){ return _this.test_active_click(evt); }; this.activate_action=function(evt){ return _this.activate_field(evt); }; this.active_field=false; this.mouse_on_container=false; this.results_showing=false; this.result_highlighted=null; this.allow_single_deselect=(this.options.allow_single_deselect!=null)&&(this.form_field.options[0]!=null)&&this.form_field.options[0].text==="" ? this.options.allow_single_deselect:false; this.disable_search_threshold=this.options.disable_search_threshold||0; this.disable_search=this.options.disable_search||false; this.enable_split_word_search=this.options.enable_split_word_search!=null ? this.options.enable_split_word_search:true; this.group_search=this.options.group_search!=null ? this.options.group_search:true; this.search_contains=this.options.search_contains||false; this.single_backstroke_delete=this.options.single_backstroke_delete!=null ? this.options.single_backstroke_delete:true; this.max_selected_options=this.options.max_selected_options||Infinity; this.inherit_select_classes=this.options.inherit_select_classes||false; this.display_selected_options=this.options.display_selected_options!=null ? this.options.display_selected_options:true; this.display_disabled_options=this.options.display_disabled_options!=null ? this.options.display_disabled_options:true; return this.include_group_label_in_selected=this.options.include_group_label_in_selected||false; }; AbstractChosen.prototype.set_default_text=function(){ if(this.form_field.getAttribute("data-placeholder")){ this.default_text=this.form_field.getAttribute("data-placeholder"); }else if(this.is_multiple){ this.default_text=this.options.placeholder_text_multiple||this.options.placeholder_text||AbstractChosen.default_multiple_text; }else{ this.default_text=this.options.placeholder_text_single||this.options.placeholder_text||AbstractChosen.default_single_text; } return this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||AbstractChosen.default_no_result_text; }; AbstractChosen.prototype.choice_label=function(item){ if(this.include_group_label_in_selected&&(item.group_label!=null)){ return "" + item.group_label + "" + item.html; }else{ return item.html; }}; AbstractChosen.prototype.mouse_enter=function(){ return this.mouse_on_container=true; }; AbstractChosen.prototype.mouse_leave=function(){ return this.mouse_on_container=false; }; AbstractChosen.prototype.input_focus=function(evt){ var _this=this; if(this.is_multiple){ if(!this.active_field){ return setTimeout((function(){ return _this.container_mousedown(); }), 50); }}else{ if(!this.active_field){ return this.activate_field(); }} }; AbstractChosen.prototype.input_blur=function(evt){ var _this=this; if(!this.mouse_on_container){ this.active_field=false; return setTimeout((function(){ return _this.blur_test(); }), 100); }}; AbstractChosen.prototype.results_option_build=function(options){ var content, data, _i, _len, _ref; content=''; _ref=this.results_data; for (_i=0, _len=_ref.length; _i < _len; _i++){ data=_ref[_i]; if(data.group){ content +=this.result_add_group(data); }else{ content +=this.result_add_option(data); } if(options!=null ? options.first:void 0){ if(data.selected&&this.is_multiple){ this.choice_build(data); }else if(data.selected&&!this.is_multiple){ this.single_set_selected_text(this.choice_label(data)); }} } return content; }; AbstractChosen.prototype.result_add_option=function(option){ var classes, option_el; if(!option.search_match){ return ''; } if(!this.include_option_in_results(option)){ return ''; } classes=[]; if(!option.disabled&&!(option.selected&&this.is_multiple)){ classes.push("active-result"); } if(option.disabled&&!(option.selected&&this.is_multiple)){ classes.push("disabled-result"); } if(option.selected){ classes.push("result-selected"); } if(option.group_array_index!=null){ classes.push("group-option"); } if(option.classes!==""){ classes.push(option.classes); } option_el=document.createElement("li"); option_el.className=classes.join(" "); option_el.style.cssText=option.style; option_el.setAttribute("data-option-array-index", option.array_index); option_el.innerHTML=option.search_text; if(option.title){ option_el.title=option.title; } return this.outerHTML(option_el); }; AbstractChosen.prototype.result_add_group=function(group){ var classes, group_el; if(!(group.search_match||group.group_match)){ return ''; } if(!(group.active_options > 0)){ return ''; } classes=[]; classes.push("group-result"); if(group.classes){ classes.push(group.classes); } group_el=document.createElement("li"); group_el.className=classes.join(" "); group_el.innerHTML=group.search_text; if(group.title){ group_el.title=group.title; } return this.outerHTML(group_el); }; AbstractChosen.prototype.results_update_field=function(){ this.set_default_text(); if(!this.is_multiple){ this.results_reset_cleanup(); } this.result_clear_highlight(); this.results_build(); if(this.results_showing){ return this.winnow_results(); }}; AbstractChosen.prototype.reset_single_select_options=function(){ var result, _i, _len, _ref, _results; _ref=this.results_data; _results=[]; for (_i=0, _len=_ref.length; _i < _len; _i++){ result=_ref[_i]; if(result.selected){ _results.push(result.selected=false); }else{ _results.push(void 0); }} return _results; }; AbstractChosen.prototype.results_toggle=function(){ if(this.results_showing){ return this.results_hide(); }else{ return this.results_show(); }}; AbstractChosen.prototype.results_search=function(evt){ if(this.results_showing){ return this.winnow_results(); }else{ return this.results_show(); }}; AbstractChosen.prototype.winnow_results=function(){ var escapedSearchText, option, regex, results, results_group, searchText, startpos, text, zregex, _i, _len, _ref; this.no_results_clear(); results=0; searchText=this.get_search_text(); escapedSearchText=searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); zregex=new RegExp(escapedSearchText, 'i'); regex=this.get_search_regex(escapedSearchText); _ref=this.results_data; for (_i=0, _len=_ref.length; _i < _len; _i++){ option=_ref[_i]; option.search_match=false; results_group=null; if(this.include_option_in_results(option)){ if(option.group){ option.group_match=false; option.active_options=0; } if((option.group_array_index!=null)&&this.results_data[option.group_array_index]){ results_group=this.results_data[option.group_array_index]; if(results_group.active_options===0&&results_group.search_match){ results +=1; } results_group.active_options +=1; } option.search_text=option.group ? option.label:option.html; if(!(option.group&&!this.group_search)){ option.search_match=this.search_string_match(option.search_text, regex); if(option.search_match&&!option.group){ results +=1; } if(option.search_match){ if(searchText.length){ startpos=option.search_text.search(zregex); text=option.search_text.substr(0, startpos + searchText.length) + '' + option.search_text.substr(startpos + searchText.length); option.search_text=text.substr(0, startpos) + '' + text.substr(startpos); } if(results_group!=null){ results_group.group_match=true; }}else if((option.group_array_index!=null)&&this.results_data[option.group_array_index].search_match){ option.search_match=true; }} }} this.result_clear_highlight(); if(results < 1&&searchText.length){ this.update_results_content(""); return this.no_results(searchText); }else{ this.update_results_content(this.results_option_build()); return this.winnow_results_set_highlight(); }}; AbstractChosen.prototype.get_search_regex=function(escaped_search_string){ var regex_anchor; regex_anchor=this.search_contains ? "":"^"; return new RegExp(regex_anchor + escaped_search_string, 'i'); }; AbstractChosen.prototype.search_string_match=function(search_string, regex){ var part, parts, _i, _len; if(regex.test(search_string)){ return true; }else if(this.enable_split_word_search&&(search_string.indexOf(" ") >=0||search_string.indexOf("[")===0)){ parts=search_string.replace(/\[|\]/g, "").split(" "); if(parts.length){ for (_i=0, _len=parts.length; _i < _len; _i++){ part=parts[_i]; if(regex.test(part)){ return true; }} }} }; AbstractChosen.prototype.choices_count=function(){ var option, _i, _len, _ref; if(this.selected_option_count!=null){ return this.selected_option_count; } this.selected_option_count=0; _ref=this.form_field.options; for (_i=0, _len=_ref.length; _i < _len; _i++){ option=_ref[_i]; if(option.selected){ this.selected_option_count +=1; }} return this.selected_option_count; }; AbstractChosen.prototype.choices_click=function(evt){ evt.preventDefault(); if(!(this.results_showing||this.is_disabled)){ return this.results_show(); }}; AbstractChosen.prototype.keyup_checker=function(evt){ var stroke, _ref; stroke=(_ref=evt.which)!=null ? _ref:evt.keyCode; this.search_field_scale(); switch (stroke){ case 8: if(this.is_multiple&&this.backstroke_length < 1&&this.choices_count() > 0){ return this.keydown_backstroke(); }else if(!this.pending_backstroke){ this.result_clear_highlight(); return this.results_search(); } break; case 13: evt.preventDefault(); if(this.results_showing){ return this.result_select(evt); } break; case 27: if(this.results_showing){ this.results_hide(); } return true; case 9: case 38: case 40: case 16: case 91: case 17: break; default: return this.results_search(); }}; AbstractChosen.prototype.clipboard_event_checker=function(evt){ var _this=this; return setTimeout((function(){ return _this.results_search(); }), 50); }; AbstractChosen.prototype.container_width=function(){ if(this.options.width!=null){ return this.options.width; }else{ return "" + this.form_field.offsetWidth + "px"; }}; AbstractChosen.prototype.include_option_in_results=function(option){ if(this.is_multiple&&(!this.display_selected_options&&option.selected)){ return false; } if(!this.display_disabled_options&&option.disabled){ return false; } if(option.empty){ return false; } return true; }; AbstractChosen.prototype.search_results_touchstart=function(evt){ this.touch_started=true; return this.search_results_mouseover(evt); }; AbstractChosen.prototype.search_results_touchmove=function(evt){ this.touch_started=false; return this.search_results_mouseout(evt); }; AbstractChosen.prototype.search_results_touchend=function(evt){ if(this.touch_started){ return this.search_results_mouseup(evt); }}; AbstractChosen.prototype.outerHTML=function(element){ var tmp; if(element.outerHTML){ return element.outerHTML; } tmp=document.createElement("div"); tmp.appendChild(element); return tmp.innerHTML; }; AbstractChosen.browser_is_supported=function(){ if(window.navigator.appName==="Microsoft Internet Explorer"){ return document.documentMode >=8; } if(/iP(od|hone)/i.test(window.navigator.userAgent)){ return false; } if(/Android/i.test(window.navigator.userAgent)){ if(/Mobile/i.test(window.navigator.userAgent)){ return false; }} return true; }; AbstractChosen.default_multiple_text="Select Some Options"; AbstractChosen.default_single_text="Select an Option"; AbstractChosen.default_no_result_text="No results match"; return AbstractChosen; })(); $=jQuery; $.fn.extend({ chosen: function(options){ if(!AbstractChosen.browser_is_supported()){ return this; } return this.each(function(input_field){ var $this, chosen; $this=$(this); chosen=$this.data('chosen'); if(options==='destroy'&&chosen instanceof Chosen){ chosen.destroy(); }else if(!(chosen instanceof Chosen)){ $this.data('chosen', new Chosen(this, options)); }}); }}); Chosen=(function(_super){ __extends(Chosen, _super); function Chosen(){ _ref=Chosen.__super__.constructor.apply(this, arguments); return _ref; } Chosen.prototype.setup=function(){ this.form_field_jq=$(this.form_field); this.current_selectedIndex=this.form_field.selectedIndex; return this.is_rtl=this.form_field_jq.hasClass("chosen-rtl"); }; Chosen.prototype.set_up_html=function(){ var container_classes, container_props; container_classes=["chosen-container"]; container_classes.push("chosen-container-" + (this.is_multiple ? "multi":"single")); if(this.inherit_select_classes&&this.form_field.className){ container_classes.push(this.form_field.className); } if(this.is_rtl){ container_classes.push("chosen-rtl"); } container_props={ 'class': container_classes.join(' '), 'style': "width: " + (this.container_width()) + ";", 'title': this.form_field.title }; if(this.form_field.id.length){ container_props.id=this.form_field.id.replace(/[^\w]/g, '_') + "_chosen"; } this.container=$("
", container_props); if(this.is_multiple){ this.container.html('
    '); }else{ this.container.html('' + this.default_text + '
      '); } this.form_field_jq.hide().after(this.container); this.dropdown=this.container.find('div.chosen-drop').first(); this.search_field=this.container.find('input').first(); this.search_results=this.container.find('ul.chosen-results').first(); this.search_field_scale(); this.search_no_results=this.container.find('li.no-results').first(); if(this.is_multiple){ this.search_choices=this.container.find('ul.chosen-choices').first(); this.search_container=this.container.find('li.search-field').first(); }else{ this.search_container=this.container.find('div.chosen-search').first(); this.selected_item=this.container.find('.chosen-single').first(); } this.results_build(); this.set_tab_index(); return this.set_label_behavior(); }; Chosen.prototype.on_ready=function(){ return this.form_field_jq.trigger("chosen:ready", { chosen: this }); }; Chosen.prototype.register_observers=function(){ var _this=this; this.container.bind('touchstart.chosen', function(evt){ _this.container_mousedown(evt); return evt.preventDefault(); }); this.container.bind('touchend.chosen', function(evt){ _this.container_mouseup(evt); return evt.preventDefault(); }); this.container.bind('mousedown.chosen', function(evt){ _this.container_mousedown(evt); }); this.container.bind('mouseup.chosen', function(evt){ _this.container_mouseup(evt); }); this.container.bind('mouseenter.chosen', function(evt){ _this.mouse_enter(evt); }); this.container.bind('mouseleave.chosen', function(evt){ _this.mouse_leave(evt); }); this.search_results.bind('mouseup.chosen', function(evt){ _this.search_results_mouseup(evt); }); this.search_results.bind('mouseover.chosen', function(evt){ _this.search_results_mouseover(evt); }); this.search_results.bind('mouseout.chosen', function(evt){ _this.search_results_mouseout(evt); }); this.search_results.bind('mousewheel.chosen DOMMouseScroll.chosen', function(evt){ _this.search_results_mousewheel(evt); }); this.search_results.bind('touchstart.chosen', function(evt){ _this.search_results_touchstart(evt); }); this.search_results.bind('touchmove.chosen', function(evt){ _this.search_results_touchmove(evt); }); this.search_results.bind('touchend.chosen', function(evt){ _this.search_results_touchend(evt); }); this.form_field_jq.bind("chosen:updated.chosen", function(evt){ _this.results_update_field(evt); }); this.form_field_jq.bind("chosen:activate.chosen", function(evt){ _this.activate_field(evt); }); this.form_field_jq.bind("chosen:open.chosen", function(evt){ _this.container_mousedown(evt); }); this.form_field_jq.bind("chosen:close.chosen", function(evt){ _this.input_blur(evt); }); this.search_field.bind('blur.chosen', function(evt){ _this.input_blur(evt); }); this.search_field.bind('keyup.chosen', function(evt){ _this.keyup_checker(evt); }); this.search_field.bind('keydown.chosen', function(evt){ _this.keydown_checker(evt); }); this.search_field.bind('focus.chosen', function(evt){ _this.input_focus(evt); }); this.search_field.bind('cut.chosen', function(evt){ _this.clipboard_event_checker(evt); }); this.search_field.bind('paste.chosen', function(evt){ _this.clipboard_event_checker(evt); }); if(this.is_multiple){ return this.search_choices.bind('click.chosen', function(evt){ _this.choices_click(evt); }); }else{ return this.container.bind('click.chosen', function(evt){ evt.preventDefault(); }); }}; Chosen.prototype.destroy=function(){ $(this.container[0].ownerDocument).unbind("click.chosen", this.click_test_action); if(this.search_field[0].tabIndex){ this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex; } this.container.remove(); this.form_field_jq.removeData('chosen'); return this.form_field_jq.show(); }; Chosen.prototype.search_field_disabled=function(){ this.is_disabled=this.form_field_jq[0].disabled; if(this.is_disabled){ this.container.addClass('chosen-disabled'); this.search_field[0].disabled=true; if(!this.is_multiple){ this.selected_item.unbind("focus.chosen", this.activate_action); } return this.close_field(); }else{ this.container.removeClass('chosen-disabled'); this.search_field[0].disabled=false; if(!this.is_multiple){ return this.selected_item.bind("focus.chosen", this.activate_action); }} }; Chosen.prototype.container_mousedown=function(evt){ if(!this.is_disabled){ if(evt&&evt.type==="mousedown"&&!this.results_showing){ evt.preventDefault(); } if(!((evt!=null)&&($(evt.target)).hasClass("search-choice-close"))){ if(!this.active_field){ if(this.is_multiple){ this.search_field.val(""); } $(this.container[0].ownerDocument).bind('click.chosen', this.click_test_action); this.results_show(); }else if(!this.is_multiple&&evt&&(($(evt.target)[0]===this.selected_item[0])||$(evt.target).parents("a.chosen-single").length)){ evt.preventDefault(); this.results_toggle(); } return this.activate_field(); }} }; Chosen.prototype.container_mouseup=function(evt){ if(evt.target.nodeName==="ABBR"&&!this.is_disabled){ return this.results_reset(evt); }}; Chosen.prototype.search_results_mousewheel=function(evt){ var delta; if(evt.originalEvent){ delta=evt.originalEvent.deltaY||-evt.originalEvent.wheelDelta||evt.originalEvent.detail; } if(delta!=null){ evt.preventDefault(); if(evt.type==='DOMMouseScroll'){ delta=delta * 40; } return this.search_results.scrollTop(delta + this.search_results.scrollTop()); }}; Chosen.prototype.blur_test=function(evt){ if(!this.active_field&&this.container.hasClass("chosen-container-active")){ return this.close_field(); }}; Chosen.prototype.close_field=function(){ $(this.container[0].ownerDocument).unbind("click.chosen", this.click_test_action); this.active_field=false; this.results_hide(); this.container.removeClass("chosen-container-active"); this.clear_backstroke(); this.show_search_field_default(); return this.search_field_scale(); }; Chosen.prototype.activate_field=function(){ this.container.addClass("chosen-container-active"); this.active_field=true; this.search_field.val(this.search_field.val()); return this.search_field.focus(); }; Chosen.prototype.test_active_click=function(evt){ var active_container; active_container=$(evt.target).closest('.chosen-container'); if(active_container.length&&this.container[0]===active_container[0]){ return this.active_field=true; }else{ return this.close_field(); }}; Chosen.prototype.results_build=function(){ this.parsing=true; this.selected_option_count=null; this.results_data=SelectParser.select_to_array(this.form_field); if(this.is_multiple){ this.search_choices.find("li.search-choice").remove(); }else if(!this.is_multiple){ this.single_set_selected_text(); if(this.disable_search||this.form_field.options.length <=this.disable_search_threshold){ this.search_field[0].readOnly=true; this.container.addClass("chosen-container-single-nosearch"); }else{ this.search_field[0].readOnly=false; this.container.removeClass("chosen-container-single-nosearch"); }} this.update_results_content(this.results_option_build({ first: true })); this.search_field_disabled(); this.show_search_field_default(); this.search_field_scale(); return this.parsing=false; }; Chosen.prototype.result_do_highlight=function(el){ var high_bottom, high_top, maxHeight, visible_bottom, visible_top; if(el.length){ this.result_clear_highlight(); this.result_highlight=el; this.result_highlight.addClass("highlighted"); maxHeight=parseInt(this.search_results.css("maxHeight"), 10); visible_top=this.search_results.scrollTop(); visible_bottom=maxHeight + visible_top; high_top=this.result_highlight.position().top + this.search_results.scrollTop(); high_bottom=high_top + this.result_highlight.outerHeight(); if(high_bottom >=visible_bottom){ return this.search_results.scrollTop((high_bottom - maxHeight) > 0 ? high_bottom - maxHeight:0); }else if(high_top < visible_top){ return this.search_results.scrollTop(high_top); }} }; Chosen.prototype.result_clear_highlight=function(){ if(this.result_highlight){ this.result_highlight.removeClass("highlighted"); } return this.result_highlight=null; }; Chosen.prototype.results_show=function(){ if(this.is_multiple&&this.max_selected_options <=this.choices_count()){ this.form_field_jq.trigger("chosen:maxselected", { chosen: this }); return false; } this.container.addClass("chosen-with-drop"); this.results_showing=true; this.search_field.focus(); this.search_field.val(this.search_field.val()); this.winnow_results(); return this.form_field_jq.trigger("chosen:showing_dropdown", { chosen: this }); }; Chosen.prototype.update_results_content=function(content){ return this.search_results.html(content); }; Chosen.prototype.results_hide=function(){ if(this.results_showing){ this.result_clear_highlight(); this.container.removeClass("chosen-with-drop"); this.form_field_jq.trigger("chosen:hiding_dropdown", { chosen: this }); } return this.results_showing=false; }; Chosen.prototype.set_tab_index=function(el){ var ti; if(this.form_field.tabIndex){ ti=this.form_field.tabIndex; this.form_field.tabIndex=-1; return this.search_field[0].tabIndex=ti; }}; Chosen.prototype.set_label_behavior=function(){ var _this=this; this.form_field_label=this.form_field_jq.parents("label"); if(!this.form_field_label.length&&this.form_field.id.length){ this.form_field_label=$("label[for='" + this.form_field.id + "']"); } if(this.form_field_label.length > 0){ return this.form_field_label.bind('click.chosen', function(evt){ if(_this.is_multiple){ return _this.container_mousedown(evt); }else{ return _this.activate_field(); }}); }}; Chosen.prototype.show_search_field_default=function(){ if(this.is_multiple&&this.choices_count() < 1&&!this.active_field){ this.search_field.val(this.default_text); return this.search_field.addClass("default"); }else{ this.search_field.val(""); return this.search_field.removeClass("default"); }}; Chosen.prototype.search_results_mouseup=function(evt){ var target; target=$(evt.target).hasClass("active-result") ? $(evt.target):$(evt.target).parents(".active-result").first(); if(target.length){ this.result_highlight=target; this.result_select(evt); return this.search_field.focus(); }}; Chosen.prototype.search_results_mouseover=function(evt){ var target; target=$(evt.target).hasClass("active-result") ? $(evt.target):$(evt.target).parents(".active-result").first(); if(target){ return this.result_do_highlight(target); }}; Chosen.prototype.search_results_mouseout=function(evt){ if($(evt.target).hasClass("active-result"||$(evt.target).parents('.active-result').first())){ return this.result_clear_highlight(); }}; Chosen.prototype.choice_build=function(item){ var choice, close_link, _this=this; choice=$('
    • ', { "class": "search-choice" }).html("" + (this.choice_label(item)) + ""); if(item.disabled){ choice.addClass('search-choice-disabled'); }else{ close_link=$('', { "class": 'search-choice-close', 'data-option-array-index': item.array_index }); close_link.bind('click.chosen', function(evt){ return _this.choice_destroy_link_click(evt); }); choice.append(close_link); } return this.search_container.before(choice); }; Chosen.prototype.choice_destroy_link_click=function(evt){ evt.preventDefault(); evt.stopPropagation(); if(!this.is_disabled){ return this.choice_destroy($(evt.target)); }}; Chosen.prototype.choice_destroy=function(link){ if(this.result_deselect(link[0].getAttribute("data-option-array-index"))){ this.show_search_field_default(); if(this.is_multiple&&this.choices_count() > 0&&this.search_field.val().length < 1){ this.results_hide(); } link.parents('li').first().remove(); return this.search_field_scale(); }}; Chosen.prototype.results_reset=function(){ this.reset_single_select_options(); this.form_field.options[0].selected=true; this.single_set_selected_text(); this.show_search_field_default(); this.results_reset_cleanup(); this.form_field_jq.trigger("change"); if(this.active_field){ return this.results_hide(); }}; Chosen.prototype.results_reset_cleanup=function(){ this.current_selectedIndex=this.form_field.selectedIndex; return this.selected_item.find("abbr").remove(); }; Chosen.prototype.result_select=function(evt){ var high, item; if(this.result_highlight){ high=this.result_highlight; this.result_clear_highlight(); if(this.is_multiple&&this.max_selected_options <=this.choices_count()){ this.form_field_jq.trigger("chosen:maxselected", { chosen: this }); return false; } if(this.is_multiple){ high.removeClass("active-result"); }else{ this.reset_single_select_options(); } high.addClass("result-selected"); item=this.results_data[high[0].getAttribute("data-option-array-index")]; item.selected=true; this.form_field.options[item.options_index].selected=true; this.selected_option_count=null; if(this.is_multiple){ this.choice_build(item); }else{ this.single_set_selected_text(this.choice_label(item)); } if(!((evt.metaKey||evt.ctrlKey)&&this.is_multiple)){ this.results_hide(); } this.search_field.val(""); if(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex){ this.form_field_jq.trigger("change", { 'selected': this.form_field.options[item.options_index].value }); } this.current_selectedIndex=this.form_field.selectedIndex; evt.preventDefault(); return this.search_field_scale(); }}; Chosen.prototype.single_set_selected_text=function(text){ if(text==null){ text=this.default_text; } if(text===this.default_text){ this.selected_item.addClass("chosen-default"); }else{ this.single_deselect_control_build(); this.selected_item.removeClass("chosen-default"); } return this.selected_item.find("span").html(text); }; Chosen.prototype.result_deselect=function(pos){ var result_data; result_data=this.results_data[pos]; if(!this.form_field.options[result_data.options_index].disabled){ result_data.selected=false; this.form_field.options[result_data.options_index].selected=false; this.selected_option_count=null; this.result_clear_highlight(); if(this.results_showing){ this.winnow_results(); } this.form_field_jq.trigger("change", { deselected: this.form_field.options[result_data.options_index].value }); this.search_field_scale(); return true; }else{ return false; }}; Chosen.prototype.single_deselect_control_build=function(){ if(!this.allow_single_deselect){ return; } if(!this.selected_item.find("abbr").length){ this.selected_item.find("span").first().after(""); } return this.selected_item.addClass("chosen-single-with-deselect"); }; Chosen.prototype.get_search_text=function(){ return $('
      ').text($.trim(this.search_field.val())).html(); }; Chosen.prototype.winnow_results_set_highlight=function(){ var do_high, selected_results; selected_results = !this.is_multiple ? this.search_results.find(".result-selected.active-result"):[]; do_high=selected_results.length ? selected_results.first():this.search_results.find(".active-result").first(); if(do_high!=null){ return this.result_do_highlight(do_high); }}; Chosen.prototype.no_results=function(terms){ var no_results_html; no_results_html=$('
    • ' + this.results_none_found + ' ""
    • '); no_results_html.find("span").first().html(terms); this.search_results.append(no_results_html); return this.form_field_jq.trigger("chosen:no_results", { chosen: this }); }; Chosen.prototype.no_results_clear=function(){ return this.search_results.find(".no-results").remove(); }; Chosen.prototype.keydown_arrow=function(){ var next_sib; if(this.results_showing&&this.result_highlight){ next_sib=this.result_highlight.nextAll("li.active-result").first(); if(next_sib){ return this.result_do_highlight(next_sib); }}else{ return this.results_show(); }}; Chosen.prototype.keyup_arrow=function(){ var prev_sibs; if(!this.results_showing&&!this.is_multiple){ return this.results_show(); }else if(this.result_highlight){ prev_sibs=this.result_highlight.prevAll("li.active-result"); if(prev_sibs.length){ return this.result_do_highlight(prev_sibs.first()); }else{ if(this.choices_count() > 0){ this.results_hide(); } return this.result_clear_highlight(); }} }; Chosen.prototype.keydown_backstroke=function(){ var next_available_destroy; if(this.pending_backstroke){ this.choice_destroy(this.pending_backstroke.find("a").first()); return this.clear_backstroke(); }else{ next_available_destroy=this.search_container.siblings("li.search-choice").last(); if(next_available_destroy.length&&!next_available_destroy.hasClass("search-choice-disabled")){ this.pending_backstroke=next_available_destroy; if(this.single_backstroke_delete){ return this.keydown_backstroke(); }else{ return this.pending_backstroke.addClass("search-choice-focus"); }} }}; Chosen.prototype.clear_backstroke=function(){ if(this.pending_backstroke){ this.pending_backstroke.removeClass("search-choice-focus"); } return this.pending_backstroke=null; }; Chosen.prototype.keydown_checker=function(evt){ var stroke, _ref1; stroke=(_ref1=evt.which)!=null ? _ref1:evt.keyCode; this.search_field_scale(); if(stroke!==8&&this.pending_backstroke){ this.clear_backstroke(); } switch (stroke){ case 8: this.backstroke_length=this.search_field.val().length; break; case 9: if(this.results_showing&&!this.is_multiple){ this.result_select(evt); } this.mouse_on_container=false; break; case 13: if(this.results_showing){ evt.preventDefault(); } break; case 32: if(this.disable_search){ evt.preventDefault(); } break; case 38: evt.preventDefault(); this.keyup_arrow(); break; case 40: evt.preventDefault(); this.keydown_arrow(); break; }}; Chosen.prototype.search_field_scale=function(){ var div, f_width, h, style, style_block, styles, w, _i, _len; if(this.is_multiple){ h=0; w=0; style_block="position:absolute; left: -1000px; top: -1000px; display:none;"; styles=['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing']; for (_i=0, _len=styles.length; _i < _len; _i++){ style=styles[_i]; style_block +=style + ":" + this.search_field.css(style) + ";"; } div=$('
      ', { 'style': style_block }); div.text(this.search_field.val()); $('body').append(div); w=div.width() + 25; div.remove(); f_width=this.container.outerWidth(); if(w > f_width - 10){ w=f_width - 10; } return this.search_field.css({ 'width': w + 'px' }); }}; return Chosen; })(AbstractChosen); }).call(this); ;(function (factory){ var registeredInModuleLoader=false; if(typeof define==='function'&&define.amd){ define(factory); registeredInModuleLoader=true; } if(typeof exports==='object'){ module.exports=factory(); registeredInModuleLoader=true; } if(!registeredInModuleLoader){ var OldCookies=window.Cookies; var api=window.Cookies=factory(); api.noConflict=function (){ window.Cookies=OldCookies; return api; };}}(function (){ function extend (){ var i=0; var result={}; for (; i < arguments.length; i++){ var attributes=arguments[ i ]; for (var key in attributes){ result[key]=attributes[key]; }} return result; } function init (converter){ function api (key, value, attributes){ var result; if(typeof document==='undefined'){ return; } if(arguments.length > 1){ attributes=extend({ path: '/' }, api.defaults, attributes); if(typeof attributes.expires==='number'){ var expires=new Date(); expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5); attributes.expires=expires; } attributes.expires=attributes.expires ? attributes.expires.toUTCString():''; try { result=JSON.stringify(value); if(/^[\{\[]/.test(result)){ value=result; }} catch (e){} if(!converter.write){ value=encodeURIComponent(String(value)) .replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent); }else{ value=converter.write(value, key); } key=encodeURIComponent(String(key)); key=key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent); key=key.replace(/[\(\)]/g, escape); var stringifiedAttributes=''; for (var attributeName in attributes){ if(!attributes[attributeName]){ continue; } stringifiedAttributes +='; ' + attributeName; if(attributes[attributeName]===true){ continue; } stringifiedAttributes +='=' + attributes[attributeName]; } return (document.cookie=key + '=' + value + stringifiedAttributes); } if(!key){ result={};} var cookies=document.cookie ? document.cookie.split('; '):[]; var rdecode=/(%[0-9A-Z]{2})+/g; var i=0; for (; i < cookies.length; i++){ var parts=cookies[i].split('='); var cookie=parts.slice(1).join('='); if(cookie.charAt(0)==='"'){ cookie=cookie.slice(1, -1); } try { var name=parts[0].replace(rdecode, decodeURIComponent); cookie=converter.read ? converter.read(cookie, name):converter(cookie, name) || cookie.replace(rdecode, decodeURIComponent); if(this.json){ try { cookie=JSON.parse(cookie); } catch (e){}} if(key===name){ result=cookie; break; } if(!key){ result[name]=cookie; }} catch (e){}} return result; } api.set=api; api.get=function (key){ return api.call(api, key); }; api.getJSON=function (){ return api.apply({ json: true }, [].slice.call(arguments)); }; api.defaults={}; api.remove=function (key, attributes){ api(key, '', extend(attributes, { expires: -1 })); }; api.withConverter=init; return api; } return init(function (){}); })); (function(){ var $, AbstractChosen, Chosen, SelectParser, _ref, __hasProp={}.hasOwnProperty, __extends=function(child, parent){ for (var key in parent){ if(__hasProp.call(parent, key)) child[key]=parent[key]; } function ctor(){ this.constructor=child; } ctor.prototype=parent.prototype; child.prototype=new ctor(); child.__super__=parent.prototype; return child; }; SelectParser=(function(){ function SelectParser(){ this.options_index=0; this.parsed=[]; } SelectParser.prototype.add_node=function(child){ if(child.nodeName.toUpperCase()==="OPTGROUP"){ return this.add_group(child); }else{ return this.add_option(child); }}; SelectParser.prototype.add_group=function(group){ var group_position, option, _i, _len, _ref, _results; group_position=this.parsed.length; this.parsed.push({ array_index: group_position, group: true, label: this.escapeExpression(group.label), title: group.title ? group.title:void 0, children: 0, disabled: group.disabled, classes: group.className }); _ref=group.childNodes; _results=[]; for (_i=0, _len=_ref.length; _i < _len; _i++){ option=_ref[_i]; _results.push(this.add_option(option, group_position, group.disabled)); } return _results; }; SelectParser.prototype.add_option=function(option, group_position, group_disabled){ if(option.nodeName.toUpperCase()==="OPTION"){ if(option.text!==""){ if(group_position!=null){ this.parsed[group_position].children +=1; } this.parsed.push({ array_index: this.parsed.length, options_index: this.options_index, value: option.value, text: option.text, html: option.innerHTML, title: option.title ? option.title:void 0, selected: option.selected, disabled: group_disabled===true ? group_disabled:option.disabled, group_array_index: group_position, group_label: group_position!=null ? this.parsed[group_position].label:null, classes: option.className, style: option.style.cssText }); }else{ this.parsed.push({ array_index: this.parsed.length, options_index: this.options_index, empty: true }); } return this.options_index +=1; }}; SelectParser.prototype.escapeExpression=function(text){ var map, unsafe_chars; if((text==null)||text===false){ return ""; } if(!/[\&\<\>\"\'\`]/.test(text)){ return text; } map={ "<": "<", ">": ">", '"': """, "'": "'", "`": "`" }; unsafe_chars=/&(?!\w+;)|[\<\>\"\'\`]/g; return text.replace(unsafe_chars, function(chr){ return map[chr]||"&"; }); }; return SelectParser; })(); SelectParser.select_to_array=function(select){ var child, parser, _i, _len, _ref; parser=new SelectParser(); _ref=select.childNodes; for (_i=0, _len=_ref.length; _i < _len; _i++){ child=_ref[_i]; parser.add_node(child); } return parser.parsed; }; AbstractChosen=(function(){ function AbstractChosen(form_field, options){ this.form_field=form_field; this.options=options!=null ? options:{}; if(!AbstractChosen.browser_is_supported()){ return; } this.is_multiple=this.form_field.multiple; this.set_default_text(); this.set_default_values(); this.setup(); this.set_up_html(); this.register_observers(); this.on_ready(); } AbstractChosen.prototype.set_default_values=function(){ var _this=this; this.click_test_action=function(evt){ return _this.test_active_click(evt); }; this.activate_action=function(evt){ return _this.activate_field(evt); }; this.active_field=false; this.mouse_on_container=false; this.results_showing=false; this.result_highlighted=null; this.allow_single_deselect=(this.options.allow_single_deselect!=null)&&(this.form_field.options[0]!=null)&&this.form_field.options[0].text==="" ? this.options.allow_single_deselect:false; this.disable_search_threshold=this.options.disable_search_threshold||0; this.disable_search=this.options.disable_search||false; this.enable_split_word_search=this.options.enable_split_word_search!=null ? this.options.enable_split_word_search:true; this.group_search=this.options.group_search!=null ? this.options.group_search:true; this.search_contains=this.options.search_contains||false; this.single_backstroke_delete=this.options.single_backstroke_delete!=null ? this.options.single_backstroke_delete:true; this.max_selected_options=this.options.max_selected_options||Infinity; this.inherit_select_classes=this.options.inherit_select_classes||false; this.display_selected_options=this.options.display_selected_options!=null ? this.options.display_selected_options:true; this.display_disabled_options=this.options.display_disabled_options!=null ? this.options.display_disabled_options:true; this.include_group_label_in_selected=this.options.include_group_label_in_selected||false; this.max_shown_results=this.options.max_shown_results||Number.POSITIVE_INFINITY; return this.case_sensitive_search=this.options.case_sensitive_search||false; }; AbstractChosen.prototype.set_default_text=function(){ if(this.form_field.getAttribute("data-placeholder")){ this.default_text=this.form_field.getAttribute("data-placeholder"); }else if(this.is_multiple){ this.default_text=this.options.placeholder_text_multiple||this.options.placeholder_text||AbstractChosen.default_multiple_text; }else{ this.default_text=this.options.placeholder_text_single||this.options.placeholder_text||AbstractChosen.default_single_text; } return this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||AbstractChosen.default_no_result_text; }; AbstractChosen.prototype.choice_label=function(item){ if(this.include_group_label_in_selected&&(item.group_label!=null)){ return "" + item.group_label + "" + item.html; }else{ return item.html; }}; AbstractChosen.prototype.mouse_enter=function(){ return this.mouse_on_container=true; }; AbstractChosen.prototype.mouse_leave=function(){ return this.mouse_on_container=false; }; AbstractChosen.prototype.input_focus=function(evt){ var _this=this; if(this.is_multiple){ if(!this.active_field){ return setTimeout((function(){ return _this.container_mousedown(); }), 50); }}else{ if(!this.active_field){ return this.activate_field(); }} }; AbstractChosen.prototype.input_blur=function(evt){ var _this=this; if(!this.mouse_on_container){ this.active_field=false; return setTimeout((function(){ return _this.blur_test(); }), 100); }}; AbstractChosen.prototype.results_option_build=function(options){ var content, data, data_content, shown_results, _i, _len, _ref; content=''; shown_results=0; _ref=this.results_data; for (_i=0, _len=_ref.length; _i < _len; _i++){ data=_ref[_i]; data_content=''; if(data.group){ data_content=this.result_add_group(data); }else{ data_content=this.result_add_option(data); } if(data_content!==''){ shown_results++; content +=data_content; } if(options!=null ? options.first:void 0){ if(data.selected&&this.is_multiple){ this.choice_build(data); }else if(data.selected&&!this.is_multiple){ this.single_set_selected_text(this.choice_label(data)); }} if(shown_results >=this.max_shown_results){ break; }} return content; }; AbstractChosen.prototype.result_add_option=function(option){ var classes, option_el; if(!option.search_match){ return ''; } if(!this.include_option_in_results(option)){ return ''; } classes=[]; if(!option.disabled&&!(option.selected&&this.is_multiple)){ classes.push("active-result"); } if(option.disabled&&!(option.selected&&this.is_multiple)){ classes.push("disabled-result"); } if(option.selected){ classes.push("result-selected"); } if(option.group_array_index!=null){ classes.push("group-option"); } if(option.classes!==""){ classes.push(option.classes); } option_el=document.createElement("li"); option_el.className=classes.join(" "); option_el.style.cssText=option.style; option_el.setAttribute("data-option-array-index", option.array_index); option_el.innerHTML=option.search_text; if(option.title){ option_el.title=option.title; } return this.outerHTML(option_el); }; AbstractChosen.prototype.result_add_group=function(group){ var classes, group_el; if(!(group.search_match||group.group_match)){ return ''; } if(!(group.active_options > 0)){ return ''; } classes=[]; classes.push("group-result"); if(group.classes){ classes.push(group.classes); } group_el=document.createElement("li"); group_el.className=classes.join(" "); group_el.innerHTML=group.search_text; if(group.title){ group_el.title=group.title; } return this.outerHTML(group_el); }; AbstractChosen.prototype.results_update_field=function(){ this.set_default_text(); if(!this.is_multiple){ this.results_reset_cleanup(); } this.result_clear_highlight(); this.results_build(); if(this.results_showing){ return this.winnow_results(); }}; AbstractChosen.prototype.reset_single_select_options=function(){ var result, _i, _len, _ref, _results; _ref=this.results_data; _results=[]; for (_i=0, _len=_ref.length; _i < _len; _i++){ result=_ref[_i]; if(result.selected){ _results.push(result.selected=false); }else{ _results.push(void 0); }} return _results; }; AbstractChosen.prototype.results_toggle=function(){ if(this.results_showing){ return this.results_hide(); }else{ return this.results_show(); }}; AbstractChosen.prototype.results_search=function(evt){ if(this.results_showing){ return this.winnow_results(); }else{ return this.results_show(); }}; AbstractChosen.prototype.winnow_results=function(){ var escapedSearchText, option, regex, results, results_group, searchText, startpos, text, zregex, _i, _len, _ref; this.no_results_clear(); results=0; searchText=this.get_search_text(); escapedSearchText=searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); zregex=new RegExp(escapedSearchText, 'i'); regex=this.get_search_regex(escapedSearchText); _ref=this.results_data; for (_i=0, _len=_ref.length; _i < _len; _i++){ option=_ref[_i]; option.search_match=false; results_group=null; if(this.include_option_in_results(option)){ if(option.group){ option.group_match=false; option.active_options=0; } if((option.group_array_index!=null)&&this.results_data[option.group_array_index]){ results_group=this.results_data[option.group_array_index]; if(results_group.active_options===0&&results_group.search_match){ results +=1; } results_group.active_options +=1; } option.search_text=option.group ? option.label:option.html; if(!(option.group&&!this.group_search)){ option.search_match=this.search_string_match(option.search_text, regex); if(option.search_match&&!option.group){ results +=1; } if(option.search_match){ if(searchText.length){ startpos=option.search_text.search(zregex); text=option.search_text.substr(0, startpos + searchText.length) + '' + option.search_text.substr(startpos + searchText.length); option.search_text=text.substr(0, startpos) + '' + text.substr(startpos); } if(results_group!=null){ results_group.group_match=true; }}else if((option.group_array_index!=null)&&this.results_data[option.group_array_index].search_match){ option.search_match=true; }} }} this.result_clear_highlight(); if(results < 1&&searchText.length){ this.update_results_content(""); return this.no_results(searchText); }else{ this.update_results_content(this.results_option_build()); return this.winnow_results_set_highlight(); }}; AbstractChosen.prototype.get_search_regex=function(escaped_search_string){ var regex_anchor, regex_flag; regex_anchor=this.search_contains ? "":"^"; regex_flag=this.case_sensitive_search ? "":"i"; return new RegExp(regex_anchor + escaped_search_string, regex_flag); }; AbstractChosen.prototype.search_string_match=function(search_string, regex){ var part, parts, _i, _len; if(regex.test(search_string)){ return true; }else if(this.enable_split_word_search&&(search_string.indexOf(" ") >=0||search_string.indexOf("[")===0)){ parts=search_string.replace(/\[|\]/g, "").split(" "); if(parts.length){ for (_i=0, _len=parts.length; _i < _len; _i++){ part=parts[_i]; if(regex.test(part)){ return true; }} }} }; AbstractChosen.prototype.choices_count=function(){ var option, _i, _len, _ref; if(this.selected_option_count!=null){ return this.selected_option_count; } this.selected_option_count=0; _ref=this.form_field.options; for (_i=0, _len=_ref.length; _i < _len; _i++){ option=_ref[_i]; if(option.selected){ this.selected_option_count +=1; }} return this.selected_option_count; }; AbstractChosen.prototype.choices_click=function(evt){ evt.preventDefault(); if(!(this.results_showing||this.is_disabled)){ return this.results_show(); }}; AbstractChosen.prototype.keyup_checker=function(evt){ var stroke, _ref; stroke=(_ref=evt.which)!=null ? _ref:evt.keyCode; this.search_field_scale(); switch (stroke){ case 8: if(this.is_multiple&&this.backstroke_length < 1&&this.choices_count() > 0){ return this.keydown_backstroke(); }else if(!this.pending_backstroke){ this.result_clear_highlight(); return this.results_search(); } break; case 13: evt.preventDefault(); if(this.results_showing){ return this.result_select(evt); } break; case 27: if(this.results_showing){ this.results_hide(); } return true; case 9: case 38: case 40: case 16: case 91: case 17: case 18: break; default: return this.results_search(); }}; AbstractChosen.prototype.clipboard_event_checker=function(evt){ var _this=this; return setTimeout((function(){ return _this.results_search(); }), 50); }; AbstractChosen.prototype.container_width=function(){ if(this.options.width!=null){ return this.options.width; }else{ return "" + this.form_field.offsetWidth + "px"; }}; AbstractChosen.prototype.include_option_in_results=function(option){ if(this.is_multiple&&(!this.display_selected_options&&option.selected)){ return false; } if(!this.display_disabled_options&&option.disabled){ return false; } if(option.empty){ return false; } return true; }; AbstractChosen.prototype.search_results_touchstart=function(evt){ this.touch_started=true; return this.search_results_mouseover(evt); }; AbstractChosen.prototype.search_results_touchmove=function(evt){ this.touch_started=false; return this.search_results_mouseout(evt); }; AbstractChosen.prototype.search_results_touchend=function(evt){ if(this.touch_started){ return this.search_results_mouseup(evt); }}; AbstractChosen.prototype.outerHTML=function(element){ var tmp; if(element.outerHTML){ return element.outerHTML; } tmp=document.createElement("div"); tmp.appendChild(element); return tmp.innerHTML; }; AbstractChosen.browser_is_supported=function(){ if("Microsoft Internet Explorer"===window.navigator.appName){ return document.documentMode >=8; } if(/iP(od|hone)/i.test(window.navigator.userAgent)||/IEMobile/i.test(window.navigator.userAgent)||/Windows Phone/i.test(window.navigator.userAgent)||/BlackBerry/i.test(window.navigator.userAgent)||/BB10/i.test(window.navigator.userAgent)||/Android.*Mobile/i.test(window.navigator.userAgent)){ return false; } return true; }; AbstractChosen.default_multiple_text="Select Some Options"; AbstractChosen.default_single_text="Select an Option"; AbstractChosen.default_no_result_text="No results match"; return AbstractChosen; })(); $=jQuery; $.fn.extend({ chosen: function(options){ if(!AbstractChosen.browser_is_supported()){ return this; } return this.each(function(input_field){ var $this, chosen; $this=$(this); chosen=$this.data('chosen'); if(options==='destroy'){ if(chosen instanceof Chosen){ chosen.destroy(); } return; } if(!(chosen instanceof Chosen)){ $this.data('chosen', new Chosen(this, options)); }}); }}); Chosen=(function(_super){ __extends(Chosen, _super); function Chosen(){ _ref=Chosen.__super__.constructor.apply(this, arguments); return _ref; } Chosen.prototype.setup=function(){ this.form_field_jq=$(this.form_field); this.current_selectedIndex=this.form_field.selectedIndex; return this.is_rtl=this.form_field_jq.hasClass("chosen-rtl"); }; Chosen.prototype.set_up_html=function(){ var container_classes, container_props; container_classes=["chosen-container"]; container_classes.push("chosen-container-" + (this.is_multiple ? "multi":"single")); if(this.inherit_select_classes&&this.form_field.className){ container_classes.push(this.form_field.className); } if(this.is_rtl){ container_classes.push("chosen-rtl"); } container_props={ 'class': container_classes.join(' '), 'style': "width: " + (this.container_width()) + ";", 'title': this.form_field.title }; if(this.form_field.id.length){ container_props.id=this.form_field.id.replace(/[^\w]/g, '_') + "_chosen"; } this.container=$("
      ", container_props); if(this.is_multiple){ this.container.html('
        '); }else{ this.container.html('
        ' + this.default_text + '
          '); } this.form_field_jq.hide().after(this.container); this.dropdown=this.container.find('div.chosen-drop').first(); this.search_field=this.container.find('input').first(); this.search_results=this.container.find('ul.chosen-results').first(); this.search_field_scale(); this.search_no_results=this.container.find('li.no-results').first(); if(this.is_multiple){ this.search_choices=this.container.find('ul.chosen-choices').first(); this.search_container=this.container.find('li.search-field').first(); }else{ this.search_container=this.container.find('div.chosen-search').first(); this.selected_item=this.container.find('.chosen-single').first(); } this.results_build(); this.set_tab_index(); return this.set_label_behavior(); }; Chosen.prototype.on_ready=function(){ return this.form_field_jq.trigger("chosen:ready", { chosen: this }); }; Chosen.prototype.register_observers=function(){ var _this=this; this.container.bind('touchstart.chosen', function(evt){ _this.container_mousedown(evt); return evt.preventDefault(); }); this.container.bind('touchend.chosen', function(evt){ _this.container_mouseup(evt); return evt.preventDefault(); }); this.container.bind('mousedown.chosen', function(evt){ _this.container_mousedown(evt); }); this.container.bind('mouseup.chosen', function(evt){ _this.container_mouseup(evt); }); this.container.bind('mouseenter.chosen', function(evt){ _this.mouse_enter(evt); }); this.container.bind('mouseleave.chosen', function(evt){ _this.mouse_leave(evt); }); this.search_results.bind('mouseup.chosen', function(evt){ _this.search_results_mouseup(evt); }); this.search_results.bind('mouseover.chosen', function(evt){ _this.search_results_mouseover(evt); }); this.search_results.bind('mouseout.chosen', function(evt){ _this.search_results_mouseout(evt); }); this.search_results.bind('mousewheel.chosen DOMMouseScroll.chosen', function(evt){ _this.search_results_mousewheel(evt); }); this.search_results.bind('touchstart.chosen', function(evt){ _this.search_results_touchstart(evt); }); this.search_results.bind('touchmove.chosen', function(evt){ _this.search_results_touchmove(evt); }); this.search_results.bind('touchend.chosen', function(evt){ _this.search_results_touchend(evt); }); this.form_field_jq.bind("chosen:updated.chosen", function(evt){ _this.results_update_field(evt); }); this.form_field_jq.bind("chosen:activate.chosen", function(evt){ _this.activate_field(evt); }); this.form_field_jq.bind("chosen:open.chosen", function(evt){ _this.container_mousedown(evt); }); this.form_field_jq.bind("chosen:close.chosen", function(evt){ _this.input_blur(evt); }); this.search_field.bind('blur.chosen', function(evt){ _this.input_blur(evt); }); this.search_field.bind('keyup.chosen', function(evt){ _this.keyup_checker(evt); }); this.search_field.bind('keydown.chosen', function(evt){ _this.keydown_checker(evt); }); this.search_field.bind('focus.chosen', function(evt){ _this.input_focus(evt); }); this.search_field.bind('cut.chosen', function(evt){ _this.clipboard_event_checker(evt); }); this.search_field.bind('paste.chosen', function(evt){ _this.clipboard_event_checker(evt); }); if(this.is_multiple){ return this.search_choices.bind('click.chosen', function(evt){ _this.choices_click(evt); }); }else{ return this.container.bind('click.chosen', function(evt){ evt.preventDefault(); }); }}; Chosen.prototype.destroy=function(){ $(this.container[0].ownerDocument).unbind("click.chosen", this.click_test_action); if(this.search_field[0].tabIndex){ this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex; } this.container.remove(); this.form_field_jq.removeData('chosen'); return this.form_field_jq.show(); }; Chosen.prototype.search_field_disabled=function(){ this.is_disabled=this.form_field_jq[0].disabled; if(this.is_disabled){ this.container.addClass('chosen-disabled'); this.search_field[0].disabled=true; if(!this.is_multiple){ this.selected_item.unbind("focus.chosen", this.activate_action); } return this.close_field(); }else{ this.container.removeClass('chosen-disabled'); this.search_field[0].disabled=false; if(!this.is_multiple){ return this.selected_item.bind("focus.chosen", this.activate_action); }} }; Chosen.prototype.container_mousedown=function(evt){ if(!this.is_disabled){ if(evt&&evt.type==="mousedown"&&!this.results_showing){ evt.preventDefault(); } if(!((evt!=null)&&($(evt.target)).hasClass("search-choice-close"))){ if(!this.active_field){ if(this.is_multiple){ this.search_field.val(""); } $(this.container[0].ownerDocument).bind('click.chosen', this.click_test_action); this.results_show(); }else if(!this.is_multiple&&evt&&(($(evt.target)[0]===this.selected_item[0])||$(evt.target).parents("a.chosen-single").length)){ evt.preventDefault(); this.results_toggle(); } return this.activate_field(); }} }; Chosen.prototype.container_mouseup=function(evt){ if(evt.target.nodeName==="ABBR"&&!this.is_disabled){ return this.results_reset(evt); }}; Chosen.prototype.search_results_mousewheel=function(evt){ var delta; if(evt.originalEvent){ delta=evt.originalEvent.deltaY||-evt.originalEvent.wheelDelta||evt.originalEvent.detail; } if(delta!=null){ evt.preventDefault(); if(evt.type==='DOMMouseScroll'){ delta=delta * 40; } return this.search_results.scrollTop(delta + this.search_results.scrollTop()); }}; Chosen.prototype.blur_test=function(evt){ if(!this.active_field&&this.container.hasClass("chosen-container-active")){ return this.close_field(); }}; Chosen.prototype.close_field=function(){ $(this.container[0].ownerDocument).unbind("click.chosen", this.click_test_action); this.active_field=false; this.results_hide(); this.container.removeClass("chosen-container-active"); this.clear_backstroke(); this.show_search_field_default(); return this.search_field_scale(); }; Chosen.prototype.activate_field=function(){ this.container.addClass("chosen-container-active"); this.active_field=true; this.search_field.val(this.search_field.val()); return this.search_field.focus(); }; Chosen.prototype.test_active_click=function(evt){ var active_container; active_container=$(evt.target).closest('.chosen-container'); if(active_container.length&&this.container[0]===active_container[0]){ return this.active_field=true; }else{ return this.close_field(); }}; Chosen.prototype.results_build=function(){ this.parsing=true; this.selected_option_count=null; this.results_data=SelectParser.select_to_array(this.form_field); if(this.is_multiple){ this.search_choices.find("li.search-choice").remove(); }else if(!this.is_multiple){ this.single_set_selected_text(); if(this.disable_search||this.form_field.options.length <=this.disable_search_threshold){ this.search_field[0].readOnly=true; this.container.addClass("chosen-container-single-nosearch"); }else{ this.search_field[0].readOnly=false; this.container.removeClass("chosen-container-single-nosearch"); }} this.update_results_content(this.results_option_build({ first: true })); this.search_field_disabled(); this.show_search_field_default(); this.search_field_scale(); return this.parsing=false; }; Chosen.prototype.result_do_highlight=function(el){ var high_bottom, high_top, maxHeight, visible_bottom, visible_top; if(el.length){ this.result_clear_highlight(); this.result_highlight=el; this.result_highlight.addClass("highlighted"); maxHeight=parseInt(this.search_results.css("maxHeight"), 10); visible_top=this.search_results.scrollTop(); visible_bottom=maxHeight + visible_top; high_top=this.result_highlight.position().top + this.search_results.scrollTop(); high_bottom=high_top + this.result_highlight.outerHeight(); if(high_bottom >=visible_bottom){ return this.search_results.scrollTop((high_bottom - maxHeight) > 0 ? high_bottom - maxHeight:0); }else if(high_top < visible_top){ return this.search_results.scrollTop(high_top); }} }; Chosen.prototype.result_clear_highlight=function(){ if(this.result_highlight){ this.result_highlight.removeClass("highlighted"); } return this.result_highlight=null; }; Chosen.prototype.results_show=function(){ if(this.is_multiple&&this.max_selected_options <=this.choices_count()){ this.form_field_jq.trigger("chosen:maxselected", { chosen: this }); return false; } this.container.addClass("chosen-with-drop"); this.results_showing=true; this.search_field.focus(); this.search_field.val(this.search_field.val()); this.winnow_results(); return this.form_field_jq.trigger("chosen:showing_dropdown", { chosen: this }); }; Chosen.prototype.update_results_content=function(content){ return this.search_results.html(content); }; Chosen.prototype.results_hide=function(){ if(this.results_showing){ this.result_clear_highlight(); this.container.removeClass("chosen-with-drop"); this.form_field_jq.trigger("chosen:hiding_dropdown", { chosen: this }); } return this.results_showing=false; }; Chosen.prototype.set_tab_index=function(el){ var ti; if(this.form_field.tabIndex){ ti=this.form_field.tabIndex; this.form_field.tabIndex=-1; return this.search_field[0].tabIndex=ti; }}; Chosen.prototype.set_label_behavior=function(){ var _this=this; this.form_field_label=this.form_field_jq.parents("label"); if(!this.form_field_label.length&&this.form_field.id.length){ this.form_field_label=$("label[for='" + this.form_field.id + "']"); } if(this.form_field_label.length > 0){ return this.form_field_label.bind('click.chosen', function(evt){ if(_this.is_multiple){ return _this.container_mousedown(evt); }else{ return _this.activate_field(); }}); }}; Chosen.prototype.show_search_field_default=function(){ if(this.is_multiple&&this.choices_count() < 1&&!this.active_field){ this.search_field.val(this.default_text); return this.search_field.addClass("default"); }else{ this.search_field.val(""); return this.search_field.removeClass("default"); }}; Chosen.prototype.search_results_mouseup=function(evt){ var target; target=$(evt.target).hasClass("active-result") ? $(evt.target):$(evt.target).parents(".active-result").first(); if(target.length){ this.result_highlight=target; this.result_select(evt); return this.search_field.focus(); }}; Chosen.prototype.search_results_mouseover=function(evt){ var target; target=$(evt.target).hasClass("active-result") ? $(evt.target):$(evt.target).parents(".active-result").first(); if(target){ return this.result_do_highlight(target); }}; Chosen.prototype.search_results_mouseout=function(evt){ if($(evt.target).hasClass("active-result"||$(evt.target).parents('.active-result').first())){ return this.result_clear_highlight(); }}; Chosen.prototype.choice_build=function(item){ var choice, close_link, _this=this; choice=$('
        • ', { "class": "search-choice" }).html("" + (this.choice_label(item)) + ""); if(item.disabled){ choice.addClass('search-choice-disabled'); }else{ close_link=$('', { "class": 'search-choice-close', 'data-option-array-index': item.array_index }); close_link.bind('click.chosen', function(evt){ return _this.choice_destroy_link_click(evt); }); choice.append(close_link); } return this.search_container.before(choice); }; Chosen.prototype.choice_destroy_link_click=function(evt){ evt.preventDefault(); evt.stopPropagation(); if(!this.is_disabled){ return this.choice_destroy($(evt.target)); }}; Chosen.prototype.choice_destroy=function(link){ if(this.result_deselect(link[0].getAttribute("data-option-array-index"))){ this.show_search_field_default(); if(this.is_multiple&&this.choices_count() > 0&&this.search_field.val().length < 1){ this.results_hide(); } link.parents('li').first().remove(); return this.search_field_scale(); }}; Chosen.prototype.results_reset=function(){ this.reset_single_select_options(); this.form_field.options[0].selected=true; this.single_set_selected_text(); this.show_search_field_default(); this.results_reset_cleanup(); this.form_field_jq.trigger("change"); if(this.active_field){ return this.results_hide(); }}; Chosen.prototype.results_reset_cleanup=function(){ this.current_selectedIndex=this.form_field.selectedIndex; return this.selected_item.find("abbr").remove(); }; Chosen.prototype.result_select=function(evt){ var high, item; if(this.result_highlight){ high=this.result_highlight; this.result_clear_highlight(); if(this.is_multiple&&this.max_selected_options <=this.choices_count()){ this.form_field_jq.trigger("chosen:maxselected", { chosen: this }); return false; } if(this.is_multiple){ high.removeClass("active-result"); }else{ this.reset_single_select_options(); } high.addClass("result-selected"); item=this.results_data[high[0].getAttribute("data-option-array-index")]; item.selected=true; this.form_field.options[item.options_index].selected=true; this.selected_option_count=null; if(this.is_multiple){ this.choice_build(item); }else{ this.single_set_selected_text(this.choice_label(item)); } if(!((evt.metaKey||evt.ctrlKey)&&this.is_multiple)){ this.results_hide(); } this.show_search_field_default(); if(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex){ this.form_field_jq.trigger("change", { 'selected': this.form_field.options[item.options_index].value }); } this.current_selectedIndex=this.form_field.selectedIndex; evt.preventDefault(); return this.search_field_scale(); }}; Chosen.prototype.single_set_selected_text=function(text){ if(text==null){ text=this.default_text; } if(text===this.default_text){ this.selected_item.addClass("chosen-default"); }else{ this.single_deselect_control_build(); this.selected_item.removeClass("chosen-default"); } return this.selected_item.find("span").html(text); }; Chosen.prototype.result_deselect=function(pos){ var result_data; result_data=this.results_data[pos]; if(!this.form_field.options[result_data.options_index].disabled){ result_data.selected=false; this.form_field.options[result_data.options_index].selected=false; this.selected_option_count=null; this.result_clear_highlight(); if(this.results_showing){ this.winnow_results(); } this.form_field_jq.trigger("change", { deselected: this.form_field.options[result_data.options_index].value }); this.search_field_scale(); return true; }else{ return false; }}; Chosen.prototype.single_deselect_control_build=function(){ if(!this.allow_single_deselect){ return; } if(!this.selected_item.find("abbr").length){ this.selected_item.find("span").first().after(""); } return this.selected_item.addClass("chosen-single-with-deselect"); }; Chosen.prototype.get_search_text=function(){ return $('
          ').text($.trim(this.search_field.val())).html(); }; Chosen.prototype.winnow_results_set_highlight=function(){ var do_high, selected_results; selected_results = !this.is_multiple ? this.search_results.find(".result-selected.active-result"):[]; do_high=selected_results.length ? selected_results.first():this.search_results.find(".active-result").first(); if(do_high!=null){ return this.result_do_highlight(do_high); }}; Chosen.prototype.no_results=function(terms){ var no_results_html; no_results_html=$('
        • ' + this.results_none_found + ' ""
        • '); no_results_html.find("span").first().html(terms); this.search_results.append(no_results_html); return this.form_field_jq.trigger("chosen:no_results", { chosen: this }); }; Chosen.prototype.no_results_clear=function(){ return this.search_results.find(".no-results").remove(); }; Chosen.prototype.keydown_arrow=function(){ var next_sib; if(this.results_showing&&this.result_highlight){ next_sib=this.result_highlight.nextAll("li.active-result").first(); if(next_sib){ return this.result_do_highlight(next_sib); }}else{ return this.results_show(); }}; Chosen.prototype.keyup_arrow=function(){ var prev_sibs; if(!this.results_showing&&!this.is_multiple){ return this.results_show(); }else if(this.result_highlight){ prev_sibs=this.result_highlight.prevAll("li.active-result"); if(prev_sibs.length){ return this.result_do_highlight(prev_sibs.first()); }else{ if(this.choices_count() > 0){ this.results_hide(); } return this.result_clear_highlight(); }} }; Chosen.prototype.keydown_backstroke=function(){ var next_available_destroy; if(this.pending_backstroke){ this.choice_destroy(this.pending_backstroke.find("a").first()); return this.clear_backstroke(); }else{ next_available_destroy=this.search_container.siblings("li.search-choice").last(); if(next_available_destroy.length&&!next_available_destroy.hasClass("search-choice-disabled")){ this.pending_backstroke=next_available_destroy; if(this.single_backstroke_delete){ return this.keydown_backstroke(); }else{ return this.pending_backstroke.addClass("search-choice-focus"); }} }}; Chosen.prototype.clear_backstroke=function(){ if(this.pending_backstroke){ this.pending_backstroke.removeClass("search-choice-focus"); } return this.pending_backstroke=null; }; Chosen.prototype.keydown_checker=function(evt){ var stroke, _ref1; stroke=(_ref1=evt.which)!=null ? _ref1:evt.keyCode; this.search_field_scale(); if(stroke!==8&&this.pending_backstroke){ this.clear_backstroke(); } switch (stroke){ case 8: this.backstroke_length=this.search_field.val().length; break; case 9: if(this.results_showing&&!this.is_multiple){ this.result_select(evt); } this.mouse_on_container=false; break; case 13: if(this.results_showing){ evt.preventDefault(); } break; case 32: if(this.disable_search){ evt.preventDefault(); } break; case 38: evt.preventDefault(); this.keyup_arrow(); break; case 40: evt.preventDefault(); this.keydown_arrow(); break; }}; Chosen.prototype.search_field_scale=function(){ var div, f_width, h, style, style_block, styles, w, _i, _len; if(this.is_multiple){ h=0; w=0; style_block="position:absolute; left: -1000px; top: -1000px; display:none;"; styles=['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing']; for (_i=0, _len=styles.length; _i < _len; _i++){ style=styles[_i]; style_block +=style + ":" + this.search_field.css(style) + ";"; } div=$('
          ', { 'style': style_block }); div.text(this.search_field.val()); $('body').append(div); w=div.width() + 25; div.remove(); f_width=this.container.outerWidth(); if(w > f_width - 10){ w=f_width - 10; } return this.search_field.css({ 'width': w + 'px' }); }}; return Chosen; })(AbstractChosen); }).call(this);