function Ajax(sendVars, url, target, method)
{
	var xmlHttp;
	
	if (sendVars.length > 0)
	{
		xmlHttp = getXmlHttpObject();
		
		switch (method)
		{
			case "get":
				vars = replaceVars(sendVars);
				
				sendGet (url + "?request=" + sendVars[0] + vars, target);
				break;
			case "post":
				vars = replaceVars(sendVars);
				vars = vars.replace(/&/,'');
				
				sendPost (url + "?request=" + sendVars[0], vars, target);
		}
	}
	
	function replaceVars (vars)
	{
		var vars = "";
		for(var i = 1; i < sendVars.length; i++)
		{
			vars += "&" + sendVars[i];
		}
		
		return vars;
	}
	
	function sendGet (url, target)
	{
		xmlHttp.open("GET", url, true);
		xmlHttp.onreadystatechange = alertContents;
		xmlHttp.setRequestHeader("Content-type", "text/html; charset=utf-8");
		xmlHttp.setRequestHeader("Cache-Control", "no-cache");
		xmlHttp.send(null);
	}
	
	function sendPost (url, vars, target)
	{
		xmlHttp.open("POST", url, true);
		xmlHttp.onreadystatechange = alertContents;
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Cache-Control", "no-cache");
		xmlHttp.setRequestHeader("Content-length", vars.length);
		xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.send(vars);
	}
	
	function alertContents ()
	{
		if(xmlHttp.readyState==4)
		{
			if(xmlHttp.responseText)
			{
				switch(target)
				{
					case "send":
						addPost(xmlHttp.responseText);
					break;
					case "rating":
						RatingAddPost(xmlHttp.responseText);
					break;
					case "edit_game":
						addPostEditGame(xmlHttp.responseText);
					break;
					case "open_game":
						result_of_open_game(xmlHttp.responseText);
					break;
				}
			}
		}
	}

	function getXmlHttpObject()
	{
		var xmlHttpObj = false;
		
		try
		{
			xmlHttpObj = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				xmlHttpObj = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(E)
			{
				xmlHttpObj = false;
			}
		}
		if(!xmlHttpObj && typeof XMLHttpRequest != 'undefined')
		{
			try
			{
				xmlHttpObj = new XMLHttpRequest();
			}
			catch(e)
			{
				xmlHttpObj = false;
			}
		}
		if(!xmlHttpObj && window.createRequest)
		{
			try
			{
				xmlHttpObj = window.createRequest();
			}
			catch(e)
			{
				xmlHttpObj = false;
			}
		}
		
		return xmlHttpObj;
	}
}