
function BetterInnerHTML(o,p,q){function r(a){var b;if(typeof DOMParser!="undefined")b=(new DOMParser()).parseFromString(a,"application/xml");else{var c=["MSXML2.DOMDocument","MSXML.DOMDocument","Microsoft.XMLDOM"];for(var i=0;i<c.length&&!b;i++){try{b=new ActiveXObject(c[i]);b.loadXML(a)}catch(e){}}}return b}function s(a,b,c){a[b]=function(){return eval(c)}}function t(b,c,d){if(typeof d=="undefined")d=1;if(d>1){if(c.nodeType==1){var e=document.createElement(c.nodeName);var f={};for(var a=0,g=c.attributes.length;a<g;a++){var h=c.attributes[a].name,k=c.attributes[a].value,l=(h.substr(0,2)=="on");if(l)f[h]=k;else{switch(h){case"class":e.className=k;break;case"for":e.htmlFor=k;break;default:e.setAttribute(h,k)}}}b=b.appendChild(e);for(l in f)s(b,l,f[l])}else if(c.nodeType==3){var m=(c.nodeValue?c.nodeValue:"");var n=m.replace(/^\s*|\s*$/g,"");if(n.length<7||(n.indexOf("<!--")!=0&&n.indexOf("-->")!=(n.length-3)))b.appendChild(document.createTextNode(m))}}for(var i=0,j=c.childNodes.length;i<j;i++)t(b,c.childNodes[i],d+1)}p="<root>"+p+"</root>";var u=r(p);if(o&&u){if(q!=false)while(o.lastChild)o.removeChild(o.lastChild);t(o,u.documentElement)}}

function __getBirdsByLetter(aValue)
{
	var arr_li = document.getElementById("vogelliste").getElementsByTagName("li");
	var li = document.getElementById("letter");
	li.innerHTML = aValue.toUpperCase()
	for (var i = 0; i <	arr_li.length; i++)
		{
			arr_li[i].style.display = "none";
			if ( arr_li[i].getAttribute("id").substring(0,1) == aValue)
				{
					arr_li[i].style.display = "";
				}
		}
}

function _getBirdDetail(aBird)
{
	var nospace = aBird.split(" ");
	aBird = nospace.join("");
	if (document.getElementById(aBird))
		{
			var src = document.getElementById(aBird).getElementsByTagName("a")[0]
			self.location.href=src;
		}
}

//**********************WARENKORB BEGINN ****************************//


var cookiename = "melior_wk"; //Cookiename
var rSeparator = "@#@";  //Trennzeichen zwischen Artikeln
var dSeparator = "#@#"; //Trennzeichen zwischen Artikeldaten
var lSeparator = "###"; //Trennzeichen für "=" im Link wegens Splitting der Cookies
var rowSeparator =  new RegExp(rSeparator,"g"); //RegEx für Ersetzungen ALLER Vorkommen im String
var dataSeparator = new RegExp(dSeparator,"g"); //RegEx für Ersetzungen ALLER Vorkommen im String
var linkSeparator = new RegExp(lSeparator,"g"); //RegEx für Ersetzungen ALLER Vorkommen im String
var i;
//var gesamtpreis = "Gesamt:";
gesamtpreis = insymaWKValues.gesamtpreis;
waehrung = insymaWKValues.waehrung;
versandkosten = parseFloat(insymaWKValues.versandkosten).toFixed(2);
gratislieferung = parseFloat(insymaWKValues.gratislieferung);
skonto = parseFloat(insymaWKValues.skonto);
mwst = parseFloat(insymaWKValues.mwst);
skontolbl = insymaWKValues.skontolbl;
mwstlbl = insymaWKValues.mwstlbl;
subtotal = insymaWKValues.subtotal;
fracht = insymaWKValues.fracht;
rechnung = insymaWKValues.rechnung;

