/**
*	Hyjack Select v1.1.2 plugin for jQuery v1.4.4+ 
*	Copyright (c) 2011 Brant Wills
*	August 31, 2010
*/
(function(a){
	var alias = {		
				
				'Poland':['Poland', 'Polska', 'poll', 'pol', 'pola', 'polland' ],
			
				'Netherlands':['Holland', 'Nederlands', 'Netherlands', 'Dutch', 'Ned', 'Nede', 'Neder', 'Nederla' ],
			
				'United States':['America', 'Alaska', 'Hawaii', 'Guam', 'Puerto Rico', 'Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming', 'US', 'USA', 'north america', 'north a', 'north am', 'north ame', 'north amer', 'north ameri', 'north americ', 'unlimited us', 'unites', 'phill', 'philli', 'united states a', 'united states and ', 'US', 'USA', 'United States of America', 'States', 'The States' ],
			
				'United Arab Emirates':['Arab Emirates', 'UAE', 'DUBAI', 'Abu Dhabi', 'Sharjah', 'Ajman', 'Umm al-Quwain', 'Ras al-Khaimah', 'Fujairah' ],
			
				'United Kingdom':['UK','England', 'Great Britain', 'Britain', 'Scotland', 'Wales', 'Northern Ireland', 'London' ],
			
				'Spain':['Spain', 'españa', 'espana', 'esp', 'espa', 'españ' ],
			
				'Brazil':['Brasil' ],
			
				'Canada':['Canada', 'canda', 'caa' ],
			
				'Sri Lanka':['srilanka'],
			
				'Korea South':['South Korea'],
			
				'Italy':['Italia' ],
			
				'India':['inda', 'Inidia', 'Mumbai', 'Bombay', 'Delhi', 'Bangalore', 'Gujarat' ],
			
				'Mexico':['México' ],
			
				'Hong Kong':['HK', 'hongkong', 'honk kong' ],
			
				'South Africa':['sa' ],
			
				'Australia':['New South Wales', 'Sydney', 'Victoria', 'Queensland', 'Western Australia', 'South Australia', 'Tasmania', 'Northern Territory', 'Melbourne', 'AUS' ],
			
				'Russia':['rus', 'ru' ],
			
				'France':['Francia' ],
			
				'Japan':['Tokyo' ],
			
				'Kuwait':[ 'Kuwiat' ],
			
				'Germany':['Deutchlande', 'Deutshlande', 'Deushlande', 'Bonn', 'Berlin' ],
			
				'Qatar':['Qutar', 'Quatar' ]
		
			 
			};
	
	var g=0;version="v1.1.2";hyjackable="select";a.hyjack_select={update:function(d){if(d){a(".hjsel_container").each(function(){if(a(this).data("hyjack.container")===a(d).data("hyjacked.index")){a(this).hide();return false}});a(d).data("is.hyjacked",false).hyjack_select()}else a.hyjack_select.update_all()},update_all:function(){a(".hjsel_container").hide();a(":input").filter(hyjackable).each(function(){a(this).data("is.hyjacked")&&a(this).data("is.hyjacked",false).hyjack_select()})},dispose:function(d){if(d){a(".hjsel_container").each(function(){if(a(this).data("hyjack.container")=== a(d).data("hyjacked.index")){a(this).hide();return false}});a(d).data("is.hyjacked",false).show()}else a.hyjack_select.dispose_All()},dispose_All:function(){a(".hjsel_container").each(function(){a(this).data("hyjack.container")&&a(this).hide()});a(":input").filter(hyjackable).each(function(){a(this).data("is.hyjacked",false).show()})}};a.fn.hyjack_select=function(d){function o(b,c){p(c);q(a(b),c);m(c);c.select.append(c.txtbox).append(c.ddCancel).append(c.ddImage);c.container.append(c.select).append(c.options); a(document).bind("click",function(e){if(a(e.target).data("hyjack.ddImage")===c.ddImage.data("hyjack.ddImage"))c.options.toggle();else if(a(e.target).data("hyjack.ddCancel")===c.ddCancel.data("hyjack.ddCancel"))n(c);else a(e.target).data("hyjack.txtbox")===c.txtbox.data("hyjack.txtbox")||a(e.target).parents().data("hyjack.container")===c.container.data("hyjack.container")?c.options.show():i(c);d.restrictSearch&&c.txtbox.val(h(a("option:selected",c.selector).text()));k(c)});a(window).load(function(){m(c)}); return c.container}function h(b){return a("<div/>").html(b).text()}function r(b){return a("<div/>").text(b).html()}function s(){switch(d.filter.toLowerCase()){case "first":a.expr[":"].hj_contains_first=function(b,c,e){return jQuery(b).text().toUpperCase().indexOf(e[3].toUpperCase())==0};break;case "words":a.expr[":"].hj_contains_words=function(b,c,e){b=jQuery(b).text().toUpperCase();c=e[3].toUpperCase();var f=c.split(/\s+/);if(f.length==1)return b.indexOf(c)>=0;for(c=0;e=f[c];c++)if(b.indexOf(e)< 0)return false;return true};break;default:d.filter="like";a.expr[":"].hj_contains_like=function(b,c,e){
		//return jQuery(b).text().toUpperCase().indexOf(e[3].toUpperCase())>=0
		return (jQuery(b).attr("alias").toUpperCase().indexOf(e[3].toUpperCase()) >= 0 || jQuery(b).text().toUpperCase().indexOf(e[3].toUpperCase()) >= 0);
		}}}function t(b,c){switch(c.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:l(a(".hjsel_options_hover",b.options),b);k(b);i(b);b.selector.change();break;case 38:if(a(".hjsel_noitems", b.options).length)break;$dir=a(".hjsel_options_hover",b.options).prev();if(b.options.is(":visible"))for(;!$dir.is(":visible");)$dir=$dir.prev().attr("val")?$dir.prev():a("li",b.options).last();l($dir,b);break;case 40:if(a(".hjsel_noitems",b.options).length)break;$dir=a(".hjsel_options_hover",b.options).next();if(b.options.is(":visible"))for(;!$dir.is(":visible");)$dir=$dir.next().attr("val")?$dir.next():a("li",b.options).first();l($dir,b);break;case 27:i(b);break;default:var e=0,f=0;a("li",b.options).remove(".hjsel_noitems").removeClass("hjsel_options_hover").hide(); a("li:hj_contains_"+d.filter+'("'+b.txtbox.val()+'")',b.options).show();a("li",b.options).each(function(){a(this).is(":hidden")&&e++;f++});e==f&&b.options.append(a("<li/>").append(d.emptyMessage).addClass("hjsel_noitems"));b.options.scrollTop(0).show()}}function l(b,c){if(b!=null){c.txtbox.val(h(b.text()));c.selector.val(b.attr("val"))}a("li",c.options).each(function(e,f){a(f).removeClass("hjsel_options_hover");c.selector.val()==a(f).attr("val")&&a(f).addClass("hjsel_options_hover")})}function n(b){a(".hjsel_options").hide(); b.txtbox.val("").focus();b.options.show()}function k(b){a("li",b.options).show();a(".hjsel_noitems",b.options).remove()}function i(b){b.options.hide();b.txtbox.val()===""&&b.txtbox.val(h(a("option:selected",b.selector).text()))}function p(b){b.txtbox.bind("click",function(){n(b)}).bind("keydown",function(c){c.keyCode==9&&i(b)}).bind("keyup",function(c){t(b,c)}).val(h(a("option:selected",b.selector).text()))}function m(b){b.txtbox.width(b.selector.width()-(b.ddImage.attr("width")+b.ddCancel.attr("width")+ d.offset));b.options.width(b.selector.width());b.container.width(b.selector.width())}function q(b,c){var e=a("<ul/>");a("option",b)
		.each(function(f,j){
			var aliastext = a(j).text();
			var iso = a(j).attr('iso');
			//var aliastext = $(value).text();
			if(!alias[aliastext]){
				e.append(a("<li/>")
				.attr({"alias": "","val":a(j).val()})
				.prepend('<span class="ccflag iso-'+iso+'" />')
				.append(r(a(j).text()))
				.bind("mouseenter",function(){a("li",e)
				.removeClass("hjsel_options_hover");a(this)
				.addClass("hjsel_options_hover");c.txtbox.focus()}).bind("click",function(){a(this).addClass("hjsel_options_hover");c.txtbox.focus().val(h(a(j).text()));c.selector.val(a(j).val()).change();k(c)}))
			}
			
			if(alias[aliastext]){
				e.append(a("<li/>")
				.attr({"alias": alias[aliastext],"val":a(j).val()})
				.prepend('<span class="ccflag iso-'+iso+'" />')
				//.prepend('<span class="iso_ac"/>') - To add country flags
				.append(r(a(j).text()))
				.bind("mouseenter",function(){a("li",e)
				.removeClass("hjsel_options_hover");a(this)
				.addClass("hjsel_options_hover");c.txtbox.focus()}).bind("click",function(){a(this).addClass("hjsel_options_hover");c.txtbox.focus().val(h(a(j).text()));c.selector.val(a(j).val()).change();k(c)}))
			}
			});
			
			c.options.append(e)} 
			
			try{d=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},d);return this.filter(hyjackable).each(function(){if(!a(this).data("is.hyjacked"))if(a(this).attr("disabled"))a(this).show();else if(a("option",this).length){g++;s();a(this).attr("autocomplete","off").data("is.hyjacked",true).data("hyjacked.index",g);hj={selector:a(this),container:a("<div/>").data("hyjack.container", g).addClass("hjsel_container"),select:a("<div/>").data("hyjack.select",g).addClass("hjsel_select"),options:a("<div/>").data("hyjack.options",g).addClass("hjsel_options"),txtbox:a('<input type="text"/>').data("hyjack.txtbox",g).addClass("hjsel_txtbox"),ddImage:a("<img/>").data("hyjack.ddImage",g).addClass(d.ddImageClass).attr("src",d.ddImage),ddCancel:a("<img/>").data("hyjack.ddCancel",g).addClass(d.ddCancelClass).attr("src",d.ddCancel)};return a(this).hide().before(o(this,hj))}else a(this).show()})}catch(u){alert("Hyjack Select "+ version+" Error:\n"+u.description)}}})(jQuery);
			

