//Läd mit AJAX Daten für AutoCompleter aus ajaxsql.php
// id:			id des Suchfeldes
// tabelle:		Datenbanktabelle
// auswahl:		Tabellenspalte
// gruppieren:	Doppelte Einträge filtern (boolean)
function AutoCompleter(id,tabelle,auswahl,gruppieren){
	$(id+'Sugget').hide();
	new Event.observe(
		id,
		'keyup',
		function(event){
			getSugget(id,tabelle,auswahl,gruppieren);
		},
		false
	);
	new Event.observe(
		id,
		'click',
		function(event){
			getSugget(id,tabelle,auswahl,gruppieren);
		},
		false
	);
	$(id+'Sugget').onmouseout = function(event){
			$('protokoll').innerHTML = "draussen";
		}
	$(id+'Sugget').onmouseover = function(event){
			$('protokoll').innerHTML = "drinnen";
		}
	$(id).onmouseout = function(event){
			$('protokoll').innerHTML = "draussen";
		}
	$(id).onmouseover = function(event){
			$('protokoll').innerHTML = "drinnen";
		}
	
	document.onclick = function(event){
			if($('protokoll').innerHTML == "draussen"){
				$(id+'Sugget').hide();	
			}
		}
	/*new Event.observe(
		id+'Sugget',
		'mouseout',
		function(event){
			$('protokoll').innerHTML = $('protokoll').innerHTML+'mouseout '+id+'Sugget<br>';
		},
		false
	);*/
}
//Unterfunktion zu AutoCompleter()
function getSugget(id,tabelle,auswahl,gruppieren){
	$(id+'Sugget').show();
	new Ajax.Request('ajaxsql.php',
	{
		method:'get',
		parameters: {tabelle: tabelle, auswahl: auswahl, suche: escape($(id).value), gruppieren: gruppieren},
		onSuccess: function(nom, json){
		  //nom ist der nomale response text
		  //json der automatische json text
		  var liste = "";
		  for (var jsonid in json){
			  liste = liste+"<div style='cursor:pointer' onclick='document.getElementById(\""+id+"\").value=this.innerHTML' id='"+jsonid+"'>"+json[jsonid]+"</div>";
		  }
		  $(id+'Sugget').innerHTML = liste;
	},
		onFailure: function(){ alert('Fehler bei Ajax Request') }
	});	
}

// Bildergalerie Max/Min-Button
// Onmouseover Onmouseout
function bgMaxMinHover(obj,pfad,tauschbild){
	obj.src = pfad+"/"+tauschbild;
}
// Onclick
function bgMaxMinKlick(bgdiv,bgclass,vbutton,zbutton){
	vbutton.hide();
	zbutton.show();
	bgdiv.className = bgclass;
	//bgdiv.style.overflow = (bgdiv.style.overflow=="auto")? "default" : "auto"; 
}

// Termine rechts
// Onmouseover Onmouseout
function terminHover(obj,bgclass){
	obj.className = bgclass;
	//new Effect.BlindDown(obj);
	//var myVerticalSlide = new Fx.Slide(obj);
	//myVerticalSlide.toggle();
}