//Warenkorb-DIV sichtbar schalten und Bestellinfos in Cookie und Ins DIV schreiben
function _getWkLayer(aValue)
	{
		var div_wk = document.getElementById("warenkorb");
		var newvalue;
		var values_wk = document.getElementById("wk_values");//Div für Inhalt, ist separat, da Inhalt geleert und neu gefüllt wird - wobei Headline unberührt bleibt
		div_wk.style.display = "block";									//Warenkorb nun sichtbar
		var tmp_string;
		//Zusammensetzung des aktuell bestellten Produktes
		
		tmp_string = document.getElementById("nummer_" + aValue).innerHTML;
		tmp_string = tmp_string + dSeparator + document.getElementById("bez_" + aValue).innerHTML;
		tmp_string = tmp_string + dSeparator + document.getElementById("menge_" + aValue).innerHTML;
		tmp_string = tmp_string + dSeparator + document.getElementById("preis_" + aValue).innerHTML;
		if (document.getElementById("anchor_" + aValue))
			tmp_string = tmp_string + dSeparator + document.getElementById("anchor_" + aValue).href.replace(/=/g,lSeparator);
		else
			tmp_string = tmp_string + " " + dSeparator;
		var formfield = "itb_" + aValue;
		var formfieldvalue;
		if (document.getElementById(formfield).value != "")
			{
				if(!parseInt(document.getElementById(formfield).value))
					{
						tmp_string = tmp_string + dSeparator + "1";
						document.getElementById(formfield).value = "1";
						formfieldvalue = 1;
						newvalue = 1;
					}
				else
					{
						tmp_string = tmp_string + dSeparator + document.getElementById(formfield).value;
						formfieldvalue = parseInt(document.getElementById(formfield).value);
						newvalue = parseInt(document.getElementById(formfield).value);
					}
			}
		else
			{
				tmp_string = tmp_string + dSeparator + "1";
				document.getElementById(formfield).value = "1";
				formfieldvalue = 1;
				newvalue = 1;
			}
		tmp_string = tmp_string + dSeparator + aValue;
		//alert(tmp_string);
		//schauen ob schon Cookie existiert
		var cook = _getCookie(cookiename);
		//alert(cook);
		var UpdateEntry = false;
		if(cook)  //wenn Cookie existiert
			{
				var tmp_string2 = _decode(cook,cookiename) //+ rSeparator + tmp_string;
				var arr_tmp_string = _SplitValueRows(tmp_string2);
				//schauen ob schon Artikel vorhanden
				for (i=0; i<arr_tmp_string.length; i++)
					{
						if(parseInt(arr_tmp_string[i].split(dataSeparator)[6]) == parseInt(aValue))
						{
							var arr_tmp = arr_tmp_string[i].split(dSeparator)
							newvalue = parseInt(arr_tmp[5]) + formfieldvalue;
							if (newvalue > 99)
								newvalue = 99;
							arr_tmp[5] = newvalue;
							arr_tmp_string[i] = arr_tmp.join(dSeparator);
							UpdateEntry = true;
						}
					}
				tmp_string2 =  arr_tmp_string.join(rSeparator);
				//alert("new: " + tmp_string + " old: " + tmp_string2);
				if (UpdateEntry == true)
					tmp_string = tmp_string2
				else
					tmp_string = tmp_string2 + rSeparator + tmp_string;
				//alert("zusammen: " + tmp_string);
				_setCookie(cookiename, _code(tmp_string,cookiename), 1); //Setzen des aktualisierten Cookies (Name, Inhalt, Dauer in Tagen)
				
			}
		else //noch kein Cookie
			{
				//Cookie mit aktuellen Bestelldaten setzen
				//alert("kein cookie");
				_setCookie(cookiename, _code(tmp_string,cookiename), 1); //Setzen des Cookies (Name, Inhalt, Dauer in Tagen)
				
			}
		//Ausgabe im Warenkorb-DIV vorbereiten
		cook = _getCookie(cookiename); 
		//alert("cookie:" + cook);
		if (cook)
			{
				var arr_tmp_string = _SplitValueRows(_decode(cook,cookiename));
		
				//alert(arr_tmp_string);
				//Schauen, ob es mehr als ein Artikel ist
				values_wk.innerHTML = "";
				var inner;
				//alert(arr_tmp_string.length);
				if(arr_tmp_string.length > 1)
						{
							for(i=0; i<arr_tmp_string.length; i++)
								{
									inner += _SplitValueData(arr_tmp_string[i], i, arr_tmp_string.length); 
								}
						}
					else
						{
							inner += _SplitValueData(arr_tmp_string[0], 0, 1) + "<br />";
						}
					
				//Gesamtpreis berechnen und ausgeben
				inner += "<span class='total' id='wk_total'>" + gesamtpreis + " " + _getTotalPrice(arr_tmp_string) + " " + waehrung + "</span>";
				$('#wk_values').append(inner.replace(/undefined/,""));
				_setHiddenValues()
				$('#ok_' + aValue).html("");
				$('#ok_' + aValue).append("<img src='http://www.melior.ch/img/layout/ok.jpg' alt='' />");
				//document.getElementById("ok_" + aValue).innerHTML = "<img src='../img/layout/ok.jpg' alt='' />";
				document.getElementById("itb_" + aValue).value = newvalue;
				
				//new values
				
				var artikel = $("div[id^='wk_line_']").length;
				$("span[id^='header_wk_']").hide();
				if(artikel == 1)
					{
						$("span[id^='header_wk_prod']").show();
					}
				else
					{
						$("span[id^='header_wk_mprod']").show();
						$("#header_wk_mprodanz").text(artikel);
					}
				$("#header_wkpreisvalue").text(_getTotalPrice(arr_tmp_string));
				$("#header_wk_preis").show();
				//new values END
			}
	}

