/**
 * @author Kenneth.priisholm
 */
//Setting namespaces
var NN;
if(!NN || typeof NN == "undefined"){
	NN = {};
}
if(!NN.AnnualReport || typeof NN.AnnualReport == "undefined"){
	NN.AnnualReport = {};
}

NN.AnnualReport.Suggest = function(){
    var props = {
		input : {
			id : "searchfield"
		},
		suggestContainer : {
			id : "sc1",
			className : "suggestContainer",
			style : {
				"position" : "absolute",
				"top" : "22px",
				"padding" : "5px 0"
			}
		},
		request : {
			url : "http://enviru.novonordisk.com/searchterms.aspx",
			method : "GET",
			searchParam : "queryterms"
		},
		response : {
			type : "xml",
			resultField : "term"
		},
		interval : 500,
		showSuggest : function(){
			if(_xhr.readyState == 4){
				if(_xhr.status == 200){
					_this.input.setAttribute("tabIndex", "1");
					_this.suggestContainer.innerHTML = "";
					var terms = _xhr.responseXML.documentElement.getElementsByTagName("term");
					for(var i = 0, l = terms.length; i < l; i++){
						var term = terms[i].firstChild.nodeValue;
						var re = new RegExp("("+_this.input.value +")");
						var termX = term.replace(re, "<span class=\"match\">$1</span>");
						var count = terms[i].getAttribute("count");
						var itemA = document.createElement("a");
						itemA.href = "javascript://";
						itemA.className = "term";
						itemA.setAttribute("tabIndex", (2 + i).toString());
						itemA.setAttribute("title", term);
						var countSpan = document.createElement("span");
						countSpan.className = "counter";
						//itemA.appendChild(document.createTextNode(term));
						itemA.innerHTML = termX;
						countSpan.appendChild(document.createTextNode(count));
						itemA.appendChild(countSpan);
						DOMUtils.addEvent(itemA, "click", parse);
						_this.suggestContainer.appendChild(itemA);
					}
					_this.suggestContainer.style.display = "block";
				}
				else {
					//alert(_xhr.status + ": " + _xhr.statusText);
				}
			}
			function parse(e){
				e = e || window.event;
				var target = DOMUtils.findTarget(e);
				_this.transfer(target.title);
			}
		}
	};
	return {
		suggest : null,
		init : function(){
			this.suggest = new NN.Suggest(props);
		}
	}
}();

DOMUtils.addEvent(window, "load", NN.AnnualReport.Suggest.init, false);