function ajax(url, params, callback)
{
	AJAXCallback = callback;
	AJAXRequest=initXMLHTTPRequest();
	if (AJAXRequest)
	{
		AJAXRequest.onreadystatechange=onReadyState;
		AJAXRequest.open("POST",url,true);
		AJAXRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		AJAXRequest.send(params);
	}
}

function initXMLHTTPRequest()
{
	var xRequest=null;
	if (window.XMLHttpRequest)
	{
		xRequest=new XMLHttpRequest();
	} else if (window.ActiveXObject)
	{
		xRequest=new ActiveXObject("Microsoft.XMLHTTP");
	}
	return xRequest;
}

function onReadyState()
{
	var ready=AJAXRequest.readyState;

	if (ready==4)
	{
		AJAXCallback(AJAXRequest.responseText);
	}
	else
	{
		return 0;
	}
}

// Сокращение названия елемента
function el(id)
{
	return document.getElementById(id);
}

// Обрезание пробелов
function trim(string)
{
	return string.replace(/(^\s+)|(\s+$)/g, "");
}

// Обработка формы
function initInputWithDynamicValue(inputId,name)
{

	var input = el(inputId);
	if(!input) return;

	input.onfocus = function()
	{
		input.value = trim(input.value);

		if (input.value == "")
		{
			input.className = input.className+' grey';
			input.value = name;
		}
		else
		{
			if (input.value == name)
			{
				input.value = "";
				input.className = 'inp';
			}

		}

	}

	input.onblur = function()
	{
		input.value = trim(input.value);

		if (input.value == "")
		{
			input.className = input.className+' grey';
			input.value = name;
		}
		else
		{
			input.className = 'inp';
		}
	}
}

function checkFields ()
{
	var err = false;

	var emailFlag = el('email').value.match(/.+\@.+\..+/i);
	if(!emailFlag)
	{
		alert('Неверно указан адрес email');
		err = true;

	}

	if(err==false)
	{
		el("inpBg").style.display="none";
		el("buttons").style.display="none";
		el("progress").style.display="block";
		var request = 'email='+trim(el('email').value);
		ajax('/subscribe.php', request, addEmailResult);
	}

	return false;
}

function addEmailResult (result)
{
	if (result)
	{
		el("progress").style.display="none";
		el("ok").style.display="block";
	}
}
