ajaxObj = '';


function getContentAjax(u, m, v, id, separator)
{
	if (!ajaxObj)
	{
		ajaxObj =  new ajax();
	}

	ajaxObj.getResult(u, m, v, id, separator);
}


function ajax()
{
	var request, bComplete	= false;
	var name				= null;

	try
	{
		request = new ActiveXObject("Msxml2.XMLHTTP"); 

	}catch (e){

		try 
		{
			request = new ActiveXObject("Microsoft.XMLHTTP"); 

		}catch (e){

			try
			{
				request = new XMLHttpRequest();

			}catch (e){

				request = false;
			}
		}
	}


	if (!request) return null;


	this.getResult = function(sURL, sMethod, sVars, id, separator)
	{
		if (!request) return false;

		bComplete = false;

		sMethod = sMethod.toUpperCase();

		try
		{
			if (sMethod == "GET")
			{
				request.open(sMethod, sURL+separator+sVars, true);
			        sVars = "";

			}else{
					request.open(sMethod, sURL, true);
					request.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
					request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			}

			request.onreadystatechange = function()
			{
					if (request.readyState == 4 && !bComplete && request.status == 200)
					{

							bComplete					= true;
							if (id != 'p1' && id != 'l4' && id != 'l_pr')
							{
								document.getElementById(id).innerHTML		= request.responseText;
							}else{
								var x = request.responseText;			// Присваиваете результат работы переменной
								var y = document.createElement ('script');	//Создаёте новый тег <SCRIPT>
								y.defer = true;					//Даёте разрешение на исполнение скрипта после его "приживления" на странице
								y.text = x;					//Записываете полученный от сервера "набор символов" как JS-код
								document.body.appendChild (y);			//"Приживляете" тег <SCRIPT>
							}


							if ($('result_button') && id != 'l_pr')
							{
								var elems				= getChild('li', id);

								if(elems.length < 8)
								{
									$('result_button').style.visibility	= 'hidden';
								}
							}
					}
			};

			// передает данные POST или сложные данные типа XML
			request.send(sVars);

		}catch(z){

			return false;
		}

		return true;
	};

	return this;
}

