var lnk = document.links;
var i, hasClass;

/* http://molily.de/js/css.html */
function addClass (element, className) {
	if (!hasClass(element, className)) {
		if (element.className) {
			element.className += " " + className;
		} else {
			element.className = className;
		}
	}
}

function removeClass (element, className) {
	var regexp = addClass[className];
	if (!regexp) {
		regexp = addClass[className] = new RegExp("(^|\\s)" + className + "(\\s|$)");
	}
	element.className = element.className.replace(regexp, "$2");
}

function hasClass (element, className) {
	var regexp = addClass[className];
	if (!regexp) {
		regexp = addClass[className] = new RegExp("(^|\\s)" + className + "(\\s|$)");
	}
	return regexp.test(element.className);
}

function toggleClass (element, className) {
	if (element.hasClass(className)) {
		element.removeClass(className);
	} else {
		element.addClass(className);
	}
}

function links() { 
	for(i=0; i < document.links.length; i++) {
	   // externe Links:
		if(lnk[i].href.indexOf(document.location.hostname) === -1 && 
		lnk[i].innerHTML.toLowerCase().indexOf("<img")===-1 &&
		document.URL.indexOf("cache") === -1 && // wg. Google Cache
		lnk[i].href.indexOf("avascript:")=== -1 &&
		lnk[i].href.indexOf("twenga.de")=== -1 &&
      lnk[i].href.indexOf("twitter.com")== -1 &&
      lnk[i].href.indexOf("w7t.de")== -1 &&
      lnk[i].href.indexOf("posterous.com")== -1 &&
      lnk[i].href.indexOf("browser1.de")== -1 && //teliad Postlink
      lnk[i].href.indexOf("prosite.de")== -1 && // teliad Postlink

		lnk[i].href.toLowerCase().indexOf("mailto")===-1 ||
		lnk[i].href.indexOf("0.php")!==-1) {
			lnk[i].title = ""+lnk[i] + lnk[i].title;
			// wenn Liste: bullet ändern
			// nur wenn Link unmittelbar anschließend an <li>!
			if (lnk[i].parentNode.tagName === "LI" &&
			lnk[i].parentNode.firstChild.nodeType === 1) {  
				lnk[i].parentNode.className="exlist";
			}
			// wenn keine Liste
			else {
				lnk[i].className= lnk[i].className+" ex";
			}
			// nur wenn dfn nicht bereits im Seitenquelltext:
			if (lnk[i].innerHTML.toLowerCase().indexOf("<")===-1) {
				lnk[i].innerHTML="<dfn></dfn> "+lnk[i].innerHTML;
            // lnk[i].target = "_blank";
			}
		}
	   // Seiteninterne Links:
	      else if (lnk[i].href.indexOf('#') !== -1 &&
         lnk[i].href.indexOf('#skip') === -1 &&
		   lnk[i].href.indexOf(document.URL) !== -1) { 
   			// wenn Liste: bullet ändern
   			if (lnk[i].parentNode.tagName === "LI") {
   				  addClass(lnk[i].parentNode, "intlist");
   			}
   			// wenn keine Liste
			else {
				lnk[i].className= lnk[i].className+" int";
			}

			// nur wenn dfn nicht bereits im Seitenquelltext:
			if (lnk[i].innerHTML.indexOf("<")=== -1 &&
			lnk[i].innerHTML.indexOf("skip")=== -1 ) {
				lnk[i].innerHTML="<dfn></dfn> "+lnk[i].innerHTML;
			}
		}
      // alle anderen, d.h. auf andere eigene Seiten:
         else if ( 
      			lnk[i].className.indexOf("teaser")=== -1 &&
                  lnk[i].parentNode.className.indexOf("rahmen") === -1 && // mms
                  lnk[i].parentNode.className.indexOf("beispiel") === -1 && // mms
                  lnk[i].href.indexOf("posterous")=== -1 &&
                  lnk[i].href.indexOf("abi-projekt")=== -1 &&
                  lnk[i].href.indexOf("bgsound")=== -1 &&

                  lnk[i].href.indexOf("browser1.de")=== -1 && //teliad Postlink
                  lnk[i].href.indexOf("prosite.de")=== -1 && //teliad Postlink

                  lnk[i].href.indexOf("twenga.de")=== -1 && //direkt

                  lnk[i].href.indexOf("#")=== -1 &&
                  lnk[i].className.indexOf("noverweis")=== -1) {
      				    lnk[i].className= lnk[i].className+" verweis";
                  }
        
	}
}
/* http://www.kryogenix.org/code/browser/searchhi/ */
/* Modified  by webdesign.weisshart.de/  28.03.06 - 10.09.2009*/

