//------------------------------------------------------------------------
var onlineaction = 0;
//------------------------------------------------------------------------
function createXMLHttpRequest() {
	var xmlReq = false;
	
	if(window.XMLHttpRequest) {
		try {
			xmlReq = new XMLHttpRequest();
		} catch(e) {
			xmlReq = false;
		}
	} else if(window.ActiveXObject) {
		try {
			xmlReq = new  ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				xmlReq = new  ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				xmlReq = false;
			}
		}
	}
	if (!xmlReq) {alert("Error in create reguest object!"); return ;}
	return xmlReq;
}
//------------------------------------------------------------------------
function SendRequest(method,query,wid,wait,back,fileofajax,errorfile,execafter) {
	if (wid != "") {
	 document.getElementById(wid).innerHTML = wait;
	}	

	if ((!fileofajax) || (fileofajax == "")) {	
	 var url = 'ajax/action.php';
	 if (method == "GET") {
	  url = url + '?' + query;
	 }	
	 var errorfile1 = "action.php";
	}
	else
	{		
	 var url = fileofajax;
	 if (method == "GET") {
	  url = url + '?' + query;
	 }
	 var errorfile1 = errorfile;	
	 //alert(url);
	}
	var xmlReq = createXMLHttpRequest();
	if(xmlReq) {
		xmlReq.onreadystatechange = function() {
			if (xmlReq.readyState == 4) {
				if (xmlReq.status == 200 || xmlReq.status == 201) {
					if (xmlReq.responseText != '') {
						if (xmlReq.responseText.indexOf(errorfile) > 0) {
						  alert("Во время выполнение произошла ошибка! - возможно было превышено время выполнение...");	
						  alert(xmlReq.responseText);
						}
						else
						{
						 //alert(xmlReq.responseText);	
						 eval(xmlReq.responseText);	
						 if (execafter) {
						  if (execafter != "") {
						   eval(execafter);	
						  }	
						 }						 
						}
						if (back != "") {
						 if (document.getElementById(wid)) {
						  document.getElementById(wid).innerHTML = back;
						 }
						}
					   onlineaction = 0; 	
					}
				}
			}
		};
		if (method == "GET") {
		 xmlReq.open(method, url, true);
		 xmlReq.send(null);		 	
		}
		else
		{	
         xmlReq.open(method, url, true); 
         xmlReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
         xmlReq.setRequestHeader("Content-length", query.length); 
         xmlReq.setRequestHeader("Connection", "close"); 
         xmlReq.send(query);
		}
		return false;
	}
	return true;
}

//------------------------------------------------------------------------
function CheckOnlineAction() {
 if (onlineaction > 0) {
  alert('Пожалуйста, подождите....\r\nИдет выполнение операции... \r\n \r\nЕсли вы считаете, что прошло уже слишком много времени - обновите страницу, при повторной ошибке - обратитесь в службу технической поддержки! ');
  return false;	
 }	
 onlineaction = 1;
 return true;
}

//------------------------------------------------------------------------
// JavaScript Document
function gotpage(npage){
 window.location = npage;
}
//------------------------------------------------------------------------
<!-- проверка e-mail фдреса -->
function emailCheck(emailStr) {
var checkTLD=1;
var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
var matchArray=emailStr.match(emailPat);
if (matchArray==null) {
return false;
}
var user=matchArray[1];
var domain=matchArray[2];
for (I=0; I<user.length; I++) {
if (user.charCodeAt(I)>127) {
return false;
   }
}
for (I=0; I<domain.length; I++) {
if (domain.charCodeAt(I)>127) {
return false;
   }
}
if (user.match(userPat)==null) {
return false;
}
var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {
for (var I=1;I<=4;I++) {
if (IPArray[I]>255) {
return false;
   }
}
return true;
}
var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (I=0;I<len;I++) {
if (domArr[I].search(atomPat)==-1) {
return false;
   }
}
if (checkTLD && domArr[domArr.length-1].length!=2 &&
domArr[domArr.length-1].search(knownDomsPat)==-1) {
return false;
}
if (len<2) {
return false;
}
return true;
}
//------------------------------------------------------------------------
function IisInteger(num,maxi) {
 if (!maxi) {	
 if (isNaN(num) || (num == "") || (num.indexOf(',') > 0) || (num.indexOf('.') > 0) || (num < 0) || (num > 1500)) {	
  return false;	} else {	return true; } } else {
  if (isNaN(num) || (num == "") || (num.indexOf(',') > 0) || (num.indexOf('.') > 0) || (num < 0)) {	
  return false; } else { return true; } }  	
}
//------------------------------------------------------------------------
function IsFloat(num) {
  if (isNaN(num) || (num == "") || (num.indexOf(',') > 0) || (num < 0)) {	
   return false; } else { return true; } 	
}
//------------------------------------------------------------------------
 //очистка от пробелов
 function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
 } 
 function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
 } 
 function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
 }
 function trimW( str, charlist ) {   
  return trim(str);
 }
//------------------------------------------------------------------------