	function set_bookmark(title,url) {
		if (window.sidebar) // firefox
			window.sidebar.addPanel(title, url, "");
		else if(window.opera && window.print){ // opera
			var elem = document.createElement('a');
			elem.setAttribute('href',url);
			elem.setAttribute('title',title);
			elem.setAttribute('rel','sidebar');
			elem.click();
		}
		else if(document.all)// ie
			window.external.AddFavorite(url, title);
	}

	function EMail(s)
	{
	 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(s));
	 }
	 else
	 {
	  res = (s.search('@') >= 1 &&
	         s.lastIndexOf('.') > s.search('@') &&
	         s.lastIndexOf('.') >= s.length-5)
	 }
	 return(res);
	}
	
	function checkNLForm() {
	
		if ((document.forms["nladd"].nlemail.value == "") || (document.forms["nladd"].nlemail.value.length < 7) || (!EMail(document.forms["nladd"].nlemail.value))) {
			alert ("Bitte eine korrekte Email Adresse eingeben");
			return false;
		}
		return true;
	}
	
	function checkComForm() {
	
		if ((document.forms["commadd"].comNick.value == "") || (document.forms["commadd"].comNick.value.length < 3) ) {
			alert ("Bitte eine Nicknamen mit mindestens 3 Zeichen eingeben.");
			return false;
		}
		if ((document.forms["commadd"].comEmail.value == "") || (document.forms["commadd"].comEmail.value.length < 7) || (!EMail(document.forms["commadd"].comEmail.value))) {
			alert ("Bitte eine korrekte Email Adresse eingeben.");
			return false;
		}
		if ((document.forms["commadd"].comText.value == "") || (document.forms["commadd"].comText.value.length < 2) ) {
			alert ("Bitte gib ein Kommentar mit mindestens 2 Zeichen ein.");
			return false;
		}

		return true;
	}

	function checkConForm(fieldsStr) {
	
		if ((document.forms["confrm"].conVname.value == "") || (document.forms["confrm"].conNname.value == "")  ) {
			alert ("Bitte geben Sie Ihren Vor- und Nachnamen ein.");
			return false;
		}
		if (document.forms["confrm"].conTelefon.value == "") {
			alert ("Bitte geben Sie Ihre Telefonnummer ein.");
			return false;
		}
		if ((document.forms["confrm"].conEmail.value == "") || (document.forms["confrm"].conEmail.value.length < 7) || (!EMail(document.forms["confrm"].conEmail.value))) {
			alert ("Bitte eine korrekte Email Adresse eingeben.");
			return false;
		}

		if (fieldsStr != "") {
			fieldsArr = fieldsStr.split(",");	
			for (var i = 0; i < fieldsArr.length; ++i) {
				eval ("tempVal = document.forms['confrm']." + fieldsArr[i] + ".value;");
				if (tempVal == "") {
					alert ("Bitte füllen Sie alle Felder mit * aus.");
					return false;
				}
			
			}
 		}
/*		if ((document.forms["confrm"].conText.value == "") || (document.forms["confrm"].conText.value.length < 2) ) {
			alert ("Bitte geben Sie Ihre Anfrage ein.");
			return false;
		}
*/
		return true;
	}
	

	/*======= AJAX Stuff ==========*/
	function setQueryString( ) { 
		queryString=""; 
		var frm = document.forms["frmTAF"]; 
		var numberElements = frm.elements.length; 
		for(var i = 0; i < numberElements; i++) { 
			if(i < numberElements-1) { 
				queryString += frm.elements[i].name+"="+ 
				encodeURIComponent(frm.elements[i].value)+"&"; 
			} else { 
				queryString += frm.elements[i].name+"="+ 
				encodeURIComponent(frm.elements[i].value); 
			}
		} 
	}

	var request; 
	var queryString; //will hold the POSTed data 

	function sendData( ){ 
		sendit = true;
		error = "";
		if ((document.forms["frmTAF"].myname.value.length < 2) || (document.forms["frmTAF"].myemail.value.length < 7) || (document.forms["frmTAF"].email.value.length < 7)) {
			sendit = false;
			error = "Bitte füllen Sie alle Daten aus.\n";
		}
		if (!EMail(document.forms["frmTAF"].email.value)) {
			sendit = false;
			error = error + "Bitte geben Sie eine korrekte Empfängeremail an.";
		}
		
		if (sendit) {
			setQueryString( ); 
	//		var linkurl = '<?=$_SERVER['FULL_URL']?>';
			var url="tellafriend.php";
	//		document.forms["frmTAF"].myurl.value = linkurl;
			httpRequest("POST",url,true); 
			toggleDIV("myTAFfrm", "posAnfr");
			document.getElementById('frmResult').innerHTML = "Empfehlung wird verschickt, bitte warten..."
		} else
				alert(error);
	}

	/* Initialize a request object that is already constructed. 
	Parameters: 
	reqType: The HTTP request type, such as GET or POST. 
	url: The URL of the server program. 
	isAsynch: Whether to send the request asynchronously or not. */ 
	function initReq(reqType,url,isAsynch){ 
	/* Specify the function that will handle the HTTP response */ 
		request.onreadystatechange=handleResponse; 
		request.open(reqType,url,isAsynch); 
	/* Set the Content-Type header for a POST request */ 
		request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
		request.send(queryString); 
	}
	/* Wrapper function for constructing a request object. 
	Parameters: 
	reqType: The HTTP request type, such as GET or POST. 
	url: The URL of the server program. 
	asynch: Whether to send the request asynchronously or not. */ 

	function httpRequest(reqType,url,asynch){ 
	//Mozilla-based browsers 
		if(window.XMLHttpRequest){ 
			request = new XMLHttpRequest( ); 
		} else if (window.ActiveXObject){ 
			request=new ActiveXObject("Msxml2.XMLHTTP"); 
			if (! request){ 
				request=new ActiveXObject("Microsoft.XMLHTTP"); 
			} 
		} 
	//the request could still be null if neither ActiveXObject 
	//initialization succeeded 
		if(request){ 
			initReq(reqType,url,asynch); 
		} else { 
			alert("Die Sicherheitseinstellungen Ihres Browser verbieten dies Funktion."); 
		} 
	}

	//event handler for XMLHttpRequest 
	function handleResponse( ){ 
		if(request.readyState == 4){ 
			if(request.status == 200){ 
				document.forms["frmTAF"].myname.value = "";
				document.forms["frmTAF"].myemail.value = "";
				document.forms["frmTAF"].email.value = "";
				results = request.responseText; 
			} else {
				alert("Es gab ein Problem zwischen dem XMLHttpRequest Objekt und dem Server-Programm." + request.status); 
			}
			results = results + "<br /><br /><div style=\"text-align:center;\"><a href=\"javascript:toggleTAF('hide');\" id=\"mainlevel_on\" title=\"Fenster schliessen\">Fenster schliessen</a></div>";
			document.getElementById('frmResult').innerHTML = results;
		}//end outer if 
	}

	function getLeft(l) {
	  if (l.offsetParent) return (l.offsetLeft + getLeft(l.offsetParent));
	  else return (l.offsetLeft);
	}
	function getTop(l) {
	  if (l.offsetParent) return (l.offsetTop + getTop(l.offsetParent));
	  else return (l.offsetTop);
	}

	function toggleDIV(elem, marker, force) {
		var st = document.getElementById(elem).style;
		var mark = document.getElementById(marker);
		var myVisi = st.visibility;
		if ((myVisi == "hidden")  || (force == "show")) {
			st.visibility = "visible";
			st.top = getTop(mark) - 20;
			st.left = getLeft(mark) - 115;
		}
		if ((myVisi == "visible")  || (force == "hide")) {
			st.visibility = "hidden";
		}
	}
	function toggleTAF(forcemode) {
		// set both divs at the same visibility level before toggle
		var st1 = document.getElementById("myTAF").style;
		var st2 = document.getElementById("myTAFfrm").style;
		if (st1.visibility == "hidden") {
			st2.visibility = "hidden";
		} else if (st1.visibility == "visible") {		// ignore unspecified state..
			st2.visibility = "visible";
		}
		
		toggleDIV("myTAF", "posAnfr", forcemode);
		toggleDIV("myTAFfrm", "posAnfr", forcemode);
		document.getElementById('frmResult').innerHTML = ""
	}