//Wenn Seite mit Warenkorb geladen: schauen ob Cookie existiert
function _getExistingValues()
	{
		var div_wk = document.getElementById("warenkorb");
		var values_wk = document.getElementById("wk_values");//Div für Inhalt, ist separat, da Inhalt geleert und neu gefüllt wird - wobei Headline unberührt bleibt
		var cook = _getCookie(cookiename);
		values_wk.innerHTML = "";
		if(cook) //wenn ja
		{
			div_wk.style.display = "block";		//Warenkorb-Div anzeigen
			var arr_tmp_string = _SplitValueRows(_decode(cook,cookiename));
			if(arr_tmp_string.length > 1)
				{
					for(i=0; i<arr_tmp_string.length; i++)
						{
							values_wk.innerHTML += _SplitValueData(arr_tmp_string[i], i, arr_tmp_string.length, 1);//Daten der Artikel ausgeben
						}
				}
			else
				{
					values_wk.innerHTML += _SplitValueData(arr_tmp_string[0], 0, 1, 1) + "<br />";//Daten des Artikels ausgeben
				}
			//Gesamtpreis berechnen und ausgeben
			values_wk.innerHTML += "<span class='total' id='wk_total'>" + subtotal + " <strong>" + _getTotalPrice(arr_tmp_string) + "</strong> " + waehrung;
			
			//new values
			var artikel = $("div[id^='wk_line_']").length;
			$("span[id^='header_wk_']").hide();
			if(artikel == 1)
				{
					$("span[id^='header_wk_prod']").show();
				}
			else
				{
					$("span[id^='header_wk_mprod']").show();
					$("#header_wk_mprodanz").text(artikel);
				}
			$("#header_wkpreisvalue").text(_getTotalPrice(arr_tmp_string));
			$("#header_wk_preis").show();
				//new values END
		}
	}

