
<!--//

/* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 * Globale Funktionen format-webagentur ag
 * Name: format.library.js
 * Erstellungsdatum: 10.03.2006
 * Modifiziert: 09.03.2007
 * Author: sfluri(at)format-ag.ch
 * Version: 1.02.1
 * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */

/*
 * WEBSITETITLE
 * Generiert aus Dateipfad den Seitentitel
 * Script liest Seitentitel (document.title) aus und ermittelt den Pfad der aktuellen Seite. Mit Search/Replace werden 
 * Umlaute und best. Werte (Bsp. Tfp) ersetzt und danach mit Trennzeichen an den Seitentitel angehängt (nachgeladen)
 * Aufruf: <script>websiteTitle();</script>
 * Parameter:
 * splitchar = Trennzeichen der Pfade/Ordner
 * depth = Ab Ordner-Nummer ...
 */
 
function websiteTitle(splitchar,depth)
	{
	// Dokumenttitel <title>...</title> + Pfad auslesen
	// Splitten nach '/'
	var siteName = window.location.pathname.split("/");
	var siteTitle = document.title;
	if (!splitchar)
		{
		var splitchar = " / ";
		}
	if (!depth)
	  {
		var depth = 2;
		}
	// Search & Replace, zu ersetztende Werte
	Search = new Array("Agb","Ae","Oe","Ue","Wlayout","Structure");
	Replace = new Array ("AGB","Ä","Ö","Ü","Layout","Struktur");	
	// von der x-ten Ordnertstruktur (nach x/ hochzaehlen - ohne Dokumentname
	for (var i = depth; i < (siteName.length -1); i++)
		{
		siteTitle = siteTitle += splitchar + siteName[i].substr(0,1).toUpperCase() + siteName[i].substr(1).toLowerCase();
		}
	// Anzahl ArrayElemente
	for(var i = 0; i <= Search.length-1; i++)
		{
		// Laenge des Titels mit Search+Replace
		for (var j = 0; j <= siteTitle.length; j++)
			{
			siteTitle = siteTitle.replace(Search[i],Replace[i]);
			}
		}
	document.title = siteTitle;
	}
	
/*
 * SHOWLAYER/HIDELAYER
 * Layermenues Navigation Left ein- und ausblenden. Zeigt bei Mouseevent des 1sten Levels die Unterpunkte des 2ten Levels 
 * in einem Layer an, bzw. schliesst Layer bei onMouseOut des 1sten Levels
 * Parameter:
 * navid = id fuer Childelement
 */

function showLayer(navid)
	{
	var childId = "childs_" + navid;
	if(childId != openNavpointId)
		{
		//document.getElementById(childId).style.visibility = "visible";
		document.getElementById(childId).style.display = "block";
		}
	}

function hideLayer(navid)
	{
	var childId = "childs_" + navid;
	if(childId != openNavpointId)
		{
		//document.getElementById(childId).style.visibility = "hidden";
		document.getElementById(childId).style.display = "none";
		}
	}
	
/*
 * DISPLAYCHILDSTATUS
 * Layermenu innerhalb Layernavigation eingeblendet halten oder beim verlassen ausblenden
 * Parameter:
 * navid = id des Childelementes
 * status = active/inactive (fuer das aktive und inaktiv Style-Attribute)
 */

function displayChildStatus(navid,status)
	{
	parentId = 'childs_' + navid;
	if (status == "active")
		{
		//document.getElementById(parentId).style.visibility = "visible";
		document.getElementById(parentId).style.display="block";
		}		
	if (status == "inactive")
		{
		//document.getElementById(parentId).style.visibility = "hidden";
		document.getElementById(parentId).style.display="none";
		}		
	}
	
/*
 * DISPLAYPARENTSTATUS
 * Hightlighten der aktiven Hauptrubrik
 * Damit die aktive Hauptrubrik bei  bei geoeffnerter und selektieren Layernavigation als aktiv
 * dargestellt wird muss via ElementID die entsprechende Klasse geandert werden
 * Parameter:
 * navid = id fur Eleternelement
 * status = active/inactive (fuer die aktive und inaktiv Klasse)
 */
 
 	function displayParentStatus(navid,status)
		{
		parentNavpointId = 'parent_' + navid;
		if (status == "active")
			{
			document.getElementById(parentNavpointId).className='aNavLevel1Open';
			}
		if (status == "inactive")
			{
			document.getElementById(parentNavpointId).className='aNavLevel1';
			}
		}

