// ===========================================
// Master enthaelt die Funktionen
// Ersetzen, SetCookie, GetCookie, StatistikSpeichern, FrameinhaltAufbauen & Cache
//
// Steuernde Variablen
//

var UrlStatistik = 'amulette-kelten.de';

var myOrdnerFrameinhalt = 'Chris\\Webs\\Amulette-der-Kelten\\';

var PfadLokalFrameinhalt = 'file:///C:/Eigene%20Dateien/Chris/Webs/Amulette-der-Kelten/';
var PfadOnlineFrameinhalt = 'http://www.amulette-kelten.de/';

var FrameOrdnerFrameinhalt = 'Amulette-der-Kelten-Frameseiten';
var MenueseiteFrameinhalt = 'Amulette-der-Kelten-Menue.html';

VerboteneZeichen1Frameinhalt = new Array(12);
VerboteneZeichen1Frameinhalt[0] = '?';
VerboteneZeichen1Frameinhalt[1] = '&';
VerboteneZeichen1Frameinhalt[2] = '=';
VerboteneZeichen1Frameinhalt[3] = '"';
VerboteneZeichen1Frameinhalt[4] = '/';
VerboteneZeichen1Frameinhalt[5] = '\\';
VerboteneZeichen1Frameinhalt[6] = String.fromCharCode(196);
VerboteneZeichen1Frameinhalt[7] = String.fromCharCode(214);
VerboteneZeichen1Frameinhalt[8] = String.fromCharCode(220);
VerboteneZeichen1Frameinhalt[9] = String.fromCharCode(228);
VerboteneZeichen1Frameinhalt[10] = String.fromCharCode(246);
VerboteneZeichen1Frameinhalt[11] = String.fromCharCode(252);
VerboteneZeichen1Frameinhalt[12] = String.fromCharCode(223);

VerboteneZeichen2Frameinhalt = new Array(12);
VerboteneZeichen2Frameinhalt[0] = '-ques-';
VerboteneZeichen2Frameinhalt[1] = '-amp-';
VerboteneZeichen2Frameinhalt[2] = '-equ-';
VerboteneZeichen2Frameinhalt[3] = '-quot-';
VerboteneZeichen2Frameinhalt[4] = '-sla-';
VerboteneZeichen2Frameinhalt[5] = '-back-';
VerboteneZeichen2Frameinhalt[6] = '-Auml-';
VerboteneZeichen2Frameinhalt[7] = '-Ouml-';
VerboteneZeichen2Frameinhalt[8] = '-Uuml-';
VerboteneZeichen2Frameinhalt[9] = '-auml-';
VerboteneZeichen2Frameinhalt[10] = '-ouml-';
VerboteneZeichen2Frameinhalt[11] = '-uuml-';
VerboteneZeichen2Frameinhalt[12] = '-szlig-';

var togo = 'lo' + 'cation.';

//
// ===========================================
function Ersetzen(string, txt, by)
	{
	var strLength = string.length, txtLength = txt.length;

	if ((strLength == 0) || (txtLength == 0))
		{
		return string;
		}

	var i = string.indexOf(txt);

	if ((! i) && (txt != string.substring(0, (txtLength))))
		{
		return string;
		}

	if (i == - 1)
		{
		return string;
		}

	var newstr = string.substring(0, (i)) + by;

	if (i + txtLength < strLength)
		{
		newstr += Ersetzen(string.substring(i + txtLength, strLength), txt, by);
		}

	return newstr;
	}

function setCookie(nme, vlue, expres)
	{
	var strDomain = '';

	if (self.location.protocol != 'file:')
		{
		strDomain = self.location.hostname;

		var cokie = nme + '=' + escape(vlue);
		var expiration = new Date();

		if (expres == - 1)
			{
			expiration.setYear(2010);
			expiration.setMonth(01);
			expiration.setDate(01);
			}

		else
			{
			var t = expiration.getTime();
			var msPerDay = 24 * 60 * 60 * 1000;
			t += (msPerDay * expres);
			expiration.setTime(t);
			}

		if (expres != 0)
			{
			cokie += '; expires=' + expiration.toGMTString();
			}

		else
			{
			cokie = nme + '=';
			}

		cokie += '; path=/';

		if (strDomain != '')
			{
			cokie += '; domain=' + strDomain;
			}

		document.cookie = cokie;
		}
	}