function _SetExistingValues()
	{
		if(document.getElementById("form_shop"))
		{
			var arr_fields = document.getElementById("form_shop").getElementsByTagName("input");
			if (arr_fields.length > 0)
				{
					for(i=0; i<arr_fields.length;i++)
						{
							arr_fields[i].value = "";	
						}
				}
		}
		var cook = _getCookie(cookiename);
		if(cook) //wenn ja
		{
			var existvalues;
			var existnumber;
			var arr_tmp_string = _SplitValueRows(_decode(cook,cookiename));
			//alert(arr_tmp_string);
			if(arr_tmp_string.length > 0)
				{
					for(i=0; i<arr_tmp_string.length; i++)
						{
							//alert(arr_tmp_string.length);
							//existvalues += arr_tmp_string[i].substr(0, 7) + "#";
							existvalues += arr_tmp_string[i].split(dSeparator)[6] + "#";
							existnumber += arr_tmp_string[i].split(dSeparator)[5] + "#";
						}
				}
			existvalues = existvalues.substr(0, existvalues.length-1).replace(/undefined/g, "")
			existnumber = existnumber.substr(0, existnumber.length-1).replace(/undefined/g, "")
			//alert(existvalues);
			existvalues = existvalues.split("#");
			existnumber = existnumber.split("#");
			for (i=0; i<existvalues.length;i++)
				{
					if(document.getElementById("itb_" + existvalues[i]))
						{
							document.getElementById("itb_" + existvalues[i]).value = existnumber[i];
							document.getElementById("ok_" + existvalues[i]).innerHTML = "<img src='/img/layout/ok.jpg' alt='' />";
						}
				}
		}
	}






//Splitten des Strings mit allen Bestelldaten in einzelne Artikel
function _SplitValueRows(aValue)
	{
		if (aValue.substring(0,3) == rSeparator)
			{
				aValue = aValue.substring(3);	
			}
		var tmp_array = aValue.split(rSeparator);
		return tmp_array;
	}

//Splitten des Artikels und Zusammensetzung für WK-Anzeige
function _SplitValueData(aValue, aId, aCount, aToDo)
	{
		//alert(aValue);
		var output = "";
		//alert(aValue);
		aValue = aValue.replace(lSeparator,"=");
		//alert(aValue);
		var tmp_array = aValue.split(dSeparator);
		
		if(tmp_array[0] != "")
			{
				output += "<div id='wk_line_" + tmp_array[6] + "'>";
				output += "<span class='anzahl'><input id='input_" + aId + "' type='text' maxlength='2' value='" + tmp_array[5] + "' onchange='_newCalculate(" + aId + ", this.value, " + aCount + ", this.id, \"" + tmp_array[6] + "\")' /></span>";
				output += "<span class='menge'>" + tmp_array[2] + "</span>";
				if (tmp_array[4].length > 2)
					output += "<span class='prod'><a href='" + tmp_array[4].replace(linkSeparator, "=") + "' title=''>" + tmp_array[1] + "</a></span>";
				else
					output += "<span class='prod'>" + tmp_array[1] + "</span>";
				output += "<span class='preis' id='wk_preis_" + aId + "'>" + tmp_array[3] + " " + waehrung + "</span>";
				var tmp_preis = parseInt(tmp_array[5]) * parseFloat(tmp_array[3]);
				output += "<span class='gleich'> = </span>"
				output += "<span class='gesamt' id='wk_gesamt_" + aId + "'>" + tmp_preis.toFixed(2) + " " + waehrung + "</span>";
				output += "<img src='http://www.melior.ch/img/layout/delete.jpg' alt='' onclick='_DelEntry(" + tmp_array[6] + ", " + aId + ")' /></div>"
				
				if(aToDo == 1)
					{
						var formfield = "itb_" + tmp_array[6];
					}
				return output;
				
				
			}
		
	}