/*
 * ELEMENTE ANZEIGEN/AUSBLENDEN (Simple)
 * Anzeige eines Elementes aendern > Anzeigen/Ausblenden
 * Parameter:
 * layer = ID des Elementes
 * <a href="javascript:changeView('id');">bezeichnung</a>
 */
 
function changeView(layer)
  {
	// Moderne Browser
	if (document.getElementById)
	  {
		if (document.getElementById(layer).className == "hideToggle")
		  {
			document.getElementById(layer).className = "showToggle";
			}
		else if (document.getElementById(layer).className == "showToggle")
			{
			document.getElementById(layer).className = "hideToggle";
			}		
		}
	// Alte IE-Versionen
  else if (document.all)
	  {
		if (document.all[layer].className == "hideToggle")
			{
			document.all[layer].className = "showToggle";
		  }
		else if (document.all[layer].className == "showToggle")
			{
			document.all[layer].className = "hideToggle";
			}
		}
	}
		
/* 
 * CONTAINER EIN- + AUSBLENDEN
 * Layer/Container dynamisch ein- und ausblenden
 * Anhand der ElementID(<div id="ID"></div>) koennen Inhalte ein- und ausgeblendet werden. Der Referer muss die identische 
 * ID pus "toggle" erhalten, damit die Klassen oder der Linktext ebenfalls dynamische geaendert werden koennen.
 * Aufruf: <a href="javascript:toggleLayer('id','status','txt.aktiv|txt.inaktiv');">bezeichnung</a>
 * Parameter:
 * layer = ID des Elements
 * status = '' (Default), show/hide (bei einmaligem Aufruf ohne Zustand wieder umzukehren)
 * txt = Linktext (Text bei Seitenaufruf | Text bei Zu/Aufklappen)
 */

function toggleLayer(layer,status,txt)
	{
	// Existiert der String 'txt'
	if (txt && txt.indexOf("|" != -1))
		{
		// Aus txt-String Textstatus Show und Textstatus hide ableiten
		txt = txt.split("|");
		var show = txt[0];
		var hide = txt[1];
		}
	// Standardfunktion fuer moderne Browser
	if (document.getElementById)
		{
		// Ist Layer ausgeblendet?
		if (document.getElementById(layer).className == "hideToggle")
			{
			// Layer nur einblenden
			if (status == "show")
				{
				document.getElementById(layer).className = "showToggle";
				}
			// Ein - und ausblenden ...
			// Hier wird noch zwischen Geaenderter Linkausgabe oder geaenderter Klasse unterschieden
			if (txt)
				{
				document.getElementById(layer).className = "showToggle";
				document.getElementById(layer + "_toggle").firstChild.data = hide;
				}
			else
				{
				// Layer einblenden ...
				document.getElementById(layer).className = "showToggle";
				document.getElementById(layer + "_toggle").className = "hideToggle";
				}
			}
		// Ist Layer eingeblendet?
		else if (document.getElementById(layer).className == "showToggle")
			{
			// Layer nur ausblenden
			if (status == "hide")
				{
				document.getElementById(layer).className = "hideToggle";
				}
			// Aus - und einblenden ...
			// Hier wird noch zwischen Geaenderter Linkausgabe oder geaenderter Klasse unterschieden
			if (txt)
				{
				document.getElementById(layer).className = "hideToggle";
				document.getElementById(layer + "_toggle").firstChild.data = show;
				}
			else
				{
				// Layer ausblenden ...
				document.getElementById(layer).className = "hideToggle";
				document.getElementById(layer + "_toggle").className = "showToggle";
				}
			}
		}
	// Alte IE-Versionen
	else if (document.all)
		{
		// Ist Layer ausgeblendet?
		if (document.all[layer].className == "hideToggle")
			{
			// Layer nur einblenden ...
			if (status == "show")
				{
				document.all[layer].className = "showToggle";
				}
			// Ein - und ausblenden ...
			// Hier wird noch zwischen Geaenderter Linkausgabe oder geaenderter Klasse unterschieden
			if (txt)
				{
				document.all[layer].className = "showToggle";
				document.getElementById(layer + "_toggle").firstChild.data = hide;
				}
			else
				{
				// Layer einblenden ...
				document.all[layer].className = "showToggle";
				document.all[layer + "_toggle"].className = "hideToggle";
				}
			}
		// Ist Layer eingeblendet?
		else if (document.all[layer].className == "showToggle")
			{
			// Layer nur ausblenden ...
			if (status ==  "hide")
				{
				document.all[layer].className = "hideToggle";
				}
			// Aus - und einblenden ...
			// Hier wird noch zwischen Geaenderter Linkausgabe oder geaenderter Klasse unterschieden
			if (txt)
				{
				document.all[layer].className = "hideToggle";
				document.getElementById(layer + "_toggle").firstChild.data = show;
				}
			else
				{
				// Layer aublenden ...
				document.all[layer].className = "hideToggle";
				document.all[layer + "_toggle"].className = "showToggle";
				}
			}
		}
	}
	
