document.write( '<style type="text/css" media="screen">' );
document.write( '<!--' );
document.write( '#prevent' ); 
document.write( '{' );
document.write( '	position:absolute;' );
document.write( '	visibility: hidden;' );
document.write( '}' );
document.write( '-->' );
document.write( '</style>' );

document.write( '<div id = "prevent">' );
document.write( '<img src = "ajax-loader-59.png">' );
document.write( '</div>' );

var CursorX = -50;
var CursorY = -50;
var CanPerformOperation = true;
var Silent = false;

function MouseMoveCore()
{
			if( !CanPerformOperation && !Silent )
			{
				document.getElementById( "prevent" ).style.left = CursorX - 8;
				document.getElementById( "prevent" ).style.top = CursorY - 8;
				document.getElementById( "prevent" ).style.visibility = "visible";
			}
			else
				document.getElementById( "prevent" ).style.visibility = "hidden";
}

function MouseMove( e )
{
			if( typeof e != "undefined" )
			{
				CursorX = e.pageX;
				CursorY = e.pageY;
			}
			else if( typeof window.event !="undefined" )
			{
				CursorX = event.clientX;
				CursorY = event.clientY;
			}

			MouseMoveCore();
}

document.onmousemove = MouseMove;
var http = false;

function getHTTPObject()
{
			try
			{
				http = new ActiveXObject( "Msxml2.XMLHTTP" );
			}
			catch( e )
			{
				try
				{
					http = new ActiveXObject( "Microsoft.XMLHTTP" );
				}
				catch( e )
				{
					http = false;
				}
			}
			if( !http && typeof XMLHttpRequest != 'undefined' )
			{
				try
				{
					http = new XMLHttpRequest();
				}
				catch( e )
				{
					http = false;
				}
			}
			if( !http && window.createRequest )
			{
				try
				{
					http = window.createRequest();
				}
				catch( e )
				{
					http = false;
				}
			}

			if( !http )
				alert( "Problem z obiektem AJAX" );
}

var reqarr = new Array();
var reqhnr = new Array();
var reqsil = new Array();

function RequestAdd( req )
{
			reqarr[reqarr.length] = req;
			reqhnr[reqhnr.length] = httpResponse;
			reqsil[reqsil.length] = false;
}

function RequestAdd2( req, handler )
{
			reqarr[reqarr.length] = req;	
			reqhnr[reqhnr.length] = handler;
			reqsil[reqsil.length] = false;
}

function RequestAddSilent( req )
{
			reqarr[reqarr.length] = req;	
			reqhnr[reqhnr.length] = httpResponse;
			reqsil[reqsil.length] = true;
}

function RequestAddSilent2( req, handler )
{
			reqarr[reqarr.length] = req;	
			reqhnr[reqhnr.length] = handler;
			reqsil[reqsil.length] = true;
}

function TimeOut()
{
			clearTimeout( timer );
	
			if( CanPerformOperation && reqarr.length > 0 )
			{
				CanPerformOperation = false;

				var val = reqarr[0];
				reqarr = reqarr.slice( 1 );
				var handler = reqhnr[0];
				reqhnr = reqhnr.slice( 1 );
				Silent = reqsil[0];
				reqsil = reqsil.slice( 1 );

				MouseMoveCore();

				getHTTPObject();
				http.onreadystatechange = handler;
				http.open( "GET", val );
				http.send( null );
			}
			else
				MouseMoveCore();

			if( reqarr.length > 0 )
				timer = setTimeout( "TimeOut()", 10 );
			else
				timer = setTimeout( "TimeOut()", 100 );
}

var timer = setTimeout( "TimeOut()", 100 );
