﻿/* Prototyp Abschnitt */
// Prüfen ob im Array ein bestimmter Wert vorhanden ist
Array.prototype.contains = function(element) {
	for (var i=0; i<this.length; i++) {
		if (this[i] === element) {
			return true;
		}
	}
	return false;
}

// Uhrzeit aktualisieren
function UhrzeitAnzeigen(){
    var Stunden = Serverzeit.getHours();
    var Minuten = Serverzeit.getMinutes();
    var Sekunden = Serverzeit.getSeconds();
    Serverzeit.setSeconds(Sekunden+1);

    if(Stunden <= 9){
        Stunden = "0" + Stunden;
    }

    if(Minuten <= 9){
        Minuten = "0" + Minuten;
    }

    if(Sekunden <= 9){
        Sekunden = "0" + Sekunden;
    }

    Uhrzeitanzeige = Stunden + ":" + Minuten + ":" + Sekunden;

    if(document.getElementById && document.getElementById("uhrzeit")){
        document.getElementById("uhrzeit").innerHTML = Uhrzeitanzeige
    } else if(document.all && uhrzeit){
        uhrzeit.innerHTML = Uhrzeitanzeige;
  	}

    setTimeout("UhrzeitAnzeigen()", 1000);
}

// Prüfen ob ein Objekt innerhalb eines bestimmten Elterntags steht (z.B. Bilder innerhalb von Links
function innerhalb (dings,huellentag){
	var maximal = 12;
	var zaehler = 0;
	while (dings.parentNode.tagName != "BODY" && zaehler < maximal){
		dings = dings.parentNode;
		if (dings.tagName == huellentag) {
			//alert ("Bild im Link!");
			return true;
		}
		zaehler = zaehler+1;
	}
	
	return false;
}

// Stil in URL einbauen
function Stil_festlegen(url,stil){
	if (stil == ""){
		var stilklasse = "";
	} else {
		var stilklasse = "stil="+stil;
	}
	
	var pfadteile = url.split("#",2);
	if(pfadteile.length > 1){
		var pfad = pfadteile[0];
		var fragment = "#"+pfadteile[1];
	} else {
		var pfad = url;
		var fragment = "";
	}

	var pfadparameter = pfad.split("?",2);
	if(pfadparameter.length > 1){
		var pfad = pfadparameter[0];
		var parameter = pfadparameter[1];
		
		if (parameter.indexOf("stil=") != -1){
			parameter = parameter.replace(/stil=([\w]+)/i,"");
		}
		parameter = "?"+parameter+"&"+stilklasse;
		
	} else {
		var pfad = pfad;
		if (stilklasse != ""){
			var parameter = "?"+stilklasse;
		} else {
			var parameter = "";
		}
	}

	var neueURL = pfad+parameter+fragment;
	return neueURL;
}

// Bild vorausladen
function Bild_laden (){
	dasQuellbild = this;

	if (dasQuellbild.className == ""){
		dasQuellbild.className = "warten";
	}

	dasZoombild = new Image();
	dasZoombild.src = dasQuellbild.src.replace(/kB/, "gB");

	if (dasZoombild.width <= 0 || dasZoombild.height <= 0){
		dasZoombild.onload = Bild_zoomen;
	} else {
		Bild_zoomen ();
	}
}

// Extrafenster mit großem Bild aufmachen
function Bild_zoomen (){
	var zerlegt = dasZoombild.src.split("/gB/").reverse();
	dasBild = "http://"+derDomainname+"/Zoombild.php?b="+zerlegt[0];

	if (dasQuellbild.alt != "") {
		dasBild = dasBild+"&t="+dasQuellbild.alt;
	}

	var ZproZ = 100; // Zeichen pro Text-Zeile
	var HproZ = 20; // Höhe pro Text-Zeile v.a. falls die line-heigth festgelegt ist
	
	var TH = HproZ*(Math.ceil(((dasQuellbild.alt).length)/ZproZ)); // Texthöhenzugabe
	var BZ = 70; // Browserzugabe für die Fensterh?he
	var R = 62; // Randabstand (sollte mit Padding-Angabe in Zoombild.php übereinstimmen
	
	var B = R+dasZoombild.width;
	var H = R+BZ+TH+dasZoombild.height;
	
	dasFenster=window.open (dasBild, "Zoomfenster", "width=B, height=H, locationbar=no, menubar=no, status=no, resizable=yes, dependent=yes, scrollbars=1");
	dasFenster.resizeTo (B, H);
	dasFenster.moveTo ((screen.width-B)/2, (screen.height-H)/2);
	if (window.focus){
		dasFenster.focus();
	}

	if (dasQuellbild.className == "warten"){
		dasQuellbild.className = "";
	}
	
	return false;
}

// Alt-Text einblenden
function Hinweis_einblenden () {
	var alttext = this.alt;
	derZoomhinweis.data = alttext;
	if(typeof (aktivweg) != "undefined"){
		window.clearTimeout(window.aktivweg);
	}
	aktivweg = window.setTimeout("Hinweis_ausblenden()",30000);
}

// Standardtext einblenden
function Hinweis_ausblenden (){
	if (dieBilderreihe.length > 0) {		
		derZoomhinweis.data = derSchnipsel;
	} else {
		derZoomhinweis.data = "";
	}
}