var i, j, tempNodeVal, tempWordVal, pn, klasse, w, nv, ni, before, docWordVal, after, hiwordtext, hiword, unescape, qs, qsa, qsip, words;
var ref = "";

/* http://www.dustindiaz.com/getelementsbyclass/ */
function getElementsByClass(searchClass,node,tag) {
   var classElements = [];
   if ( node === null ) {node = document;}
   if ( tag === null ) {tag = '*';}
   var els = node.getElementsByTagName(tag);
   var elsLen = els.length;
   var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
   for (i = 0, j = 0; i < elsLen; i++) {
      if ( pattern.test(els[i].className) ) {
         classElements[j] = els[i];
         j++;
      }
   }
   return classElements;
}


function highlightWord(node,word) {
	// Iterate into this nodes childNodes
	if (node.hasChildNodes) {
		var hi_cn;
		for (hi_cn=0;hi_cn<node.childNodes.length;hi_cn++) {
			highlightWord(node.childNodes[hi_cn],word);
		}
	}
	
	// And do this node itself
	if (node.nodeType == 3) { // text node
		tempNodeVal = node.nodeValue.toLowerCase();
		tempWordVal = word.toLowerCase();
		if (tempNodeVal.indexOf(tempWordVal) != -1) {
			pn = node.parentNode;
			klasse = "searchword"+w; // different colors for differnt searchterms

			if (pn.className != klasse) {
				// word has not already been highlighted!
				nv = node.nodeValue;
				ni = tempNodeVal.indexOf(tempWordVal);
				// Create a load of replacement nodes
				before = document.createTextNode(nv.substr(0,ni));
				docWordVal = nv.substr(ni,word.length);
				after = document.createTextNode(nv.substr(ni+word.length));
				hiwordtext = document.createTextNode(docWordVal);
				hiword = document.createElement("em"); // modified from span to em

				hiword.className = klasse;
				hiword.appendChild(hiwordtext);
				pn.insertBefore(before,node);
				pn.insertBefore(hiword,node);
				pn.insertBefore(after,node);
				pn.removeChild(node);
			}
		}
	}
}

