function RequestObject() {
                if (window.XMLHttpRequest) {
                                 return new XMLHttpRequest();
                } else if(window.ActiveXObject) {
                                 return new ActiveXObject("Microsoft.XMLHTTP");
                } else {
                                 alert("Ihr Browser unterstützt diese Funktion leider nicht.");
                }
}
var connect = RequestObject();
function storeText()
{
                if (connect.readyState == 4 || connect.readyState == 0) {
                                 var data = escape(document.getElementById('shout_text').value);
                                 connect.open("GET", 'shoutbox.php?message=' + data, true);
                                 connect.onreadystatechange = getResponse;
                                 connect.send(null);
                }
}
function getResponse() {
                if (connect.readyState == 4) {
                                 var data = connect.responseText;
                                 document.getElementById('shoutboxArea').innerHTML = data;
                                  }
}

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?");
	}
}


var searchReq = getXmlHttpRequestObject();

function searchSuggest() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('txtSearch').value);
		searchReq.open("GET", 'searchSuggest.php?search=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest; 
		searchReq.send(null);
	}		
}

function handleSearchSuggest() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('search_suggest')
		ss.innerHTML = '';
		var str = searchReq.responseText.split("\n");
		for(i=0; i < str.length - 1; i++) {
		

			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;
		}
		if (i==0) {
			ss.style.visibility  = "hidden";
		} else {
			ss.style.visibility  = "visible";
		}
		
		ss.innerHTML += '<p align="right"><a onmouseover="javascript:suggestOver(this);" onmouseout="javascript:suggestOut(this);" onClick="javascript:suggestClose(this);" class="suggest_link"><b>Fenster schlie�en</b></a></p>';
	}
}

function suggestClose (div_value) {
	document.getElementById('search_suggest').innerHTML = '';
	document.getElementById('search_suggest').style.visibility  = "hidden";
}


function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
}

function suggestOut(div_value) {
	div_value.className = 'suggest_link';
}

function setSearch(value) {

  	var newvalue = value.replace(/<.*?>/gi, '');

	var Suche =	newvalue.indexOf("&nbsp;");
	var produktname = newvalue.substring(0,Suche);
	document.getElementById('txtSearch').value = produktname;
	document.getElementById('search_suggest').innerHTML = '';
	document.getElementById('search_suggest').style.visibility  = "hidden";
	//zum Suchergebnis weiterleiten
	top.location.href = "advanced_search_result.php?keywords=" + produktname; 
}




PopUp = function(autoapply){
	this.types = [];
	this.defaults = {
		width:800,
		height:600,
		top:0,
		left:0,
		location:false,
		resizable:false,
		scrollbars:false,
		status:false,
		toolbar:false,
		menubar:false,
		center:true,
		title:"Dieser Link wird in einem neuen Fenster ge&ouml;ffnet"
	}
	this.addType({
		name:"standard",
		location:true,
		resizable:true,
		scrollbars:true,
		status:true,
		toolbar:true,
		menubar:true
	});
	if(autoapply) this.apply();
}
o = PopUp.prototype;
o.apply = function(){
	var links = document.getElementsByTagName("a");
	if(!links) return;
	for(var i=0;i<links.length;i++){
		var l = links[i];
		if(l.className.indexOf("popup") > -1){
			this.attachBehavior(l,this.getType(l));
		}
	}
}
o.addType = function(type){
	for(var prop in this.defaults){
		if(type[prop] == undefined) type[prop] = this.defaults[prop];
	}
	this.types[type.name] = type;
}
o.getType = function(l){
	for(var type in this.types){
		if(l.className.indexOf(type) > -1) return type;
	}
	return "standard";
}
o.attachBehavior = function(l,type){
	var t = this.types[type];
	l.title = t.title;
	l.popupProperties = {
		type: type,
		ref: this
	};
	l.onclick = function(){
		this.popupProperties.ref.open(this.href,this.popupProperties.type);
		return false;
	}
}
o.booleanToWord = function(bool){
	if(bool) return "yes";
	return "no";
}
o.getTopLeftCentered = function(typeObj){
	var t = typeObj;
	var r = {left:t.left, top:t.top};
	var sh = screen.availHeight-20;
	var sw = screen.availWidth-10;
	if(!sh || !sw) return r;
	r.left = (sw/2)-(t.width/2);
	r.top = (sh/2)-(t.height/2);
	return r;
}
o.getParamsOfType = function(typeObj){
	var t = typeObj;
	var c = this.booleanToWord;
	if(t.center){
		var tc = this.getTopLeftCentered(typeObj);
		t.left = tc.left;
		t.top = tc.top;
	}
	var p = "width="+t.width;
	p+=",height="+t.height;
	p+=",left="+t.left;
	p+=",top="+t.top;
	p+=",location="+c(t.location);
	p+=",resizable="+c(t.resizable);
	p+=",scrollbars="+c(t.scrollbars);
	p+=",status="+c(t.status);
	p+=",toolbar="+c(t.toolbar);
	p+=",menubar="+c(t.menubar);
	return p;
}
o.open = function(url,type){
	if(!type) type = "standard";
	var t = this.types[type];
	var p = this.getParamsOfType(t);
	var w = window.open(url,t.name,p);
	if(w) w.focus();
	return false;
}
