function createRequestObject()
{
    if (window.XMLHttpRequest) {
        try {
            return new XMLHttpRequest();
        } catch (e){}
    } else if (window.ActiveXObject) {
        try {
            return new ActiveXObject('Msxml2.XMLHTTP');
        } catch (e){}
        try {
            return new ActiveXObject('Microsoft.XMLHTTP');
        } catch (e){}
    }
    return false;
}

function get_http_request(url, obj, params, method)

{

	this.http=createRequestObject();

	var http=this.http;

	var strTable;

	var i=".";
	
	b = getBrowser();
	
        re = /\?/;
        
        ump = (re.test(url)) ? "&&" : "?";

	if (b == "ie") url+= ump + "rand=" + Math.random();
	this.http.open(method, url, true);
	
	if (method="POST"){
		this.http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		this.http.send(params);
	}
	
	else {
		this.http.setRequestHeader("Content-type", "text/html");
	}

	this.http.onreadystatechange=function() {
		
		if (http.readyState == 4) {

				//alert(http.responseText);
				//text=(http.responseXML == null) ? http.responseText : http.responseXML;
				
				text = http.responseText;

				updateTable(obj, text);

			} else {

				i+=".";

				if (obj != "message") updateTable(obj, "Подождите, пожалуйста. Выполняется запрос....");

			}

	}

	try {
		http.send(null);
	} catch (e) {
		dummy = false;
	}

}

function getProp(obj) {
		s = "";
		i=0;
		for (a in obj) {
			s+=a + " ";
			if (i==10) {
				s+="\n";
				i=0;
			} else i++;
		}
		return s;
}

function updateTable(obj, str1)
{

if (obj == "message") {
	alert(str1);
	return;
}

brw = getBrowser();
elm=document.getElementById(obj);
elm.innerHTML = "";
	if ((brw != "Opera" && brw != "ie")) elm.innerHTML=str1;
	else {
		if (elm.nodeName == "SELECT") {
			i=0;
			re = /<option\svalue=['"]([^<]*)['"]>([^<]*)<\/option>/gm;
			arr = re.exec(str1);
			while (re.lastIndex != 0) {
			opt = arr;
			elm.options[i] = new Option(opt[2],opt[1]);
			arr = re.exec(str1);
			i++;
			}
		} else {
			elm.innerHTML=str1;
		}
	}

}

function getBrowser() {
var ua = navigator.userAgent.toLowerCase(); 
// Определим Internet Explorer
var browser = "";
browser = (ua.indexOf("msie") != -1 && ua.indexOf("opera") == -1 && ua.indexOf("webtv") == -1) ? "ie" : browser; 
// Opera 
browser = (ua.indexOf("opera") != -1) ? "Opera" : browser; 
// Gecko = Mozilla + Firefox + Netscape 
browser = (ua.indexOf("gecko") != -1) ? "Gecko" : browser; 
// Safari, используется в MAC OS 
browser = (ua.indexOf("safari") != -1) ? "Safari" : browser; 
// Konqueror, используется в UNIX-системах 
browser = (ua.indexOf("konqueror") != -1) ? "Konq" : browser;
return browser;
}
