

var last_requests = Array(); // holds the last AJAX URL for the given ID (used in the timer, so i knows what URL to call)

function doTimer(target, time, is_javascript)
{
	makeRequest(target, last_requests[target], is_javascript);
	setTimeout("doTimer('"+target+"', "+time+")",time);
}

function makeRequest(target, extra, is_javascript) {
       var http_request = false;
	var time = new Date();	
	last_requests[target]=extra;
     //  document.getElementById(target+"_interior").innerHTML = "<html><img src='http://dev.virtualmailhouse.com/config/gfx/avatar.gif'></html>";

//		makeRequest(nr, '&width='+parseInt($('#'+nr).width())+'&height='+parseInt($('#'+nr).height()));
	if (! extra)
		extra = '&width='+parseInt($('#'+target).width())

	$('#'+target+'_working').show();
	$('#'+target).css({cursor:'progress'});
	$('#'+target+'_refresh').fadeTo(100, 0.3);

       if (window.XMLHttpRequest) { // Mozilla, Safari, ...
           http_request = new XMLHttpRequest();
           if (http_request.overrideMimeType) {
               http_request.overrideMimeType('text/xml');
               // See note below about this line
           }
       } else if (window.ActiveXObject) { // IE
           try {
               http_request = new ActiveXObject("Msxml2.XMLHTTP");
           } catch (e) {
               try {
                   http_request = new ActiveXObject("Microsoft.XMLHTTP");
               } catch (e) {}
           }
       }

       if (!http_request) {
           alert('Giving up :( Cannot create an XMLHTTP instance');
           return false;
       }
	url = "?_MODE=AJAX&_ID="+target+"&"+extra+"&"+time.getTime(); // see #110 for why getTime() is here
       http_request.onreadystatechange = function() { alertContents(http_request, target, is_javascript); };
       http_request.open('GET', url, true);
       http_request.send(null);
	return false;

   }

function alertContents(http_request, target_id, is_javascript) {
	var response;
	
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			response = http_request.responseText;
			
			try
			{
				eval(response);
			}
			catch(err)
			{
				if (document.getElementById(target_id+'_interior')) 
					document.getElementById(target_id+"_interior").innerHTML = response;
				else
					document.getElementById(target_id).innerHTML = response;
			}
			// if (is_javascript)
			// {
			// 	eval(response);	
			// }
			// else
			// {
			// }
			$('#'+target_id+'_working').fadeOut();
			$('#'+target_id).css({cursor:'default'});
			$('#'+target_id+'_refresh').fadeTo('slow',1);
			window.resizeBy(0,0);
		}
	}
}