/*
 * FASTFINDER
 * ist value leer (x, --, /) Formular reseten; enthaelt Value Wert x redirect ...
 * Formular starten mit: <select name="NAME" onchange="javascript:fastFinder(this.form.NAME.options[this.form.NAME.options.selectedIndex].value);document.forms[X].reset();">
 */

function fastFinder(x) 
	{
 	if (x == "" || x == "--" || x == "/") 
		{
   		document.combobox.reset();
   		document.combobox.elements[0].blur();
   		return;
 		}
 	else 
		{
   		document.location.href = x;
		}
	}

/*
 * GO2
 * PopUpWindow mit frei definierbarer Groesse auf recher Bildschirmseite plaziert
 * Parameter:
 * URL = Pfad der zu offenenden Datei (Bsp. http://www.tankred.ch oder /de/rubrik/dokument.php)
 * W = Breite des Browsefensters, H = Hoehe des Browserfensters
 */

function go2(url,w,h)
	{
	var popup = window.open (url,"popup","width=" + w + ",height=" + h + ",left=20,top=20,directory=no,toolbar=no,location=no,status=no,scrollbars=yes,resizeable=no");
 	popup.scrollbars = true;
	popup.focus();
	}

/*
 * KILLWINDOW
 * Funktionsaufruf um Browserfenster zu schliessen wenn Parameter vorhanden ist (msg = Message) Confirm-Message anzeigen
 * Parameter:
 * msg = Ausgabemeldung/Hinweis (String)
 */

function killWindow(msg)
	{
	if (msg)
		{
		tmp = confirm(msg);
		if (tmp == true)
			{
			closeWindow();
			}
		}
	else
		{
		closeWindow();
		}
	}
function closeWindow()
	{
	// Bei IE ohne Bestaetigung Haupfenster schliessen
	if (window.opener != top)
		{
		window.opener = top;
		}
	window.self.close();
	}

/* 
 * WINDOWPRINT
 * Inhalt des Browserfensters drucken
 */

function windowPrint()
	{  
	if (document.all && navigator.appVersion.substring(22,23) == 4) 
		{
    self.focus();
    var OLECMDID_PRINT = 6;
    var OLECMDEXECOPT_DONTPROMPTUSER = 2;
    var OLECMDEXECOPT_PROMPTUSER = 1;
    var WebBrowser = '<object id="WebBrowser1" width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>';
    document.body.insertAdjacentHTML('beforeEnd',WebBrowser);
    WebBrowser1.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER);
    WebBrowser1.outerHTML = '';
  	}
  else
		{
  	window.print();  
  	}
	}

/*
 * CREATEFILE
 * Weblication Nachbau zum erstellen einer Datei
 * Parameter: 
 * path = Pfad der zu speichernden Datei
 */
 
function createfile(path)
	{
	var url = "/cgi-bin/wFilecreator.cgi?path=" + path + "&redirectendedit=javascript:opener.location.reload()_semicolon_self.close()"; 
	open (url, "", "width=768,height=520,resizable=yes");
	}

/*
 * WEDIT
 * Weblication Nachbau zum editieren einer Datei
 * Parameter: 
 * file = Datei
*/

