// popup-Aufruf mittels Flash
function popup(adress, params) {
	//'popUpWin_'+Math.round(Math.random()*100000);
	p = window.open (adress, 'kikaninchenpopup', params);
	p.focus();
} 

//Darstellung der Seite für spezielle Flashinhalte
function resize(flashwidth,flashheight) {
		width = flashwidth;
		height = flashheight;
		//Hoehe des Flashs - muss vom Nutzer im CMS definiert werden
		marginleft = (window.document.getElementsByTagName('body')[0].offsetWidth - flashwidth) / 2;
		
		//Minimale breite des Inhaltes
		if (150 + flashwidth < 800) window.document.getElementsByTagName('body')[0].style['minWidth'] = '800px' //Webwecker und Sendungshinweis sind zusammen 800 Pixel breit
		else window.document.getElementsByTagName('body')[0].style['minWidth'] = 150 + flashwidth + 'px';
		
		//Berechnung der Fenstergröße - Je nach Hoehe wir ein Scrollbalken dargestellt bzw. der Inhalt auf Fenstergroesse aufgezogen
		flashbgposition = flashheight - 180; //Berechnung der Position des Hintergrundbildes
		flashcontainerheight = window.document.getElementsByTagName('body')[0].offsetHeight - 180; //Berechnung der Höhe des Flash-Containers
    //Falls Browserfenster hoeher ist als Flashcontent, so wird der Inhalt auf Browserfenstergroesse aufgezogen
		if (flashcontainerheight > flashheight) window.document.getElementById('content').style['height'] = flashcontainerheight + 'px'; 
		//Positionierung des Hintergrundbildes
		window.document.getElementById('container').style['backgroundPosition'] = 'left ' + flashbgposition + 'px';
		window.document.getElementById('container-bg').style['backgroundPosition'] = 'left ' + flashbgposition + 'px';
		//Falls Nutzer die Hoehe des Browserfesters verändert, muss Goesse neu berechnet werden
		window.setTimeout("resize(width,height)", 1000);	
}

