(function(){var a;a=(function(){function b(){this.options_index=0;this.parsed=[]}b.prototype.add_node=function(c){if(c.nodeName==="OPTGROUP"){return this.add_group(c)}else{return this.add_option(c)}};b.prototype.add_group=function(g){var h,i,c,d,e,f;h=this.parsed.length;this.parsed.push({array_index:h,group:true,label:g.label,children:0,disabled:g.disabled});e=g.childNodes;f=[];for(c=0,d=e.length;c<d;c++){i=e[c];f.push(this.add_option(i,h,g.disabled))}return f};b.prototype.add_option=function(e,d,c){if(e.nodeName==="OPTION"){if(e.text!==""){if(d!=null){this.parsed[d].children+=1}this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:e.value,text:e.text,html:e.innerHTML,selected:e.selected,disabled:c===true?c:e.disabled,group_array_index:d,classes:e.className,style:e.style.cssText})}else{this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:true})}return this.options_index+=1}};return b})();a.select_to_array=function(g){var e,f,b,c,d;f=new a();d=g.childNodes;for(b=0,c=d.length;b<c;b++){e=d[b];f.add_node(e)}return f.parsed};this.SelectParser=a}).call(this);(function(){var a,b;b=this;a=(function(){function c(d,e){this.form_field=d;this.options=e!=null?e:{};this.set_default_values();this.is_multiple=this.form_field.multiple;this.default_text_default=this.is_multiple?"Select Some Options":"Select an Option";this.setup();this.set_up_html();this.register_observers();this.finish_setup()}c.prototype.set_default_values=function(){var d=this;this.click_test_action=function(e){return d.test_active_click(e)};this.activate_action=function(e){return d.activate_field(e)};this.active_field=false;this.mouse_on_container=false;this.results_showing=false;this.result_highlighted=null;this.result_single_selected=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.choices=0;return this.results_none_found=this.options.no_results_text||"No results match"};c.prototype.mouse_enter=function(){return this.mouse_on_container=true};c.prototype.mouse_leave=function(){return this.mouse_on_container=false};c.prototype.input_focus=function(e){var d=this;if(!this.active_field){return setTimeout((function(){return d.container_mousedown()}),50)}};c.prototype.input_blur=function(e){var d=this;if(!this.mouse_on_container){this.active_field=false;return setTimeout((function(){return d.blur_test()}),100)}};c.prototype.result_add_option=function(e){var d,f;if(!e.disabled){e.dom_id=this.container_id+"_o_"+e.array_index;d=e.selected&&this.is_multiple?[]:["active-result"];if(e.selected){d.push("result-selected")}if(e.group_array_index!=null){d.push("group-option")}if(e.classes!==""){d.push(e.classes)}f=e.style.cssText!==""?' style="'+e.style+'"':"";return'<li id="'+e.dom_id+'" class="'+d.join(" ")+'"'+f+">"+e.html+"</li>"}else{return""}};c.prototype.results_update_field=function(){this.result_clear_highlight();this.result_single_selected=null;return this.results_build()};c.prototype.results_toggle=function(){if(this.results_showing){return this.results_hide()}else{return this.results_show()}};c.prototype.results_search=function(d){if(this.results_showing){return this.winnow_results()}else{return this.results_show()}};c.prototype.keyup_checker=function(e){var f,d;f=(d=e.which)!=null?d:e.keyCode;this.search_field_scale();switch(f){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices>0){return this.keydown_backstroke()}else{if(!this.pending_backstroke){if(this.allow_single_deselect&&e.target.nodeName==="INPUT"&&this.backstroke_length<1){return this.results_reset(e)}}}break;case 13:e.preventDefault();if(this.results_showing){return this.result_select(e)}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()}};c.prototype.generate_field_id=function(){var d;d=this.generate_random_id();this.form_field.id=d;return d};c.prototype.generate_random_char=function(){var d,e,f;d="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ";f=Math.floor(Math.random()*d.length);return e=d.substring(f,f+1)};return c})();b.AbstractChosen=a}).call(this);(function(){var a,d,e,f,c=Object.prototype.hasOwnProperty,b=function(g,j){for(var i in j){if(c.call(j,i)){g[i]=j[i]}}function h(){this.constructor=g}h.prototype=j.prototype;g.prototype=new h;g.__super__=j.prototype;return g};f=this;a=jQuery;a.fn.extend({chosen:function(g){return a(this).each(function(h){if(!(a(this)).hasClass("chzn-done")){return new d(this,g)}})}});d=(function(g){b(h,g);function h(){h.__super__.constructor.apply(this,arguments)}h.prototype.setup=function(){this.form_field_jq=a(this.form_field);return this.is_rtl=this.form_field_jq.hasClass("chzn-rtl")};h.prototype.finish_setup=function(){return this.form_field_jq.addClass("chzn-done")};h.prototype.set_up_html=function(){var i,j,k,l;this.container_id=this.form_field.id.length?this.form_field.id.replace(/(:|\.)/g,"_"):this.generate_field_id();this.container_id+="_chzn";this.f_width=this.form_field_jq.outerWidth(false);this.isPlaceholderSupported=this.placeholder_test();this.default_text=this.form_field_jq.data("placeholder")?this.form_field_jq.data("placeholder"):this.default_text_default;i=a("<div />",{id:this.container_id,"class":"chzn-container"+(this.is_rtl?" chzn-rtl":""),style:"width: "+this.f_width+"px;"});if(this.is_multiple){i.html('<ul class="chzn-choices"><li class="search-field">'+this.multi_select_search_field()+'</li></ul><div class="chzn-drop" style="left:-9000px;"><ul class="chzn-results"></ul></div>')}else{i.html('<a href="javascript:void(0)" class="chzn-single chzn-default"><span>'+this.default_text+'</span><div><b></b></div></a><div class="chzn-drop" style="left:-9000px;"><div class="chzn-search"><input type="text" title="Enter search text here" autocomplete="off" /></div><ul class="chzn-results"></ul></div>')}this.form_field_jq.hide().after(i);this.container=a("#"+this.container_id);this.container.addClass("chzn-container-"+(this.is_multiple?"multi":"single"));this.dropdown=this.container.find("div.chzn-drop").first();j=this.container.height();k=this.f_width-e(this.dropdown);this.dropdown.css({width:k+"px",top:j+"px"});this.search_field=this.container.find("input").first();this.search_results=this.container.find("ul.chzn-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.chzn-choices").first();this.search_container=this.container.find("li.search-field").first()}else{this.search_container=this.container.find("div.chzn-search").first();this.selected_item=this.container.find(".chzn-single").first();l=k-e(this.search_container)-e(this.search_field);this.search_field.css({width:l+"px"})}this.results_build();this.set_tab_index();return this.form_field_jq.trigger("liszt:ready",{chosen:this})};h.prototype.register_observers=function(){var i=this;this.container.mousedown(function(j){return i.container_mousedown(j)});this.container.mouseup(function(j){return i.container_mouseup(j)});this.container.mouseenter(function(j){return i.mouse_enter(j)});this.container.mouseleave(function(j){return i.mouse_leave(j)});this.search_results.mouseup(function(j){return i.search_results_mouseup(j)});this.search_results.mouseover(function(j){return i.search_results_mouseover(j)});this.search_results.mouseout(function(j){return i.search_results_mouseout(j)});this.form_field_jq.bind("liszt:updated",function(j){return i.results_update_field(j)});this.search_field.blur(function(j){return i.input_blur(j)});this.search_field.keyup(function(j){return i.keyup_checker(j)});this.search_field.keydown(function(j){return i.keydown_checker(j)});if(this.is_multiple){this.search_choices.click(function(j){return i.choices_click(j)});return this.search_field.focus(function(j){return i.input_focus(j)})}else{return this.container.click(function(j){return j.preventDefault()})}};h.prototype.search_field_disabled=function(){this.is_disabled=this.form_field_jq[0].disabled;if(this.is_disabled){this.container.addClass("chzn-disabled");this.search_field[0].disabled=true;if(!this.is_multiple){this.selected_item.unbind("focus",this.activate_action)}return this.close_field()}else{this.container.removeClass("chzn-disabled");this.search_field[0].disabled=false;if(!this.is_multiple){return this.selected_item.bind("focus",this.activate_action)}}};h.prototype.container_mousedown=function(i){var j;if(!this.is_disabled){j=i!=null?(a(i.target)).hasClass("search-choice-close"):false;if(i&&i.type==="mousedown"){i.stopPropagation()}if(!this.pending_destroy_click&&!j){if(!this.active_field){if(this.is_multiple){this.set_placeholder_val("")}a(document).click(this.click_test_action);this.results_show()}else{if(!this.is_multiple&&i&&((a(i.target)[0]===this.selected_item[0])||a(i.target).parents("a.chzn-single").length)){i.preventDefault();this.results_toggle()}}return this.activate_field()}else{return this.pending_destroy_click=false}}};h.prototype.container_mouseup=function(i){if(i.target.nodeName==="ABBR"){this.search_field.focus();return this.results_reset(i)}};h.prototype.blur_test=function(i){if(!this.active_field&&this.container.hasClass("chzn-container-active")){return this.close_field()}};h.prototype.close_field=function(){a(document).unbind("click",this.click_test_action);if(!this.is_multiple){this.selected_item.attr("tabindex",this.search_field.attr("tabindex"));this.search_field.attr("tabindex",-1)}this.active_field=false;this.results_hide();this.container.removeClass("chzn-container-active");this.winnow_results_clear();this.clear_backstroke();this.show_search_field_default();return this.search_field_scale()};h.prototype.activate_field=function(){if(!this.is_multiple&&!this.active_field){this.search_field.attr("tabindex",this.selected_item.attr("tabindex"));this.selected_item.attr("tabindex",-1)}this.container.addClass("chzn-container-active");this.active_field=true;this.search_field.val(this.search_field.val());return this.search_field.focus()};h.prototype.test_active_click=function(i){if(a(i.target).parents("#"+this.container_id).length){return this.active_field=true}else{return this.close_field()}};h.prototype.results_build=function(){var l,m,i,j,k;this.parsing=true;this.results_data=f.SelectParser.select_to_array(this.form_field);if(this.is_multiple&&this.choices>0){this.search_choices.find("li.search-choice").remove();this.choices=0}else{if(!this.is_multiple){this.selected_item.addClass("chzn-default").find("span").text(this.default_text);if(this.form_field.options.length<=this.disable_search_threshold){this.container.addClass("chzn-container-single-nosearch")}else{this.container.removeClass("chzn-container-single-nosearch")}}}l="";k=this.results_data;for(i=0,j=k.length;i<j;i++){m=k[i];if(m.group){l+=this.result_add_group(m)}else{if(!m.empty){l+=this.result_add_option(m);if(m.selected&&this.is_multiple){this.choice_build(m)}else{if(m.selected&&!this.is_multiple){if(this.form_field_jq.hasClass("chzn-split-text")){var n=item.text.split(" ");this.selected_item.find("span").first().text(n[0])}else{this.selected_item.removeClass("chzn-default").find("span").text(m.text)}if(this.allow_single_deselect){this.single_deselect_control_build()}}}}}}this.search_field_disabled();this.show_search_field_default();this.search_field_scale();this.search_results.html(l);return this.parsing=false};h.prototype.result_add_group=function(i){if(!i.disabled){i.dom_id=this.container_id+"_g_"+i.array_index;return'<li id="'+i.dom_id+'" class="group-result">'+a("<div />").text(i.label).html()+"</li>"}else{return""}};h.prototype.result_do_highlight=function(i){var j,k,l,m,n;if(i.length){this.result_clear_highlight();this.result_highlight=i;this.result_highlight.addClass("highlighted");l=parseInt(this.search_results.css("maxHeight"),10);n=this.search_results.scrollTop();m=l+n;k=this.result_highlight.position().top+this.search_results.scrollTop();j=k+this.result_highlight.outerHeight(false);if(j>=m){return this.search_results.scrollTop((j-l)>0?j-l:0)}else{if(k<n){return this.search_results.scrollTop(k)}}}};h.prototype.result_clear_highlight=function(){if(this.result_highlight){this.result_highlight.removeClass("highlighted")}return this.result_highlight=null};h.prototype.results_show=function(){var i;if(!this.is_multiple){this.selected_item.addClass("chzn-single-with-drop");if(this.result_single_selected){this.result_do_highlight(this.result_single_selected)}}i=this.is_multiple?this.container.height():this.container.height()-1;this.dropdown.css({top:i+"px",left:0});this.results_showing=true;this.search_field.focus();this.search_field.val(this.search_field.val());return this.winnow_results()};h.prototype.results_hide=function(){if(!this.is_multiple){this.selected_item.removeClass("chzn-single-with-drop")}this.result_clear_highlight();this.dropdown.css({left:"-9000px"});return this.results_showing=false};h.prototype.set_tab_index=function(i){var j;if(this.form_field_jq.attr("tabindex")){j=this.form_field_jq.attr("tabindex");this.form_field_jq.attr("tabindex",-1);if(this.is_multiple){return this.search_field.attr("tabindex",j)}else{this.selected_item.attr("tabindex",j);return this.search_field.attr("tabindex",-1)}}};h.prototype.show_search_field_default=function(){if(this.is_multiple&&this.choices<1&&!this.active_field){this.set_placeholder_val(this.default_text);return this.search_field.addClass("default")}else{this.set_placeholder_val("");return this.search_field.removeClass("default")}};h.prototype.search_results_mouseup=function(i){var j;j=a(i.target).hasClass("active-result")?a(i.target):a(i.target).parents(".active-result").first();if(j.length){this.result_highlight=j;return this.result_select(i)}};h.prototype.search_results_mouseover=function(i){var j;j=a(i.target).hasClass("active-result")?a(i.target):a(i.target).parents(".active-result").first();if(j){return this.result_do_highlight(j)}};h.prototype.search_results_mouseout=function(i){if(a(i.target).hasClass("active-result"||a(i.target).parents(".active-result").first())){return this.result_clear_highlight()}};h.prototype.choices_click=function(i){i.preventDefault();if(this.active_field&&!(a(i.target).hasClass("search-choice"||a(i.target).parents(".search-choice").first))&&!this.results_showing){return this.results_show()}};h.prototype.choice_build=function(k){var j,l,i=this;j=this.container_id+"_c_"+k.array_index;this.choices+=1;this.search_container.before('<li class="search-choice" id="'+j+'"><span>'+k.html+'</span><a href="javascript:void(0)" class="search-choice-close" rel="'+k.array_index+'"></a></li>');l=a("#"+j).find("a").first();return l.click(function(m){return i.choice_destroy_link_click(m)})};h.prototype.choice_destroy_link_click=function(i){i.preventDefault();if(!this.is_disabled){this.pending_destroy_click=true;return this.choice_destroy(a(i.target))}else{return i.stopPropagation}};h.prototype.choice_destroy=function(i){this.active_field=false;this.pending_destroy_click=false;this.choices-=1;this.show_search_field_default();if(this.is_multiple&&this.choices>0&&this.search_field.val().length<1){this.results_hide()}this.result_deselect(i.attr("rel"));return i.parents("li").first().remove()};h.prototype.results_reset=function(i){this.form_field.options[0].selected=true;this.selected_item.find("span").text(this.default_text);if(!this.is_multiple){this.selected_item.addClass("chzn-default")}this.show_search_field_default();this.selected_item.find("abbr").remove();this.form_field_jq.trigger("change");if(this.active_field){return this.results_hide()}};h.prototype.result_select=function(i){var j,k,l,m;if(this.result_highlight){j=this.result_highlight;k=j.prop("id");this.result_clear_highlight();if(this.is_multiple){this.result_deactivate(j)}else{this.search_results.find(".result-selected").removeClass("result-selected");this.result_single_selected=j;this.selected_item.removeClass("chzn-default")}j.addClass("result-selected");m=k.substr(k.lastIndexOf("_")+1);l=this.results_data[m];l.selected=true;this.form_field.options[l.options_index].selected=true;if(this.is_multiple){this.choice_build(l)}else{if(this.form_field_jq.hasClass("chzn-split-text")){var n=l.text.split(" ");this.selected_item.find("span").first().text(n[0])}else{this.selected_item.find("span").text(l.text)}if(this.allow_single_deselect){this.single_deselect_control_build()}}if(!(i.metaKey&&this.is_multiple)){this.results_hide()}this.search_field.val("");this.set_placeholder_val("");this.form_field_jq.trigger("change");this.search_field.focus();return this.search_field_scale()}};h.prototype.result_activate=function(i){return i.addClass("active-result")};h.prototype.result_deactivate=function(i){return i.removeClass("active-result")};h.prototype.result_deselect=function(i){var j,k;k=this.results_data[i];k.selected=false;this.form_field.options[k.options_index].selected=false;j=a("#"+this.container_id+"_o_"+i);j.removeClass("result-selected").addClass("active-result").show();this.result_clear_highlight();this.winnow_results();this.form_field_jq.trigger("change");return this.search_field_scale()};h.prototype.single_deselect_control_build=function(){if(this.allow_single_deselect&&this.selected_item.find("abbr").length<1){var i=this.selected_item.find("span");i.width(i.parent().parent().width()-47);return i.first().after('<abbr class="search-choice-close"></abbr>')}};h.prototype.winnow_results=function(){var n,o,p,q,r,s,t,u,v,w,x,y,i,j,k,l,m;this.no_results_clear();u=0;v=this.search_field.val()===this.default_text?"":a("<div/>").text(a.trim(this.search_field.val())).html();r=new RegExp("^"+v.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i");y=new RegExp(v.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i");m=this.results_data;for(i=0,k=m.length;i<k;i++){o=m[i];if(!o.disabled&&!o.empty){if(o.group){a("#"+o.dom_id).css("display","none")}else{if(!(this.is_multiple&&o.selected)){n=false;t=o.dom_id;s=a("#"+t);if(r.test(o.html)){n=true;u+=1}else{if(o.html.indexOf(" ")>=0||o.html.indexOf("[")===0){q=o.html.replace(/\[|\]/g,"").split(" ");if(q.length){for(j=0,l=q.length;j<l;j++){p=q[j];if(r.test(p)){n=true;u+=1}}}}}if(n){if(v.length){w=o.html.search(y);x=o.html.substr(0,w+v.length)+"</em>"+o.html.substr(w+v.length);x=x.substr(0,w)+"<em>"+x.substr(w)}else{x=o.html}s.html(x);this.result_activate(s);if(o.group_array_index!=null){a("#"+this.results_data[o.group_array_index].dom_id).css("display","list-item")}}else{if(this.result_highlight&&t===this.result_highlight.prop("id")){this.result_clear_highlight()}this.result_deactivate(s)}}}}}if(u<1&&v.length){return this.no_results(v)}else{return this.winnow_results_set_highlight()}};h.prototype.winnow_results_clear=function(){var l,m,i,j,k;this.search_field.val("");m=this.search_results.find("li");k=[];for(i=0,j=m.length;i<j;i++){l=m[i];l=a(l);if(l.hasClass("group-result")){k.push(l.css("display","auto"))}else{if(!this.is_multiple||!l.hasClass("result-selected")){k.push(this.result_activate(l))}else{k.push(void 0)}}}return k};h.prototype.winnow_results_set_highlight=function(){var i,j;if(!this.result_highlight){j=!this.is_multiple?this.search_results.find(".result-selected.active-result"):[];i=j.length?j.first():this.search_results.find(".active-result").first();if(i!=null){return this.result_do_highlight(i)}}};h.prototype.no_results=function(j){var i;i=a('<li class="no-results">'+this.results_none_found+' "<span></span>"</li>');i.find("span").first().html(j);return this.search_results.append(i)};h.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()};h.prototype.keydown_arrow=function(){var i,j;if(!this.result_highlight){i=this.search_results.find("li.active-result").first();if(i){this.result_do_highlight(a(i))}}else{if(this.results_showing){j=this.result_highlight.nextAll("li.active-result").first();if(j){this.result_do_highlight(j)}}}if(!this.results_showing){return this.results_show()}};h.prototype.keyup_arrow=function(){var i;if(!this.results_showing&&!this.is_multiple){return this.results_show()}else{if(this.result_highlight){i=this.result_highlight.prevAll("li.active-result");if(i.length){return this.result_do_highlight(i.first())}else{if(this.choices>0){this.results_hide()}return this.result_clear_highlight()}}}};h.prototype.keydown_backstroke=function(){if(this.pending_backstroke){this.choice_destroy(this.pending_backstroke.find("a").first());return this.clear_backstroke()}else{this.pending_backstroke=this.search_container.siblings("li.search-choice").last();return this.pending_backstroke.addClass("search-choice-focus")}};h.prototype.clear_backstroke=function(){if(this.pending_backstroke){this.pending_backstroke.removeClass("search-choice-focus")}return this.pending_backstroke=null};h.prototype.keydown_checker=function(j){var k,i;k=(i=j.which)!=null?i:j.keyCode;this.search_field_scale();if(k!==8&&this.pending_backstroke){this.clear_backstroke()}switch(k){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:if(this.results_showing&&!this.is_multiple){this.result_select(j)}this.mouse_on_container=false;break;case 13:j.preventDefault();break;case 38:j.preventDefault();this.keyup_arrow();break;case 40:this.keydown_arrow();break}};h.prototype.search_field_scale=function(){var k,l,m,n,o,p,q,i,j;if(this.is_multiple){m=0;q=0;o="position:absolute; left: -1000px; top: -1000px; display:none;";p=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"];for(i=0,j=p.length;i<j;i++){n=p[i];o+=n+":"+this.search_field.css(n)+";"}l=a("<div />",{style:o});l.text(this.get_placeholder_val());a("body").append(l);q=l.width()+25;l.remove();if(q>this.f_width-10){q=this.f_width-10}this.search_field.css({width:q+"px"});k=this.container.height();return this.dropdown.css({top:k+"px"})}};h.prototype.generate_random_id=function(){var i;i="sel"+this.generate_random_char()+this.generate_random_char()+this.generate_random_char();while(a("#"+i).length>0){i+=this.generate_random_char()}return i};h.prototype.multi_select_search_field=function(){return'<input title="Enter search text here" type="text" '+(this.isPlaceholderSupported?"placeholder":"value")+'="'+this.default_text+'" class="default" autocomplete="off" style="width:'+(this.f_width-10)+'px;" />'};h.prototype.get_placeholder_val=function(){if(this.isPlaceholderSupported&&this.search_field.attr("placeholder")!=""){return this.search_field.attr("placeholder")}else{return this.search_field.val()}};h.prototype.set_placeholder_val=function(i){if(this.isPlaceholderSupported){this.search_field.attr("placeholder",i)}else{this.search_field.val(i)}};h.prototype.placeholder_test=function(){var i=document.createElement("input");if("placeholder" in i){return true}else{return false}};return h})(AbstractChosen);e=function(g){var h;return h=g.outerWidth(false)-g.width()};f.get_side_border_padding=e}).call(this);