var ajax

/* start new ajax request */
function loadajax(url, function_name)
{
	ajax=null
	// code for Mozilla, etc.
	if (window.XMLHttpRequest)
	{
		ajax=new XMLHttpRequest()
	}
	// code for IE
	else if (window.ActiveXObject)
	{
		ajax=new ActiveXObject("Microsoft.XMLHTTP")
	}
	// init succeded
	if (ajax!=null)
	{
		ajax.onreadystatechange=function_name;
		ajax.open('GET',url,true)
		ajax.send(null)
	}
}

// init page
function init()
{
	// show newsletter message
	if(newsletter_message != '')
		alert(newsletter_message);
}




/* SEARCH */
var search_min_length = 3;
var search_default = true;
var search_box;
var search_last = "";
var suggestions_box;

var search_focused = false;
var search_over = false;

function search_init()
{
	// load search box
	search_box = document.getElementById("search-box");
	suggestions_box = document.getElementById("search-suggestions");
	search_blur();
}

// initialize search box again
function search_set_default()
{
	if(search_box.value == "")
	{
		// show information centered grey
		search_default = true;
		search_box.style.color = "#9e9e9e";
		search_box.style.textAlign = "center";
		search_box.value="- Angebot suchen -";
	}
}

function search_focus()
{
	search_focused = true; // remember that box is selected
	
	// hide description when entering box
	if(search_default)
	{
		search_box.value="";
		search_default = false;
		search_box.style.color = "#000000";
		search_box.style.textAlign = "left";
	}
	// re show suggestions
	else if(search_box.value.length >= search_min_length)
	{
		suggestions_box.style.display = "block";
	}
}

function search_changed()
{
	// last search term differs from current
	if(!search_last != search_box.value)
	{
		// remember search term
		search_last = search_box.value;

		if(search_default || (search_box.value.length < search_min_length))
		{
			// hide suggestions
			suggestions_close();
		}
		else
		{
			// load suggestions
			loadajax("./suggestions.php?q=" + search_box.value, suggestions_show)
		}
	}
}

// show suggestions
function suggestions_show()
{
	// received data
	if (ajax.readyState==4)
	{
		// receiving succeded
		if (ajax.status==200)
		{
			suggestions_box.innerHTML = ajax.responseText;
			suggestions_box.style.display = "block";
		}
		else
		{ // ajax failed
			suggestions_hide();
		}
	}
}

function suggestions_close()
{
	suggestions_box.style.display = "none";
}

function suggestions_hide()
{
	// user is not above suggestion box and hast not selected search box
	if((!search_focused) & (!search_over))
	{
		// reset search
		search_set_default();
		// close suggestions box
		suggestions_close();
	}
}


// user has not focused search box any more
function search_blur()
{
	search_focused = false;
	suggestions_hide();
}

// mouse is above suggestions box
function search_mouseover()
{
	search_over = true;
}
// mouse isn't above suggestions box
function search_mouseout()
{
	search_over = false;
}

// user has clicked somewhere in document
function document_click(event)
{
		suggestions_hide();
}
document.onmousedown = document_click;