/*
	Version 4.0 change: escape changed to encodeURIComponent
*/
function Ajax()
{
	var key   = new Array();
	var value = new Array();

	this.send = send;
	this.set  = set;
	
	function initControl()
	{
		var _control;
		try
		{
			_control=new XMLHttpRequest();
		}
		catch (e)
		{
			try
			{
				_control=new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e)
			{
				try
				{
					_control=new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e)
				{
					alert("Your browser does not support AJAX!");
					return false;
				}
			}
		}
		return _control;
	}

	function set(key_str, value_str)
	{
		key[key.length] = key_str;
		value[value.length] = encodeURIComponent(value_str);
	}


	function build()
	{
		var options_str = new String();
		for(i=0;i<key.length;i++)  
		{
			options_str += "&"+key[i] + "=" + value[i];
		}
		return options_str;
	}


	function send(url, method)
	{
		var uri = build();

		var xmlHttp = initControl();
			xmlHttp.open("POST",url,true);
			xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			xmlHttp.setRequestHeader("Content-length", uri.length);
			xmlHttp.setRequestHeader("Connection", "close");

			xmlHttp.send(uri);
			xmlHttp.onreadystatechange=function()
			{
				if(xmlHttp.readyState!=4) return false;
				eval(method + '(xmlHttp.responseText);');
			}
		
		key = new Array();
		value = new Array();
	}
}