function getXmlHttp(){
	var xmlhttp
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e1) {
      			xmlhttp = false;
		}
	}
	
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		xmlhttp = new XMLHttpRequest();
	}

	return xmlhttp;
}


function subscribe() {
 //создаём объект для запроса к серверу
var req = getXmlHttp();
//присваиваем переменным данные из нашей формы, для отправки серверу
var mail = document.getElementById('mail').value;
//если вы используете другие тип полей, ознакомьтесь с документацией - как получать из них данные - http://www.w3schools.com/htmldom/dom_obj_select.asp
//создаём URL обращения к серверу - имя_файла?переменна1=значение1&переменна2=значение2, и наш серверный PHP скрипт сможет спокойно получить данные при помощи $_GET[].
var url = 'subscribe.php?mail='+mail;
//открываем соединение
req.open('GET', url, true);
// в нем будем отображать ход выполнения
var statusElem = document.getElementById('status');
// onreadystatechange активируется при получении ответа сервера
req.onreadystatechange = function() {
if (req.readyState == 4) {
// показать статус (Not Found, ОК..)
statusElem.innerHTML = "Вы подписались на рассылку!";
}
}
// отсылаем сформированный запрос
req.send(null);
// отображает статус во время выполнения (заменяет собой элемент div id="status"), в данном примере - перекрывает кнопку отправки данных (элегантное решение, чтобы предотвратить повторное нажатие кнопки отправки данных).
statusElem.innerHTML = '<img src="/images/ajax-loader.gif" /> Пожалуйста, подождите';
	}




