function ajax_req(url, func){
var http_request = false;
if (window.XMLHttpRequest) { // Safari, Firefox...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
			}
		} 
	else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} 
		catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} 
			catch (e) {}
			}
		}
	
	if (!http_request) {
		alert('Невозможно создать экземпляр класса XMLHTTP ');
		return false;
		}

	http_request.onreadystatechange = function() { func(http_request); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

   function ajax_req_post(url, parameters, func) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      
      http_request.onreadystatechange = function() { func(http_request); };
      http_request.open('POST', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
   }
