// JavaScript Document

var websitedir = "http://www.ukdirect2you.co.uk/"
var theDate = new Date();
var isMenuOpen = false;
var showNoSuggestions = true;
var highlighted = 0;
var item_counter = 0;
var disable_menu = false;

function getSearchHelp() {
	if (!disable_menu) {
		if (isMenuOpen) {removeSearchMenu();}
		isMenuOpen = false;
		showNoSuggestions = true;
		item_counter = 0
		
		if (document.getElementById('keyword').value.length>2) {
			getSearchHelpFirst();
			
			if (showNoSuggestions) {
				var newUl,newLi,
				newUl = document.createElement('ul');
				newUl.setAttribute('id','results_list');
				
				newLi = document.createElement('li');
				newText = document.createTextNode("No suggestions");
				newLi.appendChild(newText);
				newUl.appendChild(newLi);
				
				document.getElementById("search_results_content").appendChild(newUl);
				document.getElementById("search_results_popup").style.display = 'block';
				isMenuOpen = true;
			}
		}
		else {
			document.getElementById("search_results_popup").style.display = 'none';
			if (isMenuOpen) {removeSearchMenu();}
			isMenuOpen = false;
		}
	}
}

function arrowDown() {
	if (highlighted+1<=item_counter) {
		if (highlighted!=0) {
			document.getElementById('search_highlight_' + highlighted).className = 'search_item';
		}
		
		highlighted = highlighted + 1;
		
		document.getElementById('search_highlight_' + highlighted).className = 'search_highlight';
	}
}

function arrowUp() {
	if (highlighted>0) {
		document.getElementById('search_highlight_' + highlighted).className = 'search_item';
		
		highlighted = highlighted - 1;
		
		if (highlighted!=0) {
			document.getElementById('search_highlight_' + highlighted).className = 'search_highlight';
		}
	}
}

function arrowSubmit() {
	if (isMenuOpen) {
		if (highlighted>0) {
			document.getElementById('keyword').value = removeHTML(document.getElementById('search_highlight_' + highlighted).innerHTML);
			closeSearchMenu();
		}
	}
}

function getSearchHelpKeyPress(field, evt) {
	var isIE6 = false;
	
	if(window.XMLHttpRequest) {
		if(window.ActiveXObject) {// IE 7
		}
		else {// Opera, Safari, Firefox
		}
	}
	else {//IE 6 and below
		isIE6 = true;
	}

	if (!isIE6) {
		var keyCode =
			document.layers ? evt.which :
			document.all ? event.keyCode :
			document.getElementById ? evt.keyCode : 0;
			
		var r = '';
		if (keyCode == 40) 
			arrowDown();
		else if (keyCode == 38)
			arrowUp();
		else if (keyCode == 13 ) {
			if (isMenuOpen && highlighted>0)
				arrowSubmit();
			else
				document.getElementById('search_form').submit();
		}
		else
			getSearchHelp();
	}
		
  return true;
}

function getSearchHelpFirst() {
	var keyword = document.getElementById('keyword').value;
	var search_menu = document.getElementById("search_results_popup");
	var search_results_content = document.getElementById("search_results_content");
	
	var url = websitedir + "_get_search_help.asp?time_date=" + theDate.getTime();	
	var params = "&keyword=" + escape(keyword) + "&category=" + escape(document.getElementById('categories').value);
	
	var xmlDoc
	
	if (window.XMLHttpRequest)
	{
		xmlDoc=new window.XMLHttpRequest();
		xmlDoc.open("GET",url + params,false);
		xmlDoc.send("");
		xmlDoc=xmlDoc.responseXML;
	}
	// IE 5 and IE 6
	else if (ActiveXObject("Microsoft.XMLDOM"))
	{
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async=false;
		xmlDoc.load(url + params);
	}

	var results=xmlDoc.getElementsByTagName("result");
	
	var newUl
	var newLi
	var newA
	var newText
	
	if (results.length>0) {
		newUl = document.createElement('ul');
		newUl.setAttribute('id','results_list');
		for (i=0;i<results.length;i++)
		{
			item_counter = item_counter + 1;
			
			newLi = document.createElement('li');
			newA = document.createElement('a');
			newA.href = "javascript:document.getElementById('keyword').value='" + results[i].getElementsByTagName('title')[0].childNodes[0].nodeValue + "';closeSearchMenu();";
			newA.innerHTML = replaceBold(results[i].getElementsByTagName("HTML_title")[0].childNodes[0].nodeValue);
			newA.setAttribute('id','search_highlight_' + item_counter);
			newA.className = 'search_item';
			newLi.appendChild(newA);
			newUl.appendChild(newLi);
		}
		
		search_results_content.appendChild(newUl);
		search_menu.style.display = 'block';
		
		isMenuOpen = true;
		
		showNoSuggestions = false;
		
	} else {
		//do nothing
	}
}

function removeSearchMenu() {
	node = document.getElementById('results_list');
	
	if (node.parentNode) {
		node.parentNode.removeChild(node);
	}
}

function closeSearchMenu() {
	document.getElementById("search_results_popup").style.display = 'none';
	if (isMenuOpen) {removeSearchMenu();}
	isMenuOpen = false;
}

function replaceBold(text) {
	var new_text = text.replace(/8888/g, "<strong>");
	
	return new_text.replace(/9999/g,"</strong>");
}

function removeHTML(text) {
	if (text!='') {
		var new_text = text.replace(/<strong>/g,'');
		return new_text.replace(/<\/strong>/g,'');
	}
}

function disableMenu() {
	disable_menu = true;
}
