function neuePraesenz() {
	Check = confirm('Bitte beachten Sie, daß die Internetpräsenz der Global Entrepreneurship Week 2010 unter einer neuen Internetadresse erreichbar ist. Möchten Sie auf http://www.gruenderwoche.de wechseln?');
	if (Check == true) {
  		document.location.href = 'http://www.gruenderwoche.de';
	}
}

function AltersWarnung() {
	alert('Bitte nehmen Sie zur Kenntnis, daß es für die GEW 2010 eine neue Internetpräsenz unter http://www.gruenderwoche.de gibt. Die hier noch verfügbaren Inhalte und Funktionen sind nicht mehr aktuell und werden auch zukünftig nicht weiter gepflegt.');
}

function bildWechsel(dieses, neu_hintergrund, neu_vordergrund) {
	
	// die Argumente des Querystrings holen
	args = getArgs(dieses.src);
	
	if (typeof(args['vordergrund']) != 'undefined' && args['vordergrund'] !== null) {
		
		// die Bildquelle ohne Querystring festellen
		var src = dieses.src.split("?");
		var bildquelle = src[0];
	
		// die neue Bildquelle zusammenbauen
		src_neu = bildquelle+"?text="+escape(args['text'])+"&nav="+args['nav']+"&hintergrund="+neu_hintergrund+"&vordergrund="+neu_vordergrund;
		dieses.src = src_neu;
		/*
		vordergrund_aktuell = dieses.src.substring(dieses.src.length - 6, dieses.src.length);
		if (vordergrund_aktuell != 'FFFFFF') {
			vordergrund_alt = dieses.src.substring(dieses.src.length - 6, dieses.src.length);
		}
		rest_src = dieses.src.substring(0, dieses.src.length - 6);
		if (vordergrund_aktuell != 'FFFFFF') {
			$vordergrund_neu = 'FFFFFF';
		} else {
			$vordergrund_neu = vordergrund_alt;
		}
		dieses.src = rest_src+$vordergrund_neu;
		*/
  	} else {
		// wird benutzen um über die Navigationselemente zu hovern
		l0 = dieses.src.length;
		l1 = dieses.src.length -4;
		l2 = dieses.src.length -7;
		rest = dieses.src.substring(0, l2);
		status = dieses.src.substring(l2, l1);
		typ = dieses.src.substring(l1, l0);
		
		// nur dann etwas tun, wenn der status nicht "akt" ist
		if (status != 'akt') {
			// auf over wechseln
			if (status == 'out') {
				src_neu = rest+'ovr'+typ;
			} else {
			// auf out wechseln
				src_neu = rest+'out'+typ;
			}
			// anwenden
			dieses.src = src_neu;
		}
	}
}

function wechsleNav(nav_id) {
	// wechselt durch die navigationspunkte
	
	// alle Kopfillustrationen abschalten
	z = 0;
	while (document.getElementById('illustration_'+z)) {
		document.getElementById('illustration_'+z).style.display = "none";
		z++;
	}
	// die richtige Kopfillustration anschalten
	if (document.getElementById('illustration_'+nav_id)) {
		document.getElementById('illustration_'+nav_id).style.display = "block";
	}

	// alle subnavigationen abschalten
	z = 0;
	while (document.getElementById('subnav_'+z)) {
		document.getElementById('subnav_'+z).style.display = "none";
		z++;
	}
	// die richtige Subnavitation anschalten
	if (document.getElementById('subnav_'+nav_id)) {
		document.getElementById('subnav_'+nav_id).style.display = "block";
	}
	
	// innherlab der ursprünglichen Subnav auch den richtigen Eintrag aktivieren
	if (nav_aktuell == nav_id && subnav_aktuell != "") {
		document.getElementById('subnavlink_'+subnav_aktuell).src = "schrift.php?text="+escape(nav[nav_id]['subnav'][subnav_aktuell]['linktext'])+"&nav=subnav&hintergrund="+nav[nav_id]['hell']+"&vordergrund="+nav[nav_id]['texthover'];
	}
	
	// die Schirftfarbe aller anderen navs auf schwarz setzen
	z = 0;
	while (document.getElementById('nav_'+z)) {
		document.getElementById('nav_'+z).src = "schrift.php?text="+escape(nav[z]['linktext'])+"&nav=nav&hintergrund=FFFFFF&vordergrund=000000";
		z++;
	}
	
	// die richtige Schriftfarbe für die nav setzten
	document.getElementById('nav_'+nav_id).src = "schrift.php?text="+escape(nav[nav_id]['linktext'])+"&nav=nav&hintergrund=FFFFFF&vordergrund="+nav[nav_id]['dunkel'];
	
	// den farblich korrekten H1 anzeigen
	z = 0;
	while (document.getElementById('h1_'+z)) {
		document.getElementById('h1_'+z).style.display = "none";
		z++;
	}
	if (document.getElementById('h1_'+nav_id)) {
		document.getElementById('h1_'+nav_id).style.display = "block";
	 }
}

