/**
* JavaScript-Funktionsbibliothek fuer http://www.thueringen.de
*
* © 2005-2008 <i-D> internet + Design GmbH & Co. KG
* Erfurter Str. 35
* 99423 Weimar
* Deutschland
* Fon:     03643 7785 0
* Fax:     03643 7785 29
* E-Mail:  office@i-d.de
* Web:     http://www.i.d.de/
*/

if (!d) var d = document;
var load_handlers = new Array();

// -----------------------------------------------------------------------------

// zum Auffinden von maskierten E-Mail-Adressen
// geklammerte Elemente werden als Gruppe im Ergebnis der RegExp-Suche behandelt...
var EMAIL_PATTERN  = /([a-zA-Z0-9\._-]+)(\[at\])([a-zA-Z0-9\._-]+)(\[punkt\])([a-zA-Z]+)/i;
// ... und werden durch die folgende Werte ersetzt;
// leeres Feld bedeutet, das der urspruengliche Wert erhalten bleibt
// ACHTUNG: in Feld 0 steht immer das komplette Ergebnis; die Indizierung der
// geklammerten Ergebnisse beginnt also mit 1 (eins)!
var EMAIL_REPLACES = new Array (5);
EMAIL_REPLACES[2] = '@';
EMAIL_REPLACES[4] = '.';

// -----------------------------------------------------------------------------

/**
* Frameblocker
*
* @author Niels Bobogk <niels@i-d.de>
*/
if (top != self) top.location = self.location;

// -----------------------------------------------------------------------------

/**
* JavaScript-Include
*
* @return void
* @author Niels Bobogk <niels@i-d.de>
*/
function include(path) {
	if (!d.createElement) {
		return;
	}
	var s = d.createElement('script');
	if (s) {
		try {
			s.setAttribute('type', 'text/javascript');
			s.setAttribute('src', path);
			s.setAttribute('charset', 'iso-8859-1');
			var head = d.getElementsByTagName('head')[0];
			if (head) {			
				head.appendChild(s);
			}
		} catch (e) {
			return (e);	
		}
	}
}

// -----------------------------------------------------------------------------

/**
* generiert einen Textlink zum Oeffnen des Druckdialogs des Browsers;
* wird deshalb nur angezeigt, wenn JS aktiviert ist
*
* @return void
* @author Niels Bobogk <niels@i-d.de>
*/
function printlink() {
	if (print) { 
		d.open();
		d.write("<a href=\"java" + "script:print();\" title=\"&Ouml;ffnet das Dialogfenster &raquo;Drucken&laquo; Ihres Browsers\" class=\"iconPrinter\">Drucken<\/a><\/li>");
		d.close(); 
	}	
}

// -----------------------------------------------------------------------------

/**
* für Flexmodul popup_fixwin
* Öffnet ein Bild in gegebenen Maßen im neuen Browaserfenster
*
* @return void
* @author Dirk Hildebrandt <hille@i-d.de>
*/
function picwin(pfad, winname, options) {
	var win = window.open(pfad, winname, options);
}

// -----------------------------------------------------------------------------

/**
* für TLVWA id_openwin
* öffnet fenster mit text.
*
* @return void
* @author Dirk Hildebrandt (hille@i-d.de)
*/
function id_openw(pfad, winname, options) {
	var win = window.open(pfad, winname, options);
}

// -----------------------------------------------------------------------------


/**
* ersetzt maskierte Mail-Adressen sowohl in Textknoten als auch in
* mailto-Links
*
* @author Niels Bobogk <niels@i-d.de>
* @return void
*/
function decodeEMail() {
	// zunaechst alle mailto-Links bearbeiten
	var a = d.links;
	var matches, newEMail;

	// href aller mailto-links ersetzen
	for (var i = 0; i < a.length; i++) {
		matches = EMAIL_PATTERN.exec(a[i].href);
		if (matches != null) {
			a[i].href = a[i].href.replace(EMAIL_PATTERN, replaceMaskedEMail(matches));
			if (navigator.appName.indexOf("Internet Explorer") != -1) {
				EMAIL_PATTERN.lastIndex = 0;
			}
		};

	}	
	// alle Textknoten filtern
	decodeEMailInText(d.body);
}

// -----------------------------------------------------------------------------

/**
* durchsucht rekursiv die Textknoten ab einer bestimmten Stelle nach
* maskierten E-Mailadressen
*
* @author Niels Bobogk <niels@i-d.de>
* @param object node: Startknoten (z.B. 'document.body')
* @return void
*/
function decodeEMailInText(nodeCurr) {
	for (var i = 0; i < nodeCurr.childNodes.length; i++) {
		decodeEMailInText(nodeCurr.childNodes[i]);	
	}
	// Textknoten?
	if (nodeCurr.nodeType == 3) {
		var matches = EMAIL_PATTERN.exec(nodeCurr.nodeValue);
		if (matches != null) {
			nodeCurr.nodeValue = nodeCurr.nodeValue.replace(EMAIL_PATTERN, replaceMaskedEMail(matches));
		};	
	}
}

