jQuery.autocomplete = function(input, options) {
	// Create a link to self
	var me = this;

	// Create jQuery object for input element
	var $input = $(input).attr("autocomplete", "off");

	// Apply inputClass if necessary
	if (options.inputClass) $input.addClass(options.inputClass);

	// Create results
	var results = document.createElement("div");
	// Create jQuery object for results
	var $results = $(results);
	$results.hide().addClass(options.resultsClass).css("position", "absolute");
	if( options.width > 0 ) $results.css("width", options.width);

	// Add to body element
	$("body").append(results);

	input.autocompleter = me;

	var timeout = null;
	var prev = "";
	var active = -1;
	var cache = {};
	var keyb = false;
	var hasFocus = false;
	var lastKeyPressCode = null;

	// flush cache
	function flushCache(){
		cache = {};
		cache.data = {};
		cache.length = 0;
	};

	// flush cache
	flushCache();

	// if there is a data array supplied
	if( options.data != null ){
		var sFirstChar = "", stMatchSets = {}, row = [];

		// no url was specified, we need to adjust the cache length to make sure it fits the local data store
		if( typeof options.url != "string" ) options.cacheLength = 1;

		// loop through the array and create a lookup structure
		for( var i=0; i < options.data.length; i++ ){
			// if row is a string, make an array otherwise just reference the array
			row = ((typeof options.data[i] == "string") ? [options.data[i]] : options.data[i]);

			// if the length is zero, don't add to list
			if( row[0].length > 0 ){
				// get the first character
				sFirstChar = row[0].substring(0, 1).toLowerCase();
				// if no lookup array for this character exists, look it up now
				if( !stMatchSets[sFirstChar] ) stMatchSets[sFirstChar] = [];
				// if the match is a string
				stMatchSets[sFirstChar].push(row);
			}
		}

		// add the data items to the cache
		for( var k in stMatchSets ){
			// increase the cache size
			options.cacheLength++;
			// add to the cache
			addToCache(k, stMatchSets[k]);
		}
	}

	$input
	.keydown(function(e) {
		// track last key pressed
		lastKeyPressCode = e.keyCode;
		switch(e.keyCode) {
			case 38: // up
				e.preventDefault();
				moveSelect(-1);
				break;
			case 40: // down
				e.preventDefault();
				moveSelect(1);
				break;
			case 9:  // tab
			case 13: // return
				if( selectCurrent() ){
					// make sure to blur off the current field
					$input.get(0).blur();
					e.preventDefault();
				}
				break;
			default:
				active = -1;
				if (timeout) clearTimeout(timeout);
				timeout = setTimeout(function(){onChange();}, options.delay);
				break;
		}
	})
	.focus(function(){
		// track whether the field has focus, we shouldn't process any results if the field no longer has focus
		hasFocus = true;
	})
	.blur(function() {
		// track whether the field has focus
		hasFocus = false;
		hideResults();
	});

	hideResultsNow();

	function onChange() {
		// ignore if the following keys are pressed: [del] [shift] [capslock]
		if( lastKeyPressCode == 46 || (lastKeyPressCode > 8 && lastKeyPressCode < 32) ) return $results.hide();
		var v = $input.val();
		if (v == prev) return;
		prev = v;
		if (v.length >= options.minChars) {
			$input.addClass(options.loadingClass);
			requestData(v);
		} else {
			$input.removeClass(options.loadingClass);
			$results.hide();
		}
	};

 	function moveSelect(step) {

		var lis = $("li", results);
		if (!lis) return;

		active += step;

		if (active < 0) {
			active = 0;
		} else if (active >= lis.size()) {
			active = lis.size() - 1;
		}

		lis.removeClass("ac_over");

		$(lis[active]).addClass("ac_over");

		// Weird behaviour in IE
		// if (lis[active] && lis[active].scrollIntoView) {
		// 	lis[active].scrollIntoView(false);
		// }

	};

	function selectCurrent() {
		var li = $("li.ac_over", results)[0];
		if (!li) {
			var $li = $("li", results);
			if (options.selectOnly) {
				if ($li.length == 1) li = $li[0];
			} else if (options.selectFirst) {
				li = $li[0];
			}
		}
		if (li) {
			selectItem(li);
			return true;
		} else {
			return false;
		}
	};

	function selectItem(li) {
		if (!li) {
			li = document.createElement("li");
			li.extra = [];
			li.selectValue = "";
		}
		var v = $.trim(li.selectValue ? li.selectValue : li.innerHTML);
		input.lastSelected = v;
		prev = v;
		$results.html("");
		$input.val(v);
		hideResultsNow();
		if (options.onItemSelect) setTimeout(function() { options.onItemSelect(li) }, 1);
	};

	// selects a portion of the input string
	function createSelection(start, end){
		// get a reference to the input element
		var field = $input.get(0);
		if( field.createTextRange ){
			var selRange = field.createTextRange();
			selRange.collapse(true);
			selRange.moveStart("character", start);
			selRange.moveEnd("character", end);
			selRange.select();
		} else if( field.setSelectionRange ){
			field.setSelectionRange(start, end);
		} else {
			if( field.selectionStart ){
				field.selectionStart = start;
				field.selectionEnd = end;
			}
		}
		field.focus();
	};

	// fills in the input box w/the first match (assumed to be the best match)
	function autoFill(sValue){
		// if the last user key pressed was backspace, don't autofill
		if( lastKeyPressCode != 8 ){
			// fill in the value (keep the case the user has typed)
			$input.val($input.val() + sValue.substring(prev.length));
			// select the portion of the value not typed by the user (so the next character will erase)
			createSelection(prev.length, sValue.length);
		}
	};

	function showResults() {
		// get the position of the input field right now (in case the DOM is shifted)
		var pos = findPos(input);
		// either use the specified width, or autocalculate based on form element
		var iWidth = (options.width > 0) ? options.width : $input.width();
		// reposition
		$results.css({
			width: parseInt(iWidth) + "px",
			top: (pos.y + input.offsetHeight) + "px",
			left: pos.x + "px"
		}).show();
	};

	function hideResults() {
		if (timeout) clearTimeout(timeout);
		timeout = setTimeout(hideResultsNow, 200);
	};

	function hideResultsNow() {
		if (timeout) clearTimeout(timeout);
		$input.removeClass(options.loadingClass);
		if ($results.is(":visible")) {
			$results.hide();
		}
		if (options.mustMatch) {
			var v = $input.val();
			if (v != input.lastSelected) {
				selectItem(null);
			}
		}
	};

	function receiveData(q, data) {
		if (data) {
			$input.removeClass(options.loadingClass);
			results.innerHTML = "";

			// if the field no longer has focus or if there are no matches, do not display the drop down
			if( !hasFocus || data.length == 0 ) return hideResultsNow();

			if ($.browser.msie) {
				// we put a styled iframe behind the calendar so HTML SELECT elements don't show through
				$results.append(document.createElement('iframe'));
			}
			results.appendChild(dataToDom(data));
			// autofill in the complete box w/the first match as long as the user hasn't entered in more data
			if( options.autoFill && ($input.val().toLowerCase() == q.toLowerCase()) ) autoFill(data[0][0]);
			showResults();
		} else {
			hideResultsNow();
		}
	};

	function parseData(data) {
		if (!data) return null;
		var parsed = [];
		var rows = data.split(options.lineSeparator);
		for (var i=0; i < rows.length; i++) {
			var row = $.trim(rows[i]);
			if (row) {
				parsed[parsed.length] = row.split(options.cellSeparator);
			}
		}
		return parsed;
	};

	function dataToDom(data) {
		var ul = document.createElement("ul");
		var num = data.length;

		// limited results to a max number
		if( (options.maxItemsToShow > 0) && (options.maxItemsToShow < num) ) num = options.maxItemsToShow;

		for (var i=0; i < num; i++) {
			var row = data[i];
			if (!row) continue;
			var li = document.createElement("li");
			if (options.formatItem) {
				li.innerHTML = options.formatItem(row, i, num);
				li.selectValue = row[0];
			} else {
				li.innerHTML = row[0];
				li.selectValue = row[0];
			}
			var extra = null;
			if (row.length > 1) {
				extra = [];
				for (var j=1; j < row.length; j++) {
					extra[extra.length] = row[j];
				}
			}
			li.extra = extra;
			ul.appendChild(li);
			$(li).hover(
				function() { $("li", ul).removeClass("ac_over"); $(this).addClass("ac_over"); active = $("li", ul).indexOf($(this).get(0)); },
				function() { $(this).removeClass("ac_over"); }
			).click(function(e) { e.preventDefault(); e.stopPropagation(); selectItem(this) });
		}
		return ul;
	};

	function requestData(q) {
		if (!options.matchCase) q = q.toLowerCase();
		var data = options.cacheLength ? loadFromCache(q) : null;
		// recieve the cached data
		if (data) {
			receiveData(q, data);
		// if an AJAX url has been supplied, try loading the data now
		} else if( (typeof options.url == "string") && (options.url.length > 0) ){
			$.get(makeUrl(q), function(data) {
				data = parseData(data);
				addToCache(q, data);
				receiveData(q, data);
			});
		// if there's been no data found, remove the loading class
		} else {
			$input.removeClass(options.loadingClass);
		}
	};

	function makeUrl(q) {
		var url = options.url + "?q=" + encodeURI(q);
		for (var i in options.extraParams) {
			url += "&" + i + "=" + encodeURI(options.extraParams[i]);
		}
		return url;
	};

	function loadFromCache(q) {
		if (!q) return null;
		if (cache.data[q]) return cache.data[q];
		if (options.matchSubset) {
			for (var i = q.length - 1; i >= options.minChars; i--) {
				var qs = q.substr(0, i);
				var c = cache.data[qs];
				if (c) {
					var csub = [];
					for (var j = 0; j < c.length; j++) {
						var x = c[j];
						var x0 = x[0];
						if (matchSubset(x0, q)) {
							csub[csub.length] = x;
						}
					}
					return csub;
				}
			}
		}
		return null;
	};

	function matchSubset(s, sub) {
		if (!options.matchCase) s = s.toLowerCase();
		var i = s.indexOf(sub);
		if (i == -1) return false;
		return i == 0 || options.matchContains;
	};

	this.flushCache = function() {
		flushCache();
	};

	this.setExtraParams = function(p) {
		options.extraParams = p;
	};

	this.findValue = function(){
		var q = $input.val();

		if (!options.matchCase) q = q.toLowerCase();
		var data = options.cacheLength ? loadFromCache(q) : null;
		if (data) {
			findValueCallback(q, data);
		} else if( (typeof options.url == "string") && (options.url.length > 0) ){
			$.get(makeUrl(q), function(data) {
				data = parseData(data)
				addToCache(q, data);
				findValueCallback(q, data);
			});
		} else {
			// no matches
			findValueCallback(q, null);
		}
	}

	function findValueCallback(q, data){
		if (data) $input.removeClass(options.loadingClass);

		var num = (data) ? data.length : 0;
		var li = null;

		for (var i=0; i < num; i++) {
			var row = data[i];

			if( row[0].toLowerCase() == q.toLowerCase() ){
				li = document.createElement("li");
				if (options.formatItem) {
					li.innerHTML = options.formatItem(row, i, num);
					li.selectValue = row[0];
				} else {
					li.innerHTML = row[0];
					li.selectValue = row[0];
				}
				var extra = null;
				if( row.length > 1 ){
					extra = [];
					for (var j=1; j < row.length; j++) {
						extra[extra.length] = row[j];
					}
				}
				li.extra = extra;
			}
		}

		if( options.onFindValue ) setTimeout(function() { options.onFindValue(li) }, 1);
	}

	function addToCache(q, data) {
		if (!data || !q || !options.cacheLength) return;
		if (!cache.length || cache.length > options.cacheLength) {
			flushCache();
			cache.length++;
		} else if (!cache[q]) {
			cache.length++;
		}
		cache.data[q] = data;
	};

	function findPos(obj) {
		var curleft = obj.offsetLeft || 0;
		var curtop = obj.offsetTop || 0;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
		return {x:curleft,y:curtop};
	}
}

