//////////////////////////////////////////////////////////////////////////
// Создание AJAX                                                        //
//////////////////////////////////////////////////////////////////////////

function create_ajax()
{
	var ajax;

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

	catch ( e )
	{
	   	try
	   	{
			ajax = new ActiveXObject("Microsoft.XMLHTTP");
	   	}

	   	catch ( e2 )
	   	{
			ajax = false;
	   	}
	}

	if ( !ajax && typeof XMLHttpRequest != "undefined" )
	{
		ajax = new XMLHttpRequest();
	}

	return ajax;
}

//////////////////////////////////////////////////////////////////////////
// GET запрос                                                           //
//////////////////////////////////////////////////////////////////////////

function ajax_get_request( url, handler )
{
	var ajax = create_ajax();

	if ( !ajax )
	{
		// Кидаем исключение
		return;
	}
	
	ajax.open("GET", url, true);
	
	ajax.onreadystatechange = function()
	{
		if ( ajax.readyState != 4 ) return;
		if ( ajax.status != 200 )
		{
			// Кидаем исключение	
			return;			
		}
		
		if ( typeof handler == "function" ) handler(ajax.responseText);
	}		
	
	ajax.send(null);	
}

//////////////////////////////////////////////////////////////////////////
// POST запрос                                                          //
//////////////////////////////////////////////////////////////////////////

function ajax_post_request( url, post_parameters, handler )
{
	var ajax = create_ajax();

	if ( !ajax )
	{
		// Кидаем исключение
		return;
	}
	
	ajax.open("POST", url, true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	ajax.onreadystatechange = function()
	{
		if ( ajax.readyState != 4 ) return;
		if ( ajax.status != 200 )
		{
			// Кидаем исключение	
			return;			
		}
		
		if ( typeof handler == "function" ) handler(ajax.responseText);
	}		
	
	ajax.send(post_parameters);	
}
