function formSender(url, objInput, objSubmit, objResult, objForm)
{
	var data;
	var URL = url;
	var progress = null;
	var mailInpt = document.getElementById(objInput);
	var showResInt;
	var resAlpha = 0;
	
	if(mailInpt == null){ return false; }
	
	var submitBtn = document.getElementById(objSubmit);
	submitBtn.onclick = _submitClickHandler;
	var result = document.getElementById(objResult);
	
	function _submitClickHandler()
	{
		if(progress == "sending") { return false; }
		data = "email="+mailInpt.value;
		progress = "sending";
		sendFormData(data);
		return false;
	}
	
	function sendFormData(_data)
	{
		  var xmlhttp1=null;
		  if(!xmlhttp1) try {
			xmlhttp1=new ActiveXObject('Msxml2.XMLHTTP');
			
			xmlhttp1.onreadystatechange = _xmlhttp1ChangeHandler;
		  } catch (e){}
		
		  if(!xmlhttp1) try {
			xmlhttp1=new ActiveXObject('Microsoft.XMLHTTP');
			xmlhttp1.onreadystatechange = _xmlhttp1ChangeHandler;
		  } catch (e){}
		  if(!xmlhttp1) try {
			xmlhttp1=new XMLHttpRequest();
			xmlhttp1.onload = _xmlhttp1OnLoadHandler;
		  } catch (e){} 
		  if(!xmlhttp1)
		  {
			return true;	
		  }
			
		xmlhttp1.open("POST", URL);
		xmlhttp1.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); 
		xmlhttp1.send(_data);
		
		
		function _xmlhttp1OnLoadHandler ()
		{
			progress = null;
			if(xmlhttp1.status == 404)
			{
				result.innerHTML = null;
				result.innerHTML = "<p class='Error'>Ошибка соединения с сервером. Error=404</p>";
				return false;
			}
			result.innerHTML = null;
			if(xmlhttp1.status == 200){
			   //form.reset();
			}
			showResult(xmlhttp1.responseText);
			mailInpt.value = "Введите ваш e-mail";
		}
		function _xmlhttp1ChangeHandler()
		{
			if (xmlhttp1.readyState == 4 && (xmlhttp1.status == 200 || xmlhttp1.status == 304)) 
				{ 
					_xmlhttp1OnLoadHandler();
				}
		}
	}
	function showResult(res)
	{
		result.innerHTML = res;
		document.getElementById(objForm).style.display = 'none';
		setOpacity(result, 0);
		showResInt = setInterval(showResAnim,30);
	}
	function showResAnim()
	{
		resAlpha+=0.2;
		if(resAlpha>=1)
		{
			clearInterval(showResInt);
			showResInt = setTimeout(hideResult,4000);
		}
		setOpacity(result, resAlpha);
	}
	function hideResult()
	{
		showResInt = setInterval(hideResAnim,30);
	}
	function hideResAnim()
	{
		resAlpha-=0.1;
		if(resAlpha<=0)
		{
			clearInterval(showResInt);
			result.innerHTML = "";
			document.getElementById(objForm).style.display = '';
		}
		setOpacity(result, resAlpha);
	}
}
