<!--//
/* =============================================================
format Standardfunktionsbibliothek
Name: de.library.js
Erstellungsdatum: 22.10.2007
Modifiziert: 12.12.2007 11:16:37
Author: sfluri(at)format-ag.ch
Version: $2.0.1
============================================================= */

/*
 ADDLOADEVENT
 * --- Author: bradalyst, http://simonwillison.net/2004/May/26/addLoadEvent/ --- *
 Funktion uebernimmt andere Funktionen, welche beim laden der Seite ausgefuehrt werden. 
 Anders als bei window.onload fuegt diese Funktion die Anweisung hinzu, so dass alle vorher
 addierten Funktionen zuerst durchgefuehrt werden. Wenn window.onload nicht bereits eine Funktion
 zugewiesen wurde, weisst diese Funktion die Aufgaben direkt window.onload zu. Andernfalls wird 
 nacheinander abgearbeitet. 
 @warning: Funktion muss innerhalb <head></head> aufgerufen werden!
 @param: func = Name der Funktion
 @call-simple: fns_addLoadEvent(nameOfSomeFunctionToRunOnPageLoad);
 @call-extened: fns_addLoadEvent(function() { deine Funktion ...});
*/

function fns_addLoadEvent(func) 
  {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') 
    {
    window.onload = func;
    }
  else 
    {
		window.onload = function() 
      {
      if (oldonload) 
        {
        oldonload();
        }
      func();
      }
    }
  }

/*
 OPEENPOPUP
 PopUpWindow mit frei definierbarer Groesse auf recher Bildschirmseite plaziert
 @param: url = Zu oeffnende Datei (relativer, absoluter Pfad oder URI-Aufruf)
 @param: w = Breite des zu oeffnenden Browserfensters in Pixeln
 @param: h = Hoehe des zu oeffnenden Browserfensters in Pixeln
*/

function fns_openPopup(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 Confirm-Message anzeigen
 @param: msg = Ausgabemeldung/Hinweis
*/

function fns_killWindow(msg)
	{
	if (msg)
		{
		tmp = confirm(msg);
		if (tmp == true)
			{
			fns_closeWindow();
			}
		}
	else
		{
		fns_closeWindow();
		}
	}

/*
 CLOSEWINDOW 
 Browserfenster schliessen.
*/

function fns_closeWindow()
	{
	/* --- Bei IE ohne Bestaetigung Haupfenster schliessen --- */
	if (window.opener != top)
		{
		window.opener = top;
		}
	window.self.close();
	}
	
/* 
 PRINTWINDOW
 Inhalt des Browserfensters drucken
*/

function fns_printWindow()
	{  
	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();  
  	}
	}	
	
/*
 BESTAETIGUNGSDIALOG MIT WEITERLEITUNG
 Ausgabemeldung anzeigen und bei Bestaetigung auf weiterleiten
 @param: msg = Ausgabemeldung/Hinweis
 @param: url = Pfad/URI
*/
 
function fns_confirmMessage(msg,url)
	{
	if (url && msg)
		{
		tmp = confirm(msg);
		if (tmp == true)
			{
			location.replace(url);
			}
		}
	}
	
/*
 ELEMENTE ANZEIGEN/AUSBLENDEN
 Anzeige eines Elementes aendern > Anzeigen/Ausblenden
 @param: layer = ID des anzusprechenden Elementes
 @call: <a href="javascript:fns_changeElementVisibility('id');">Text</a>
*/
 
function fns_changeElementVisibility(layer)
  {
	/* --- Mderne Browser --- */
	if (document.getElementById)
	  {
		if (document.getElementById(layer).className == "fns_hideToggle")
		  {
			document.getElementById(layer).className = "fns_showToggle";
			}
		else if (document.getElementById(layer).className == "fns_showToggle")
			{
			document.getElementById(layer).className = "fns_hideToggle";
			}		
		}
	/* --- Alte IE-Versionen --- */
  else if (document.all)
	  {
		if (document.all[layer].className == "fns_hideToggle")
			{
			document.all[layer].className = "fns_showToggle";
		  }
		else if (document.all[layer].className == "fns_showToggle")
			{
			document.all[layer].className = "fns_hideToggle";
			}
		}
	}

/*
 FORMULARE VORBELEGEN
 notwendige Angaben im Formluar vorbelegen oder bei Even wieder loeschen.
 @param: Feld = Anzusprechendes Formularfeld
 @param: Zustand = Moegliche Events (focus|blur)
*/
 
function fns_formFillSearchelement(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;
			}	
		}
	}
	
/*
 FORMDROPDOWN
 Dropdown mit JS-Redirect
 Ist Value leer (x, --, /) wird Formular geresetet; enthaelt Value einen Wert automatisch weiterleiten.
 @param: url = Pfad/URI
 @call = <select name="NAME" onchange="javascript:fns_formDropdownLocation(this.form.name.options[this.form.name.options.selectedIndex].value);document.forms[url].reset();">
*/

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

/*
 CHECKBOXES AKTIVIEREN/DEAKTIVIERN
 Aender den Zustand einer Checkbox per Linkclick
 @param: element = Formularelement Checkbox (formularname.feldname)
 @call: <a href="fns_formCheckItem(documen.formname.feldname)">Text</a>
*/
 
function fns_formValidateCheckbox(element)
	{
	if (element.checked)
		{
		element.checked = false;
		}
	else if (!element.checked)
		{
		element.checked = true;
		}
	}

//-->

