/* 
	Star-QuickinfoWindow
	#################################################### 

*/
function quickinfo(id,active,e) {
	var request_stop = "";
	var posx = 0;
	var posy = 0;

	if (!e) var e = window.event;

	if (e.pageX || e.pageY) 	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else if (e.clientX || e.clientY) 	{
		posx = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}

	quickinfo_box = document.getElementById('quickinfo-'+ id)
	if(quickinfo_box.style.display == 'none' && active == true) {
		quickinfo_box.style.display = 'block';
		quickinfo_box.left = posx + 'px';
		quickinfo_box.style.left = posx + 'px';
		quickinfo_box.top = posy + 3 + 'px';
		quickinfo_box.style.top = posy + 3 + 'px';
		if(quickinfo_box.innerHTML == '' && request_stop != 1) {
			request_stop = 1;
			quickinfo_box.innerHTML = '';
			loadData(id, quickinfo_box);
			request_stop = "";
		}
	}
	if(quickinfo_box.style.display == 'block' && active == false) {
		quickinfo_box.style.display = 'none';
	}
}

function loadData(id, quickinfo_box) {
	xmlHttp = getXmlHttp();

	if (xmlHttp) {
		if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) {
			// kein request am laufen
			xmlHttp.open('GET', '/_components/content/starbasecontent/get_content.php?star='+ id, true);
			xmlHttp.onreadystatechange = function () {
				if (xmlHttp.readyState == 4) {
					var newdiv = document.createElement("span");
					newdiv.innerHTML = xmlHttp.responseText;
					quickinfo_box.appendChild(newdiv);
				}
			}
			xmlHttp.send(null);
		}
	}
}

function getXmlHttp() {
	//globale Instanz von XMLHttpRequest
	var xmlHttp = false;

	//XMLHttpRequest-Instanz erstellen
	//  ...Internet Explorer
	try {
		xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
	} catch(e) {
		try {
			xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
		} catch(e) {
			xmlHttp  = false;
		}
	}
	// ...Mozilla, Opera, Safari usw.
	if (!xmlHttp  && typeof XMLHttpRequest != 'undefined') {
		xmlHttp = new XMLHttpRequest();
	}

	return xmlHttp;
}

/*
	Linkbait
	#################################################### 

*/

function verlinken(e) {
	var posx = 0;
	var posy = 0;

	if (!e) var e = window.event;

	if (e.pageX || e.pageY) 	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else if (e.clientX || e.clientY) 	{
		posx = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}

	quickinfo_box = document.getElementById('verlinken');
	if(quickinfo_box.style.display == 'none') {
		quickinfo_box.style.display = 'block';
		quickinfo_box.left = posx + 'px';
		quickinfo_box.style.left = posx + 'px';
		quickinfo_box.top = posy + 3 + 'px';
		quickinfo_box.style.top = posy + 3 + 'px';
	}else{
		quickinfo_box.style.display = 'none';
	}
	
}

/* 
	SEO
	#################################################### 

*/

// Für Google schreiben wir Spitzmarke und Headline in ein H1-Tag
// und zerlegen es anschliessend wegen des Designs per JS.
function customizeHeadlines(headline_tag,headline_text,spitzmarken_tag,spitzmarke_text){
	
	document.getElementById(headline_tag).innerHTML = headline_text;
	document.getElementById(spitzmarken_tag).innerHTML = spitzmarke_text;
}

function hideLandingPage() {
  document.getElementById("landingpage").style.visibility = "hidden";
}

/*
	AJAX Search Suggest	
	####################################################
	Copyright 2006 Ryan Smith / 345 Technical / 345 Group.	

*/
//Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		// alert("Your Browser Sucks!\nIt's about time to upgrade don't you think?");
	}
}

//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();

//Called from keyup on the search textbox.
//Starts the AJAX request.
function searchSuggest(e) {
	
	if (e.keyCode != Event.KEY_UP && e.keyCode != Event.KEY_DOWN && e.keyCode != Event.KEY_RETURN) {
		if (searchReq.readyState == 4 || searchReq.readyState == 0) {
			var str = escape($('txtSearch').value);
			searchReq.open("GET", '/_components/data/search_suggest.html?q=' + str, true);
			searchReq.onreadystatechange = handleSearchSuggest; 
			searchReq.send(null);
		}
	} else {
		suggestKeyMove(e);
	}
}


//Called when the AJAX response is returned.
function handleSearchSuggest() {	
	if (searchReq.readyState == 4) {
		var ss = $('search_suggest');
		ss.style.display='block';
		ss.innerHTML = '';
		var str = searchReq.responseText.split("\n");
		for(i=0; i <= str.length - 1; i++) {
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
		}
		counter = 0;
	}
	
}



function suggestDisappear() {
	setTimeout("document.getElementById('search_suggest').style.display='none';",3000);
}

function suggestKeyMove(e) {
	var children = $A($("search_suggest").childNodes);
	var old_counter;
	
	if ( typeof(counter) == "undefined" ) {
		counter = 0;
	}
  
	switch (e.keyCode) {
		case Event.KEY_RETURN:
			setSearch(children[counter-1].innerHTML);
		break;
  
		case Event.KEY_UP:
			Event.stop(e);
			if (counter > 0) {
				counter--;
				if (children[counter-1]) children[counter-1].setAttribute("class", "suggest_link");
				if (children[counter]) children[counter].setAttribute("class", "suggest_link_over");
				if (children[counter+1]) children[counter+1].setAttribute("class", "suggest_link");
			}
		break;
  
		case Event.KEY_DOWN:
			Event.stop(e);
			if (counter <= children.length - 1) {
				if (children[counter-1]) children[counter-1].setAttribute("class", "suggest_link");
				if (children[counter]) children[counter].setAttribute("class", "suggest_link_over");
				if (children[counter+1]) children[counter+1].setAttribute("class", "suggest_link");
				counter++;
			}
		break;
	}
}

//Mouse over function
function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOut(div_value) {
	div_value.className = 'suggest_link';
}
//Click function
function setSearch(value) {
	document.getElementById('search_suggest').style.display = 'block';
	
	document.getElementById('txtSearch').value = value;
	document.getElementById('search_form').submit();
}

function CenterPage(){
	//alert("debug: center page - margin:"+document.getElementById('wholePage').style.margin.value);
	document.body.style.textAlign='center'; 
	document.getElementById('wholePage').style.margin='auto'; 
	return true;
}
/* 
	#################################################### 
*/
