//var url=window.location.href;
//var HOSTNAME=url.substring(0,url.lastIndexOf("/")+1);
var SITEBASE = 'http://www.remio.ro/';
var HOSTNAME = 'http://www.remio.ro/ajax/';

function httpRequest(method, url, parameters, asynchronous) {
	var request = false;
	this.method = method;
	this.url = url;
	this.parameters = parameters;
	this.asynchronous = asynchronous;
	this.initRequest = function() {
		if (window.XMLHttpRequest) {
			request = new XMLHttpRequest();
		}
		else if (window.ActiveXObject) {
			try {
				request = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e) {
				try {
					request = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e) {}
			}
		}
		if (!request) {
			alert("Giving up :( Cannot create an XMLHTTP instance");
			return false;
		}
		return true;
	}

	this.setHandlerFunction = function(callbackFunction, par) {
		request.onreadystatechange = function() {
			switch(request.readyState) {
				case 1:
				ge('ajaxstate').style.display = "";
				ge('ajaxstate').innerHTML = "Se incarca...";
				if (par) ge(par).innerHTML = "Se incarca...";
//				eval(callbackFunction + "('',par)");
				break;
				case 2:
				ge('ajaxstate').style.display = "";
				ge('ajaxstate').innerHTML = "Se incarca...";
				if (par) ge(par).innerHTML = "Se incarca...";
//				eval(callbackFunction + "('',par)");
				break;
				case 4:
				if (request.status == 200) {
					if(request.responseText.split(":")[0]=="<redirect>")
					window.location.href=request.responseText.split(":")[1];
					else {
						ge('ajaxstate').style.display = "none";
						eval(callbackFunction + "(request.responseText,par)");
					}
				} else {
					ge('ajaxstate').style.display = "";
					ge('ajaxstate').innerHTML = "Conexiunea a esuat. Incearca din nou!";
				};
				break;
			}
		}
	}

	this.sendRequest = function() {
		if(this.method == "GET") {
			request.open(this.method, this.url + '?' + this.parameters,
			this.asynchronous);
			request.send(null);
		}
		else if(this.method == "POST") {
			request.open(this.method, this.url, this.asynchronous);
			request.setRequestHeader("Content-Type",
			"application/x-www-form-urlencoded");
			request.send(this.parameters);
		}
	}

	this.abortRequest = function() {
		request.abort();
	}
}

function httpRequest2(method, url, parameters, asynchronous) {
	var request = false;
	this.method = method;
	this.url = url;
	this.parameters = parameters;
	this.asynchronous = asynchronous;
	this.initRequest = function() {
		if (window.XMLHttpRequest) {
			request = new XMLHttpRequest();
		}
		else if (window.ActiveXObject) {
			try {
				request = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e) {
				try {
					request = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e) {}
			}
		}
		if (!request) {
			//alert("Giving up :( Cannot create an XMLHTTP instance");
			return false;
		}
		return true;
	}

	this.setHandlerFunction = function(callbackFunction, par) {
		request.onreadystatechange = function() {
			switch(request.readyState) {
				case 1:
//				eval(callbackFunction + "('',par)");
				break;
				case 2:
//				eval(callbackFunction + "('',par)");
				break;
				case 4:
				if (request.status == 200) {
					if(request.responseText.split(":")[0]=="<redirect>")
					window.location.href=request.responseText.split(":")[1];
					else {
						eval(callbackFunction + "(request.responseText,par)");
					}
				} else {
				};
				break;
			}
		}
	}

	this.sendRequest = function() {
		if(this.method == "GET") {
			request.open(this.method, this.url + '?' + this.parameters,
			this.asynchronous);
			request.send(null);
		}
		else if(this.method == "POST") {
			request.open(this.method, this.url, this.asynchronous);
			request.setRequestHeader("Content-Type",
			"application/x-www-form-urlencoded");
			request.send(this.parameters);
		}
	}

	this.abortRequest = function() {
		request.abort();
	}
}

