﻿//------------------- PopUp Funktionen


function pageOffset()
{
	/*
	Info: Hilft bei IE scrolloffset-Problem (wenn fenster gescrollt, mausposition falsch)
	Autor: Thomas B?chler
	Erstellt: 03.12.2004
*/

    var win = window;
    var pos = {left:0,top:0};
    pos.left = typeof win.pageXOffset != 'undefined' ?
               win.pageXOffset : // MZ
               (document.compatMode && document.compatMode == "CSS1Compat") ?
               document.documentElement.scrollLeft : // IE Strict Modus
               win.document.body.scrollLeft;

    pos.top = typeof win.pageYOffset != 'undefined' ?
              win.pageYOffset : // MZ
              (document.compatMode && document.compatMode == "CSS1Compat") ?
              document.documentElement.scrollTop : // IE Strict Modus
              win.document.body.scrollTop;
    return pos;
}

function alignfoot()
{
	if (navigator.userAgent.indexOf("MSIE") != -1)
	{
		asd = document.getElementById("footer");
		asd.style.position = "absolute";
		asd.style.top = document.body.offsetHeight + pageOffset().top - asd.offsetHeight;
		setTimeout("alignfoot()",50);
	}
}

function popup_loeschen(objekt)
{		
	//------ Autor: Andreas J?hrling
	//------ Erstellt: 05.06.04  
	//------ Kommentar: L?scht alle Inhalt aus einem Popup   
	var NeuerEintrag = new Option("", "");
	objekt.options[0] = NeuerEintrag;
	objekt.value = "";
	
	objekt.length=0;
	objekt.selectedIndex=0;
}





function popup_fuellen(objekt, texte, werte) 
{
	//------ Autor: Andreas J?hrling
	//------ Erstellt: 05.06.04  
	//------ Kommentar: Schreibt die Werte aus den Arrays "texte", "werte" in ein Popup und selektiert den ersten Eintrag 

	objekt.length=0;
					
	for(var i=0; i<werte.length; i++)
	{
		var NeuerEintrag = new Option(texte[i], werte[i]);
		objekt.options[objekt.length] = NeuerEintrag;
		objekt.value = "";
	}
	objekt.selectedIndex=0;	
} 


function colortxt(zelle)
{
	// Autor : Thomas B?chler
	// Erstellt : 29.06.2004
	// Kommentar : Im Body-Tag als onload eingesetzt, kann man hiermit bestimmte schl?sselworte einfaerben oder anderweitig filtern sowie Ausnahmen definieren
	// Ben?tigt: str_replace
	
	textzelle = document.getElementById(zelle);
	haystack = textzelle.innerHTML;
	
	//alert(haystack);
	
	var Filtern = new Array;
	
	Filtern[0] = "BLAU,<span class='blau'>BLAU</span>";
	
	
	//-- HL-DIVs filtern
	
	var Umgehen = new Array;
	var Ersatz = new Array;
	
	Umgehen[0] = "<DIV class=\"hl\">,</DIV>";				// ELEMENTE, DIE NICHT GEFILTERT WERDEN DUERFEN!
	
	var f=0;
	for(var i=0;i<Umgehen.length;i++)
	{
		var begriffe = Umgehen[i].split(",");
		umgehen1 = begriffe[0];
		umgehen2 = begriffe[1];
		
		var Pos = haystack.indexOf(umgehen1);
		
		
		
		while (Pos >= 0)
    	{
    		var Pos2 = haystack.indexOf(umgehen2, Pos);
    		
    		len_umgehung = haystack.substring(Pos,Pos2);
			
			haystack = str_replace(len_umgehung+umgehen2, "*"+f+"*", haystack);
			
			
			Ersatz[f] = len_umgehung+umgehen2;
			
			Pos = haystack.indexOf(umgehen1,Pos);
		
    		f++;
    	}
		
	}
	//-- HL-DIVs filtern
	
	for(var i=0;i<Filtern.length;i++)
	{
		var begriffe = Filtern[i].split(",");
		var strsearch = begriffe[0];
		var strreplace = begriffe[1];
		
		haystack = str_replace(strsearch, strreplace, haystack);
	
	}
	
	
	for(var i=0;i<Ersatz.length;i++)
	{
		if (haystack.indexOf("*"+i+"*") != -1)
		{		
			haystack = str_replace("*"+i+"*", Ersatz[i], haystack);
		}
	}
	textzelle.innerHTML = haystack;
}