jQuery.fn.autocomplete = function(url, options, data) {
	// Make sure options exists
	options = options || {};
	// Set url as option
	options.url = url;
	// set some bulk local data
	options.data = ((typeof data == "object") && (data.constructor == Array)) ? data : null;

	// Set default values for required options
	options.inputClass = options.inputClass || "ac_input";
	options.resultsClass = options.resultsClass || "ac_results";
	options.lineSeparator = options.lineSeparator || "\n";
	options.cellSeparator = options.cellSeparator || "|";
	options.minChars = options.minChars || 1;
	options.delay = options.delay || 400;
	options.matchCase = options.matchCase || 0;
	options.matchSubset = options.matchSubset || 1;
	options.matchContains = options.matchContains || 0;
	options.cacheLength = options.cacheLength || 1;
	options.mustMatch = options.mustMatch || 0;
	options.extraParams = options.extraParams || {};
	options.loadingClass = options.loadingClass || "ac_loading";
	options.selectFirst = options.selectFirst || false;
	options.selectOnly = options.selectOnly || false;
	options.maxItemsToShow = options.maxItemsToShow || -1;
	options.autoFill = options.autoFill || false;
	options.width = parseInt(options.width, 10) || 0;

	this.each(function() {
		var input = this;
		new jQuery.autocomplete(input, options);
	});

	// Don't break the chain
	return this;
}