function getArgs(querystring) { 
	var args = new Object(); 
	//var query = location.search.substring(1); 
	var url = querystring.split("?");
	if (typeof(url[1]) != 'undefined' && url[1] !== null) {
		var pairs = url[1].split("&"); 
		for (var i = 0; i < pairs.length; i++) { 
			var pos = pairs[i].indexOf('='); 
			if (pos == -1) continue; 
				var argname = pairs[i].substring(0,pos); 
				var value = pairs[i].substring(pos+1); 
				args[argname] = unescape(value); 
			} 
	}
	return args;
} 

function aktiviereLink(diesen) {
	// wird benutzen um über die Navigationselemente zu hovern
	l0 = diesen.src.length;
	l1 = diesen.src.length -4;
	l2 = diesen.src.length -7;
	rest = diesen.src.substring(0, l2);
	status = diesen.src.substring(l2, l1);
	typ = diesen.src.substring(l1, l0);
	
	src_neu = rest+'akt'+typ;
	// anwenden
	diesen.src = src_neu;
}

function zeige(type, id, exculsiv) {
	if (exculsiv == true) {
		z = 0;
		while (document.getElementById(type+"_"+z)) {
			document.getElementById(type+"_"+z).style.display = 'none';
			z++;
		}
	}
	if(document.getElementById(type+"_"+id)) {
		if (document.getElementById(type+"_"+id).style.display == 'block' ) {
			document.getElementById(type+"_"+id).style.display = 'none';
		} else {
			document.getElementById(type+"_"+id).style.display = 'block';
		}
	}
}

function is_child_of(parent, child) {
	if( child != null ) {			
		while( child.parentNode ) {
			if( (child = child.parentNode) == parent ) {
				return true;
			}
		}
	}
	return false;
}

function fixOnMouseOut(element, event, JavaScript_code) {
	var current_mouse_target = null;
	if( event.toElement ) {				
		current_mouse_target 			 = event.toElement;
	} else if( event.relatedTarget ) {				
		current_mouse_target 			 = event.relatedTarget;
	}
	if( !is_child_of(element, current_mouse_target) && element != current_mouse_target ) {
		eval(JavaScript_code);
	}
}

function get_object(id) {
	var object = null;
	if( document.layers )	{			
		object = document.layers[id];
	} else if( document.all ) {
		object = document.all[id];
	} else if( document.getElementById ) {
		object = document.getElementById(id);
	}
	return object;
}

