// 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

// 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) {

			// Zuerst Key (anhand '?inhalt='), dann Params (anh. '&' [ und ' &amp; '?]) finden
			lt = document.links[i].href;

			// 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 = " ";
				}

				// 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();


	// Konfiguration
	//	var popupDir = "/frontend/popup/";
	var popupDir = "?inhalt=";

	addPopup(target,"anfahrt","660","500", 0, 1, 1);
	addPopup(target,"datenschutz","500","400", 0, 1, 1);
	addPopup(target,"agb","500","400", 0, 1, 1);
	addPopup(target,"historie","500","400", 0, 1, 1);
	addPopup(target,"suche","325","350", 0, 0, 0);
	addPopup(target,"dl","325","520", 0, 0, 0);
	addPopup(target,"dlwp","325","520", 0, 0, 0);
	addPopup(target,"zus_print","700","500", 0, 1, 1);
	addPopup(target,"hs_print","700","500", 0, 1, 1);
	addPopup(target,"mz_print","700","500", 0, 1, 1);
	addPopup(target,"wp_print","700","500", 0, 1, 1);
	addPopup(target,"movie","500","400", 0, 0, 0);


	// 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"];
	var options = ",left=100,top=100";
	if (get != " ") { url = 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);
	}

}