function str_replace(strsearch, strreplace, haystack)
{
	// Autor : Thomas B?chler
	// Erstellt : 13.04.2004
	// Kommentar : Ersetzt alle strsearch innerhalb haystack durch strreplace

	if ((haystack == null) || (strsearch == null))
	{
		return null;
	}
   	
   	if ((haystack.length == 0) || (strsearch.length == 0))
   	{
   		return haystack;
   	}

    if ((strreplace == null) || (strreplace.length == 0))
    { 
    	strreplace = "";
    }

    var len_strsearch = strsearch.length;
    var len_strreplace = strreplace.length;
    var Pos = haystack.indexOf(strsearch, 0);

    while (Pos >= 0)
    {
    	haystack = haystack.substring(0, Pos) + strreplace + haystack.substring(Pos + len_strsearch);
    	Pos = haystack.indexOf(strsearch, Pos + len_strreplace);
    }
    
  	//  alert(haystack);
    
    return haystack;
}


function getLeft(targetObject)
{
/*
	Info: Gibt die absolute x_Position eines Objektes im Dokument zur?ck (DOM 2)
	Autor: Thomas B?chler
	Erstellt: 05.02.2004
	Letzte ?nderung: 05.02.2004
	
*/
	if (targetObject.offsetParent) return (targetObject.offsetLeft + getLeft(targetObject.offsetParent));
	else return (targetObject.offsetLeft);
}


function getTop(targetObject)
{
/*
	Info: Gibt die absolute y_Position eines Objektes im Dokument zur?ck (DOM 2)
	Autor: Thomas B?chler
	Erstellt: 05.02.2004
	Letzte ?nderung: 05.02.2004
	
*/

	if (targetObject.offsetParent) return (targetObject.offsetTop + getTop(targetObject.offsetParent));
	else return (targetObject.offsetTop);
}

function bild_geladen(objekt) 
{
/*
	ACHTUNG !!!!!!! OnClick-Events d?rfen nur auf dem Objekt liegen, das die funktion ausl?st!!!

	Info: Legt Layer mit Lupensymbol ?ber das gew?nschte Objekt, wird bei normalerweise bei "zoombildern" aufgerufen (DOM 2)
	Autor: Thomas B?chler
	Erstellt: 05.02.2004
	Letzte ?nderung: 15.09.2004
*/	

		var newLayer = document.createElement("div");
		var newLink = document.createElement("a");
		var newImg = document.createElement("img");
		
		newImg.src = homepfad_+"images/symbole/lens.gif";
		newImg.style.border = 0;
		
		objektname = objekt.src;
		l=objektname.length;
		pos = objektname.lastIndexOf("/");
		
		objektname = objektname.substring(pos+1, l);
		bpfad= "../images/content/big/"+objektname;
		
		//alert("javascript:zoom('"+bpfad+"','')");
		
		newLink.href = "javascript:zoom('"+bpfad+"','')";
		newLink.setAttribute("onClick", "zoom('"+bpfad+"','');");		//----    <- F?r MSIE
		
		
		newLayer.style.zindex = 15;
		newLayer.style.left = getLeft(objekt);
		newLayer.style.top = getTop(objekt);
	
		newLayer.style.position = "absolute";
		newLayer.style.visibility = "visible";
		newLayer.style.display = "block";
		
		newLink.appendChild(newImg);
		newLayer.appendChild(newLink);
		
		//objekt.parentNode.appendChild(newLayer);
		document.body.appendChild(newLayer);
	
}
//---****************** Zoomfunktionen **********************************


var akt_fensternummer=1; // wird um eins erh?ht wenn ein neues Fenster mit zoom_datei ge?fnet wird 


function zoom_seite(pfad, x, y) //--------------- ?ffnet eine bereits vorhandene HTML-Datei in definierter gr??e
{
	hl=akt_fensternummer; // -- somit wird immer ein neues Fenster ge?ffnet
	akt_fensternummer++;
	x=max_x(x);
	y=max_y(y);

	fenster = open(pfad,hl,"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,width="+x+",height="+y+",screenX=50,screenY=50,top=50,left=50");
}	