function fadeIn(id) {
	//alert(document.getElementById(id).style.zIndex);
	if (oben != id) {
	
		// die Schirftfarbe aller anderen navs auf schwarz setzen
		id_nummer = id.match(/\d+/);
		z = 0;
		while (document.getElementById('nav_'+z)) {
			document.getElementById('nav_'+z).src = "schrift.php?text="+escape(nav[z]['linktext'])+"&nav=nav&hintergrund=FFFFFF&vordergrund=000000";
			z++;
		}
	
		// die richtige Schriftfarbe für die nav setzten
		if (document.getElementById('nav_'+id_nummer)) {
			document.getElementById('nav_'+id_nummer).src = "schrift.php?text="+escape(nav[id_nummer]['linktext'])+"&nav=nav&hintergrund=FFFFFF&vordergrund="+nav[id_nummer]['dunkel'];
		}
	
		oben = id;
		var zIndizes = new Array();
		z = 0;
		while (document.getElementById('illustration_'+z)) {
			zIndizes[z] = parseInt(document.getElementById('illustration_'+z).style.zIndex);
			z++;
		}
		zIndizes.sort(Numsort);
		
		document.getElementById(id).style.zIndex = zIndizes[zIndizes.length-1]+1;
		document.getElementById(id).style.top = (238)+"px";
		if (document.getElementById('subnav_'+id.match(/\d+/))) {
			changeOpac(0, 'subnav_'+id.match(/\d+/));
		}
		moveIn(id);
	}
}




function moveIn(id) {
	var top = parseInt(document.getElementById(id).style.top);
	document.getElementById(id).style.top = (top - 20)+"px";
	if (top > 76) {
		setTimeout("moveIn('"+id+"')", 10);
	} else {
// wenn der Layer eingefadet ist, dann ein Kindelement sichtbar machen
		if (fade_started != 1) {
			subnav_id = 'subnav_'+id.match(/\d+/);
			if (document.getElementById(subnav_id)) {
				setTimeout("shiftOpacity('"+subnav_id+"', 100)", 100);
			}
		} 
	}
}

function shiftOpacity(id, millisec) {
    //if an element is invisible, make it visible, else make it ivisible
   fade_started = 1;
	//if(document.getElementById(id).style.opacity == 0) {
        opacity(id, 0, 100, millisec);
    //} else {
    //    opacity(id, 100, 0, millisec);
    //}
} 

function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
			if (i == opacEnd) {
				fade_started = 0;
			}
        }
    }
	
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 

function Numsort (a, b) {
  return a - b;
}


function multiSlideOut(linkid, linkklasse, id) {
	klassenname = document.getElementById(id).className;
	dinge = getElementsByClassName(klassenname);
	// nur dann wirklich etwas tun, wenn keiner mehr in bewegung ist
	for ( var i in dinge ) {
		if (dinge[i].rel == 'raus' || dinge[i].rel == 'rein') {
		//alert('NeIN');
			// richtung umdrehen
			if (dinge[i].rel == 'raus') {
				dinge[i].rel = 'rein';
			}
			//setTimeout("multiSlideOut('"+linkid+"', '"+id+"')", 100);
			//return;
		}
	}
	
	for ( var i in dinge ) {
		// alle ausgeklappten, die zur selben Klasse gehören, wieder einklappen
		//alert(parseInt(dinge[i].parentNode.style.height));
		if (dinge[i] && parseInt(dinge[i].parentNode.offsetHeight) > 0) {
			//alert('draussen: '+dinge[i].id);
			slideOut(linkid, 'KEINEKLASSE', dinge[i].id);
		}
	}
	
	slideOut(linkid, linkklasse, id);
}

