// JavaScript Document
	
function WpciAjaxProcessor()
{
	var aPostData 		= new Array();
	var oCompleter		= new Array();
	var oRequest;
	
	// try and create the new object
	try
	{    // Firefox, Opera 8.0+, Safari    
		oRequest = new XMLHttpRequest();    
	}
	catch (e)
	{    
		// Internet Explorer    
		try
		{      
			oRequest = new ActiveXObject("Msxml2.XMLHTTP");     
		}
		catch (e)
		{      
			try
			{        
				oRequest = new ActiveXObject("Microsoft.XMLHTTP");        
			}
			catch (e)
			{        
				alert("Your browser does not support AJAX!");              
			}      
		}    
	}	

	function setCompleter(o)
	{
		oCompleter.push(o);
	}
	
	function getPostData()
	{
			// Loop post array & build string
		var sPost = '';
		for(sKey in aPostData)
			if (typeof(aPostData[sKey]) != 'function')
				sPost += encodeURI(sKey) + '=' + encodeURI(aPostData[sKey]) + '&';
	
		return sPost;
	}
	
	function addPostData(aPost)
	{
		// aPostData.concat(aPost);
		for(sKey in aPost)
		{	
			if (typeof(aPost[sKey]) == 'function')
				continue;
				
			aPostData[sKey] = aPost[sKey];
		}
	}
	
	function callback()
	{
		if (oRequest == null)
		{
			alert('no such request');
		}
		else
		{
			// if completed
			if (oRequest.readyState != 4 && oRequest.readyState != "complete")
				return;
								
			// dispatch to relevant messages
			if (oRequest.responseXML == null)
				alert('AJAX Response Error:\n\n' + oRequest.responseText);
			else
			{
				for(ind in oCompleter) {
					if (oCompleter[ind].onCompleted) { 
						oCompleter[ind].onCompleted(oRequest);
					}
				}
			}
		}
	}
	
	function addPostValue(sKey, sValue)
	{
		aPostData[sKey] = sValue;
	}
	
	function execute(sUrl)
	{
		// post data
		var pd = getPostData();
		
		// open socket
		oRequest.onreadystatechange = callback;
		oRequest.open("POST", sUrl, true);
		oRequest.setRequestHeader("Content-Type", 'application/x-www-form-urlencoded');
		oRequest.setRequestHeader("Connection", "close");
		oRequest.setRequestHeader('Content-length', pd.length);
		
		// set all of the cookies
		oRequest.setRequestHeader('Cookie', wpciAjax_getCookie('PHPSESSID'));
		
		// update sending
		oRequest.send(pd);
	}

	// attach callback
	callback			= callback;
		
	// create execution
	this.execute 			= execute;
	this.setCompleter = setCompleter;
	this.addPostData	= addPostData;
	//getPostData	= getPostData;
}

function wpciAjax_getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    {
    c_start=c_start + c_name.length+1;
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    }
  }
return "";
}

function ajaxLoadDiv(sUrl, sDiv, aPost)
{
	var obj = new WpciAjaxProcessor(); 
	obj.create();
	obj.setContainer(sDiv);
	obj.addPostData(aPost);
	obj.execute(sUrl);
}