


function registerMe(){
				 var language = document.getElementById('lang').value;
				 var name     = document.getElementById('user_name').value;
				 var mail     = document.getElementById('user_mail').value;
				 
				 lang = language;
				 
				 if (isEMailAddress(mail)) {
				 		registerMail(name, mail, language)
				 }
}


function isEMailAddress(str) {
				 str = str.toLowerCase();
				 if (str.indexOf("@" > 1)) {
				 		var addr = str.substring(0, str.indexOf("@"));
						var domain = str.substring(str.indexOf("@") + 1, str.length);
						if (domain.indexOf(".") == -1) {
							 alert("verify the domain portion of the email address.");
							 return false;
						}
						for (var i = 0; i < addr.length; i++) {
								oneChar = addr.charAt(i).charCodeAt(0);
								if(( i == 0 && (oneChar == 45 || oneChar == 46)) || (i == addr.length- 1 && oneChar == 46)) {
										 alert("Verify the user name portion of the email address.");
										 return false;
								}
								if (oneChar == 45 || oneChar == 46 || oneChar == 95 || (oneChar > 47 && oneChar < 58) || (oneChar > 96 && oneChar < 123)) {
									 continue;
								} else {
									 alert("Verify the user name portion of the email address.");
									 return false;
								}
					  }
						for (i = 0; i < domain.length; i++) {
								oneChar = domain.charAt(i).charCodeAt(0);
								if ((i == 0 && (oneChar == 45 || oneChar == 46)) || (( i == domain.length - 1 || i == domain.length - 2) && oneChar == 46)) {
									 alert("Verify the domain portion of the email address.");
									 return false;
								}
								if (oneChar == 45 || oneChar == 46 || oneChar == 95 || (oneChar > 47 && oneChar < 58) || (oneChar > 96 && oneChar < 123)) {
									 continue;
								} else {
									 alert("Verify the user name portion of the email address.");
									 return false;
								}
						}
						return true;
					}
					alert("The email address may not be formed correctly. Please verify.");
					return false;
}



// AJAX Stuff comes here ///////////////////////////////////////////////////////

var ajaxreq; 	 // holds all server requests
var lang;


function registerMail(name, mail, language) {
	document.body.style.cursor='wait';
	if (ajaxreq && (ajaxreq.readyState == 2 || ajaxreq.readyState == 3)) ajaxreq.abort();     	 
	var url = "newsletter_interface.php?rand=" + getRandValue()
	url += '&name=' + encodeURIComponent(name);						 
	url += '&mail=' + encodeURIComponent(mail);
	url += '&lang=' + language;
	if (window.XMLHttpRequest) {
		ajaxreq = new XMLHttpRequest();
		ajaxreq.onreadystatechange = deliverFeedback;
		ajaxreq.open("GET", url, true);
		ajaxreq.send(null);
	} else if (window.ActiveXObject) { 
		ajaxreq = new ActiveXObject("Microsoft.XMLHTTP");
		ajaxreq.onreadystatechange = deliverFeedback;
		ajaxreq.open("GET", url, true);
		ajaxreq.send();
	}
}

function deliverFeedback() {
				 if (ajaxreq.readyState == 4) {
				 		if (ajaxreq.status == 200) {
							 var target = document.getElementById('field_b5');
							 // clean all existing data
							 var anzahl_elements = target.childNodes.length;
							 for (var i = 0; i < anzahl_elements; i++ ) {
							 		 var node = target.childNodes[0];
							 		 target.removeChild(node);
							 }

							 var response = ajaxreq.responseXML.getElementsByTagName("response")[0].firstChild.nodeValue;
							 if (response != 'error') {
							 		 var mytext = "OKAY";
							 } else {
							 	 	 var mytext = 'ERROR!';
							 }
							 var img = document.createElement("img");
img.src = response;
img.style.width = "199px";
img.style.height = "191px";
							 target.appendChild(img);
							 document.body.style.cursor='default';
						} else {
							 alert("Fehler bei der Kommunikation mit dem Server:\n" +
							 ajaxreq.statusText);
						}
				}
}

function getRandValue() {
   var randValue = Math.round(Math.random() * 1000000);
	 return randValue;
}