function slideOut(linkid, linkklasse, id, v) {
	document.getElementById(id).parentNode.style.display = "block";
	zielhoehe = document.getElementById(id).offsetHeight;
	aktuellehoehe = document.getElementById(id).parentNode.offsetHeight;
	document.getElementById(id).parentNode.style.height = aktuellehoehe + "px";
	
	if (typeof(v) == 'undefined' || v === null) {
		if (document.getElementById(id).rel == 'raus' || document.getElementById(id).rel == 'rein') {
			return;
		}
		// das ist offensichtlich der erste Start der Funktion
		klassenWechsler(linkid, linkklasse, id);
		// die Startgeschwindigkeit festlegen
		v = 1;

	} 
	vmax =  Math.max(parseInt(zielhoehe), parseInt(aktuellehoehe))/20;

	if (parseInt(aktuellehoehe) < parseInt(zielhoehe) && document.getElementById(id).rel != 'rein') {
		if (v < vmax) {
			v = Math.round(v * 1.5);
		}
		if (parseInt(aktuellehoehe) + (5 * v) >= parseInt(zielhoehe)) {
			v = Math.ceil(v / 2);
		} 

		document.getElementById(id).rel = 'raus';
		document.getElementById(id).parentNode.style.height = parseInt(document.getElementById(id).parentNode.style.height) + v + "px";
		document.getElementById(id).parentNode.style.backgroundPosition = "right "+(parseInt(document.getElementById(id).parentNode.style.height)-1) + "px";
		setTimeout("slideOut('"+linkid+"', '"+linkklasse+"', '"+id+"', "+v+")", 10);
	} else if (parseInt(aktuellehoehe) > 0 && document.getElementById(id).rel != 'raus') {
			
		// beschleunigen, solange vmax noch nicht erreicht ist, und wir nicht zu dicht drann sind
		if (v < vmax && parseInt(aktuellehoehe) - (5 * v) > 0) {
			v = Math.round(v * 1.5);
		}
		// abbremsen, wenn wir zu dich ran kommen
		if (parseInt(aktuellehoehe) - (5 * v) <= 0) {
			v = Math.ceil(v / 1.5);
			if (parseInt(aktuellehoehe) - v <= 0) {
				v = 1;
			}
		} 

		document.getElementById(id).rel = 'rein';
		document.getElementById(id).parentNode.style.height = parseInt(document.getElementById(id).parentNode.style.height) - v + "px";
		document.getElementById(id).parentNode.style.backgroundPosition = "right "+(parseInt(document.getElementById(id).parentNode.style.height)-1) + "px";
		setTimeout("slideOut('"+linkid+"', '"+linkklasse+"', '"+id+"', "+v+")", 10);
	} else {
		if (document.getElementById(id).rel == 'raus') {
			document.getElementById(id).parentNode.style.height = zielhoehe + "px";
			document.getElementById(id).parentNode.style.height = "auto";
			document.getElementById(id).parentNode.style.backgroundPosition = "right bottom";
		} else if (document.getElementById(id).rel == 'rein') {
			document.getElementById(id).parentNode.style.height = "0px";
			document.getElementById(id).parentNode.style.display = "none";
		}
		document.getElementById(id).rel = '';

	}
}

function klassenWechsler(linkid, linkklasse, id) {
	if (document.getElementById(id).rel != 'raus' && document.getElementById(id).rel != 'rein') { 

		var ah = document.getElementById(id).parentNode.offsetHeight;

		// die aktuelle Klasse des Schalters merken
		linkklasse_aktuell = document.getElementById(linkid).className;
		//alert('aktuelleklassse: '+linkid+' '+linkklasse_aktuell);
	
		if (parseInt(ah) > 0) {
		} else {
			// allen Objekten, die von der Zielklasse des Schalters sind auf die aktuelle Klasse des Schalters setzen
			dinge = getElementsByClassName(linkklasse);
			for ( var i in dinge ) {
				dinge[i].className = linkklasse_aktuell;
			}
		}
		// dem Schalter die neue Klasse zuweisen
		//alert('letzer schritt: '+linkid+' '+linkklasse);
		document.getElementById(linkid).className = linkklasse;
	}
}

function hoverBL(id) {
	// alle anderen abschalten
	z = 0;
	while (document.getElementById(z+"_name")) {
		if (document.getElementById(z+"_karte").className != "inaktiv") {
			document.getElementById(z+"_karte").style.display = "none";
			//document.getElementById(z+"_anzahl").style.display = "none";
		}
		document.getElementById(z+"_name").className = "name";
		z++;
	}
	if (document.getElementById(id+"_name")) {
		document.getElementById(id+"_karte").style.display = "block";
		document.getElementById(id+"_name").className = "nameaktiv";
		//document.getElementById(id+"_anzahl").style.display = "block";
	}
}

