/**
 *	Hyjack Select v1.1.2.customized plugin for jQuery v1.4.4+
 *	Copyright (c) 2011 Brant Wills
 *	August 31, 2010
 */
(function(b){var a=0;version="v1.1.2",hyjackable="select";b.hyjack_select={update:function(c){if(!c){b.hyjack_select.update_all();return}b(".hjsel_container").each(function(){if(b(this).data("hyjack.container")===b(c).data("hyjacked.index")){b(this).hide();return false}});b(c).data("is.hyjacked",false).hyjack_select()},update_all:function(){b(".hjsel_container").hide();b(":input").filter(hyjackable).each(function(){if(b(this).data("is.hyjacked")){b(this).data("is.hyjacked",false).hyjack_select()}})},dispose:function(c){if(!c){b.hyjack_select.dispose_All();return}b(".hjsel_container").each(function(){if(b(this).data("hyjack.container")===b(c).data("hyjacked.index")){b(this).hide();return false}});b(c).data("is.hyjacked",false).show()},dispose_All:function(){b(".hjsel_container").each(function(){if(b(this).data("hyjack.container")){b(this).hide()}});b(":input").filter(hyjackable).each(function(){b(this).data("is.hyjacked",false).show()})}};b.fn.hyjack_select=function(i){try{i=jQuery.extend({ddImage:"arrow_down.png",ddCancel:"cancel.png",ddImageClass:"hjsel_ddImage",ddCancelClass:"hjsel_ddCancel",emptyMessage:"No Items to Display",offset:15,filter:"like",restrictSearch:false},i);return this.filter(hyjackable).each(function(){if(b(this).data("is.hyjacked")){return}if(b(this).attr("disabled")){b(this).show();return}if(!b("option",this).length){b(this).show();return}a++;j();b(this).attr("autocomplete","off").data("is.hyjacked",true).data("hyjacked.index",a);hj={selector:b(this),last_val:"",container:b("<div/>").data("hyjack.container",a).addClass("hjsel_container"+(this.id?" ifc-"+this.id:"")),select:b("<div/>").data("hyjack.select",a).addClass("hjsel_select"),options:b("<div/>").data("hyjack.options",a).addClass("hjsel_options"),txtbox:b('<input type="text"/>').data("hyjack.txtbox",a).addClass("hjsel_txtbox"),ddImage:b("<img/>").data("hyjack.ddImage",a).addClass(i.ddImageClass).attr("src",i.ddImage),ddCancel:b("<img/>").data("hyjack.ddCancel",a).addClass(i.ddCancelClass).attr("src",i.ddCancel)};return b(this).hide().before(r(this,hj))})}catch(n){alert("Hyjack Select "+version+" Error:\n"+n.description)}function r(t,s){o(s);p(b(t),s);k(s);s.select.append(s.txtbox).append(s.ddCancel).append(s.ddImage);s.container.append(s.select).append(s.options);if(b(s.selector).hasClass("disabled")){s.container.addClass("hjsel_container_disabled")}else{b(document).bind("click",function(u){h(u,s)})}b(window).load(function(){k(s)});return s.container}function m(s){return b("<div/>").html(s).text()}function c(s){return b("<div/>").text(s).html()}function j(){switch(i.filter.toLowerCase()){case"first":b.expr[":"].hj_contains_first=function(t,u,s){return jQuery(t).text().toUpperCase().indexOf(s[3].toUpperCase())==0};break;case"words":b.expr[":"].hj_contains_words=function(t,v,s){var x=jQuery(t).text().toUpperCase(),u=s[3].toUpperCase(),w=u.split(/\s+/);if(w.length==1){return x.indexOf(u)>=0}for(var v=0,s;s=w[v];v++){if(x.indexOf(s)<0){return false}}return true};break;default:i.filter="like";b.expr[":"].hj_contains_like=function(t,u,s){return jQuery(t).text().toUpperCase().indexOf(s[3].toUpperCase())>=0};break}}function g(s,t){if(t.keyCode==9){f(s)}}function l(s,v){switch(v.keyCode){case 37:break;case 39:break;case 16:break;case 17:break;case 18:break;case 19:break;case 20:break;case 33:break;case 34:break;case 35:break;case 36:break;case 45:break;case 9:break;case 13:e(b(".hjsel_options_hover",s.options),s);q(s);f(s);if(s.last_val!=s.selector.val()){s.selector.change()}break;case 38:if(b(".hjsel_noitems",s.options).length){return}$dir=b(".hjsel_options_hover",s.options).prev();if(s.options.is(":visible")){while(!$dir.is(":visible")){if($dir.prev().attr("val")){$dir=$dir.prev()}else{$dir=b("li",s.options).last()}}}e($dir,s);break;case 40:if(b(".hjsel_noitems",s.options).length){return}$dir=b(".hjsel_options_hover",s.options).next();if(s.options.is(":visible")){while(!$dir.is(":visible")){if($dir.next().attr("val")){$dir=$dir.next()}else{$dir=b("li",s.options).first()}}}e($dir,s);break;case 27:f(s);break;default:var u=0,t=0;b("li",s.options).remove(".hjsel_noitems").removeClass("hjsel_options_hover").hide();b("li:hj_contains_"+i.filter+'("'+s.txtbox.val()+'")',s.options).show();b("li",s.options).each(function(){if(b(this).is(":hidden")){u++}t++});if(u==t){s.options.append(b("<li/>").append(i.emptyMessage).addClass("hjsel_noitems"))}s.options.scrollTop(0).show();break}}function e(t,s){if(t!=null){s.txtbox.val(m(t.text()));s.selector.val(t.attr("val"))}b("li",s.options).each(function(u,v){b(v).removeClass("hjsel_options_hover");if(s.selector.val()==b(v).attr("val")){b(v).addClass("hjsel_options_hover")}})}function d(s){b(".hjsel_options").hide();s.txtbox.val("").focus();s.options.show()}function q(s){b("li",s.options).show();b(".hjsel_noitems",s.options).remove()}function f(s){s.options.hide();if(s.txtbox.val()===""){s.txtbox.val(m(b("option:selected",s.selector).text()))}}function h(t,s){if(b(t.target).data("hyjack.ddImage")===s.ddImage.data("hyjack.ddImage")){s.options.toggle()}else{if(b(t.target).data("hyjack.ddCancel")===s.ddCancel.data("hyjack.ddCancel")){d(s)}else{if(b(t.target).data("hyjack.txtbox")===s.txtbox.data("hyjack.txtbox")||b(t.target).parents().data("hyjack.container")===s.container.data("hyjack.container")){s.last_val=s.selector.val();s.options.show()}else{f(s)}}}if(i.restrictSearch){s.txtbox.val(m(b("option:selected",s.selector).text()))}q(s)}function o(s){s.txtbox.bind("keydown",function(t){g(s,t)}).bind("keyup",function(t){l(s,t)}).val(m(b("option:selected",s.selector).text()))}function k(s){s.txtbox.width(s.selector.width()-(s.ddImage.attr("width")+s.ddCancel.attr("width")+i.offset));s.options.width(s.selector.width());s.container.width(s.selector.width())}function p(t,s){var u=b("<ul/>");b("option",t).each(function(v,w){u.append(b("<li/>").attr("val",b(w).val()).append(c(b(w).text())).bind("mouseenter",function(){b("li",u).removeClass("hjsel_options_hover");b(this).addClass("hjsel_options_hover");s.txtbox.focus()}).bind("click",function(){b(this).addClass("hjsel_options_hover");s.txtbox.focus().val(m(b(w).text()));s.selector.val(b(w).val());if(s.last_val!=s.selector.val()){s.selector.change()}q(s)}))});s.options.append(u)}}})(jQuery);
