function isValidEmail (email)
{
 return (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(email);
}

var myAjax = {
	"httpRequestSend":function(url, responseHandler)
	{
		var  el = document.createElement('SCRIPT');
		el.type = 'text/javascript';
		el.src = url+(url.indexOf('?')==-1?'?':'&')+(new Date().getTime());
		this.responseHandler = function(){document.body.removeChild(el); responseHandler.apply(responseHandler,arguments); this.responseHandler = null;};
		
		document.body.appendChild (el);
	},
	"responseHandler":null,
	"exceptionHandler":null
}

function subscribe(sEmail,bUndo)
{
	if (!isValidEmail(sEmail)) {alert(sEmail.match(/^\s*$/)? 'Не указан адрес! Введите e-mail.' : 'Введенный адрес содержит ошибку. Исправьте.'); return;}
	
	var url = './subscribe.php?email='+escape(sEmail)+(bUndo?'&unsubscribe':'');
	myAjax.httpRequestSend(url, bUndo?unsubscribeInfo:subscribeInfo);
}
function subscribeInfo(err)
{
	switch (parseInt(err))
	{
		case 3: alert('Ошибка! Введенный адрес содержит ошибку. Исправьте.');break;
		case 2: alert('Ошибка! Не указан адрес! Введите e-mail.');break;
		default: alert('Вы успешно подписаны на рассылку новостей.');
	}
}
function unsubscribeInfo(err)
{
	switch (parseInt(err))
	{
		case 3: alert('Ошибка! Введенный адрес содержит ошибку. Исправьте.');break;
		case 2: alert('Ошибка! Не указан адрес! Введите e-mail.');break;
		default: alert('Ваш адрес удален из списка рассылки.');
	}
}