function pruefeForm(thisform) {
	if (thisform.name == 'profilbearbeiten' || thisform.name == 'partnerwerden') {
		var felder = new Array('einrichtung', 'strasse', 'plz', 'ort', 'internet', 'ansprechpartner', 'email', 'telefon', 'eigenbeschreibung');	} else if (thisform.name == 'veranstaltungbearbeiten') {
		var felder = new Array('titel', 'termin_von', 'zeitraum_von', 'veranstaltungsort', 'strasse', 'ort', 'plz', 'ansprechpartner', 'email', 'telefon', 'inhalte', 'link');
		var optional = new Array('link');
	} else if (thisform.name == 'teilnehmen') {
		var felder = new Array('vorname', 'nachname', 'geburtsdatum', 'wohnort', 'email', 'telefon', 'titel', 'beschreibung', 'bedingungen');
	}
	var fehler = false;
	with (thisform) {
		for ( var i in felder ) {
			if (pruefeFormFeld(felder[i]) == false) {
				fehler = true;
			}
		}
	}
	if (fehler === false) {
		if (thisform.name == 'partnerwerden') {
			lichtKisteAn('white_content_kooperationsvereinbarung');
		}
		if (thisform.name == 'profilbearbeiten') {
			sendeForm('profilbearbeiten');
		}
		if (thisform.name == 'veranstaltungbearbeiten') {
			sendeForm('veranstaltungbearbeiten');
		}
		if (thisform.name == 'teilnehmen') {
			return true;
		}
		return true;
	} else {
		alert('Es sind Fehler aufgetreten. Bitte überprüfen Sie Ihre Eingaben.');
		return false;
	}
}

function sendeForm(form) {
	lichtKisteAn('white_content_warten');
	document.forms[form].submit();
	return true;
}

function pruefeFormFeld(field) {
	with (field) {
	
		// die Klasse "fehlerfeld" wieder entfernen
		klasseEntfernen(document.getElementsByName(field)[0].id, 'fehlerfeld');
		// eine eventuelle Fehlermeldung unsichtbar machen
		document.getElementById(field+"_fehler").style.display = "none";
	  	
		// Pflichtfelder auf Inhalt prüfen
		if (klasseIst(document.getElementsByName(field)[0].id, 'pflichtfeld')) {
			if (document.getElementsByName(field)[0].value == null || document.getElementsByName(field)[0].value == "") {
				// die Klasse "fehlerfeld" hinzufügen
				klasseHinzu(document.getElementsByName(field)[0].id, 'fehlerfeld');
				// die Fehlermeldung füllen ...
				BetterInnerHTML(document.getElementById(field+"_fehler"), "Dieses Feld darf nicht leer sein!", true);
				// ... und sichtbar machen
				document.getElementById(field+"_fehler").style.display = "block";
				return false;
			}			
		}
		
		// bestimmte Felder stets validieren (also nur dann, wenn etwas drin steht
		if (document.getElementsByName(field)[0].value != null && document.getElementsByName(field)[0].value != "") {
			if (field == "email") {
				if (verifyEmail(document.getElementsByName(field)[0].value) !== true) {
					// die Klasse "fehlerfeld" hinzufügen
					klasseHinzu(document.getElementsByName(field)[0].id, 'fehlerfeld');
					// die Fehlermeldung füllen ...
					BetterInnerHTML(document.getElementById(field+"_fehler"), document.getElementsByName(field)[0].value + " ist keine gültige E-Mail-Adresse", true);
					// ... und sichtbar machen
					document.getElementById(field+"_fehler").style.display = "block";
					return false;
				}
			}
if (field == "email") {
				if (verifyEmail(document.getElementsByName(field)[0].value) !== true) {
					// die Klasse "fehlerfeld" hinzufügen
					klasseHinzu(document.getElementsByName(field)[0].id, 'fehlerfeld');
					// die Fehlermeldung füllen ...
					BetterInnerHTML(document.getElementById(field+"_fehler"), document.getElementsByName(field)[0].value + " ist keine gültige E-Mail-Adresse", true);
					// ... und sichtbar machen
					document.getElementById(field+"_fehler").style.display = "block";
					return false;
				}
			}
			
			if (field == "termin_von" || field == "termin_bis" || field == "geburtsdatum") {
				if (verifyDatum(document.getElementsByName(field)[0].value) !== true) {
					// die Klasse "fehlerfeld" hinzufügen
					klasseHinzu(document.getElementsByName(field)[0].id, 'fehlerfeld');
					// die Fehlermeldung füllen ...
					BetterInnerHTML(document.getElementById(field+"_fehler"), document.getElementsByName(field)[0].value + " ist kein gültiges Datum", true);
					// ... und sichtbar machen
					document.getElementById(field+"_fehler").style.display = "block";
					return false;
				}
			}
			
			if (field == 'link' || field == 'internet') {
				if (verifyUrl(document.getElementsByName(field)[0].value) !== true) {
					// die Klasse "fehlerfeld" hinzufügen
					klasseHinzu(document.getElementsByName(field)[0].id, 'fehlerfeld');
					// die Fehlermeldung füllen ...
					BetterInnerHTML(document.getElementById(field+"_fehler"), document.getElementsByName(field)[0].value + " ist keine gültige Internetadresse", true);
					// ... und sichtbar machen
					document.getElementById(field+"_fehler").style.display = "block";
					return false;
				}
			}
			
			if (field == 'bedingungen') {
				if (document.getElementsByName(field)[0].checked != true) {
					// die Klasse "fehlerfeld" hinzufügen
					klasseHinzu(document.getElementsByName(field)[0].id, 'fehlerfeld');
					// die Fehlermeldung füllen ...
					BetterInnerHTML(document.getElementById(field+"_fehler"), "Um teilzunehmen musst Du die Bedingungen gelesen haben.", true);
					// ... und sichtbar machen
					document.getElementById(field+"_fehler").style.display = "block";
					return false;
				}
			}
		}
		
		// wenn bis jetzt nichts passiert ist, dann true liefern
		return true;
	}
}

