
function createXMLHttpRequest() 
{ 
	var req = null; 
	
	try 
	{ 
		req = new ActiveXObject("MSXML2.XMLHTTP"); 
	} 
	catch (err_MSXML2) 
	{ 
		try 
		{ 
			req = new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		catch (err_Microsoft) 
		{ 
			if (typeof XMLHttpRequest != "undefined")  
				req = new XMLHttpRequest; 
		} 
	} 
	
	return req; 
} 

function form2param(formID)
{
	var param = '';
	var form = document.getElementById(formID)
	if (form)
	{
		var inputs = form.getElementsByTagName('input')
		if (inputs)
		{
			for (var i=0; i < inputs.length; i++) 
			{
				//alert(inputs[i].id + ' : ' + inputs[i].type);
				if (inputs[i].type.toLowerCase() == 'radio' || inputs[i].type.toLowerCase() == 'checkbox')
				{
					if (inputs[i].checked)
					{
						param += '&' + inputs[i].name + '=' + encodeURIComponent(inputs[i].value);
					}
				}
				else
				{
					param += '&' + inputs[i].name + '=' + encodeURIComponent(inputs[i].value);
				}
			}
		}
	}
	return param.substr(1);
}

//Konstruktor
function objajax(){
	this.divObject;
	this.divLoadObject;
	this.timer;
	this.AJAX_banner = createXMLHttpRequest();
	this.append;
}

objajax.prototype.request = function(method, URL, formID, divID, divIDLoad,append,loop) {
	this.divObject=document.getElementById(divID);
	this.divLoadObject=document.getElementById(divIDLoad);
	this.divLoadObject.style.display='block';
	this.append = append;
	if ((this.AJAX_banner) && (URL) && (this.divObject))
	{
		URL = ajax2.checkURL(URL); //alert(URL);

		this.run = function (){
			if (this.AJAX_banner.readyState == 4){
				var content = this.AJAX_banner.responseText;
				if(this.append){
					this.divObject.innerHTML = this.divObject.innerHTML + content;
				}else{
					this.divObject.innerHTML = content;
				}
				loop = loop - 1;
				if(loop > 0){
					next_call = new objajax();
					next_call.request(method, URL, formID, divID, divIDLoad, append,loop);	
				}
				else{
					this.divLoadObject.style.display='none';
					inputs = this.divObject.getElementsByTagName('Input');
					for (i=0;i<=inputs.length-1;i++){
						inputs[i].disabled=false;
					}
				}
			};
		};

		this.send = function (){
			if (method.toUpperCase() == 'POST')
			{
				this.AJAX_banner.onreadystatechange = closure;
				this.AJAX_banner.open(method, URL, true);
				this.AJAX_banner.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				this.AJAX_banner.send(form2param(formID));
			}
			else
			{
				this.AJAX_banner.send(null);
			}
		};

		var self = this;
		var closure = function () {
		 self.run();
		};
		self.send();
	};
};

var ajax2 =
{
	checkURL: function(URL)
	{
		if (URL.toLowerCase().indexOf('ajax=1') == -1)
		{
			if (URL.toLowerCase().indexOf('asp?') == -1)
			{
				URL += '?ajax=1';
			}
			else
			{
				URL += '&ajax=1';
			}
		}
		return URL;
	}
}






