var request;
var dest;
var arAction = new Array();

function addArrayAction(f)
{
     arAction[arAction.length] = f; 
}

function doArrayAction()
{
	var v;
	for (i=0; i<arAction.length; i++) {
		v = arAction[i];
		delete arAction[i];
		eval(v);
	}
	arAction = new Array();
}


function checkRequest()
{
	if (window.XMLHttpRequest){
		request = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		request = new ActiveXObject("Microsoft.XMLHTTP");
		if(!request) request = new ActiveXObject("Msxml2.XMLHTTP");
	}
}

function processStateChange()
{
	if (request.readyState == 4){
		contentDiv = document.getElementById(dest);
		if (request.status == 200){
			response = request.responseText;
			contentDiv.innerHTML = response;
			doArrayAction();
		} else {
			//alert("Error: Status "+request.status);
			contentDiv.innerHTML = "Error: Status "+request.status;
			response = request.responseText;
			contentDiv.innerHTML = response;
		}
	}
}

function loadHTML(URL, destination)
{
	dest = destination;
	checkRequest();
	if (request) {
		request.onreadystatechange = processStateChange;
		request.open("GET", URL, true);
		request.send();
	}

}

function loadPostHTML(URL, idform, destination)
{
	dest = destination;
	checkRequest();
	if(request)
	{
		var parameters='';
		var e = get(idform).elements;
		for(i=0; i<e.length; i++){
			
			switch(e[i].type){
				
				case 'checkbox' :
				case 'radio' :
				if(e[i].checked===true) parameters += e[i].name+'='+ encodeURI( e[i].value)+'&';
				break;

				default:
				if(e[i].value) parameters += e[i].name+'='+ encodeURI( e[i].value)+'&';
				break;
			}
		}
		
		request.onreadystatechange = processStateChange;
		request.open('POST', URL, true);
		request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		request.setRequestHeader("Content-length", parameters.length);
		request.setRequestHeader("Connection", "close");
		request.send(parameters);
	}
}



