
function inverseAd_encode( uri ) 
	{
    if( encodeURIComponent) 
    	{
        return encodeURIComponent(uri);
    	}

    if( escape ) 
    	{
        return escape(uri);
    	}
	}

var	inverseAd_queries 	= new Array();
var	inverseAd_elements	= new Array();
var	inverseAd_count			= 0;

function inverseAd_load( subscriber, format, tag, longitude, latitude, limit, cols, elementId )
	{
		var	query;
		
		query	 = "/query/ad.php";
		query	+= "?format=" + inverseAd_encode( format );
		query	+= "&tag=" + inverseAd_encode( tag );
		query	+= "&limit=" + inverseAd_encode( limit );
		query	+= "&cols=" + inverseAd_encode( cols );
		query	+= "&subscriber=" + inverseAd_encode( subscriber );
		
		var	index = inverseAd_count;
		inverseAd_queries[inverseAd_count] 	= query;
		inverseAd_elements[inverseAd_count] = elementId;
		++inverseAd_count;
		
		inverseAd_query( index, longitude, latitude );
	}

function inverseAd_setPosition( longitude, latitude )
	{
		var	which;
		for( which = 0; which < inverseAd_count; ++which )	// inverseAd_count should be the length of the arrays
			{
				inverseAd_query( which, longitude, latitude );
			}
	}

function inverseAd_makeNewAjax()
	{
    if( window.XMLHttpRequest ) 
    	{
	   		return new XMLHttpRequest(); 
    	} 
    else 
    	{
	   		return  new ActiveXObject("MSXML2.XMLHTTP");
    	}
	}

var	inverseAd_AJAX_Array	= new Array();
var	inverseAd_AJAX_Count	= 0;

function inverseAd_query( which, longitude, latitude )
	{
		var	body;
		var	index = inverseAd_AJAX_Count;
		inverseAd_AJAX_Array[index] = makeNewAjax();
		++inverseAd_AJAX_Count;
		
		var	query = "" + inverseAd_queries[which];
		query += 
		query	+= "&longitude=" + inverseAd_encode( longitude );
		query	+= "&latitude=" + inverseAd_encode( latitude );
		var	elementId	= "" + inverseAd_elements[which];
		
		body	 = "var ajax = inverseAd_AJAX_Array[" + index + "];\n";
		body	+= "if( 4 == ajax.readyState )\n";
		body	+= "{ document.getElementById(\"" + elementId + "\").innerHTML = ajax.responseText;\n"; 
		body	+= " }\n";
		
    inverseAd_AJAX_Array[index].onreadystatechange = new Function( body );
    inverseAd_AJAX_Array[index].open( "GET", query, true );
    inverseAd_AJAX_Array[index].send(null);
	}