function lichtKistenAus() {
	dinge = getElementsByClassName('white_content');
	for ( var i in dinge ) {
		dinge[i].style.visibility = 'hidden';
	}
	
	selectfelder = document.getElementsByTagName("select");
	for ( var i in selectfelder ) {
		if (selectfelder[i].style) {
			selectfelder[i].style.visibility = "visible";
		}
	}
	document.getElementById('player_0').style.visibility = "visible";
	document.getElementById('black_overlay').style.display = "none";
}

function lichtKisteAn(id) {
	// alle white_contents abstellen
	dinge = getElementsByClassName('white_content');
	for ( var i in dinge ) {
		dinge[i].style.visibility = 'hidden';
	}

	//document.getElementById('player').style.visibility = "hidden";
	dinge = getElementsByClassName('player');
	for ( var i in dinge ) {
		dinge[i].style.visibility = 'hidden';
	}
	
	selectfelder = document.getElementsByTagName("select");

	document.getElementById('black_overlay').style.height = document.body.offsetHeight + 'px'; 
	document.getElementById('black_overlay').style.width = document.body.offsetWidth + 'px';
	
	var breite = document.getElementById(id).offsetWidth;
	var pageoffset = pageOffset();
	var hoehe = document.getElementById(id).offsetHeight;
	document.getElementById(id).style.left = (document.body.offsetWidth/2 - breite/2) + 'px';
	document.getElementById(id).style.top = (pageoffset.top+50) + 'px';
	
	/*
	if (document.getElementById('black_overlay').style.display == "block") {
		for ( var i in selectfelder ) {
			if (selectfelder[i].style) {
				selectfelder[i].style.display = "block";
			}
		}
		document.getElementById('black_overlay').style.display = "none";
		document.getElementById(id).style.visibility = "hidden";
	} else { */
		for ( var i in selectfelder ) {
			if (selectfelder[i].style) {
				selectfelder[i].style.visibility = "hidden";
			}
		}
		document.getElementById('black_overlay').style.display = "block";
		document.getElementById(id).style.visibility = "visible";
	//}
}

