//------------------------------------------------------------------------------
// (C)opyright 2002 by Stephan Klein
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
//  mail(User, Domain, Subject, Body)
//
//		Es sollten in HTML-Dateien keine mailto-Links angelegt werden, da 
//		automatisierte Tools das Web nach eMail-Adressen durchsuchen. Daher
//		ist diese Funktion zu bevorzugen, da so die eMail-Adresse niemals als
//		ganzes im Klartext zu lesen ist.
//		Beispiel <a href="javascript:mail("test", "nowhere.de", "", "")		
//------------------------------------------------------------------------------
function mail(User, Domain, Subject, Body)
{	window.location.href = "mailto:" + User + "@" + Domain + "?subject=" + Subject + "&body=" + Body;
} // Ende: mail


//------------------------------------------------------------------------------
//  PreloadImages (ListOfURL)
//	
//		Diese Funktion lädt alle Bilder, deren URL als Parameter übergeben 
//		werden, zeigt diese aber nicht an. Wird später eine Seite mit diesen 
//		Bildern geladen, kann der Browser die Daten aus dem Cache lesen und
// 		die Seite daher schneller aufbauen.
//------------------------------------------------------------------------------
function PreloadImages()
{	if (document.images) 					// Werden Bilder unterstützt?
	{	if(!document.imgs) 					// Existiert bereits die Variable imgs innerhalb des Dokuments
			document.imgs = new Array(); 	// Wenn nicht: anlegen
		var i,j  = document.imgs.length;	// Zählervariablen anlegen und instanziieren
		var args = PreloadImages.arguments; // Hilfsvariable für die übergebenen Argumente anlegen
		for(i = 0; i < args.length; i++)	// Alle Argumente durchlaufen
		{	document.imgs[j] = new Image;		// neues Image Objekt anlegen
			document.imgs[j++].src = args[i];	// Bild laden
		}
	}
} // Ende: PreloadImages()


//------------------------------------------------------------------------------
// encode(str)
//
//		Ersetzt alle Leerzeichen des Strings durch + Zeichen. Anschließend
//		werden alle Steuerzeichen (ASCII 0 - 31) und Sonderzeichen (z.B. Umlaute)
//		des Strings in ihre ASCII-Werte (hexadezimal mit vorangestellten %) 
//		umgewandelt (z.B. test%0A%0Dtest)
//------------------------------------------------------------------------------
function encode(str)
{ return escape(str.replace(/ /g,'+'));
}


//------------------------------------------------------------------------------
// GetParams()
//
//		Diese Funktion liefert die Parameter zurück, die an die HTML-Datei
//		übergeben werden.
//------------------------------------------------------------------------------
function getParams() 
{	var pos = document.URL.indexOf('?');	// Anfangsposition der Parameter ermitteln
	var params = new Array();				// Array zur Speicherung der Parameter anlegen
	
	if (pos != -1) 	// wurden Parameter übergeben?
	{	// Die einzelnen Parameter-Paare extrahieren und zwischenspeichern
		var ParmPairs = document.URL.substring(pos + 1, document.URL.length).split('&'); 
		
		for (var i = 0; i < ParmPairs.length; i++) 
		{	nameVal = ParmPairs[i].split('=');	// Jedes Parameter-Paar in Name und Wert aufteilen
			params[nameVal[0]] = nameVal[1];	// params[_name_] = _wert_
		}
	}
	return params;	// Array mit Parametern zurückgeben
} // Ende: GetParams()


//------------------------------------------------------------------------------
//	BlockErrors()
//
//		Diese Funktion kann verwendet werden, um JavaScript-Fehler auszuschalten.
//		Dazu muss die Fehlerbehandlungsroutine window.onerror auf diese Funktion
// 		gesetzt werden. Dies geschieht durch die Zeile
//			window.onerror = BlockErrors;
//------------------------------------------------------------------------------
function BlockErrors() { return true; }

//------------------------------------------------------------------------------
// Die folgende Zeile schaltet für alle Seiten, die dieses Skript einbinden die
// Fehlerbehandlung aus. ACHTUNG: Es werden keine Fehler mehr gemeldet!
//
// TODO: auskommentieren und testen 
//------------------------------------------------------------------------------
// window.onerror = BlockErrors;

//------------------------------------------------------------------------------
// GetDocumentName()
//
//		Ermittelt den Document-Namen aus der URL des Documents
//------------------------------------------------------------------------------
function GetDocumentName()
{	return document.URL.substring(document.URL.lastIndexOf("/") + 1, document.URL.length); 
} // Ende: Document Name

//------------------------------------------------------------------------------
// GuessFrameSetFile()
//
//		Ermittelt den Namen Document-Namen aus der URL des Documents
//------------------------------------------------------------------------------
function GuessFramesetName()
{	var frameset  = GetDocumentName();
	return frameset.substring(0, frameset.indexOf("cont") - 1) + ".html"; 
} // Ende: Document Name

//------------------------------------------------------------------------------
// TopRedirect(URL)
//
//		Leitet zur angegebenen URL weiter und bricht dabei aus dem Frameset aus
//------------------------------------------------------------------------------
function TopRedirect(TargetURL)
{	top.location.target="_top"
	if(window.location.target != "_top") 
	{ top.location.href = TargetURL }
}

//------------------------------------------------------------------------------
// Redirect(URL)
//
//		Leitet zur angegebenen URL im angegebenen Target-Fenster
//------------------------------------------------------------------------------
function Redirect(TargetURL, Target)
{	var NewWin = null;

	if (Target == "") 
		Target = "_blank";

	if (Target == "_top") 
	{	TopRedirect(TargetURL);
	}
	else if (Target == "_parent")
	{	window.parent.location.replace(TargetURL); 
	}
	else if (Target == "_self")
	{	window.location.replace(TargetURL);
	}
	else if (Target.substr(0,10) == "dernekamp_")
	{	// hier bei bedarf Code einfügen der den Link im gewünschten
		// subframe öffnet
	}
	else
		NewWin = window.open(TargetURL, Target);

	if (NewWin)
		if (window.document.referrer)
			window.location = window.document.referrer;
		else
			history.back();
}



