String.prototype.trim = function()
{
	return this.replace(/^[\s]+|[\s]+$/, "");
};

function SuggestFramework_Create()
{

		SuggestFramework_InputContainer              = document.getElementById("help");
		
		SuggestFramework_InputContainer.autocomplete = "off";
//		SuggestFramework_InputContainer.onclick      = function() { SuggestFramework_ShowOutput(instance); SuggestFramework_Previous[instance] = '';};
//		SuggestFramework_InputContainer[instance].onfocus      = function() { 			SuggestFramework_ShowOutput(instance); 		};
//		SuggestFramework_InputContainer[instance].onkeydown    = function(event) { SuggestFramework_ProcessKeys(instance, event); };


		

  	
		if(!SuggestFramework_CreateConnection())
		{
			SuggestFramework_Proxy               = document.createElement("iframe");
			SuggestFramework_Proxy.id            = "proxy";
			SuggestFramework_Proxy.style.width   = "0";
			SuggestFramework_Proxy.style.height  = "0";
			SuggestFramework_Proxy.style.display = "none";
			document.body.appendChild(SuggestFramework_Proxy);

			if(window.frames && window.frames["proxy"])
				SuggestFramework_Proxy = window.frames["proxy"];
			else if(document.getElementById("proxy").contentWindow)
				SuggestFramework_Proxy = document.getElementById("proxy").contentWindow;
			else
				SuggestFramework_Proxy = document.getElementById("proxy");
		}
	//    SuggestFramework_Previous[instance] = SuggestFramework_InputContainer[instance].value;
	
		SuggestFramework_HideOutput();
		SuggestFramework_Throttle();


};

function SuggestFramework_Throttle()
{
	setTimeout("SuggestFramework_Query()", SuggestFramework_Delay);
};

function SuggestFramework_Query()
{
	SuggestFramework_Throttle();

  
	var phrase = document.getElementById("search-term").value;
	
	if(phrase == "" || phrase == "hledané slovo" || phrase == "szukane słowo" || phrase == "hľadané slovo" || phrase == "search word" || phrase == "cлово для поиска")
  {
  SuggestFramework_HideOutput();
  return;
  }
  
  if(phrase == SuggestFramework_Previous)
  {
  return;
  }
   
	SuggestFramework_Previous = phrase;

	phrase = phrase.trim();
	phrase = escape(phrase);
	SuggestFramework_Request(SuggestFramework_Action + "?type=" + SuggestFramework_Name + "&q=" + phrase);
	
	
};

function SuggestFramework_Request(url)
{
	if(SuggestFramework_Connection = SuggestFramework_CreateConnection())
	{
		SuggestFramework_Connection.onreadystatechange = function() { SuggestFramework_ProcessRequest() };
		SuggestFramework_Connection.open("GET", url, true);
		SuggestFramework_Connection.send(null);

	}
	else
	{
		SuggestFramework_Proxy.location.replace(url);
		SuggestFramework_ProcessProxyRequest();
	}
};

function SuggestFramework_ProcessProxyRequest()
{
	var result = ((SuggestFramework_Proxy.document) ? SuggestFramework_Proxy.document : SuggestFramework_Proxy.contentDocument);
	result = result.body.innerHTML.replace(/\r|\n/g, " ").trim();

	if(typeof(eval(result)) == "object")
		SuggestFramework_Suggest(result);
	else
		setTimeout("SuggestFramework_ProcessProxyRequest()", 100);
};

function SuggestFramework_ProcessRequest()
{
	if(SuggestFramework_Connection.readyState == 4)
	{
		if(SuggestFramework_Connection.status == 200) {
			SuggestFramework_Suggest(SuggestFramework_Connection.responseText);
		}
	}
};

function SuggestFramework_Suggest(list)
{
	SuggestFramework_Suggestions               = list;
	
       table = "<ul>"
			 table += SuggestFramework_Suggestions;
	     table += "</ul>"
   
	SuggestFramework_InputContainer.innerHTML = table;
	SuggestFramework_InputContainer.style.display = "block";
	
};

function SuggestFramework_HideOutput()
{
	SuggestFramework_InputContainer.style.display = "none";
};

function SuggestFramework_CreateConnection()
{
	var asynchronousConnection;

	try
	{
		asynchronousConnection = new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch(e)
	{
		if(typeof(XMLHttpRequest) != "undefined")
			asynchronousConnection = new XMLHttpRequest();
	}

	return asynchronousConnection;
};




function initializeSuggestFramework()
{
	function getAttributeByName(node, attributeName)
	{
		if(typeof(NamedNodeMap) != "undefined")
		{
			if(node.attributes.getNamedItem(attributeName))
				return node.attributes.getNamedItem(attributeName).value;
		}
		else
		{
			return node.getAttribute(attributeName);
		}
	}
	
	var inputElement = document.getElementById("search-term");
  

function initAC() {
if (!document.getElementById) return false;
var f = document.getElementById('search-term');
f.setAttribute("autocomplete", "off");
}

initAC();
  
  			SuggestFramework_Action  = "/include/suggest.php";
				SuggestFramework_Capture = 1;
				SuggestFramework_Columns = 1;
				SuggestFramework_Delay   = 1200;
				SuggestFramework_Heading = false;
				SuggestFramework_Name    = "query";



				SuggestFramework_Create();
				
  
};

// External
var SuggestFramework_Action           = new Array();
var SuggestFramework_Capture          = new Array(); // Default = 1;
var SuggestFramework_Columns          = new Array(); // Default = 1;
var SuggestFramework_Delay            = new Array(); // Default = 1000;
var SuggestFramework_Heading          = new Array(); // Default = false;
var SuggestFramework_Name             = new Array();

// Internal
var SuggestFramework_Connection       = new Array();
var SuggestFramework_InputContainer   = new Array();
var SuggestFramework_OutputContainer  = new Array();
var SuggestFramework_Previous         = new Array();
var SuggestFramework_Proxy            = new Array();
var SuggestFramework_Suggestions      = new Array();
var SuggestFramework_SuggestionsIndex = new Array();