/* Pixel-Funktion fuer kikaninchen.de Flash-Applikationen und Flash-Apps die nicht auf dem Server kikaninchen.de liegen. Hier kann eine URL übergeben werden, von der ausgehend sich der Pixel erstellt.*/
/* Beispielaufruf: javascript:kinifIVW('http://www.kikaninchen.de/kikaninchen/freunde/mitmachmuehle/bildergalerie/index.html','pfeil_bild_naechstes');*/
/* 1. Parameter = URL --> Pflichtparameter - Als Argument eins wird eine komplette URL erwartet: http://domain/pfad/dateiname.dateiendung?Parameter*/
/* 2. Parameter = Aktion --> wird umgewandelt zu virt. Verz. und Dateiname*/
function kinifIVW() {
	var f1 = "http://kika.ivwbox.de/cgi-bin/ivw/CP/kikaninchen";		// 1. fixer Teil des Pixels
	var f2 = ";k=61&i=kikaninchen";													// 2. fixer Teil des Pixels
	var f3 = "&p=www.kikaninchen.de";												// 3. fixer Teil des Pixels
	var a = "";																							// Standardwert für die Flash-Aktion -> Ordner
	var ad = "";																						// Standardwert für die Flash-Aktion -> Dateiname
	var p = "";																							// Standardwert für Dateipfad
	var v = "";																							// Standardwert des virt. Verz. mit vorangestelltem Slash, Wird nicht verwendet.
	var s = ".html";																				// Endung der virt. Datei
	var perror ="";																					// Die Übergabe einer URL ist in diesem Skript zwingend notwenidig - fehlende Übergabe einer URL wird durch diesen String gekennzeichnet
	var virtualpath = false;																// Die Angabe einer internen Flashaktion ist nicht erfordert - falls eine Angabe gemacht wurde, so kann dies mit diesem Parameter kenntlich gemacht werden

	if (kinifIVW.arguments[0] != document.location.href) //nur wenn URL ungleich übergebener URL ist, wird der Zugriff gezählt, denn im anderen Fall wird über den Pixel in der HTML-Seite gezählt.
		{
			// als 1. Parameter wird Pfad der aktuellen HTML-Datei (aus aktueller XML-Datei ausgelesen) an die Funktion übergeben
			// ACHTUNG: zwingend erforderlich
			if (arguments[0]) {
				if (arguments[0].length) {
						p = arguments[0]; //falls p nicht per Parameter übergeben wurde, so wird aktuelle URL ausgelesen
					 }
				else {
						p = document.location.href;
						perror = "/undefpath";			 
				} 
			}
			else {
					p = document.location.href;
					perror = "/undefpath";			 
			} 
			
					 
			p = p.replace(/.\/\//,""); //Doppelslash entfernen
			startpos=p.indexOf("/"); //Position des ersten Slashs ermitteln
			endpos = p.length;
			p = p.slice(startpos,endpos); //Angaben vor erstem Slash entfernen
			
			
			//Falls Pixel ein AV-Pixel ist, muss zusätzlich ein /kikaninchen/kikaninchen entfernt werden
			av=p.search(/av/);
			if (av > -1) {p = p.substring(24, p.length);}; //entfernen von /kikaninchen/kikaninchen
			
			
			d = p.match(/[^\/]*\.[^\.]*$/);	// Dateinamen speichern
			p = p.replace(/[^\/]*\.[^\.]*$/,"");	// Dateinamen entfernen
			p = p.slice(0,p.length-1); //letztes Slash entfernen
			p = p + perror;
			var puri = encodeURIComponent(p).replace(/_/g, "%5F");
		
		// falls 2. Parameter definiert ist, so wird ein zusätzliches virtuelles Verzeichnis mit Namen der internen Aktion angelegt
			if (kinifIVW.arguments[1]) {
				if (kinifIVW.arguments[1].length) {
					virtualpath = true;
					a = kinifIVW.arguments[1].replace(/\W+/g,"_"); //alphanumerischen Zeichen excl. Unterstrich werden in Unterstrich umgewandelt
					a = a.replace(/_+/g,"_");   //Bereinigung von mehrfachen Unterstrichen hintereinander
					ad = "/" + a 	// Dateiname ohne virutellen Pfad
					a = v + "/" + a;	} } // zur Kennzeichnung der internen Pixel wird v angefügt
			var auri = encodeURIComponent(a).replace(/_/g, "%5F"); //Url enkodieren und alle Unterstriche separat enkodieren, da dies nicht von der Funktion übernommen wird
			var aduri = encodeURIComponent(ad).replace(/_/g, "%5F"); //Aktion mit Dateiendung
		
			// Variablen vorab zusammenführen
			p = p + a;
			if (virtualpath) 	puri = puri + auri + aduri + s;
			else puri = puri + "/" + d;
		
			// Referer und Zufallsparameter erstellen
			var r = "?r=" + escape(document.location.href);
			var d = "&d=" + (Math.random()*100000);
		
			// IVW-Pixel zusammensetzen und aufrufen
			var ivw = f1 + p + f2 + p + "/" + f3 + puri + r + d;
			document.images[document.images.length-1].src = ivw;
		}
	}	
	
/* Pixel-Funktion fuer allgemeine F- und JS-Applikationen die auf kikaninchen.de liegen. Die URL wird ausgelesen und es kann ein virutelles Verzeichnis übergeben werden. */
/* Beispielaufruf: javascript:fIVW('pfeil_bild_vorheriges','','scripts4/projects');*/
/* 1. Parameter = Aktion --> Pflichtparameter --> wird umgewandelt zu virt. Verz. und Dateiname */
/* 2. Parameter = virtuelles Verzeichnis --> optionaler Parameter; */
/* 3. Parameter = optionaler Verz.name, der aus der Pfadangabe gelöscht werden soll - z.B. scripts oder scripts4 */
function fIVW(ai) {
	var f1 = "http://kika.ivwbox.de/cgi-bin/ivw/CP/kikaninchen";		// 1. fixer Teil des Pixels
	var f2 = ";k=61&i=kikaninchen";																// 2. fixer Teil des Pixels
	var f3 = "&p=www.kikaninchen.de";														// 3. fixer Teil des Pixels
	var a = "index";																				// Standardwert für die F-Aktion, die in die URI eingefügt wird
	var v = "";																							// Standardwert des virt. Verz. mit vorangestelltem Slash
	var s = ".shtml";																				// Endung der virt. Datei

	// Aktion prüfen
	if (ai) {
		if (ai.length) {
			a = ai.replace(/\W+/g,"_");
			a = a.replace(/_+/g,"_");  } }
	a = "/" + a;
	var auri = encodeURIComponent(a).replace(/_/g, "%5F");

	// falls 2. Parameter an die Funktion übergeben wurde, dann diesen als virt. Verz. verwenden
	if (fIVW.arguments[1]) {
		if (fIVW.arguments[1].length) {
			v = fIVW.arguments[1].replace(/\W+/g,"_");
			v = v.replace(/_+/g,"_"); 
			v = "/" + v; 
			} }
	
	var vuri = encodeURIComponent(v).replace(/_/g, "%5F");

	// Dateipfad ermitteln
	var p = document.location.pathname;
	p = p.replace(/[^\/]*\.[^\.]*$/,"");											// Dateinamen entfernen
	p = p.replace(/\/fernsehen\/a_z\/[^\/]*\//gi,"/fernsehen/");	// p/i-Parameter vereinfachen: /fernsehen/a_z/x/ wird zu /fernsehen/

	// falls 3. Parameter an die Funktion übergeben wurde, dann diesen Verzeichnisteil aus der Pfadangabe entfernen
	if (fIVW.arguments[2]) {
		if (fIVW.arguments[2].length) {
			var l = Trim(fIVW.arguments[2],' ');
			if (l.charAt(0)=='/') l = l.substr(1);	// Slashes vorn und hinten entfernen
			if (l.charAt(l.length-1)=='/') l = l.substr(0,l.length-1);
			if (l.length) {
				l = l.replace(/\s+/g,"_");
				l = '/' + l.replace(/_+/g,"_") + '/';	// Slashes vorn und hinten anfügen
				var pos = p.indexOf(l);
				while (pos >= 0) {	// Pfadangabe herauslöschen
						p = p.substring(0,pos) + '/' + p.substring(pos+l.length);
						pos = p.indexOf(l,pos+1);  } } } }

	p = p.replace(/\/$/,"");	// letzten Slash entfernen
	var puri = encodeURIComponent(p).replace(/_/g, "%5F");

	// Variablen vorab zusammenführen
	p = p + v + a;
	puri = puri + vuri + auri + auri + s;

	// Referer und Zufallsparameter erstellen
	var r = "?r=" + escape(document.location.href);
	var d = "&d=" + (Math.random()*100000);

	// IVW-Pixel zusammensetzen und aufrufen
	var ivw = f1 + p + f2 + p + "/" + f3 + puri + r + d;
	document.images[document.images.length-1].src = ivw;
	//alert(ivw);
	}

/* Leerzeichen am Anfang und Ende von Strings loeschen */
function Trim(iStr, rChr)  {
  var rStr = iStr;
  if (iStr && rChr)  {
    if (iStr.length && rChr.length)  {
      while ('' + rStr.charAt(0) == rChr)
        rStr = rStr.substring(1,rStr.length);
      while('' + rStr.charAt(rStr.length-1) == rChr)
        rStr=rStr.substring(0,rStr.length-1);  }  }
  return rStr;  }