function zoom(pfad, text)
{
/*
	Info: ?ffnet ein Bild in einem neuen Fensterund passt dessen Gr??e der des Bildes an 
	Autor: Anderas J?hrling
	Erstellt: verdammt lang her
	Letzte ?nderung: 13.12.2004/ Kompatibilitaet mit mehr Browsern hergestellt
*/

	neues_fenster = window.open('', "Window", "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=50,height=50,screenX=50,screenY=50,top=50,left=50");
	neues_fenster.document.open();
	
	with(neues_fenster.document)
	{	
		writeln('<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">');
		writeln('<html>');
		writeln('<head>');
			writeln('<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">');
	
			writeln('<style type="text/css" type="text/css" media="screen"><!--');
			writeln('.zoombild { border: solid 1px gray; background-color: white; padding: 7px }');
			writeln('--></style>');
			writeln('<title>Zoom</title>');
		
			writeln('<script language="javascript"><!--');
			writeln('function resize() {');
			writeln('var abstand_x = 50;');
			writeln('var abstand_y = 50;');
			writeln('var ausgleich = 0;');

			
  			writeln('if (navigator.appName == "Netscape") ausgleich=40;');
  			writeln('if (document.images[0]) window.resizeTo(document.images[0].width +abstand_x, document.images[0].height+abstand_y-ausgleich);');
 			writeln(' self.focus();');
			writeln('}');
			writeln('//--></script>');

		writeln('</head>');

		writeln('<body onload="resize();" bgcolor=#E6E6E6  leftmargin="0" marginheight="0" marginwidth="0" topmargin="5">');
		writeln('<div align="center"><a href="#" onclick="window.close();"><img class="zoombild" id="bild"  src="'+pfad+'" border="0" alt="" title=""></a></div>');		

		writeln('</body>');
		writeln('</html>');
	}
		
	neues_fenster.document.close();
	
}





function show_picture(objekt)
{
	verzeichniss= "images/big/";
	datei=dateiname(objekt);
 	zoom(verzeichniss+datei, "");
}



function dateiname(objekt) // Zur Zeit nur mit IE ab Version 5 und NS ab Version 6 funktionsf?hig
{

	if (navigator.appName == "Netscape")
	{
		pfad=objekt.target.src;
	}
	else
	{
		pfad=objekt.srcElement.src;
	}
	

	l=pfad.length;
	pos=pfad.lastIndexOf("/");

	return pfad.substring(pos+1, l);
}


//---******************************************************************************
function max_x(x)
{

	if(ScriptOK)
	{		
		if(x>(screen.width-40))
		{
			x=screen.width-40;
		}
	}	
	return x;
}



function max_y(y)
{
	if(ScriptOK)
	{
		if(y>(screen.height-40))
		{
			y=screen.height-40;
		}
	}	
	return y;	
}

//---*************** Cookies **************************************************************


function setCookie(name, wert, domain, expires, path, secure){
	if(path==""){path="/";}
	
   //var cook = name + "=" + unescape(wert);
   var cook = name + "=" + escape(wert);
   cook += (domain) ? "; domain="+ domain : "";
   cook += (expires) ? "; expires="+expires : "";
   cook += (path) ? "; path="+path : "";
   cook += (secure) ? "; secure" : "";
   document.cookie = cook;

}



function eraseCookie(name, domain, path){
	if(path==""){path="/";}
   var cook="name=; expires=Thu, 01-Jan-70 00:00:01 GMT"
   cook += (domain) ? "domain="+domain : ""
   cook += (path) ? "path="+path : ""
   document.cookie = cook
}


function getCookie(name){
   var i=0  //Suchposition im Cookie
   var suche = name+"="
   while (i<document.cookie.length){
      if (document.cookie.substring(i, i+suche.length)==suche){
         var ende = document.cookie.indexOf(";", i+suche.length)
         ende = (ende>-1) ? ende : document.cookie.length
         var cook = document.cookie.substring(i+suche.length, ende)
         return unescape(cook)
      }
      i++
   }
   return ""
}


function checkCookie(){
   setCookie("CookieTest", "OK")
   if (!getCookie("CookieTest"))
      return false
   else{
      eraseCookie("CookieTest")
      return true
   }
}



