var functionToExec;
var xmlHttp;
var widgetToReturn;

function AJAX_SetTarget(widget, callback_function, URL, GET_POST, params)
{
		widgetToReturn = widget;
		functionToExec=callback_function;
		xmlHttp=AJAX_CreateRequestObject(AJAX_StateChanged);
		xmlHttp.open(GET_POST, URL , true);  
		if(GET_POST=="POST")
		{
            		xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		}
		
		xmlHttp.send(params);
}

function AJAX_StateChanged() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		try{
			functionToExec(widgetToReturn, xmlHttp); 
		}catch(e){}	
	} 
}  

function AJAX_CreateRequestObject(handler) 
{
	var ro;
	var browser = navigator.appName;
	
	if(browser == "Microsoft Internet Explorer"){
		ro = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		ro = new XMLHttpRequest();
	}

	ro.onreadystatechange = handler;
	return ro;
}