/**
 * @author adamantius
 */
function get_object () {
	var xmlhttp = false;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E){
			xmlhttp = false;
		}
	}
	if(!xmlhttp && typeof XMLHttpRequest != 'undefined'){
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}

function request(data){
		var ret='';
		if (data[0]) { 
			var req = data[0][0]+'='+data[0][1];
			for(var i =1;i<data.length;i++){
				req += '&'+data[i][0]+'='+encodeURIComponent(data[i][1]);
			}
		};

		if(this.xmlhttp){
			var xmlhttp = this.xmlhttp;
			if (this.method=='get') {
				this.xmlhttp.open("GET",this.page+"?"+req,false);
				this.xmlhttp.send(null);
			} else if (this.method == 'post') {
				this.xmlhttp.open("POST",this.page,false);
				this.xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=windows-1251");
				this.xmlhttp.send(req);
			}
			if(this.xmlhttp.readyState == 4 || this.xmlhttp.status == 200){
				ret = this.type=='text' ? this.xmlhttp.responseText : this.xmlhttp.responseXML;
			}
		}else{
			var xml = createXMLDOM();
			xml.load(this.page+"?"+req);
			xml.asynch=false;
			ret = xml;
		}
		return ret;
}

function ajax_object (server_page,method, type) {
	this.page = server_page;
	this.method = method;
	this.type = type;
	this.xmlhttp = get_object();
	this.request = request;
}
