function oe(Fehler,Datei,Zeile){
	alert('Es ist der JS- Fehler: '+Fehler+', in der Datei: '+Datei+', in der Zeile: '+Zeile+'Aufgetreten.');
}
function oe2(){
	return true;	
}
window.onerror=oe2;
function $(Id, Parent){
	if(!Parent && arguments.length == 2){
		return null;	
	}
	return (Parent || document).getElementById(Id);
}
function $T(Tag, Parent){
	if(!Parent && arguments.length == 2){
		return null;	
	}
	Tag=Tag?Tag:'*';
	return (navigator.appVersion.match(/MSIE 5/) && (Tag=='*'))?(Parent||document).all:(Parent||document).getElementsByTagName(Tag);
}
document.tmr = null;
document.tmeout = 10;
document.currentObject = null;
function init(){
	var a=$T('a');
	var imgs = $T('img');
	var td = $T('td');
	var hsh = '';
	for(var i=0;i<a.length;i++){
	  if(((a[i].href.indexOf('mail@heinrichklingenberg.php')>-1) && a[i].firstChild.data=='mail@heinrichklingenberg.php') || ((a[i].tagName.toLowerCase()=='area') && (a[i].href.indexOf('mail@heinrichklingenberg.php')>-1))){
		a[i].href=String.fromCharCode(109,97,105,108,116,111,58,105,110,102,111,64,104,101,105,110,114,105,99,104,107,108,105,110,103,101,110,98,101,114,103,46,99,111,109,63,115,117,98,106,101,99,116,61,73,110,116,101,114,110,101,116,97,110,102,114,97,103,101,32,118,111,110,32,100,101,114,32,75,111,110,116,97,107,116,115,101,105,116,101,32,100,101,114,32,119,119,119,46,104,101,105,110,114,105,99,104,107,108,105,110,103,101,110,98,101,114,103,46,99,111,109);
		a[i].firstChild.data = String.fromCharCode(105,110,102,111,64,104,101,105,110,114,105,99,104,107,108,105,110,103,101,110,98,101,114,103,46,99,111,109);
		a[i].style.visibility = 'visible';
	  }
	  var img = null;
	  if(img = document.images[a[i].id]){
		img.style.cursor = navigator.appVersion.match(/MSIE/) ? 'hand' : 'pointer';
		img.title = a[i].title;
		img.alt = a[i].title;
		img.onclick = function(){location.href = $(this.name).href;}
	  }
	  	// http://www.tomislav.net/gestrichelte-linie-um-link-verstecken.htm
		a[i].onmousedown=function(){this.onfocus=function(){this.blur();}}
		a[i].onmouseout=function(){this.onfocus=function(){}}
		a[i].onmouseup=a[i].onmouseout;
	  if((hsh = window.location.hash.replace(/#/,'')) && (a[i].name == hsh)){
			window.setTimeout(new Function("$T('a')[" + i + "].style.fontSize='13px';$T('a')[" + i + "].style.color='#cc0000';$T('a')[" + i + "].style.textDecoration='underline';"),1000);
		}
	}
	for(i=0;i<imgs.length;i++){
		if((imgs[i].className == 'png') && /MSIE (5\.5|6|7)/.test(navigator.userAgent)){
			imgs[i].style.behavior = 'url(/js/iepngfix.htc)';
		}
	}
	if(navigator.appVersion.match(/MSIE 6/)){
		for(i=0;i<td.length;i++){
			if(td[i].id=="bg_left"){
				td[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/img/bg_left.png', sizingMethod='scale')";
			}
			else if(td[i].id=="bg_right"){
				td[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/img/bg_right.png', sizingMethod='scale')";
			}
		}
	}
	/*
        if($('weitAng') && $('contOpener')){
		$('contOpener').onclick = function(){
			if(this.firstChild.data!='Wieder schließen...'){
				if(!window.tmr4) {
					window.toggleSmoothContainer($('weitAng'),'down');
					this.firstChild.data='Wieder schließen...';
				}
			}
			else {
				if(!window.tmr4) {
					this.firstChild.data = 'Bitte weitere Angaben machen, wenn möglich...';
					window.toggleSmoothContainer($('weitAng'),'up');
				}
			}
		}
	}
     */
}
window.myObject = null;
window.myDirection = '';
window.tmr4 = null;
window.toggleSmoothContainer = function(obj, direction)
{
	if(window.myDirection == 'down')obj.style.height='1px';
	window.myDirection = direction;
	window.myObject = obj;
	window.objheight = window.objheight2;
	window.tmr4 = window.setInterval(
		function()
		{
			var obj = window.myObject;
			window.objheight /= 1.5;
			obj.style.height = ((window.myDirection == 'down') ? Math.ceil(window.objheight2 - window.objheight) : Math.ceil(window.objheight)) + 'px';
			if(window.objheight <= 1.12){
				obj.style.height = (window.myDirection == 'down') ? window.objheight2 : '1' + 'px';
				window.objheight = 0;
				window.myDirection = '';
				window.myObject = null;
				clearInterval(window.tmr4);
				window.tmr4 = null;
			}
		}, 30
	);
}
window.wopen 	=	function(Url, Width, Height, Features)
{
	if(document.currWin){
		document.currWin.close();
	}
	document.currWin = window.open(Url,'Popup','width=' + Width + ',height=' + Height + ',top=20,left=20' + (Features?(','+Features):''));
	if(document.currWin){
		document.currWin.focus();
		return false;
	}
	else{
		return true;
	}
}
if(1){	
	String.prototype.normalize = function(){
		return this.replace(/\s+/g, " ");
	};
	
	/* IE 5.0 does not support the push method, so here goes */
	if(Array.prototype.push == null){
		Array.prototype.push = function(item){
			this[this.length] = item;
			return this.length;
		};
	};
	
	/*	Implement function.apply for browsers which don't support it natively
		Courtesy of Aaron Boodman - http://youngpup.net */
	if (!Function.prototype.apply){
		Function.prototype.apply = function(oScope, args) {
			var sarg = [];
			var rtrn, call;
	
			if (!oScope) oScope = window;
			if (!args) args = [];
	
			for (var i = 0; i < args.length; i++) {
				sarg[i] = "args["+i+"]";
			};
	
			call = "oScope.__applyTemp__(" + sarg.join(",") + ");";
	
			oScope.__applyTemp__ = this;
			rtrn = eval(call);
			oScope.__applyTemp__ = null;
			return rtrn;
		};
	};
	
	/*	The following code parses CSS selectors.
		This script however is not the right place to explain it,
		please visit the documentation for more information. */
	var parseSelector = function(){
		var reParseSelector = /^([^#\.>\`]*)(#|\.|\>|\`)(.+)$/;
		function parseSelector(sSelector, oParentNode, sMode){
			sSelector = sSelector.replace(" ", "`");
			var selector = sSelector.match(reParseSelector);
			var node, listNodes, listSubNodes, subselector;
			var listReturn = [];
	
			if(selector == null){ selector = [sSelector, sSelector]	};
			if(selector[1] == ""){ selector[1] = "*" };
			if(sMode == null){ sMode = "`" };
			
			switch(selector[2]){
				case "#":
					subselector = selector[3].match(reParseSelector);
					if(subselector == null){ subselector = [null, selector[3]] };
					node = 	document.getElementById(subselector[1]);
					if(node == null || (selector[1] != "*" && node.nodeName.toLowerCase() != selector[1].toLowerCase())){
						return listReturn;
					};
					if(subselector.length == 2){
						listReturn.push(node);
						return listReturn;	
					};
					return parseSelector(subselector[3], node, "#");
				case ".":
					if(sMode == "`"){
						listNodes = getElementsByTagName(oParentNode, selector[1]);
					} else {
						listNodes = oParentNode.childNodes;
					};
					
					for(var i = 0; i < listNodes.length; i++){
						node = listNodes[i];
						if(node.nodeType != 1){
							continue;	
						};
	
						subselector = selector[3].match(reParseSelector);
						if(subselector != null){
							if(node.className.match("\\b" + subselector[1] + "\\b") == null){
								continue;
							};
							listSubNodes = parseSelector(subselector[3], node, subselector[2]);
							listReturn = listReturn.concat(listSubNodes);	
						} else if(node.className.match("\\b" + selector[3] + "\\b") != null){
							listReturn.push(node);
						};
					};
					return listReturn;
				case ">":
					if(sMode == "`"){
						listNodes = getElementsByTagName(oParentNode, selector[1]);
					} else {
						listNodes = oParentNode.childNodes;
					};
					for(var i = 0; i < listNodes.length; i++){
						node = listNodes[i];
						if(node.nodeType != 1){
							continue;	
						};
						if(node.nodeName.toLowerCase() != selector[1].toLowerCase()){
							continue;
						};
						listSubNodes = parseSelector(selector[3], node, ">");
						listReturn = listReturn.concat(listSubNodes);	
					};
					return listReturn;
				case "`":
					listNodes = getElementsByTagName(oParentNode, selector[1]);
					for(var i = 0; i < listNodes.length; i++){
						node = listNodes[i];
						listSubNodes = parseSelector(selector[3], node, "`");
						listReturn = listReturn.concat(listSubNodes);	
					};
					return listReturn;
				default:
					listNodes = getElementsByTagName(oParentNode, selector[0]);
					for(var i = 0; i < listNodes.length; i++){
						listReturn.push(listNodes[i]);
					};
					return listReturn;
			};
		};
		
		function getElementsByTagName(oParentNode, sTagName){
			/*	IE5.x does not support document.getElementsByTagName("*")
				therefore we're resorting to element.all */
			if(sTagName == "*" && oParentNode.all != null){
				return oParentNode.all;
			};
			return oParentNode.getElementsByTagName(sTagName);
		};
		
		return parseSelector;
	}();
	
	/*	Executes an anonymous function which returns the function sIFR (defined inside the function).
		You can replace elements using sIFR.replaceElement()
		All other variables and methods you see are private. If you want to understand how this works you should
		learn more about the variable-scope in JavaScript. */
	var sIFR = function(){
		if(!document.createElement || !document.getElementById){; return function(){return false} };
	
		/* Providing a hook for you to hide certain elements if Flash has been detected */
		if(document.documentElement){
			document.documentElement.className = document.documentElement.className.normalize() + (document.documentElement.className == "" ? "" : " ") + "sIFR-hasFlash";
		};
	
		/* Opera and Mozilla require a namespace when creating elements in an XML page */
		var sNameSpaceURI = "http://www.w3.org/1999/xhtml";
		var UA = function(){ 
			var sUA = navigator.userAgent.toLowerCase();
			var oReturn =  {
				bIsKHTML: sUA.indexOf('safari') > -1 || sUA.indexOf('konqueror') > -1 || sUA.indexOf('omniweb') > -1,
				bIsOpera : sUA.indexOf('opera') > -1,
				bIsGecko : navigator.product != null && navigator.product.toLowerCase() == 'gecko',
				bIsXML : document.contentType != null && document.contentType.indexOf('xml') > -1
			};
			oReturn.bIsIE = sUA.indexOf('msie') > -1 && ! oReturn.bIsOpera && !oReturn.bIsKHTML && !oReturn.bIsGecko;
			return oReturn;
		}();
		var bIsInitialized = false;
		var stackReplaceElementArguments = [];
		
		function fetchContent(oNode, oNewNode, sCase){
			var sContent = "";
			var oSearch = oNode.firstChild;
			var oRemove, oRemovedNode, oTarget;
	
			while(oSearch){
				if(oSearch.nodeType == 3){
					switch(sCase){
						case "lower":
							sContent += oSearch.nodeValue.toLowerCase();
							break;
						case "upper":
							sContent += oSearch.nodeValue.toUpperCase();
							break;
						default:
							sContent += oSearch.nodeValue;
					};
				} else if(oSearch.nodeType == 1){
					if(oSearch.nodeName.toLowerCase() == "a"){
						if(oSearch.getAttribute("target")){
							oTarget = oSearch.getAttribute("target");
						} else {
							oTarget = "";
						};
						sContent += '<a href="' + oSearch.getAttribute("href") + '" target="' + oTarget + '">';
					};				
					if(oSearch.hasChildNodes){
						sContent += fetchContent(oSearch, null, sCase);
					};
					if(oSearch.nodeName.toLowerCase() == "a"){
						sContent += "</a>";
					};
				};
				oRemove = oSearch;
				oSearch = oSearch.nextSibling;
				if(oNewNode != null){
					oRemovedNode = oRemove.parentNode.removeChild(oRemove);
					oNewNode.appendChild(oRemovedNode);	
				};
			};
			return sContent;
		};
		
		function createElement(sTagName){
			if(document.createElementNS){
				return document.createElementNS(sNameSpaceURI, sTagName);	
			} else {
				return document.createElement(sTagName);
			};
		};
	
		function createObjectParameter(nodeObject, sName, sValue){
			var node = createElement("param");
			node.setAttribute("name", sName);	
			node.setAttribute("value", sValue);
			nodeObject.appendChild(node);
		};
		
		function replaceElement(sSelector, sFlashSrc, sColor, sLinkColor, sHoverColor, sBgColor, nPaddingTop, nPaddingRight, nPaddingBottom, nPaddingLeft, sFlashVars, sCase){
			if(!mayReplace()){
				return stackReplaceElementArguments.push(arguments);	
			};
			
			if(sFlashVars != null){
				sFlashVars = "&" + sFlashVars.normalize();
			} else {
				sFlashVars = "";	
			};
			
			var sWmode = (sBgColor == "transparent") ? "transparent" : "opaque";
			var node, sWidth, sHeight, sMargin, sPadding, sText, sVars, nodeAlternate, nodeFlash;
			var listNodes = parseSelector(sSelector, document);
			if(listNodes.length == 0){ return false };
	
			for(var i = 0; i < listNodes.length; i++){
				node = listNodes[i];
				
				/* Prevents elements from being replaced multiple times. */
				if(node.className.match(/\bsIFR\-replaced\b/) != null){ continue; };
	
				sWidth = node.offsetWidth - nPaddingLeft - nPaddingRight;
				sHeight = node.offsetHeight - nPaddingTop - nPaddingBottom;
	
				nodeAlternate = createElement("span");
				nodeAlternate.className = "sIFR-alternate";
	
				sText = fetchContent(node, nodeAlternate, sCase);
				sText = sText.replace(/%\d{0}/g, "%25");
				sText = sText.replace(/\+/g, "%2B");
				sText = sText.replace(/&/g, "%26");
				sText = sText.replace(/\"/g, "%22");
				sText = sText.normalize();
	
				sVars = "txt=" + sText + sFlashVars + "&w=" + sWidth + "&h=" + sHeight;
				if (sColor != null){sVars += "&textcolor=" + sColor};
				if (sLinkColor != null){sVars += "&linkcolor=" + sLinkColor}; 
				if (sHoverColor != null){sVars += "&hovercolor=" + sHoverColor};
				
				node.className = node.className.normalize() + (node.className == ""  ? "" : " ") + "sIFR-replaced";
	
				/*	Opera only supports the object element, other browsers are given the embed element,
					for backwards compatibility reasons between different browser versions. */
				if(UA.bIsOpera){
					nodeFlash = createElement("object");
					nodeFlash.setAttribute("type", "application/x-shockwave-flash");
					nodeFlash.setAttribute("data", sFlashSrc);
					createObjectParameter(nodeFlash, "quality", "high");
					createObjectParameter(nodeFlash, "wmode", sWmode);
					createObjectParameter(nodeFlash, "bgcolor", sBgColor);
					createObjectParameter(nodeFlash, "flashvars", sVars);
				} else {
					nodeFlash = createElement("embed");
					nodeFlash.setAttribute("src", sFlashSrc);
					nodeFlash.setAttribute("flashvars", sVars);
					nodeFlash.setAttribute("type", "application/x-shockwave-flash");
					nodeFlash.setAttribute("pluginspage", "http://www.macromedia.com/go/getflashplayer");
					nodeFlash.setAttribute("wmode", sWmode);
					nodeFlash.setAttribute("bgcolor", sBgColor);
				};
				nodeFlash.className = "sIFR-flash";
				nodeFlash.setAttribute("width", sWidth);
				nodeFlash.setAttribute("height", sHeight);
				nodeFlash.style.width = sWidth + "px";
				nodeFlash.style.height = sHeight + "px";
				node.appendChild(nodeFlash);
								
				node.appendChild(nodeAlternate);
				
				/*	Workaround to force KHTML-browsers to repaint the document. 
					Additionally, IE for both Mac and PC need this.
					See: http://neo.dzygn.com/archive/2004/09/forcing-safari-to-repaint */
	
				if(UA.bIsKHTML || UA.bIsIE){
					node.innerHTML += "";
				};
			};
		};
		
		function mayReplace(e){
			if(((UA.bIsXML && UA.bIsGecko || UA.bIsKHTML) && e == null && bIsInitialized == false) || document.getElementsByTagName("body").length == 0){
				return false;
			};
			return true;
		};
		
		function sIFR(e){
			if((!sIFR.bAutoInit && (window.event || e) != null) || !mayReplace(e)){
				return;	
			};
			bIsInitialized = true;
	
			for(var i = 0; i < stackReplaceElementArguments.length; i++){
				replaceElement.apply(null, stackReplaceElementArguments[i]);
			};
			stackReplaceElementArguments = [];
		};
	
		sIFR.replaceElement = replaceElement;
		sIFR.UA = UA;
		sIFR.bAutoInit = true;
		
		if(window.attachEvent){
			window.attachEvent("onload", sIFR);
		} else if(document.addEventListener || window.addEventListener){
			if(document.addEventListener){
				document.addEventListener("load", sIFR, false);	
			};
			if(window.addEventListener){
				window.addEventListener("load", sIFR, false);	
			};
		} else {
			if(typeof window.onload == "function"){
				var fOld = window.onload;
				window.onload = function(){ fOld(); sIFR(); };
			} else {
				window.onload = sIFR;
			};
		};
	
		return sIFR;
	}();
	window.onload = function (){
		if(sIFR != null && sIFR.replaceElement != null){
			sIFR.replaceElement("h1",  "confernUltra.swf", "#000033", null, null, 'transparent', 0, 0, 0, 0);
		};
		init();
	}
}
else{
	window.onload = init;
}
function writeArrow(Id){
	if (window.Calendar) {
		if($(Id).outerHTML && navigator.appVersion.match(/MSIE/) && !window.opera){
			$(Id).outerHTML = $(Id).outerHTML.replace(/id=Wunschtermin/,'id=Wunschtermin readOnly');
		}
		else{
			$(Id).setAttribute('readonly','readonly');
		}
		document.write('<img src="/img/arrow.gif" alt="" name="' + Id + '___calendar_trigger" id="' + Id + '___calendar_trigger" style="margin-bottom:-3px;cursor:pointer;" title="Datum asuwählen" />');
		Calendar.setup({
		"ifFormat": "%d.%m.%Y",
		"inputField": Id,
		"button": Id + '___calendar_trigger'
		});
	}
}