function handleRequest() {

	var oMail = $('newsletterMailAddress');
	var strMailAddress = oMail.get('value') != oMail.get('title') ? oMail.get('value') : "";
	
	if(strMailAddress.match(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i)) {
	
		if($('newsletterSubscribe').get('checked') == 1 || $('newsletterUnsubscribe').get('checked') == 1) {
		
			var request = new Request({'url':'newsletter/connectors/external/HomepageInterface.php','method':'post', 'onComplete':handleRequest_Callback});
		
			var bAction = $('newsletterSubscribe').get('checked') == 1 ? 1 : 0;
	
			var bPlain = $('newsletterPlain').get('checked') ? 1 : 0;
			var bHtml = 1;
			if(bPlain) bHtml = 0;

			request.send("newsletterEmail="+$('newsletterMailAddress').get('value')+"&newsletterAction="+bAction+"&newsletterHtml="+bHtml);
	
			displayInfo("busy");
		
		}
		else {
			displayInfo("error","Bitte Aktion auswählen");
		
		}		
		
	}
	else {
		displayInfo("error","Bitte gib eine gültige E-Mail Adresse ein!");
	
	}
	
	return false;
}

function handleRequest_Callback(oData) {


	var ret = decodeCallbackData(oData);
	if(ret.status) {
	
		displayInfo("info",ret.data);
	
	}
	else {
		ret.handleErrorMessage();
	
	}

}




function displayInfo(strType, strMsg, bHtml) {

	xhrStatus.empty();
	
	switch(strType) {
	
		case "busy":
			xhrStatus.set('class','xhrStatusBusy');
			break;
			
		case "info":
			xhrStatus.set('class','xhrStatusInfo');
			if(strMsg && !bHtml)xhrStatus.grab(new Element("p", {'html':strMsg}));
			if(strMsg && bHtml)xhrStatus.set('html',strMsg);
			break;
		case "error":
			xhrStatus.set('class','xhrStatusError');
			if(strMsg && !bHtml)xhrStatus.grab(new Element("p", {'html':strMsg}));
			if(strMsg && bHtml)xhrStatus.set('html',strMsg);
			break;
			
		default:
			xhrStatus.set('class', 'xhrStatusHidden');
			break;

	}

}
