
//////////////////////////////////////////////////////////////////////////////////////////////
//



var isMSIE = document.attachEvent != null;
var isGecko = !document.attachEvent && document.addEventListener;


//////////////////////////////////////////////////////////////////////////////////////////////
function trim(sText){
	var sBeginExpr = /^\s+/;
	var sEndExpr = /\s+$/;
	
	sText = sText.replace( sBeginExpr , '');
	sText = sText.replace( sEndExpr , '');
	
	return sText;
}

//////////////////////////////////////////////////////////////////////////////////////////////
function isEmail(sEmail){
	return (
		sEmail &&
		sEmail.indexOf('@') > 0 &&
		sEmail.match(/^(?:[-a-z\d\+\*\/\?!{}`~_%&'=^$#]+(?:\.[-a-z\d\+\*\/\?!{}`~_%&'=^$#]+)*)@(?:[-a-z\d_]+\.){1,60}[a-z]{2,6}$/)
	) ? true : false;
}



//////////////////////////////////////////////////////////////////////////////////////////////
//
//		Форма обратной связи
//
var	FeedBack = new Object();
	FeedBack.elForm = document.forms['FeedBack'];
	FeedBack.mFormEls = FeedBack.elForm.elements;
	
/*****************************************************************************************/	
	FeedBack.sendMessage = function(){
		var	oValues = new Object();
			oValues.name = trim( FeedBack.mFormEls['name'].value );
			oValues.mail = trim( FeedBack.mFormEls['mail'].value );
			oValues.header = trim( FeedBack.mFormEls['header'].value );
			oValues.text = trim( FeedBack.mFormEls['text'].value );
		
		var	oDialog = new Object();
			oDialog.element = document.getElementById('FeedBackStatus');
			
		/*********/
			oDialog.showPreloader = function(){
				var sText = '<img src="/_images/ajaxloader.gif" />';
				oDialog.element.innerHTML = sText;
			}
			
		/*********/
			oDialog.showError = function(sErrors){
				oDialog.element.innerHTML = sErrors;
			}
		
		/*********/
			oDialog.showSuccess = function(){
				oDialog.element.innerHTML = 'Ваше сообщение отправлено.';
			}
			
		/*********/
			oDialog.hide = function(){	
				oDialog.element.innerHTML = '';
			}	

			
		if( _checkForm() ){

			_hideForm();
			oDialog.showPreloader();
			_sendFeedBackRequest();
	
		}

	/*********************************************************/
		function _sendFeedBackRequest(){
			if(! JsHttpRequest ) return;
		
			JsHttpRequest.query(
				'ajax.p3' ,
				oValues ,
         	function(result, errors) {
					if(result.complete){
						oDialog.showSuccess();
						_showForm();
						_clearForm();
					}
					else{
						oDialog.showError('Отправка не удалась. Попробуйте еще раз.');
						_showForm();
					}
				} ,
				true // disable caching
			);
			
			
		}
	
	
	/*********************************************************/
		function _clearForm(){
			FeedBack.mFormEls['name'].value = '';
			FeedBack.mFormEls['mail'].value = '';
			FeedBack.mFormEls['header'].value = '';
			FeedBack.mFormEls['text'].value = '';
		}
	
	/*********************************************************/
		function _hideForm(){
			FeedBack.elForm.className = 'inProcess';
			for(var i = 0 ; i < FeedBack.mFormEls.length ; i++ ){
				FeedBack.mFormEls[i].disabled = true;
				setGray(i);
			}
		}
	
	/*********************************************************/
		function _showForm(){
			FeedBack.elForm.className = '';
			for(var i = 0 ; i < FeedBack.mFormEls.length ; i++ ){
				FeedBack.mFormEls[i].disabled = false;
				setWhite(i);
			}
		}	
	
	/*********************************************************/
		function _restoreForm(){
			_showForm();
			oDialog.hide();
		}
		
	/*********************************************************/
		function _checkForm(){
			var sErrors = '';
			
			if( oValues.name.length < 2){
				sErrors += ', имя';
				setYellow('name');
			} 
			else{
				setWhite('name');
			}
			
			if( !oValues.mail || !isEmail(oValues.mail) ){
				sErrors += ', корректный e-mail';
				setYellow('mail');
			}
			else{
				setWhite('mail');
			}
			
			if( oValues.header.length < 2){
				sErrors += ', заголовок';
				setYellow('header');
			} 
			else{
				setWhite('header');
			}
			
			if( oValues.text.length < 2){
				sErrors += ', текст сообщения';
				setYellow('text');
			}
			else{
				setWhite('text');
			}
			
			if( sErrors.length ){
//				oDialog.showError( '<p>Введите, пожалуйста' + sErrors + '.<br></p>' );
				return false;
				
			} else 
				return true;
		}
		
		function setYellow(sName){
			FeedBack.mFormEls[sName].style.backgroundColor = '#ffff90';
		}
				
		function setWhite(sName){
			FeedBack.mFormEls[sName].style.backgroundColor = '';
		}
		function setGray(sName){
			FeedBack.mFormEls[sName].style.backgroundColor = '#ccc';
		}
	}

/*****************************************************************************************/	
	
	FeedBack.elForm.onsubmit = function(){
		FeedBack.sendMessage();
		return false;
	};
	



