<!--
//////////////////////////////////////////////////////////////////////////////////////////////////
//
// Allgemeine Funktionen
// vogelstimmen.de, April 2007
// Christian Heil
//
//////////////////////////////////////////////////////////////////////////////////////////////////
function windowOpener1(a)
{
	w = window.open(a,'vogelstimmen.de','toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=yes,width=500,height=400');w.focus();
}
//////////////////////////////////////////////////////////////////////////////////////////////////
function windowOpener(url, width, height, myparams) 
{
	var params = "width=" + width + ",height=" + height + ",";
	if (myparams) 
	{
	params += myparams;
	} 
	else 
	{
	params += "toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=yes";
	}
	var windowname = "vogelstimmen.de" + Math.floor (Math.random () * 100000);
	var p = window.open (url, windowname, params);
}
//////////////////////////////////////////////////////////////////////////////////////////////////
function cookiesAreEnabled() {
	return (document.cookie.match("test_cookie")) ? true : false;
}
//////////////////////////////////////////////////////////////////////////////////////////////////
function addAutoCompleteOff(el) 
{
	msg = '';
	if (el.hasChildNodes()) 
	{
		var sub = el.firstChild;
		while(sub) 
		{
			if (sub.nodeType==1 && sub.nodeName.toLowerCase()=='input') 
			{
				sub.setAttribute('autocomplete','off');
				msg += 'got node: '+sub.nodeName+' = '+(sub.attributes.name ? sub.attributes.name.value : sub.attributes.value.value)+' ('+sub.attributes.type.value+')'+"\n";
			}
			if (sub.hasChildNodes()) 
			{
				for (var i=0; i<sub.childNodes.length; i++) 
				{
					msg += addAutoCompleteOff(sub.childNodes[i]);
				}
			}
			sub = sub.nextSibling;
		}
	}
	return msg;
}
//////////////////////////////////////////////////////////////////////////////////////////////////
function cookieCheckOnLoad() 
{
	var el = null;
	var els = null;
	if (document.getElementById) 
	{
		el = document.getElementById('tx-frontendformslib-form');
		if (el && cookiesAreEnabled()==false) 
		{
			var warnCookie = document.createElement('p');
			warnCookie.className = 'error';
			warnCookieInner = document.createElement('strong');
			warnCookieInner.appendChild(document.createTextNode('Ohne Cookies funktionieren die Formulare nicht !'));
			warnCookieInner.appendChild(document.createElement('br'));
			warnCookieInner.appendChild(document.createTextNode('Bitte aktivieren Sie die Cookies und laden Sie dann diese Seite neu !'));
			warnCookie.appendChild(warnCookieInner);
			el.insertBefore(warnCookie,el.firstChild);
			el.onsubmit = function() { return false; }
		}
	}
	if (navigator.userAgent.toLowerCase().indexOf('firefox/2')>-1 && document.getElementsByTagName) {
		els = document.getElementsByTagName('form')
		if (els)  
		{
			var msg = '';
			for (var i=0; i<els.length; i++) 
			{
				msg += addAutoCompleteOff(els[i]);
			}
		}
	}
}
//////////////////////////////////////////////////////////////////////////////////////////////////
function MM_preloadImages() 
{
	var d=document; 
	if(d.images) 
	{ 
	if(!d.MM_p) d.MM_p=new Array();
	var i,j=d.MM_p.length,a=MM_preloadImages.arguments; 
	for(i=0; i<a.length; i++)
	if (a[i].indexOf("#")!=0)
	{ 
		d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];
	}
	}
}
//////////////////////////////////////////////////////////////////////////////////////////////////
function MM_swapImgRestore() 
{
	var i,x,a=document.MM_sr; 
	for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
//////////////////////////////////////////////////////////////////////////////////////////////////
function MM_findObj(n, d) 
{
	var p,i,x; 
	if(!d) d=document; 
	if((p=n.indexOf("?"))>0&&parent.frames.length) 
	{
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
	}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}
//////////////////////////////////////////////////////////////////////////////////////////////////
function MM_swapImage() 
{
	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//////////////////////////////////////////////////////////////////////////////////////////////////
function checkIt2()
{
	formObj = document.mail; 
	if (formObj.email.value == "" || formObj.email.value.indexOf("@") == -1)
	{
		alert("Bitte geben Sie eine Empfaengeremailadresse an.");
		formObj.email.focus();return false;
	}
	else if (formObj.sender.value == "" || formObj.sender.value.indexOf("@") == -1)
	{
		alert("Bitte geben Sie Ihre Emailadresse an.");
		formObj.sender.focus();return false;
	}
	else if (formObj.sicherheitscodefeld.value == "")
	{
		alert("Bitte geben Sie den Sicherheitscode ein.");
		formObj.sicherheitscodefeld.focus();return false;
	}
}
//////////////////////////////////////////////////////////////////////////////////////////////////
function checkForumEntry()
{
	formObj = document.forum; 
	if (formObj.text.value == "")
	{
		alert("Bitte geben Sie einen Kommentar ein.");
		formObj.text.focus();return false;
	}
	else if (formObj.name.value == "")
	{
		alert("Bitte geben Sie einen Namen an.");
		formObj.name.focus();return false;
	}
}
// -->
/* http://www.kryogenix.org/code/browser/searchhi/ */
/* Modified  by webdesign.weisshart.de/  Stand 21.03.09*/

var ref = "";

// http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/
function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\\\s)" + className + "(\\\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;

	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}


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 (window.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 ) {
		ref = decodeURIComponent(document.referrer);
		if (ref.indexOf('?') == -1) return;
	}

	if (window.location.search) { ref = unescape(window.location.search); }

	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) {

					    highlightWord(document.getElementsByTagName("body")[0],words[w]);

                                  // alternativ: Tim Reeves: nur div inhalt highlighten:
                                  // highlightWord(document.getElementById("inhalt"),words[w]);

                                  // alternativ: http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/
					    // highlightWord(getElementsByClassName("inhalt", "*", document)[0],words[w]);

					}
                		}
			}
	        }
	}
}

window.onload = Highlight;

