// Autor: smd Patrick Moldenhauer + smd Johannes Zettl

var openedWindows = new Array();		// Globales Array, das Fensternamen sammelt
var windowReferences = new Array(); // Globales Array, das Fensterreferenzen sammelt

var URL_REWRITE = true; // Synchron mit Einstellung in index.php5?

// ersetzt Laden-in-neuer-Seite-Links durch JavaScript-Popup-Links
// Von dieser Funktion bearbeitbare Links muessen so aussehen:
// <a name="popup_XY" href="?inhalt=KEY&PARAM" target="_blank">
function changePopupLinks() {

	var ln;
	var lt;
	var temp;
	var key;
	var get;
	var p;
	var p2;

	for (var i = 0; i < document.links.length; i++) {

		if (document.links[i].name) {
			ln = document.links[i].name;
			p = ln.indexOf("popup_");
		} else {
			p = -1;
		}

		if (p > -1) {
			lt = document.links[i].href;

			// Unterscheide: mod_rewrite in Aktion? (url: .../diesunddas.html)
			if (URL_REWRITE) {
			
				p = lt.indexOf(".html");
				if (p > -1) {
					// url kann jetzt 'http://www.bla.de/KEY.html' heissen, wir wollen nur das KEY
					temp = lt.substr(0, p);
					p2 = temp.lastIndexOf("/");
					if (p2 > -1) {
						key = temp.substr(p2 + 1, p);
					} else {
						key = temp;
					}
get = " ";
// ###
				}

			// mod_rewrite NICHT in Aktion (url: .../?inhalt=diesunddas)
			} else {
			
				// Zuerst Key (anhand '?inhalt='), dann Params (anh. '&' [ ### und ' &amp; '?]) finden
				// 1. beginnt ein key:
				p = lt.indexOf("?inhalt=");
				if (p > -1) {
	
					// 2. beginnt ein parameter?
					p2 = lt.indexOf("&", p + 8);
					if (p2 > -1) {
						key = lt.substr(p + 8, p2 - p - 8);
						get = lt.substr(p2 + 1);
					} else {
						key = lt.substr(p + 8);
						get = " ";
					}
				}

			} // endif URL_REWRITE

			// OK, das koennen wir umwandeln
			document.links[i].target = "";
			document.links[i].href = "javascript:openPopup('" + key + "','" + get + "');";

		}
	}
}

// Zeigt Popup-Fenster an, ggf. mehrere zugleich.
// Konfig. unten
function openPopup(key, get) {

	// Funktion zum Hinzufuegen vom Popupeintraegen
	function addPopup(target, key, width, height, allowMultiplePopups, scrollbars, menubar) {
		target[key] = new Object();
		target[key]["width"] = width;
		target[key]["height"] = height;
		target[key]["filename"] = key;
		target[key]["allowMultiplePopups"] = allowMultiplePopups;
		target[key]["scrollbars"] = scrollbars;
		target[key]["menubar"] = menubar;
	}
	
	var j = 0;
	var insertItem = "";
	var win;
	var target = new Array();
	var popupDir;
	var popupEndung;






	// Konfiguration
	// *************
	//	var popupDir = "/frontend/popup/";
	if (URL_REWRITE) {
		popupDir = "";
		popupEndung = ".html";
	} else {
		popupDir = "?inhalt=";
		popupEndung = ""
	}

	addPopup(target, "anfahrt", "660", "500", 0, 1, 1);






	// Anzeige
	var windowTitle = key.replace(/\./, "_");

	if (target[key]["allowMultiplePopups"] == 0) {
		j = parent.windowReferences.length;
		for (var i = 0; i<j; i++) {
			if (parent.windowReferences[i].closed == false) {
				parent.windowReferences[i].close();
			}
		}
		while(parent.openedWindows.length) {parent.openedWindows.pop()}
		while(parent.windowReferences.length) {parent.windowReferences.pop()}  
	}

	var url = popupDir + target[key]["filename"] + popupEndung;
	var options = ",left=100,top=100";
	if (get != " ") { url += "&" + get; }
	if (target[key]["scrollbars"]) { options += ",scrollbars=yes"; }
	if (target[key]["menubar"]) { options += ",menubar=yes"; }

	win = window.open(url, windowTitle, "width=" + target[key]["width"] + ",height=" + target[key]["height"] + options);
	win.focus();

	j = parent.openedWindows.length;
	insertItem = "yepp";
	for (var i=0; i < j; i++) {
		if (parent.openedWindows[i] == windowTitle) {
			insertItem = "nope";
		}
	}
	if (insertItem == "yepp") {	
		parent.openedWindows.push(windowTitle);
		parent.windowReferences.push(win);
	}

}