//Berechnung des Gesamtpreises
function _getTotalPrice(aValue)
	{
		var arr_total = aValue;
		var tmp = 0;
		var total = 0;
		//alert(arr_total);
		for(i=0; i<arr_total.length; i++)
			{
				if (arr_total[i].split(dSeparator)[5]) //schauen, weil evtl. Array-Zeile gelöscht durch _DelEntry
				{
					tmp = parseInt(arr_total[i].split(dSeparator)[5]) * parseFloat(arr_total[i].split(dSeparator)[3]); //Anzahl * Preis
					total = parseFloat(total) + parseFloat(tmp); //Addieren  bei jedem Durchlauf
				}
			}
		return total.toFixed(2); //Rückgabe mit 2 Kommastellen
	}

//Neuberechnung bei Anzahländerung eines Artikels
function _newCalculate(aId, aValue, aCount, aInput, aSourceId)
	{
		var price = parseFloat(document.getElementById("wk_preis_" + aId).innerHTML); //Preis des Artikels
		if(!parseInt(aValue))
			{
				aValue = 1;
				document.getElementById(aInput).value = "1";
			}
		price = price * parseInt(aValue); //Preis mit Anzahl(geändert) multiplizieren
		//Anpassen der Anzahl in der Produktliste, so vorhanden
		if (document.getElementById("itb_" + aSourceId))
			document.getElementById("itb_" + aSourceId).value = aValue
		//Ausgabe des Gesamtpreises für geänderten Artikel
		document.getElementById("wk_gesamt_" + aId).innerHTML = "" + price.toFixed(2) + " " + waehrung /*+ "<img src='../img/layout/delete.jpg' alt='' onclick='_DelEntry(" + aId + ")' />"*/;
		//Neuberechnung Gesamtpreis
		var total = 0;
		for (i=0; i < parseInt(aCount); i++)
			{
				total = total + parseFloat(document.getElementById("wk_gesamt_" + i).innerHTML.replace(waehrung, "").replace("= ", ""));
			}
		//Ausgabe Gesamtpreis
		document.getElementById("wk_total").innerHTML = gesamtpreis + " <strong>" + total.toFixed(2) + "</strong> " + waehrung;
		_getCompleteValues()
		//Cookie mit neuen Werten schreiben
		var cook = _getCookie(cookiename);
		var newcook;
		if(cook) //wenn ja
			{
				var new_arr = _decode(cook,cookiename).split(rSeparator); 
				var line = new_arr[aId].split(dSeparator)
				line[5] = aValue;		//Wert innerhalb des Arrays aktualisieren
				new_arr[aId] = line.join(dSeparator);
				newcook = new_arr.join(rSeparator);
				_setCookie(cookiename, _code(newcook,cookiename), 1); //Cookie setzen
			}
		_setHiddenValues()
	}

//Löschung eines Artikels aus Warenkorb
function _DelEntry(aId, aValue)
	{	
		if(document.getElementById("wk_line_" + aId))
			document.getElementById("wk_line_" + aId).innerHTML = "";  //Anzeige entfernen
		if(document.getElementById("ok_" + aId))
			document.getElementById("ok_" + aId).innerHTML = "";  //Häkchen  entfernen
		if(document.getElementById("itb_" + aId))
			document.getElementById("itb_" + aId).value = "";  //Value  entfernen
		//Cookie und Gesamtpreis aktualisieren
		var cook = _decode(_getCookie(cookiename),cookiename);
		
		var newcook = new Array();
		
		if(cook) //wenn ja
			{
				//alert(aId);
				if (cook.substring(0,3) == rSeparator)
					{
						cook = cook.substring(3);	
					}
					
				var new_arr = cook.split(rSeparator);
				//new_arr = new_arr.splice(aValue,1)
				for (i=0; i< new_arr.length; i++)
				{
					if (new_arr[i].split(dSeparator)[6] == aId)
						new_arr[i] = "";
				}
				//new_arr[aValue] = "";
				//Gesamtpreis neu berechnen und anzeigen
				var newprice = _getTotalPrice(new_arr);
				document.getElementById("wk_total").innerHTML = gesamtpreis + " <strong>" + newprice + "</strong> " + waehrung;
				_getCompleteValues()
				if (newprice == "0.00")
				{
					if(document.getElementById("warenkorb"))
							document.getElementById("warenkorb").style.display = "none";
				}
					 
				//Cookie aktualisieren
				newcook = new_arr.join(rSeparator).replace("@#@@#@", "@#@"); //entstandene Leerzeile entfernen, so sie nicht am Ende ist
				if(newcook.substr(newcook.length-3) == rSeparator)
					{
						newcook = newcook.substr(0,newcook.length-3)
					}
				_setCookie(cookiename, _code(newcook,cookiename), 1);
				
			}
	}