function Highlight() {

   if (document.location.search.indexOf("nohighlight") !== -1) {return;}
	if (!document.createElement) {return;}


	if (document.referrer.search(/google.+/) != -1 || document.referrer.search(/lycos.+/) != -1 || document.referrer.search(/yahoo.+/) != -1 || document.referrer.search(/fireball.+/) != -1 ||document.referrer.search(/search\.msn.+/) != -1 || document.referrer.search(/bing.+/) != -1) {
		ref = decodeURIComponent(document.referrer);
		if (ref.indexOf('?') == -1) {return;}
	}
	if (document.location.search) { ref = unescape(document.location.search); } // Anzeige auf der Suchen Seite
   if (document.referrer.search(/suchen.php.+/) != -1) {ref = unescape(document.referrer); } // fuer seiteninterne Suche

	qs = ref.substr(ref.indexOf('?')+1);
   qs = qs.replace(/\.|,|;|!|\?|:|"|'|\//gi,'');
	qsa = qs.split('&');


	for (i=0;i<qsa.length;i++) {
		qsip = qsa[i].split('=');
	      if (qsip.length == 1 || qsip.length == 5) {continue;}
        	if (qsip[0] == 'q' || qsip[0] == 'query' ||qsip[0] == 'p' || qsip[0] == 's' ) { // q= for Google, p= for Yahoo, query= Fireball, Lycos etc., s= for wordpress
	      if (qsip[1].length < 3 ) {continue;}

			// words not to be highlighted:
         //	qsip[1] = qsip[1].replace(/\"|\'|\*|;|\bbei\b|\bfür\b|\bvon\b|\bnicht\b|\bde.\s*\b|\bdie\b|\bdas\b|\bauf\b|\bein\b|\bund\b|\bwie\b|\bkann\b|\bich\b|\bman\b|\bmit\b|\ist\b|Suchbegriff/gi,'');
				
			qsip[1] = qsip[1].replace(/Suchbegriff/gi,'');
         if (document.URL.indexOf('blog') >= 1) {qsip[1] = qsip[1].replace(/\d\d|\d/g,'');} // 1/2-digit number in blogs
                        
			// remove all blanks and '+' before and after searchterm (bugfix: crashes FF & Op)
			qsip[1] = qsip[1].replace(/^(\s+|\++)/,'').replace(/(\++)$/,'').replace(/(\s+)$/,'');
			
			if (qsip[1] !== '') {
			words = unescape(qsip[1].replace(/\+/g,' ')).split(/\s+/);
				for (w=0;w<words.length;w++) {
					if (words[w].length >= 3) {
                   // Tim Reeves: nur div inhalt highlighten:
                   //highlightWord(document.getElementById("inhalt"),words[w]);

					    highlightWord(getElementsByClass("inhalt",document, "*")[0],words[w]);
					    //highlightWord(document.getElementsByTagName("body")[0],words[w]);
					}
            }
			}
	   }
	}
}

//window.onload = Highlight;
var target,anchor,cypos,ss_stepsize,wascypos,isAbove,iscypos,isAboveNow;var ss={fixAllLinks:function(){var allLinks=document.getElementsByTagName('a');for(var i=0;i<allLinks.length;i++){var lnk=allLinks[i];if((lnk.href&&lnk.href.indexOf('#')!=-1)&&((lnk.pathname==location.pathname)||('/'+lnk.pathname==location.pathname))&&(lnk.search==location.search)){ss.addEvent(lnk,'click',ss.smoothScroll)}}},smoothScroll:function(e){if(window.event){target=window.event.srcElement}else if(e){target=e.target}else{return}if(target.nodeName.toLowerCase()!='a'){target=target.parentNode}if(target.nodeName.toLowerCase()!='a'){return}anchor=target.hash.substr(1);var allLinks=document.getElementsByTagName('a');var destinationLink=null;for(var i=0;i<allLinks.length;i++){var lnk=allLinks[i];if(lnk.name&&(lnk.name==anchor)){destinationLink=lnk;break}}if(!destinationLink){destinationLink=document.getElementById(anchor)}if(!destinationLink){return true}var destx=destinationLink.offsetLeft;var desty=destinationLink.offsetTop;var thisNode=destinationLink;while(thisNode.offsetParent&&(thisNode.offsetParent!=document.body)){thisNode=thisNode.offsetParent;destx+=thisNode.offsetLeft;desty+=thisNode.offsetTop}clearInterval(ss.INTERVAL);cypos=ss.getCurrentYPos();ss_stepsize=parseInt((desty-cypos)/ss.STEPS,10);ss.INTERVAL=setInterval('ss.scrollWindow('+ss_stepsize+','+desty+',"'+anchor+'")',10);if(window.event){window.event.cancelBubble=true;window.event.returnValue=false}if(e&&e.preventDefault&&e.stopPropagation){e.preventDefault();e.stopPropagation()}},scrollWindow:function(scramount,dest,anchor){wascypos=ss.getCurrentYPos();isAbove=(wascypos<dest);window.scrollTo(0,wascypos+scramount);iscypos=ss.getCurrentYPos();isAboveNow=(iscypos<dest);if((isAbove!=isAboveNow)||(wascypos==iscypos)){window.scrollTo(0,dest);clearInterval(ss.INTERVAL);location.hash=anchor}},getCurrentYPos:function(){if(document.body&&document.body.scrollTop){return document.body.scrollTop}if(document.documentElement&&document.documentElement.scrollTop){return document.documentElement.scrollTop}if(window.pageYOffset){return window.pageYOffset}return 0},addEvent:function(elm,evType,fn,useCapture){if(elm.addEventListener){elm.addEventListener(evType,fn,useCapture);return true}else if(elm.attachEvent){var r=elm.attachEvent("on"+evType,fn);return r}else{alert("Handler could not be removed")}}};ss.STEPS=25;ss.addEvent(window,"load",ss.fixAllLinks);if(top.frames.length > 0) {top.location.href = self.location;}

// der countdown fuer sms2web
var iCounter = 90;
function countdown() {
	if (iCounter > 0)	{
		iCounter--;
		if (document.getElementById('counter')) {
			document.getElementById('counter').innerHTML = iCounter;
		}
		setTimeout(countdown,1000);
	} else {
		document.location.reload();
	}
}
//window.onload = countdown;

// die Fortschrittsanzeige - Aufruf im Submit - leider nicht im IE
function noshowWait() {
	if (document.getElementById){
		document.getElementById('wait').style.visibility='hidden';
		return true;
	}
}

function showWait() {
	if (document.getElementById){
		document.getElementById('wait').style.visibility='visible';
		return true;
	}
}

// http://www.drweb.de/trickkiste/tricks214.shtml
// if((c[i].href.search("weisshart.de")==-1) || (c[i].href.indexOf("0.php")!= -1)) {c[i].target=b;}
function linkopener(a) {
   var b=a?"_blank":"_self";
   var c=document.links;
   for(var i=0;i<c.length;i++) {
   	if(c[i].href.search("schalter.cc")==-1) {c[i].target=b;}
   }
}

function linkcookie() {
// externe Links Sessioncookie setzen bzw. loeschen
   if(document.cookie.indexOf('externoeffnen') !== -1){
//     document.cookie = 'extern=externoeffnen;'+ ' expires=Thu, 01-Jan-70 00:00:01';
//     document.cookie = 'extern=externoeffnen;'+ ' expires=Fri, 02 Jan 1970 00:00:00 UTC';
document.cookie = 'extern=0;path=/;expires=Thu, 01-Jan-70 00:00:01 GMT';
    } else {
     document.cookie='extern=externoeffnen; path =/';
   }
}


// http://ichwill.net/chapter4.html
function addEvent(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;
 }
}


