var AJAX;



function getAjaxObject()
{
	var http_request;
		
	if( window.XMLHttpRequest ) 
	{
   		http_request = new XMLHttpRequest();
 	} 
	else if( window.ActiveXObject ) 
	{
    	try 
		{
      		http_request = new ActiveXObject("Msxml2.XMLHTTP");
    	} 
		
		catch (e) 
		{
      		http_request = new ActiveXObject("Microsoft.XMLHTTP");
    	}
	}
	
	return http_request;
 }
 
 
 function setRequestFunction( func )
 {
 	AJAX.onreadystatechange = func;
 }
 
 
 function sendRequestAsPost( url, params )
 {
 	AJAX.open( 'POST', url, true );
	AJAX.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' );
	AJAX.send( params );
 }
 
 
 
 function sendRequestAsGet( url )
 {
 	//alert( url );
	AJAX.open( 'GET', url, true );
	AJAX.send( null );
	//alert( url );
 }
 
 
 function sendRequest( func, url, params )
 {
 	if( ( AJAX.readyState == 0 ) || ( AJAX.readyState == 4 ) )
	{
		setRequestFunction( func );
		if( ( params == "" ) || ( params == null ) )
		{
			sendRequestAsGet( url );
		}
		else
		{
			sendRequestAsPost( url, params );
		}
		
	}
	else
	{
	    alert( "Požadavek nelze odeslat, vyčkejte na zpracování předchozího požadavku." );
	}
 }
 
 
 function returnRequestText()
 {
 	var text;
	
	if( AJAX.readyState == 4 )
    {
    	if( AJAX.status == 200 )
	    {
    		text = AJAX.responseText;
			return text;
    	}
	}
    else
    {
        alert("Chyba při textovém načítaní AJAX requestu. Status "+AJAX.status+": "+AJAX.statusText);
		return false;
 	}
 }
 
 
 function returnRequestXML()
 {
 	var xml;
	
	if( AJAX.readyState == 4 )
    {
    	if( AJAX.status == 200 )
	    {
    		xml = AJAX.responseXML;
			return xml;
    	}
	}
    else
    {
        alert("Chyba při xml načítaní AJAX requestu. Status "+ AJAX.status +": "+ AJAX.statusText);
		return false;
 	}
 }

// create ajax object //
AJAX = getAjaxObject();