// -----------------------------------------------------------------------------

/**
* maskierte E-Mail-Adresse umwandeln
*
* @param match auf maskierte E-Mail-Adresse
* @return string
*/
function replaceMaskedEMail(matches) {
	var newEMail = '';
	
	try {		
		if (matches != null) {		
			// Indizierung der Gruppen beginnt ab Feld 1 !
			for (var i = 1; i < matches.length; i++) {
				// urspruenglichen Wert behalten
				if (EMAIL_REPLACES[i] == null || EMAIL_REPLACES[i] == '') {
					newEMail += matches[i];
				}
				// Wert ersetzen
				else {
					newEMail += EMAIL_REPLACES[i];
				}
			}
		}
	} 
	catch (e) {
		newEMail = "FEHLER: " + e;	
	}
	return 	newEMail;
}

// -----------------------------------------------------------------------------

/**
* falls Prototype nicht geladen wurde, wird in einer Zeitschleife gewartet,
* bis die erforderlichen Funktionen zur Verfuegung stehen
*
* @return void
*/
function waitPrototype() {
	if (typeof Prototype != 'undefined') {
		window.clearTimeout(d.to);
		// Opera führt schon eher aus, daher so:
		Prototype.Browser.Opera ? Event.observe(window, 'load', decodeEMail) : decodeEMail();			
	} else {
		d.to = window.setTimeout('waitPrototype()', 1000);
	}
}

// -----------------------------------------------------------------------------


function init() {
	decodeEMail();
	for (var i = 0; i < load_handlers.length; i++) {
		eval(load_handlers[i]);
	}
}

// -----------------------------------------------------------------------------

if (typeof Prototype == 'undefined') {
	// Aufruf der Include-Funktion. Ist das Erste Feld ein leerer String '', dann wird immer included
	// entweder so mit Prototype:
	// include('/de/js/prototype-1.5.1.2.js');
	// waitPrototype();
	// oder so ohne:
	window.onload = init;	
} else {
	Event.observe(window, 'load', init);	
}



//----------------------------------------------------------------------
// Flexmodul: Textbox mit 3 Tabs 


function switchTab(flex,id){
  for (a=1; a<=3; a++){
    var aktuell = document.getElementById("textboxTab-"+flex+"-"+a);
    if (a == '1'){
      if (a == id){
        aktuell.className = "textboxTitel first textboxAktiv";
        document.getElementById('textboxContent-'+flex+'-'+a).style.display="block";
      }
      else {
        aktuell.className = "textboxTitel first";
        document.getElementById("textboxContent-"+flex+"-"+a).style.display="none";
      }
    }
    else {
      if (a==id) {
        aktuell.className = "textboxTitel textboxAktiv secondThird";
        document.getElementById('textboxContent-'+flex+'-'+a).style.display="block";
      }
      else {
        aktuell.className = "textboxTitel secondThird";
        document.getElementById("textboxContent-"+flex+"-"+a).style.display="none";
      }
    }
  }
}

/**
*   file:           thueringen.js (idTools_v0.1.js)
*
*   function:       Require
*   begin:          feb.2009
*   copyright:      © 2009 <i-D> internet + Design GmbH & Co. KG
*                   Erfurter Str. 35
*                   99423 Weimar
*                   Deutschland
*                   Fon:     03643 7785 0
*                   Fax:     03643 7785 29
*                   E-Mail:  office@i-d.de
*                   Web:     http://www.i.d.de/
*   author:         Michael Waack <m.waack@i-d.de>
*
*/

/* ################################################################################### */
/*                                                                                     */
/* BEGIN idTools                                                                */
/*                                                                                     */
/* ################################################################################### */