function editfile(file)
	{
	if(top.name == 'wWeblic' && name == 'main' || 'blank' == 'self')
		{
		var url = '/cgi-bin/wEditor.cgi?file=' + file + '&redirectendedit=&action=startedit';    
		location.href = url;
		}
	else if ('blank' == 'inline')
		{
		var url = '/cgi-bin/wEditor.cgi?file=' + file + '&redirectendedit=&action=startedit';
		frames['wEditorInline'].location.href = url;
		wOpenFrameInline();
		}
	else 
		{
		var url = '/cgi-bin/wEditor.cgi?file=' + file + '&redirectendedit=refreshOpener&action=startedit';
		var winHeight = screen.availHeight - 64;
		var winWidth  = screen.availWidth  - 36;
		open (url, '', 'width=' + winWidth + ',height=' + winHeight +  ',resizable=yes');
		}
	}

/*
 * LOGIN-FORMULARE VORBELEGEN
 * notwendige Angaben im Formluar vorbelegen oder bei Even wieder loeschen.
 * Parameter
 * Feld: Formularfeld
 * Zustand: focus|blur
 */
 
function formValue(Feld,Zustand)
	{
	var formValue = "Suchwort(e)";
	var formAlert = "Bitte einen Suchbegriff eingeben!";
	var formBlank = "";
	if (Zustand == "focus")
		{
		if (Feld.value == "" || Feld.value == formValue)
			{
			Feld.value = formBlank;
			return true;
			}
		}
	else if (Zustand == "blur")
		{
		if (Feld.value == "")
			{
			Feld.value = formValue;
			return false;
			}
		}
	else if (Zustand == "submit" || Zustand == "Submit")
		{
		if (Feld.value == "" || Feld.value == formValue)
			{
			alert(formAlert);
			Feld.focus();
			return false;
			}	
		}
	}
	
/*
 * CHECKBOXES AKTIVIEREN/DEAKTIVIERN
 * Aender den Zustand einer Checkbox per Linkclick
 * Aufruf: <a href="checkForm(documen.formname.feldname)">klick</a>
 * Parameter:
 * box = Formname.Feldname
 */
 
function checkFormbox(box)
	{
	if (box.checked)
		{
		box.checked = false;
		}
	else if (!box.checked)
		{
		box.checked = true;
		}
	}
	
/*
 * SHOWCONFIRM
 * Ausgabemeldung anzeigen und bei Bestaetigung auf weiterleiten
 * Parameter:
 * msg = Confirm-Dialog/String
 * url = Pfad/URL
 */
 
function showconfirm(msg,url)
	{
	if (url && msg)
		{
		tmp = confirm(msg);
		if (tmp == true)
			{
			location.replace(url);
			}
		}
	}

/*
 * SAVEMAILFROMSPAM
 * Email-Adressen vor Spambots schuetzen
 * Bei onmouseover wird keine Angabe zum Link in der Statuszeile ausgegeben (je nach Browser kann Funktion gesperrt sein ...)
 * Parameter:
 * text = Linktext oder blank
 * name = Empfaegner-Name (name)
 * domain = Empfaenger-Domain (domain.dd)
 * display = link|blank (Link = verlinkte Ausgabe | Nur Text-Ausgabe)
 * cssclass = CSS-Klasse
 */

function saveMailfromSpam(text,name,domain,display,cssclass)
	{
	var savemail = "";
		{
		if (!text)
			{
			text = name + "(at)" + domain;
			}
		if (display == "linked")
			{
			if (cssclass)
				{
				savemail = "<a href=\"mailto:" + name + "@" + domain + "\" class=\"" + cssclass + "\" onmouseover=\"javascript:window.status=\'\';return true\" onmouseout=\"javascript:window.status=\'\';return true\">" + text + "</a>";
				}
			else
				{
				savemail = "<a href=\"mailto:" + name + "@" + domain + "\" onmouseover=\"javascript:window.status=\'\';return true\" onmouseout=\"javascript:window.status=\'\';return true\">" + text + "</a>";
				}
			}
		else
			{
			savemail = name + "(at)" + domain
			}
		return(savemail);
		}
	}
	
//-->