function addHandler() {
 if (document.getElementById('q')) {
   document.getElementById('q').setAttribute('onblur', 'if(this.value=="")this.value="Suchbegriff"');
   document.getElementById('q').setAttribute('onfocus', 'if(this.value=="Suchbegriff")this.value=""');
 }

 if (document.getElementById('s')) {
   document.getElementById('s').setAttribute('onblur', 'if(this.value=="")this.value="Blogsuche"');
   document.getElementById('s').setAttribute('onfocus', 'if(this.value=="Blogsuche")this.value=""');
 }
}
function searchzeig () {
/*global window, unescape */
var append, zusatz, searchterma, searchterm, st_content;
var ref = "";
//if (window.location.search) {ref = unescape(window.location.search);}
if (window.location.search) {ref = window.location.search;}


append = ref;

if (document.referrer.search(/google.+/) != -1 || document.referrer.search(/lycos.+/) != -1 || document.referrer.search(/fireball.+/) != -1|| document.referrer.search(/yahoo.+/) != -1 || document.referrer.search(/search\.msn.+/) != -1 || document.referrer.search(/bing.+/) != -1) { // für Google und Co.
  ref = decodeURIComponent(document.referrer).replace(/\+/g,' ');
} 

if (document.referrer.search(/suchen.php.+/) != -1) { // fuer seiteninterne Suche
  ref = unescape(document.referrer).replace(/\+/g,' ');
}


zusatz ="?x=";
if (append.indexOf("?") != -1) {zusatz = "&amp;q=";}

searchterma = ref.split('q=');  // Google und MSN
if (!searchterma[1]) {searchterma = ref.split('s=');}  // Wordpress intern
if (!searchterma[1]) {searchterma = ref.split('p=');} //YAHOO! das zwickt sich leider mit wordpress?
if (!searchterma[1]) {searchterma = ref.split('query=');} //Fireball

//alert (searchterma[1]);

if (searchterma[1]) {

   searchterm = searchterma[1].split('&');
   searchterm[0] = unescape(searchterm[0]); // damit Umlaute korrekt angezeigt werden
   searchterm[0] = searchterm[0].replace(/</g,'&lt;');
   searchterm[0] = searchterm[0].replace(/>/g,'&gt;');


   if (window.location.search.indexOf("nohighlight") == -1) {
//      if (searchterma[0].indexOf("?") !== -1) {
         if (searchterm[0] !== '' && searchterm[0] !== 'Suchbegriff' && searchterm[0].replace(/\d.+\b/,'')) {
            st_content = "Folgende Suchbegriffe sind markiert: "+searchterm[0].replace(/\+/g,' ')+"<br /><em><a href=\""+window.location+zusatz+ "nohighlight\">Die&nbsp;farbigen&nbsp;Treffermarkierungen&nbsp;entfernen&nbsp;[X]</a></em><br />";
         }
//      }

      if (document.getElementById('searchterm')) {
        document.getElementById('searchterm').innerHTML = st_content;
      }
   }
}

}var i,j,browser,elem;var zeigen='<span aria-relevant="all">[+]<dfn> erweitern<\/dfn><\/span>';var ausblend='<span aria-relevant="all">[-]<dfn> reduzieren<\/dfn><\/span>';function klapp(nr){if(document.getElementById('kl'+nr)){if((this['show'+nr])!==false){document.getElementById('klapp'+nr).innerHTML=zeigen;(this['show'+nr])=false;document.getElementById('kl'+nr).style.display='none'}else if((this['show'+nr])===false){document.getElementById('klapp'+nr).innerHTML=ausblend;(this['show'+nr])=true;document.getElementById('kl'+nr).style.display='block'}}}function on_click(mr){var links=document.getElementById('klapp'+mr);links.onclick=function(){klapp(mr);return false}}function init_klapp(){if(navigator.userAgent.indexOf("MSIE")!==-1){browser="ms"}else{browser="gut"}var e2=getElementsByClass('klappen',document,'*');for(var m=0;m<e2.length;m++){var att=document.createAttribute("id");att.nodeValue="kl"+m;e2[m].setAttributeNode(att);if(e2[m].nodeName=="UL"||e2[m].nodeName=="OL"&&e2[m].parentNode.nodeName=="LI"){elem=e2[m].parentNode}else if(browser=="ms"){elem=e2[m].previousSibling}else if(browser=="gut"){elem=e2[m].previousSibling.previousSibling}var neuS=document.createElement("a");var neuSpanText=document.createTextNode("");neuS.appendChild(neuSpanText);elem.insertBefore(neuS,elem.firstChild.nextSibling);var att2=document.createAttribute("id");att2.nodeValue="klapp"+m;elem.firstChild.nextSibling.setAttributeNode(att2);var att4=document.createAttribute("href");att4.nodeValue="javascript:void(0);";elem.firstChild.nextSibling.setAttributeNode(att4);elem.setAttribute('aria-live','polite');if(document.getElementById('klapp'+m)){klapp(m);on_click(m)}}}function checkForm(){
   var a=document.getElementById('auth0r');
   if(a.value.length<3){
      alert("Fehler: Bitte geben Sie einen Namen ein.");
      a.focus();
      return false;
   }

   var b=document.getElementById('text');
   if(b.value.length<30){
      alert("Fehler: Bitte geben Sie eine Nachricht mit mindestens 30 Zeichen ein.");
      b.focus();
      return false;
   }
}