function _setHiddenValues()
	{
		var mailDseparator = "|||";
		var mailRseparator = "|#|";
		var formular = document.getElementById(document.getElementById("inhalt").getElementsByTagName("form")[0].getAttribute("id"));
		if(formular.Bestellung)
			formular.Bestellung.value = _getCookie(cookiename);
		if(formular.Kosten)
			{
				
				var tmpstr = $("#td_0").text() + mailDseparator + $("#td_1").text() + mailRseparator;
				tmpstr += $("#td_2").text() + mailDseparator + $("#td_3").text() + mailRseparator;
				tmpstr += $("#td_6").text() + mailDseparator + $("#td_7").text() + mailRseparator;
				tmpstr += $("#td_4").text() + mailDseparator + $("#td_5").text() + mailRseparator;
				tmpstr += $("#td_8").text() + mailDseparator + $("#td_9").text() + mailRseparator;
				formular.Kosten.value = tmpstr;
			}
		if(formular.Gesamtkosten)
			formular.Gesamtkosten.value = $("#td_9").text().replace(".","");
	}

//Berechnung auf 5 Rappen
function rappen(x) 
{
  var k = (Math.round(x * 20) / 20).toString();
  k += (k.indexOf('.') == -1)? '.00' : '00';
  return k.substring(0, k.indexOf('.') + 3);
}

//berechnung und ausgabe gesamtpreis incl. mwst etc
function _getCompleteValues()
	{
		$('#complete_values table').remove();
		var versand_preis = false;
		var zw_preis = parseFloat($('#wk_total strong').text());
		var output;
		var gesamt;
		var versand = 0.00;
		if (zw_preis < gratislieferung)
			{
				versand_preis = true;
				versand = versandkosten;
			}
		var skonto_value = rappen(zw_preis/100 * skonto);
		$('#wk_total').css('display','none');
		output = "<table>";
		output += "<tr><td class='lbl' id='td_0'>" + subtotal + "</td>" + " <td class='value' id='td_1'>" + zw_preis.toFixed(2) + "</td></tr>";
		output += "<tr><td class='lbl' id='td_2'>" + skontolbl + " " + skonto + "%</td>" + " <td class='value'  id='td_3'>" + " - " + skonto_value + "</td></tr>";
		output += "<tr><td class='lbl' id='td_6'>" + fracht + "</td>" + "<td class='value' id='td_7'>" + versand + "</td></tr>";
		zw_preis = zw_preis - parseFloat(skonto_value) + parseFloat(versand);
		var mwst_value = rappen(zw_preis/100 * mwst);
		output += "<tr><td class='lbl' id='td_4'>" + mwstlbl + " " + mwst + "%</td>" + " <td class='value' id='td_5'>" + mwst_value + "</td></tr>";
		gesamt = (zw_preis.toFixed(2)) - 0 +  parseFloat(mwst_value);
		output += "<tr><td class='lbl' id='td_8'>" + rechnung + "</td>" + " <td class='value' id='td_9'>" + gesamt.toFixed(2) + "</td></tr>";
		output += "</table>";
		$('#complete_values').append(output);
	}




