/*
	ARCHIVO:	imagenes.js
	FECHA:		Marzo 3 de 2007
	AUTOR:		Uriel Alejandro Moreno alejandregolas@gmail.com
	DESCRIPCION:Funciones para el manejo de imagenes de carga de respuesta AJAX
	Funciones:	
				loaded
				loading
 */

/*	Aplica a una etiqueta identificada con 'loading' la insercion de codigo html necesario para mostrar
 la imagen de carga de la aplicacion.	
 */

/*
 Simple Image Trail script- By JavaScriptKit.com
 Visit http://www.javascriptkit.com for this script and more
 This notice must stay intact
 */

var trailimage = [ "/almalogix/imagenes/ajax-loader.gif", 18, 18 ];
// image path, plus width and height
var offsetfrommouse = [ 10, -20 ];
// image x,y offsets from cursor position in pixels. Enter 0,0 for no offset
var displayduration = 0;
// duration in seconds image should remain visible. 0 for always.

if (document.getElementById || document.all)
	document
			.write("<div id='trailimageid'  style='position:absolute;visibility:visible;left:0px;top:0px;width:1px;height:1px;display:none'><img src='"
					+ trailimage[0]
					+ "' border='0' width='"
					+ trailimage[1]
					+ "' height='" + trailimage[2] + "'><\/div>");

function gettrailobj() {
	if (document.getElementById)
		return document.getElementById("trailimageid").style;
	else if (document.all)
		return document.all.trailimagid.style;
	return "";
}

function truebody() {
	return (!window.opera && document.compatMode && document.compatMode != "BackCompat") ? document.documentElement
			: document.body;
}

function hidetrail() {
	gettrailobj().visibility = "hidden";
	document.onmousemove = "";
}

function followmouse(e) {
	var xcoord = offsetfrommouse[0];
	var ycoord = offsetfrommouse[1];
	if (typeof e != "undefined") {
		xcoord += e.pageX;
		ycoord += e.pageY;
	} else if (typeof window.event != "undefined") {
		xcoord += truebody().scrollLeft + event.clientX;
		ycoord += truebody().scrollTop + event.clientY;
	}
	var docwidth = document.all ? truebody().scrollLeft
			+ truebody().clientWidth : pageXOffset + window.innerWidth - 15;
	var docheight = document.all ? Math.max(truebody().scrollHeight,
			truebody().clientHeight) : Math.max(document.body.offsetHeight,
			window.innerHeight);
	if (xcoord + trailimage[1] + 3 > docwidth
			|| ycoord + trailimage[2] > docheight)
		gettrailobj().display = "none";
	else
		gettrailobj().display = "";
	gettrailobj().left = xcoord + "px";
	gettrailobj().top = ycoord + "px";
}

if (displayduration > 0)
	setTimeout("hidetrail()", displayduration * 1000);

function loading() {
	// hidetrail();
	document.onmousemove = followmouse;
	document.getElementById('trailimageid').style.display = '';
}

/*
 * Aplica a una etiqueta identificada con 'loading' la insercion de codigo html
 * necesario para quitar la imagen de carga de la aplicacion.
 */
function loaded() {
	// hidetrail();
	// document.getElementById('loading').innerHTML="";
	document.onmousemove = "";
	document.getElementById('trailimageid').style.display = 'none';
}

function cambiaClase(obj, clase1, clase2) {
	if (obj.className == clase1) {
		obj.className = clase2;
	} else {
		obj.className = clase1;
	}
}