function pageOffset(win)
{
    if(!win) win = window;
    var pos = {left:0,top:0};

    if(typeof win.pageXOffset != 'undefined')
    {
         // Mozilla/Netscape
         pos.left = win.pageXOffset;
         pos.top = win.pageYOffset;
    }
    else
    {
         var obj = (win.document.compatMode && win.document.compatMode == "CSS1Compat") ?
         win.document.documentElement : win.document.body || null;

         pos.left = obj.scrollLeft;
         pos.top = obj.scrollTop;
    }
    return pos;
}

function verifyEmail(email){
	var status = false;     
	var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
     if (email.search(emailRegEx) != -1) {
          status = true;
     }
     return status;
}

function verifyUrl(url) {
	var status = false;     
	var urlRegEx = /^(http:\/\/|https:\/\/)/;
     if (url.search(urlRegEx) != -1) {
          status = true;
     }
     return status;
}

function verifyDatum(datum) {
	var status = false;     
	var urlRegEx = /^(0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](19|20)[0-9]{2}$/;
     if (datum.search(urlRegEx) != -1) {
          status = true;
     }
     return status;
}

function in_array(needle, haystack, argStrict) {
    // Checks if the given value exists in the array  
    // 
    // version: 903.1614
    // discuss at: http://phpjs.org/functions/in_array
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
    // *     returns 1: true
    var found = false, key, strict = !!argStrict;

    for (key in haystack) {
        if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
            found = true;
            break;
        }
    }

    return found;
}

function implode(glue, pieces) {
    // Joins array elements placing glue string between items and return one string  
    // 
    // version: 905.412
    // discuss at: http://phpjs.org/functions/implode
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Waldo Malqui Silva
    // *     example 1: implode(' ', ['Kevin', 'van', 'Zonneveld']);
    // *     returns 1: 'Kevin van Zonneveld'
    return ( ( pieces instanceof Array ) ? pieces.join( glue ) : pieces );
}

function array_keys( input, search_value, argStrict ) {
    // Return just the keys from the input array, optionally only for the specified search_value  
    // 
    // version: 903.3016
    // discuss at: http://phpjs.org/functions/array_keys
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Brett Zamir (http://brettz9.blogspot.com)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: array_keys( {firstname: 'Kevin', surname: 'van Zonneveld'} );
    // *     returns 1: {0: 'firstname', 1: 'surname'}
    
    var tmp_arr = {}, strict = !!argStrict, include = true, cnt = 0;
    var key = '';
    
    for (key in input) {
        include = true;
        if (search_value != undefined) {
            if( strict && input[key] !== search_value ){
                include = false;
            } else if( input[key] != search_value ){
                include = false;
            }
        }
        
        if (include) {
            tmp_arr[cnt] = key;
            cnt++;
        }
    }
    
    return tmp_arr;
}



function klasseIst(id, cssklasse) {
	rueckgabe = false;
	if (document.getElementById(id)) {
		var klassenstring = document.getElementById(id).className;
		var klassen = klassenstring.split(" ");
		if (in_array(cssklasse, klassen)) {
			rueckgabe = true;
		}
	}
	return rueckgabe;
}

function klasseHinzu(id, cssklasse) {
	if (document.getElementById(id)) {
		var klassenstring = document.getElementById(id).className;
		var klassen = klassenstring.split(" ");
		if (!in_array(cssklasse, klassen)) {
			klassen[klassen.length+1] = cssklasse;
		}
		// Klasse zuweisen
		document.getElementById(id).className = implode(' ', klassen);
	}
	// sonst nichts tun
}

function klasseEntfernen(id, cssklasse) {
	if (document.getElementById(id)) {
		var klassenstring = document.getElementById(id).className;
		var klassen = klassenstring.split(" ");
		if (in_array(cssklasse, klassen)) {
			var stelle = array_keys(klassen, cssklasse);
			delete klassen[stelle[0]];  
		}
		// Klasse zuweisen
		document.getElementById(id).className = implode(' ', klassen);
	}
	// sonst nichts tun
}