function insert(a,b){
   var c=document.getElementById('Kommentar').getElementsByTagName('textarea')[0];
   c.focus();
   if(typeof document.selection!='undefined'){
         var d=document.selection.createRange();
         var e=d.text;
         d.text=a+e+b;
         d=document.selection.createRange();
         if(e.length===0){
            d.move('character',-b.length);
         }else{
            d.moveStart('character',a.length+e.length+b.length);
         }
         d.select();
   }else if(typeof c.selectionStart!='undefined'){
         var f=c.selectionStart;
         var g=c.selectionEnd;
         var e=c.value.substring(f,g);
         c.value=c.value.substr(0,f)+a+e+b+c.value.substr(g);
         var h;
         if(e.length===0){
            h=f+a.length;
         }else{
            h=f+a.length+e.length+b.length;
         }
         c.selectionStart=h;
         c.selectionEnd=h;
   }else{
         var h;
         var i=new RegExp('^[0-9]{0,3}$');
         while(!i.test(h)){
            h=c.value.length;
         }
         if(h>c.value.length){
            h=c.value.length;
         }
         var e=prompt("Bitte geben Sie den zu formatierenden Text ein:");
         c.value=c.value.substr(0,h)+a+e+b+c.value.substr(h);
   }
}

var SteuercodeText;

function SteuercodeBox(){
   var a=document.getElementById('Steuercodes');
   if(!a) {return false;}
   var b=a.getElementsByTagName('a')[0];
   var c=a.getElementsByTagName('span')[0];
   if(SteuercodeText){
      c.innerHTML=SteuercodeText;
      b.onmouseover='';
      return true;
   }
   SteuercodeText=c.innerHTML;
   c.innerHTML='';
   b.onmouseover=SteuercodeBox;
   b.href='javascript:SteuercodeInfo()';
   return true;
}

function SteuercodeInfo(){
   document.write('<html><head><title>Info<\/title><\/head><body>'+SteuercodeText+'</body></html>');
   document.close();
}

//window.onload=SteuercodeBox;
addEvent(window, 'load', searchzeig);

addEvent(window, 'load', Highlight);
addEvent(window, 'load', addHandler);
addEvent(window, 'load', links);
addEvent(window, 'load', SteuercodeBox);