function getCookie(nme)
	{
	var dcookie = document.cookie;
	var cname = nme + '=';
	var clen = dcookie.length;
	var vbegin = dcookie.indexOf(cname);

	if (vbegin == - 1)
		{
		return ('');
		}

	vbegin += cname.length;
	var vend = dcookie.indexOf(';', vbegin);

	if (vend == - 1)
		{
		vend = clen;
		}

	var value = unescape(dcookie.substring(vbegin, vend));
	return (value);
	}

function StatistikSpeichern()
	{
	var ref = document.referrer;

	if ((ref.indexOf(UrlStatistik) == - 1) && (ref.indexOf('avalonstreasury.de') == - 1))
		{
		setCookie('Statistik', ref, - 1);
		}
	}

function FrameinhaltAufbauen(Pge, StartseiteFrameinhalt)
	{
	var FremdeSeite = 0;

	// Die Inhaltsseite nur aufbauen, wenn sie noch leer ist
	if (window['Inhalt'].Seite == 'blank')
		{
		// Wenn die enter-Seite nicht als Framemutterseite aufgerufen wurde, sie noch einmal als solche aufrufen
		if (top != self)
			{
			eval('top.' + togo + 'replac' + 'e(self.' + togo + 'hre' + 'f)');
			return;
			}

		// Wenn die Seite mit einem Get-Teil aufgerufen wurde, ein & hinten anhaengen und das = vorne entfernen
		// Wenn nicht bleibt Variablen leer
		var Variablen = location.search ? unescape(location.search.substring(1)) + '&' : '';

		// Wenn die Seite mit einem Get-Teil aufgerufen wurde, so speichern wir diesen jetzt (wenn möglich)
		// als Cookie ab und laden die Seite neu

		if (Variablen != '')
			{

			// Zunächst einmal testen wir, ob Cookies funktionieren
			setCookie('test', 'none', 1);

			// Wenn ja, dann können wir den Get-Teil jetzt als Cookie abspeichern und die Seite neu laden
			if (getCookie('test'))
				{

				// Den Test-Cookie löschen
				setCookie('test', '', 0);

				// Loc-Cookie speichern
				setCookie('loc', Variablen, 10);

				// Pfad zur aktuellen Seite bestimmen
				var p = self.location.pathname;

				// Den kompletten Pfad zu dieser Seite konstruieren
				// Die Ueberpruefung auf lokal oder nicht wird ueber Test auf myOrdnerFrameinhalt durchgefuehrt, damit bei lokal
				// gespeicherten Seiten von Kunden enter online geholt wird
				if (p.indexOf(myOrdnerFrameinhalt) != (- 1))
					{
					var newURL = PfadLokalFrameinhalt + Pge;
					}

				else
					{
					var newURL = PfadOnlineFrameinhalt + Pge;
					}

				// Zur Seite ohne Get-String weiterleiten und die Funktion beenden
				eval('top.' + togo + 'replac' + 'e(newURL)');
				return;
				}
			}

		// Wurde der Get-Teil als Cookie abgespeichert ?
		// Dann können wir ihn jetzt laden und den Loc-Cookie löschen
		if (getCookie('loc'))
			{
			Variablen = getCookie('loc');
			setCookie('loc', '', 0);
			}

		// Inhaltsseite auslesen - ist keine Inhaltsseite vorgegeben, das Ganze auf die Startseite setzen
		var Frameinhalt = Variablen ? Variablen.substring(0, (Variablen.indexOf('&'))) : StartseiteFrameinhalt;
		// Get-Teil verkuerzen und Transkodieren-Variable auslesen
		// Diese Variable wird nur als "Nein" uebergeben, wenn ein Austausch der harmlosen gegen
		// gefaehrliche Zeichen verhindert werden muss, ansonsten steht sie standardmaessig auf Ja
		Variablen = Variablen.substring(Variablen.indexOf('&') + 1);
		var Transkodieren = Variablen ? Variablen.substring(0, (Variablen.indexOf('&'))) : 'Ja';

		// Wenn Transkodieren erwuenscht ist, jetzt harmlose gegen gefaehrliche Zeichen austauschen
		if (Transkodieren == 'Ja')
			{
			for (i = 0; i < VerboteneZeichen1Frameinhalt.length; i++)
				{
				Frameinhalt = Ersetzen(Frameinhalt, VerboteneZeichen2Frameinhalt[i], VerboteneZeichen1Frameinhalt[i]);
				}
			}

		// Die Ueberpruefung auf lokal oder nicht wird ueber Test auf myOrdnerFrameinhalt durchgefuehrt, damit bei lokal
		// gespeicherten Seiten von Kunden die Inhaltsseite online geholt werden
		if (self.location.pathname.indexOf(myOrdnerFrameinhalt) != (- 1))
			{
			Frameinhalt = PfadLokalFrameinhalt + Frameinhalt;
			}

		else
			{
			// Der Online Pfad darf nur ergaenzt werden, wenn die Seite auf dieser
			// Domaene liegt, ansonsten lautet Frameinhalt schon http://IgrendeinServer.com/IrgendeineSeite.html
			if (Frameinhalt.indexOf('http') == (- 1))
				{
				Frameinhalt = PfadOnlineFrameinhalt + Frameinhalt;
				}

			else
				{
				if (self.location.protocol != 'file:')
					{
					FremdeSeite = 1;
					}
				}
			}

		eval('Inhalt.' + togo + 'replac' + 'e(Frameinhalt)');

		// Wenn die Inhaltsseite von einer anderen Domaene stammt, so muss die Standardmenueseite geladen
		// werden, da die Inhaltseite keinen Zugriff auf die Framehauptseite hat
		if (FremdeSeite == 1)
			{
			var Menueseite = PfadOnlineFrameinhalt + FrameOrdnerFrameinhalt + '/' + MenueseiteFrameinhalt;
			eval('Menue.' + togo + 'replac' + 'e(Menueseite)');
			}
		}
	}