// Kontaktformular
// Eingaben überprüfen und versenden
function kontaktformularUeberpruefen(formularname){
	var keineFehler = true;
	var fehlermeldung = "Du hast nicht alle Felder korrekt ausgefüllt.<br />";
	//Name überprüfen
	if($(formularname).name.value=="") {
		keineFehler = false;
		fehlermeldung+= "Bitte gib deinen Namen an.<br />";
	}
	//Absenderemailadresse überprüfen
	if($(formularname).absenderemail.value=="") {
		keineFehler = false;
		fehlermeldung+= "Bitte gib deine Emailadresse an.<br />";
	}
	else if(emailAdresseUeberpruefen($(formularname).absenderemail.value)==false) {
		keineFehler = false;
		fehlermeldung+= "Bitte überprüfe deine Emailadresse.<br />";
	}
	
	//Nachricht überprüfen
	if($(formularname).nachricht.value=="") {
		keineFehler = false;
		fehlermeldung+= "Bitte gib eine Nachricht ein.<br />";
	}
	
	//Fehlermeldung ausgeben, falls nötig
	if ( keineFehler == false ) {
		//Fehlermeldung ausgeben
		$('meldung').hide();
		$('fehlermeldung').show();
		$('fehlermeldung').innerHTML = fehlermeldung;
		//alert(fehlermeldung);
	}else{
		//Nachricht verschicken
		$('fehlermeldung').hide();
		kontaktformularVerschicken(formularname);
	}
}
//Funktion ruft ajaxKontakvormularAbschicken.php auf
function kontaktformularVerschicken(formularname){
	var name = escape($(formularname).name.value);
	var absenderemail = escape($(formularname).absenderemail.value);
	var betreff = escape($(formularname).betreff.value);
	var nachricht = escape($(formularname).nachricht.value);
	ajax = new Ajax.Request('ajaxKontaktformularVerschicken.php?r='+ Math.floor(Math.random()*1000),
		{
			method:'get',
			asynchronous: true,
			parameters: {name:name, absenderemail:absenderemail, betreff:betreff, nachricht:nachricht},
			onComplete: function(){
				//alert('Danke für deine Nachricht, wir werden uns in kürze bei dir melden.');
				$('meldung').show();
				$('meldung').innerHTML = 'Danke für deine Nachricht, wir werden uns in kürze bei dir melden.';
				//Felder leeren
				eval("document."+formularname+".reset()");
			},
			onFailure: function(){ alert('Fehler bei Ajax Request') }
		});
}
//Funktionen zum Überprüfen einer Emailadresse
function emailAdresseUeberpruefen(emailadresse){
	var a = false;
	var res = false;
	if(typeof(RegExp) == 'function'){
		var b = new RegExp('abc');
		if(b.test('abc') == true){a = true;}
	}

	if(a == true){
		reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
				 		 '(\\@)([a-zA-Z0-9\\-\\.]+)'+
						 '(\\.)([a-zA-Z]{2,4})$');
		res = (reg.test(emailadresse));
	}else{
		res = (emailadresse.search('@') >= 1 &&
	   		   emailadresse.lastIndexOf('.') > emailadresse.search('@') &&
	   		   emailadresse.lastIndexOf('.') >= emailadresse.length-5)
	}
	return(res);
}

//Links entfernen/aktivieren/deaktivieren
function cancelLink (evt) {
	if (evt.target && evt.preventDefault) {
		var node = evt.target;
		do {
			if ((String(node.nodeName).toLowerCase() == 'a' || node.tagName.toLowerCase() == 'a') && node.href) {
				evt.preventDefault();
				return false;
			}
			node = node.parentNode;
		}
		while (node);
		return true;
	}
	else if (evt.target) {
		if (evt.target.href) {
			return false;
		} else {
			routeEvent(evt);
			return true;
		}
	}
	else if (window.event) {
		var el = window.event.srcElement;
		do {
			if (el.tagName.toLowerCase() == 'a' && el.href) {
				return false;
			}
			el = el.parentElement;
		}
		while (el) {
			return true;
		}
	}
}
function disableLinks () {
	if (document.layers) {
		document.oldOnClick = document.onclick;
		document.captureEvents(Event.CLICK);
		document.onclick = cancelLink;
	}
	else if (document.addEventListener) {
		document.addEventListener('click', cancelLink, true);
	}
	else if (document.attachEvent) {
		document.attachEvent('onclick', cancelLink);
	} else {
		document.oldOnClick = document.onclick;
		document.onclick = cancelLink;
	}
}
function enableLinks () {
	if (document.layers) {
		document.onclick = document.oldOnClick;
		document.releaseEvents(Event.CLICK);
	}
	else if (document.addEventListener) {
		document.removeEventListener('click', cancelLink, true);
	}
	else if (document.attachEvent) {
		document.detachEvent('onclick', cancelLink);
	} else {
		document.onclick = document.oldOnClick;
	}
}