//Funktion zur Setzung des Cookies
function _setCookie(name,value,days) 
	{
		//value = value.replace(/;/g,"¬").replace(/,/g,"@@@");
		value = value.replace(/;/g,"¬");
		$.cookie(name, null);
		document.cookie = name+"=" + value + "; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/";
		if (days) // Wenn Tage angegeben
		{
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000)); //Angabe in Millisekunden
			var expires = "; expires="+date.toGMTString(); //Ablaufdatum setzen
		}
		else 
			var expires = "";
		
		//value = "Hallo_Welt";
		//alert(name+"="+value+expires+"; path=/");
		//$.cookie(name, value)
		$.cookie(name, value, {path: '/'});
		//document.cookie = name+"="+value+expires+"; path=/";
		
	}
	
//Funktion zum Auslesen des Cookies	
function _getCookie(name) 
	{
		return $.cookie(name);
	//if (navigator.appName.indexOf("Internet Explorer") != -1 && !navigator.appVersion.indexOf("MSIE 6.0") > 0)
//		{
//			name = " " + name;
//		}
	//var name2 = " " + name;		
//	if(document.cookie) 
//		{
//			//alert("cook: " + document.cookie);
//			var cookies = document.cookie.split(";");
//			//alert(cookies);
//			for(var i = 0;i<cookies.length;i++) 
//				{
//					//alert(cookies[i]);
//					var tmp_cook = cookies[i].split("=");
//					//alert("+"+tmp_cook[0]+"=="+name+"##");
//					//if(String(tmp_cook[0]) == String(name)) 
//					if(String(tmp_cook[0]) == String(name) || String(tmp_cook[0]) == name2)
//					{
//						//alert("+"+tmp_cook[0]+"=="+name+"##");
//						//return cookies[i].split("=")[1];
//						return cookies[i].split("=")[1].replace(/¬/g, ";").replace(/@@@/g,",");
//					}
//				}
//		}
	}
	
//**********************WARENKORB ENDE ****************************//
//var Tabelle=";<>#@.abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ¬|¢{}[]$£";
var Tabelle=";<>#@.abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ|{}[]$()%";
//var Tabelle="abcdefghijklmnopqrstuvwxyz0123456789";
function _code(aValue,aKey)
{
	//alert("code: " + aValue);
	var erg = "";
	for (i = 0; i < aValue.length; i++)
		{
			var oldPos = Tabelle.indexOf(aValue.substr(i,1));
			if (oldPos > -1)
				{
					var newPos = (oldPos + aKey.length);
					erg = erg + Tabelle.substr(newPos, 1);
				}
			else
				erg = erg + aValue.substr(i,1)
		}
		//alert("codenun: " + erg);
	return erg;
}

function _decode(aValue,aKey)
{
	var erg = "";
	//alert(aValue);
	for (i = 0; i < aValue.length; i++)
		{
			var oldPos = Tabelle.indexOf(aValue.substr(i,1));
			if (oldPos > -1)
				{
					var newPos = (oldPos - aKey.length)
					erg = erg + Tabelle.substr(newPos, 1);
				}
			else
				erg = erg + aValue.substr(i,1);
		}
	 return erg;
}

function __HandleObjectInnerHTML(aObjectSource, aObjectTarget)
{
	if(document.getElementById(aObjectSource) != null && document.getElementById(aObjectTarget) != null)
		{
			var tmpObjectSource = document.getElementById(aObjectSource);
			var tmpObjectTarget = document.getElementById(aObjectTarget);
			tmpObjectTarget.innerHTML += tmpObjectSource.innerHTML.replace(/bottom/gi, "top");
		}
} 
var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};