jQuery.fn.autocompleteArray = function(data, options) {
	return this.autocomplete(null, options, data);
}

jQuery.fn.indexOf = function(e){
	for( var i=0; i<this.length; i++ ){
		if( this[i] == e ) return i;
	}
	return -1;
};


//Operate:
function findValue(li) {
    if (li == null) return alert("No match!");

    // if coming from an AJAX call, let's use the CityId as the value
    if (!!li.extra) var sValue = li.extra[0];

    // otherwise, let's just display the value in the text box
    else var sValue = li.selectValue;

    var totalurl = '/results.aspx?sparam=' + sValue;
    $(location).attr('href', totalurl);
}

function selectItem(li) {
    findValue(li);
}


$(document).ready(function () {
    $("#search").autocompleteArray(["3 mile island", "abu dhabi", "abwr", "accident", "accidents", "advanced nuclear power reactors", "advantages", "advantages of nuclear energy", "advantages of nuclear power", "aecl", "africa", "africa uranium mining", "agr", "akkuyu", "algeria", "allegro", "alstom", "amec", "america", "american centrifuge plant", "americium", "angra", "angra 1", "angra 3", "ansaldo", "anshas", "ap1000", "APR1400", "apwr", "areva", "areva 2011", "argentina", "armenia", "asco", "asia", "astrid", "atmea", "atucha", "australia", "australia uranium", "austria", "azerbaijan", "babcock", "background radiation", "bangladesh", "barc", "bechtel", "belarus", "belene", "belgium", "bellefonte", "benefits", "benefits of nuclear power", "berkeley", "beryllium", "beznau", "biology", "biomass", "Bohunice 5", "boiling water reactor", "borssele", "braka", "brasil", "brazil", "breeder", "breeder reactor", "breeder reactors", "britain", "British energy", "browns ferry", "bruce", "bruce power", "bruce power 2011", "bulgaria", "bushehr", "bwr", "calvert", "calvert cliffs", "cameco", "canada", "canada-based mds nordion", "candu", "capacity", "capacity factor", "carbon", "careers", "carem", "centrifuge", "cernavoda", "cesium", "cez", "cgnpc", "CH2M Hill", "chalk river", "chashma", "chernobyl", "chernobyl accident", "chernobyl disaster", "chernobyl nuclear accident", "chernobyl three mile island", "chernobyl today", "chile", "china", "china nuclear", "china uranium", "chubu", "climate change", "cnnc", "co2", "coal", "cobalt 60", "cobalt-60", "cold fusion", "colombia", "construction", "containment", "control rods", "converdyn", "conversion", "coolant", "coolants", "cooling power plants", "cooling tower", "copyright", "cordel", "cost", "cost of nuclear energy", "cost of nuclear power", "cost of nuclear power plant", "cost of uranium", "costs", "countries", "country profiles", "country regulations on environmental protection", "croatia", "crystal river", "cuba", "czech", "czech republic", "daiichi", "darlington", "data", "day", "daya bay", "decommission", "decommissioning", "decommissioning costs", "deconversion", "demand", "demand of uranium", "denison", "denmark", "depleted uranium", "desalination", "diablo canyon", "disadvantages of nuclear energy", "disadvantages of nuclear power", "disposal", "DOE", "doel", "doosan", "dounreay", "eagle rock", "earthquake", "economic", "economics", "economics of nuclear power", "edano", "edf", "education", "efficiency", "egypt", "electricity", "electricity generation", "embalse", "emerging nuclear energy countries", "emirates", "employment", "energy", "energy solutions", "england", "enrichment", "ensa", "entergy", "environment", "eon", "epc", "epr", "esbwr", "estonia", "eu", "europe", "european union", "evacuation", "Exelon", "exploration", "export", "fast breeder", "fast breeder reactors", "fast neutron reactors", "fast reactor", "fast reactors", "fbr", "fennovoima", "finland", "fission", "fission products", "flamanville", "Flexblue", "floating", "fluor", "forging", "forsmark", "fort calhoun", "france", "france nuclear", "french", "fuel", "fuel assembly", "fuel cycle", "fuel fabrication", "fuel management", "fuel rod", "fuel rods", "fukushima", "fukushima accident", "fukushima accident 2011", "fukushima daiichi", "fukushima daini", "fukushima portal", "fuqing", "fusion", "future of nuclear energy", "gabon", "games", "gdf suez", "ge", "ge hitachi", "gen iv", "general electric", "generation", "generation 3", "generation iii", "generation iv", "german", "germany", "ghana", "global nuclear fuel market", "global warming", "glossary", "gold", "government", "graph", "graphite", "graphs", "great britain", "greece", "gundremmingen", "gurvan", "gwe", "haiyang", "half life", "hamaoka", "hanford", "heavy water", "hedge funds", "heu", "history", "history of nuclear power", "hitachi", "holland", "holtec", "hong kong", "horizon", "htr", "htr-pm", "hungary", "husab", "hydrogen", "hyperion", "iaea", "iberdrola", "ignalina", "incore fuel management", "india", "india nuclear power", "indonesia", "ines", "info", "insurance", "investing", "iodine", "iodine 131", "iran", "ireland", "irigary", "isotope", "isotopes", "israel", "italy", "ITER", "itochu", "jaitapur", "japan", "japan accident", "japan disaster", "japan earthquake", "japan nuclear", "japan nuclear power", "japan pwr", "jnfl", "job", "jobs", "john ritch", "joint venture", "jordan", "Kakrapar", "kalahari", "kaliningrad", "kalpakkam pfbr)", "kashiwazaki", "kashiwazaki-kariwa", "kazakhstan", "kazatomprom", "kenya", "kepco", "kerena", "kewaunee", "khnp", "klt-40s", "koeberg", "korea", "kozloduy", "krsko", "kudankulam", "kursk", "kuwait", "kyshtym", "laguna verde", "latvia", "lftr", "liability", "libya", "life extension", "light water reactor", "lightbridge", "ling ao", "lithium", "lithuania", "load factor", "loviisa", "lungmen", "magnox", "maintenance", "malaysia", "map", "maps", "marcoule", "market report", "mayak", "medical isotopes", "medicine", "meltdown", "merkel", "mexico", "middle east", "mining", "mitsubishi", "mo-99", "mochovce", "moldova", "molten salt", "Molybdenum", "mongolia", "monju", "morocco", "mox", "mox fuel", "mpower", "myrrha", "namibia", "natural gas", "nda", "nebraska", "NEK", "netherlands", "new build", "new zealand", "news", "niger", "nigeria", "norm", "north anna", "north korea", "norway", "npcil", "NPT", "nrc", "nsg", "nuclear", "nuclear accident", "nuclear accidents", "nuclear electricity", "nuclear electricity production", "nuclear emergency", "nuclear energy", "nuclear fission", "nuclear fuel", "nuclear fuel cycle", "nuclear fusion", "nuclear history", "nuclear liability", "nuclear medicine", "nuclear meltdown", "nuclear plant", "nuclear power in america", "nuclear power in argentina", "nuclear power in australia", "nuclear power in belgium", "nuclear power in brazil", "nuclear power in bulgaria", "nuclear power in canada", "nuclear power in china", "nuclear power in china", "nuclear power in england", "nuclear power in europe", "nuclear power in finland", "nuclear power in france", "nuclear power in germany", "nuclear power in india", "nuclear power in iran", "nuclear power in Italy", "nuclear power in japan", "Nuclear Power in Korea", "nuclear power in north korea", "nuclear power in pakistan", "nuclear power in poland", "Nuclear Power in Russia", "nuclear power in slovakia", "nuclear power in south africa", "nuclear power in south korea", "Nuclear Power in Spain", "nuclear power in sweden", "nuclear power in switzerland", "nuclear power in the uk", "nuclear power in the united kingdom", "Nuclear power in the United States", "nuclear power in the usa", "nuclear power in the world", "nuclear power in the world today", "nuclear power in turkey", "nuclear power in uk", "nuclear power in ukraine", "nuclear power in united states", "nuclear power in us", "nuclear power in USA", "nuclear power plant", "nuclear power plant contract", "nuclear power plants", "nuclear power reactors", "nuclear power russia", "nuclear proliferation", "nuclear propulsion", "nuclear propulsion an option for argentina", "nuclear radiation", "nuclear radiation and health effects", "nuclear reactor", "nuclear reactors", "nuclear reprocessing", "nuclear safety", "nuclear security", "nuclear ships", "nuclear waste", "nuclear waste disposal", "nuclear waste management", "nugen", "nukem", "nuscale", "nuvia", "oecd", "Ohma", "oil", "ol3", "oldbury", "olkiluoto", "olkiluoto 3", "olkiluoto 4", "olympic dam", "onagawa", "onr", "ontario", "oskarshamn", "outage", "overnight epc cost", "paducah", "pakistan", "paks", "paladin", "pbmr", "peninsula", "penly", "peru", "pet", "pge", "philippines", "phwr", "pictures", "planned", "plans for new reactors worldwide", "plex", "plutonium", "point beach", "poland", "policy", "pollution", "portugal", "power plants", "pressurized water reactor", "price", "prices", "prism", "production", "progress energy", "project", "project financing", "proliferation", "public", "public opinion", "purex", "pwr", "Pyhäjoki or Simo", "radiation", "radiation and life", "radiation levels", "radioactive", "radioactive waste", "radioactive waste management", "radioactivity", "radioisotope", "radioisotopes", "radioisotopes in agriculture", "radioisotopes in industry", "radioisotopes in medicine", "radon", "rajasthan", "Rajasthan-7", "ranger", "rbmk", "reactor", "reactor types", "reactors", "renewable energy", "reprocessing", "research", "research reactor", "research reactors", "reserves", "resources", "rolls royce", "romania", "rosatom", "russia", "rwe", "safety", "safety of nuclear power reactors", "safety of nuclear reactors", "sanmen", "saudi", "saudi arabia", "scana", "secondary", "secondary supply", "security", "seismic", "sellafield", "serbia", "shaw", "shaw group", "Shin Kori", "siemens", "sievert", "silex", "simulator", "singapore", "sizewell", "sizewell b", "slovakia", "slovenia", "small modular reactor", "small modular reactors", "small nuclear power reactors", "small nuclear reactors", "small reactor", "small reactors", "smart", "smoke detectors", "smp", "smr", "SNC Lavalin", "solar energy", "south africa", "south korea", "south texas", "south texas project", "spain", "spent fuel", "spent nuclear fuel", "staff", "statistics", "steam generators", "steve kidd", "storage", "stp", "stress", "stress test", "stress tests", "studsvik", "studsvik outage", "submarine", "sudan", "supply", "supply chain", "supply of uranium", "suur-pakri island", "sweden", "swiss", "switzerland", "swu", "symposium", "syria", "taishan", "taiwan", "tanzania", "technetium", "temelin", "tenex", "tepco", "terrorism", "texas", "thailand", "the economics of nuclear power", "the nuclear fuel cycle", "thorium", "thorium reactor", "thorium reactors", "thorp", "three mile", "three mile island", "three mile island accident", "three miles island", "tianwan", "tmi", "tokaimura", "toshiba", "training", "transmutation", "transport", "transports", "trekkopje", "tricastin", "tritium", "tsuruga", "tunisia", "turkey", "turkey point", "tva", "TVEL", "tvo", "uae", "uk", "UK Nuclear", "uk nuclear power", "ukraine", "under construction", "unistar", "united arab emirates", "united kingdom", "united states", "uprate", "uran", "uranium", "uranium company", "uranium consumption", "uranium demand", "uranium enrichment", "uranium exploration", "uranium in canada", "uranium market", "uranium markets", "uranium mines", "uranium mining", "uranium one", "uranium price", "uranium prices", "uranium producers", "uranium production", "uranium required", "uranium requirements", "uranium reserve", "uranium reserves", "uranium resources", "uranium sources", "uranium supply", "uranuim", "urenco", "urs", "us", "us russia 123", "usa", "US-APWR", "usec", "uses of nuclear energy", "uzbekistan", "vacancies", "vattenfall", "venezuela", "video", "videos", "vietnam", "visaginas", "vitrification", "vogtle", "vver", "wano", "waste", "waste disposal", "waste management", "water", "watts bar", "weapons", "westinghouse", "what is nuclear energy", "what is nuclear power", "william states lee", "wind power", "windscale", "wna logo", "wolsong", "world", "world map", "world nuclear power reactors", "world uranium mining", "world uranium production", "wylfa", "yangjiang", "yellowcake", "yucca", "yucca mountain", "zirconium"],
		{ delay: 10, minChars: 1, matchSubset: 1, onItemSelect: selectItem, onFindValue: findValue, autoFill: true, maxItemsToShow: 10 }
        );
});