function Cache()
	{
	if (window.location.search.substring(1) != '')
		{
		if (window.location.search.substring(1).indexOf('q=cache') != (- 1))
			{
			// alert('Text wurde ausgegeben');

			// document.write('<div style="width: 100%; margin: 10px; padding: 0px;">');
			// document.write('&nbsp;');
			// document.write('<br>');
			// document.write('Die Suchanfrage - <b>cache:www.amulette-kelten.de<\/b> - kann nicht direkt angezeigt werden, da die Seite Frames verwendet.');
			// document.write('<br>');
			// document.write('&nbsp;');
			// document.write('<br>');
			// document.write('So k&ouml;nnen Sie den Zwischenspeicher dieser Seite anzeigen:');
			// document.write('<br>');
			// document.write('&nbsp;');
			// document.write('<br>');
			// document.write('<ul>');
			// document.write('<li>');
			// document.write('Wechseln Sie zur <a href="http:\/\/www.google.de" target="_blank">Google-Startseite<\/a>.');
			// document.write('<br>');
			// document.write('&nbsp;');
			// document.write('<br>');
			// document.write('<img src="http:\/\/www.amulette-kelten.de\/Amulette-der-Kelten-Bilder\/Schritt-1.gif" border="1" width="450" height="210" title="" alt="Schritt 1">');
			// document.write('<br>');
			// document.write('&nbsp;');
			// document.write('<br>');
			// document.write('<\/li>');
			// document.write('<li>');
			// document.write('Geben Sie folgende Suche ein: <b>&quot;<i>Seitentitel<\/i>&quot; site:www.amulette-kelten.de<\/b>. Verwenden Sie dabei statt <i>Seitentitel</i> den Titel der Seite, deren Zwischenspeicher Sie anzeigen wollen (z.B.: &quot;Esoterische Seiten&quot; site:www.amulette-kelten.de). Klicken Sie dann auf die Google-Suchschaltfl&auml;che.');
			// document.write('<br>');
			// document.write('&nbsp;');
			// document.write('<br>');
			// document.write('<img src="http:\/\/www.amulette-kelten.de\/Amulette-der-Kelten-Bilder\/Schritt-2.gif" border="1" width="450" height="210" title="" alt="Schritt 2">');
			// document.write('<br>');
			// document.write('&nbsp;');
			// document.write('<br>');
			// document.write('<\/li>');
			// document.write('<li>');
			// document.write('W&auml;hlen Sie aus den Suchresultaten die gew&uuml;nschte Seite aus und klicken Sie unter der Resultatbeschreibung auf den Link &quot;Im Cache&quot;.');
			// document.write('<br>');
			// document.write('&nbsp;');
			// document.write('<br>');
			// document.write('<img src="http:\/\/www.amulette-kelten.de\/Amulette-der-Kelten-Bilder\/Schritt-3.gif" border="1" width="450" height="210" title="" alt="Schritt 3">');
			// document.write('<\/li>');
			// document.write('<\/ul>');
			// document.write('<\/div>');
			}
		}
	}

