
	var tempX = 0;
	var tempY = 0;
	var IE = document.all?true:false;
	
	if (!IE) document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = getMouseXY;

	function getMouseXY(e) {
	
	  if (IE) { 
	  
	    tempX = event.clientX + document.body.scrollLeft;
	    tempY = event.clientY + document.body.scrollTop;
	    
	  } else {  
	  
	    tempX = e.pageX;
	    tempY = e.pageY;
	  }  

	  if (tempX < 0){tempX = 0}
	  if (tempY < 0){tempY = 0}  
	  return true
	}
	
	function serverCalled(message) {
	
		//var div = top.document.getElementById('statusMessage');
		var div = document.getElementById('statusMessage');
		if (div != null) {
		
			if (message)
				div.innerHTML = '<nobr>' + message + '</nobr>';
			else
				div.innerHTML = '<nobr>' + 'Cargando...' + '</nobr>';
			
				div.style.left = 35;
				div.style.top = 50;
				div.style.position = 'absolute';
						
			div.style.display = '';
		}
	}
	
	function serverCalled(div, message) {
	
		if (div != null) {
		
			if (message)
				div.innerHTML = '<nobr>' + message + '</nobr>';
			else
				div.innerHTML = '<nobr>' + 'Cargando...' + '</nobr>';
			
				div.style.position = 'absolute';
						
			div.style.display = '';
		}
	}
	
	
	function serverCallProcessed() {		
		document.getElementById('statusMessage').style.display = "none";
	}
	
	function serverCallProcessed(divName) {		
		divName.style.display = "none";
	}
	
	evalServerCall = function(url, data, message) {

		var func = XMLHTTPUtil.createRPCCallFunction(CONTEXT_PATH, serverCalled(message), serverCallProcessed);
		var evalFunc = function(x) {
			try {		
				eval(x);
			} catch (e) {
				//alert('1Ocurrio un error ejecutando el\njavascript generado por el servidor para "' + url + '".\n\nError:\n'+e.name +': '+e.message);
			}
		}
		return func(url, evalFunc, data);
	}

	evalServerCall = function(url, data, divName, message) {

		var func = XMLHTTPUtil.createRPCCallFunction(CONTEXT_PATH, serverCalled(divName,message), serverCallProcessed(divName));
		var evalFunc = function(x) {
			try {		
				eval(x);
			} catch (e) {
				//alert('2Ocurrio un error ejecutando el\njavascript generado por el servidor para "' + url + '".\n\nError:\n'+e.name +': '+e.message);
			}
		}
		return func(url, evalFunc, data);
	}
	
	evalServerCallString = function(url, data, divName, message) {

		var func = XMLHTTPUtil.createRPCCallStringFunction(CONTEXT_PATH, serverCalled(divName,message), serverCallProcessed(divName));
		var evalFunc = function(x) {
			try {	//alert(x);	
				eval(x);
			} catch (e) {
				//alert('3Ocurrio un error ejecutando el\njavascript generado por el servidor para "' + url + '".\n\nError:\n'+e.name +': '+e.message);
			}
		}
		return func(url, evalFunc, data);
	}
	
	evalServerCall = function(url, data) {		
		var func = XMLHTTPUtil.createRPCCallFunction(CONTEXT_PATH);
		var evalFunc = function(x) {		
			try {	
				eval(x);
			} catch (e) {
				//alert('4Ocurrio un error ejecutando el\njavascript generado por el servidor para "' + url + '".\n\nError:\n'+e.name +': '+e.message);
			}
		}
		return func(url, evalFunc, data);
	}
	
	var doNothingSeverCall = function(url, data) {

		var func = XMLHTTPUtil.createRPCCallFunction(CONTEXT_PATH);
		var doNothing = function (x) {};
		return func(url, doNothing, data);
	}