// Extrafenster aufmachen
function Fenster_aufmachen (){
	var adresse = this.href;
	var fenstername = "Fenster";

	var B = 840;
	var H = 670+25;
	
	dasFenster=window.open (adresse, fenstername, "width=B, height=H, locationbar=no, menubar=no, status=no, resizable=yes, dependent=yes, scrollbars=1");
	dasFenster.resizeTo (B, H);
	dasFenster.moveTo ((screen.width-B)/2, (screen.height-H)/2);
	if (window.focus){
		dasFenster.focus();
	}
	
	return false;
}

// Initialisierung
function init(){
	// Serverzeit ermitteln
//	Serverzeit = new Date(<?php echo (date("Y, n, j, G, i, s")); ?>);
	UhrzeitAnzeigen();

	// Frameset Einbindung verhindern
	/*if (top.document.location.href != document.location.href){
		alert ("Bitte nicht in Framesets einbinden. Danke!");
		top.location.href = document.location.href;
	}*/
	
	// Bilder ermitteln
	dieBilderreihe = document.getElementById("seite").getElementsByTagName("IMG");
	var unwichtig = new Array ("at","nozoom");
	for (var o=1; o<dieBilderreihe.length; o++){
		//alert (dieBilderreihe[o].className);
	}
	
	// Sprachabhängige Texte vorbereiten
	dieZerlegteURL = (document.location.href).split("/");
	if (dieZerlegteURL.contains("EN")) {
		dieSprache = "EN";
		derSchnipsel = "If you want to enlarge the photos, please click on the thumbnails.";
	} else if (dieZerlegteURL.contains("ES")) {
		dieSprache = "ES";
		derSchnipsel = "Para agrandar las fotos, favor de hacer clic en las fotos pequeñas.";
	} else if (dieZerlegteURL.contains("PT")) {
		dieSprache = "PT";
		derSchnipsel = "Se você deseja ver alargada imagens, clique nas miniaturas.";
	} else {
		dieSprache = "DE";
		derSchnipsel = "Wenn Sie die Bilder vergrößert sehen wollen, klicken Sie bitte auf die Miniaturen.";
	}
	// 
	if (dieBilderreihe.length <= 1){ 
		derSchnipsel = "";
	}

	// Bilder - falls vorhanden - mit Aktionen versehen	
	var Leertext = document.createTextNode("");
	if (document.getElementById("zoomhinweis")){
		derZoomhinweis = document.getElementById("zoomhinweis");
		derZoomhinweis.appendChild(Leertext);
		
		if (derZoomhinweis.childNodes && derZoomhinweis.hasChildNodes()){
			var knoten = derZoomhinweis.childNodes;
			for (var i=0; i < knoten.length; i++){
				if(knoten[i].nodeType == 1){
					derZoomhinweis = derZoomhinweis.childNodes[i];
					derZoomhinweis.appendChild(Leertext);
				}
			}
		}

		derZoomhinweis = derZoomhinweis.firstChild;
		Hinweis_ausblenden ();
	} else {
		derZoomhinweis = false;
	}
	
	for(var i=0; i < dieBilderreihe.length; i++) {
		// Bilder anklickbar machen
		if (innerhalb(dieBilderreihe[i],"A") == false && dieBilderreihe[i].className != "nozoom"){
			dieBilderreihe[i].onclick = Bild_laden;
		}
		
		// Zoomhinweis aktivieren
		if (derZoomhinweis){
			dieBilderreihe[i].onmouseover = Hinweis_einblenden;
			dieBilderreihe[i].onmouseout = Hinweis_ausblenden;
		}	
	}
		
	// Links dynamisch verändern
	dieVerweise = document.getElementsByTagName("A");
	for(var i=0; i < dieVerweise.length; i++) {		
		// Link zum aktuellen Ordner deaktivieren
		var dieRubrik = document.location.href.substring(0,1+document.location.href.lastIndexOf("/"));
		var derLink = dieVerweise[i].href;
		
		if (dieRubrik == dieVerweise[i].href){
			dieVerweise[i].className = "rubrik";
		}

		// Link zur aktuellen Seite deaktivieren
		if (document.location.href == dieVerweise[i].href){
			dieVerweise[i].className = "deaktiv";
		}

		// Drucklink ändern
		if (dieVerweise[i].className == "druck") {
			dieVerweise[i].onclick = Fenster_aufmachen;
			dieVerweise[i].href = Stil_festlegen(dieVerweise[i].href,"druck"); 
		}
		
		// Popuplinks ändern
		if (dieVerweise[i].className == "popup") {
			dieVerweise[i].onclick = Fenster_aufmachen;
			dieVerweise[i].href = Stil_festlegen(dieVerweise[i].href,"popup"); 
		}
		
		// Externlinks ändern
		if (dieVerweise[i].className == "extern") {
			dieVerweise[i].target = "_blank";
		}
	}
	
	// Initialisierungen von weiteren Skripten einleiten
	if (typeof(window.subinit) == "function"){
		subinit();
	}
} // Ende der Initialisierung


	/* Ausführung */
// Host ermitteln und Stylesheet einbinden
derDomainname = document.location.hostname;
document.writeln('<link href="http://'+derDomainname+'/LAYOUT/stil_jsscreen.css" media="screen, tv" rel="stylesheet" type="text/css" />');

// Init ausführen falls der Browser wenigstens die Grundbefehle versteht
if (document.getElementById && document.getElementsByTagName) {
	window.onload=init;
}