/**
 * library.js
 *
 * History:
 * - 2009-02-27 ck: hinzufügen der Methoden hideWindow(), insertProposal(),
 *					searchSuggestions() und searchSuggesions_callback()
 * - 2008-05-25 ck: hinzufügen der Methode insertMail() (Mantis #574)
 */

function popupNormal(sUrl, sWidth, sHeight)
{
	var popup;

	popup = window.open(sUrl, 'PressRelease','toolbar=yes,location=no,directories=no,status=no,menubar=no,scrollbars=yes,screenX=10,screenY=10,resizable=yes,width=' + sWidth + ',height=' + sHeight, true);
	if(navigator.appName.indexOf('Netscape') != -1)
		popup.focus();
}

function popupPicture(sUrl, sWidth, sHeight)
{
	var popup;
	//var sWidth=sWidth+10;
	//var sHeight=sHeight+10;

	popup = window.open(sUrl, 'PictureViewer','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,screenX=10,screenY=10,resizable=yes,width=' + sWidth + ',height=' + sHeight, true);
	if(navigator.appName.indexOf('Netscape') != -1)
		popup.focus();
}

function printpage() {
	if (window.print)
		window.print();
	else
		alert("Leider unterstützt Ihr Browser diese Funktion nicht. Bitte aktivieren Sie die Druckfunktion Ihres Browsers manuell.");
}

/*
 * Blendet das div mit der gegebenen ID aus
 *
 * string text			ID des auszublendenden Elements
 */
function hideWindow(element) {
	document.getElementById(element).style.display = "none";
}

/*
 * fügt einen vorgeschlagenen Begriff in ein Textfeld ein
 *
 * string idInput 		ID des Textelds, in das der Begriff eingefügt werden soll
 * string idResults		ID des Divs für die Suchergebnisse
 * string proposal		Inhalt, der in das Textfeld eingefügt werden soll
 * string submitForm	submit sendet das Formular nach dem Einfügen des Begriffs ab
 *						nosubmit schreibt den Begriff nur in das Eingabefeld, sendet das Formular nicht ab
 */
function insertProposal(idInput, idResults, proposal, submitForm) {
	document.getElementById(idInput).value = proposal;
	hideWindow(idResults);
	document.getElementById(idInput).focus();
	if(submitForm == 'submit') {
		document.suche.submit();
	}
	return false;
}

/*
 * Funktion zur Suche der Suchvorschläge
 *
 * string text			Text, nach dem gesucht wird
 * string idInput		ID des Texteingabefelds
 * string idResults		ID des Divs für die Suchergebnisse
 * string submitForm	submit sendet das Formular nach dem Anklicken des Begriffs ab
 *						nosubmit schreibt den Begriff nur in das Eingabefeld, sendet das Formular nicht ab
 */
function searchSuggestions(text, idInput, idResults, submitForm) {
	// reset des Timers zum Ausblenden des Vorschlagsfensters
	if (typeof(timeout_ajaxnamesearch) != 'undefined')
		window.clearTimeout(timeout_ajaxnamesearch);

	// bereinigen des Strings
	text 		= text.replace(/^\s+|\s+$/g,"");

	// unter 3 Zeichen wird nicht gesucht
	if (text.length < 3) {
		hideWindow(idResults);
		return;
	}

	// Aufruf der PHP-Funktion
	x_searchSuggestions(text, idInput, idResults, submitForm, searchSuggestions_callback);

	// setzen des Timers zum Ausblenden des Vorschlagfensters
	timeout_ajaxnamesearch = window.setTimeout('hideWindow("' + idResults + '")', 10000);
}

/*
 * Sajax Callback Function für searchSuggestions()
 *
 * erg					Ergebnis (JSON)
 * string idResults		ID des Elements, in den die Ergebnisse angezeigt werden sollen
 */
function searchSuggestions_callback(erg)
{
	erg = eval("(" + erg + ")");

	searchSuggestionsDiv = document.getElementById(erg.idResults);

	// Abbruch, wenn das ErgebnisDiv nicht gefunden wird
	if (!searchSuggestionsDiv)
		return;

	// Ausblenden des ErgebnisDivs, wenn keine Ergebnisse vorliegen
	if (erg.content == "") {
		searchSuggestionsDiv.style.display = "none";
	// einblenden des ErgebnisDivs und reinschreiben der Suchergebnisse
	} else {
		searchSuggestionsDiv.style.display = "block";
		searchSuggestionsDiv.innerHTML = erg.content;
	}
}

/**
 * setzt aus Teilen eine E-Mail Adresse zusammen (als Spamschutz)
 * string acc		Account (Teil vor dem @)
 * string srv		Server  (Teil zwischen @ und erstem . nach dem @)
 * string dom		Domain	(Teil nach dem ersten . nach dem @)
 * string type		Ausgabetyp (Text oder Link)
 * string linktext	Linktext
 * string cssclass	CSS-Klasse
 */
function insertMail(acc, svr, dom, type, linktext, cssclass) {
	code = '';
	if (type == "link") {
		code = '<a href="mailto:' + acc + '@' + svr + '.' + dom + '" ';
		if (cssclass) {
			code += 'class="' + cssclass + '"';
		}
		code += '>';
		if (linktext) {
			code += Base64.decode(linktext);
		} else {
			code += acc + '@' + svr + '.' + dom;
		}
		code += '</a>';
	} else {
		code = acc + '@' + svr + '.' + dom;
	}
	document.write(code);
}

/**
 *	Event Handler Gallery Thumbs
 */
function mouseOver(divId, varContent) {
	document.getElementById(divId).style.visibility = 'visible';
	document.getElementById(divId).innerHTML = varContent;
}

function mouseOut(divId) {
	document.getElementById(divId).style.visibility = 'hidden';
	document.getElementById(divId).innerHTML='';
}

/**
 *	Map 24
 */

function map24_removeDefaultValues(){
	if (document.link2map24.s.value == 'Adresse') 	document.link2map24.s.value 	= '';
}

/**
 *	Home Standorte
 */

function showInfo(evObj)
{
	document.getElementById("infofield" + evObj.id.split("maparea")[1]).style.visibility = "visible";
}
function hideInfo(evObj)
{
	document.getElementById("infofield" + evObj.id.split("maparea")[1]).style.visibility = "hidden";
}