function pajax(function_action, page_server, params)
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
catch (e)
  {
  try
	{
	xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
  catch (e)
	{
	alert("Your browser does not support AJAX!");
	return false;
	}
  }
}

//xmlHttp.validateOnParse=false;

xmlHttp.onreadystatechange=function()
  {
  if(xmlHttp.readyState==4)
	{
		if(function_action)
			function_action(xmlHttp.responseText);
	}
  }
xmlHttp.open("POST",page_server,true);  
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded;charset=UTF-8");
xmlHttp.setRequestHeader("encoding", 'utf-8');
xmlHttp.setRequestHeader("Content-length", params.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(params);
}

function ajax_CreateLoaderImage(host, before, image)
{
	img=document.createElement('img');
	img.src=image;
	img.className="spaceright";
	img.id=host.id+'_loader_image';
	//prevent re-creation, usually when rapidly invoked
	if(document.getElementById(img.id))
		return false;
	
	if(before)
	{
		host.insertBefore(img, before)
	}	
	else
	{
		host.appendChild(img);
	}
	
	return true;
}

function ajax_DestroyLoaderImage(host_id)
{
	if(document.getElementById(host_id+'_loader_image'))//prevent multiple attempts, ussually when rapidly invoked	
		document.getElementById(host_id).removeChild(document.getElementById(host_id+'_loader_image'));
}

function ajax_ParseResponse(server_response)
{
	//customize this function for your needs
	//alert(server_response);
	if(!server_response)
	{
		var res=new Array();
		res['status']='error'; //error or success
		res['message']='Serverul nu răspunde'; //server human-readable message
		res['elemid']=''; //relevant DOM element id
		res['data']=''; //client-side relevant data		
		return;
	}
	var parsed=server_response.split('|||');
	var res=new Array();
	res['status']=parsed[0].trim(); //error or success
	res['message']=parsed[1].trim(); //server human-readable message
	res['elemid']=parsed[2].trim(); //relevant DOM element id
	res['data']=parsed[3]; //client-side relevant data
	return res;
}

function ajax_veil(id,className)
{
	var veil=document.createElement('div');
	body=document.getElementsByTagName('body')[0];
	//body.style.overflow='hidden';
	veil.className=className;
	veil.id=id;
	veil.style.height=body.clientHeight+'px';
	veil.style.width=body.clientWidth+'px';
	body.insertBefore(veil, body.firstChild);
	return veil;
}


function ajax_veil_lift(id)
{
	document.getElementsByTagName('body')[0].removeChild(document.getElementById(id));
	//document.getElementsByTagName('body')[0].style.overflow='auto';
}