var idTools = function() {
		
		/* CONFIG_REQUIRE */
		var __libPath = "/de/js/lib/";												// Pfad zu den Bibliotheken
		// Array der bibliotheken mit der prüfroutine
		// require("prototype") liefert den ersten prototype (regex)
		// bei eigener version muss z.B. Require("prototype-1.6.0.3") aufgerufen werden
		var __modul = new Array()
		__modul[0] = new Array("prototype-1.6.js",(typeof Prototype!='undefined'),0);
		__modul[1] = new Array("prototype-1.6.0.3.js",(typeof Prototype!='undefined'),0);
		__modul[2] = new Array("jquery-1.2.6.min.js",(typeof jQuery!='undefined'),0);
		__modul[3] = new Array("swfobject.js",(typeof swfobject!='undefined'),0);
		__modul[4] = new Array("swfobject_v1.5.js",(typeof deconcept!='undefined'),0);
		__modul[5] = new Array("scriptaculous-1.8.2/scriptaculous.js",(typeof Scriptaculous!='undefined'),0);
		__modul[6] = new Array("highslide/highslide-full.js",(typeof hs!='undefined'),0);
		__modul[7] = new Array("highslide/highslide.js",(typeof hs!='undefined'),0);
		

		var __xReq;									// zum einlesen der Module
		var __modulIndex = null;		// Index im Array des aktuellen Moduls
		var __modulName = null;			// Name des Aktuellen Moduls
															
		var __RequireReady = new Array();	// Speichert Ladezustand der Module
		
/* --------------------------------------- */
/* Interne Funktionen zum laden der Module */
function __loadModul(item)
{
	__modulIndex = item;
	__xReq = __createXMLHttpRequest();	
  __xReq.onreadystatechange = __handleStateChange;
  __xReq.open('GET', __libPath + __modul[item][0], false); 
  __xReq.send(null);
	if (__xReq.readyState == 4)
	{
		exec(__xReq.responseText);
		//__insertScript(__xReq.responseText);
	}

}
		function exec(script) {
			( window.execScript ) ? window.execScript( script ) : window.eval( script );
					//__RequireReady[__modulName] = true;

		}

function __insertScript(js_code)
{
    var script_block = document.createElement('script');
    script_block.type = 'text/javascript';
    var client_pc = navigator.userAgent.toLowerCase();
    if((client_pc.indexOf("msie") != -1) && (client_pc.indexOf("opera") == -1)) {
        script_block.text = js_code;
    } else {
        script_block.appendChild(document.createTextNode(js_code));
    }

    if(typeof(script_block) != "undefined") {
      document.getElementsByTagName("head")[0].appendChild(script_block);
		}
		__modul[__modulIndex][2]=1;
		__RequireReady[__modulName] = true;
}
function __handleStateChange() {
  switch (__xReq.readyState) {
    case 0 : // UNINITIALIZED
    case 1 : // LOADING
    case 2 : // LOADED
    case 3 : // INTERACTIVE
      break;
    case 4 : // COMPLETED
        var sts = __xReq.responseText;
        __insertScript(sts);
      break;
  }
}

/* --------------------------------------------------------------- */
/*		xmlRequest erstellen                                         */
/* --------------------------------------------------------------- */
function __createXMLHttpRequest() {
  var req = null;
  try {
    req = new ActiveXObject("MSXML2.XMLHTTP");
  }
  catch (err_MSXML2) {
    try {
      req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (err_Microsoft) {
      if (typeof XMLHttpRequest != "undefined") 
        req = new XMLHttpRequest;
    }
  }
  return req;
}		
/* --------------------------------------------------------------- */
/*		Lädt Module nach sofern noch nicht geladen                   */
/* --------------------------------------------------------------- */
/* Public */
return {
 Require : function (modul)
{
	
	if (typeof __RequireReady[modul] !="undefined" && __RequireReady[modul])
		return true;	
	var i = 0;
	__modulName = modul;
	__RequireReady[__modulName] = false;
	for (i=0;i<__modul.length;i++)
	{
		if (__modul[i][0].match(modul))
		{
			
			if(__modul[i][2]==1)
				return;
			if(!__modul[i][1])
			{
				
				__loadModul(i);
				return;
			}
		}
	}
},

/* --------------------------------------------------------------- */
/* Liefert true wenn angegebenes Modul erfolgreich geladen wurde   */
/* --------------------------------------------------------------- */
RequireReady : function (modulName)
{
	if (typeof __RequireReady[modulName] !="undefined" && __RequireReady[modulName])
		return true;
	else
		{
			window.setTimeout(this.RequireReady.caller, 100);			
			return false;
		}
},
/* Fügt eine Event zum angegebenen Object hinzu (z.B. __addEvent(window, 'load', function); */
addEvent : function (obj, evType, fn){ 
 if (obj.addEventListener){ 
   obj.addEventListener(evType, fn, false); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent("on"+evType, fn); 
   return r; 
 } else { 
   return false; 
 } 
}

};}();

/* --------------------------------------- */

/* ################################################################################### */
/*                                                                                     */
/* END idTools                                                                */
/*                                                                                     */
/* ################################################################################### */
/*
idTools.addEvent(window,"error",errMsg);

function errMsg (errEvent) {
  Fehler = "Fehlermeldung:\n";
  alert(Fehler + "\n" + errEvent.target.location.href);
  return true;
}
*/


idTools.Require ("highslide/highslide.js");