function _showPages(aValue, aStep)
{
	
	var minLi = (aValue-1) * parseInt(aStep);
	var maxLi = aValue * parseInt(aStep);
	var ul = document.getElementById("witzliste");
	var lis = getElementsByClassName("Li_xid", "li", ul);
  	//var lis = document.getElementById("witzliste").getElementsByClassName("Li_xid");
	for (var i = 0; i < lis.length; i++)
	{
		var Li = parseInt(lis[i].getAttribute("xid"));
		if ( Li > minLi && Li <= maxLi)
		{
			document.getElementById(lis[i].getAttribute("id")).style.display = "block";
			
		}
		else
		{
			document.getElementById(lis[i].getAttribute("id")).style.display = "none";	
		}
	}
	var links = getElementsByClassName("paging", "li", ul );
	var links2 = getElementsByClassName("paging", "p" );
	for (var j = 0; j < links.length; j++)
	{
		var as = links[j].getElementsByTagName("a");
		var as2 = links2[j].getElementsByTagName("a");
		for (var k = 0; k < as.length; k++)
		{
			if (k == aValue-1)
			{
				as[k].className = "active";
				as2[k].className = "active";
			}
			else
			{
				as[k].className = "inactive";
				as2[k].className = "inactive";
			}
		}
	}
	
}

function randInt(min,max)
{
   var div = (max - min) + 1
   var randNum = Math.random()
   for (var i = 0; i <= div - 1; i++)
      {
      if (randNum >= i / div && randNum < (i+1) / div)
      {return i + min}
      }
}

function _getRandomEntry(aCount)
{
	if(parseInt(aCount) > 1)
	{
		var zufall = randInt(1,aCount);
		document.getElementById("div_" + zufall).style.display = "block";
	}
else{
	if (document.getElementById("div_1"))
	document.getElementById("div_1").style.display = "block";
	}
}
function _CheckRegionen()
{
	
	var regionen = document.form_regionen.regionen.value;
	//alert("hallo");
	var liste = document.getElementById("kontakt_regionen").getElementsByTagName("li");
	
	var counter = 0;
	if (regionen != "")
		{
			for (var i = 0; i < liste.length; i++)
				{
					if (liste[i].className.indexOf(regionen) > -1)
						{
							liste[i].style.display = "block";
							counter++;
						}
					else
						{
							liste[i].style.display = "none";	
						}
				}
			if (counter == 0)
				{
					document.getElementById("errormessagegemeinde").style.display = "block";	
				}
			else
				{
					document.getElementById("errormessagegemeinde").style.display = "none";
				}
			//document.gemeinden.gemeindeselect.options[0].selected = true;
		}
	var _h = $('.box_berater').height() + 10;	
	$('#seitenleiste').css({'margin-top': _h + "px"});
}
//Konsolenausgabe // Aufruf durch z.B. __Log("blabla") // Verhinderung von JS-Fehlern bei Browsern ohne Konsole
function __Log(aValue)
{
	try
	  {
	  	console.log(aValue);
	  }
	catch(err)
	  {
	  //Handle errors here
	  }	
}

insymaHideInputValue = {
	config:{
		// Klasse der Inputfelder
		inputClass: "insymaHideInputValue",
		// Klasse bei Default-Value
		blurClass: "insymaInputBlur"
	},
	init:function() {
		var inputFields = insymaUtil.elmByClass("input", insymaHideInputValue.config.inputClass);
		for (var x = 0; x < inputFields.length; x++) {
			insymaUtil.setAttr(inputFields[x], {defaultValue: inputFields[x].value});
			insymaUtil.cssjs("add", inputFields[x], insymaHideInputValue.config.blurClass);
			// Funktion wenn Inputfeld mit Cursor verlassen wird
			inputFields[x].onblur = function() {
				if (this.value == '') {
					this.value = this.getAttribute("defaultvalue")
					insymaUtil.cssjs("add", this, insymaHideInputValue.config.blurClass);
				}
			};
			// Funktion wenn in Inputfeld geklickt wird
			inputFields[x].onfocus = function() {
				if (this.value == this.getAttribute("defaultvalue")) {
					this.value = '';
					insymaUtil.cssjs("remove", this, "insymaInputBlur");
				}
			};
		}
	}
}
insymaUtil.addEvent(window,'load',insymaHideInputValue.init,false);
