/*
	Example using: 
	show loading: showLoadingMessageDefault();currentOpac('div_id',20,400);
	hide loading: currentOpac('div_id',100,100);hideLoadingMessageDefault();
*/

//define loading image path here
var IMG_LOADING = "/html/images/loadingAnimation.gif";
function showLoadingMessageDefault() {
	var div = document.getElementById("AA_loading_div");
	if (div == null) {
		div = document.createElement("DIV");
		document.body.appendChild(div);
		div.id = "AA_loading_div";
	}
	div.innerHTML = "&nbsp;Loading...<img border='0' src='"+IMG_LOADING+"' align='absmiddle'>";
	div.style.position = "absolute";
	div.style.border = "1 solid black";
	div.style.color = "white";
	div.style.backgroundColor = "gray";
	div.style.width = 100;
	div.style.heigth = 50;
	div.style.overflow="hidden";
	if (document.body.scrollTop) {
		div.style.top = 0 + document.body.scrollTop;
	} else {
		div.style.top = 0;
	}
	if (document.body.scrollLeft) {
		div.style.left = window.screen.availWidth - 100 - 30 + document.body.scrollLeft;
	} else {
		div.style.left = window.screen.availWidth - 100 - 30;
	}
	div.style.fontFamily = "Arial, Helvetica, sans-serif";
	div.style.fontWeight = "bold";
	div.style.fontSize = "11px";
	div.style.display = "";
}
function hideLoadingMessageDefault() {
	var div = document.getElementById("AA_loading_div");
	if (div != null) {
		div.style.display = "none";
	}
}
/*function doFilter(id) {
	showLoadingMessageDefault();
	currentOpac(id, 20, 400);
}*/
function scrollLoadingMessage() {
	var div = document.getElementById("AA_loading_div");
	if (div != null && div.style.display != "none") {
		showLoadingMessageDefault();
	}
}
function opacity(id, opacStart, opacEnd, millisec) {
	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;

	//determine the direction for the blending, if start and end are the same nothing happens
	if (opacStart > opacEnd) {
		for (i = opacStart; i >= opacEnd; i--) {
			setTimeout("changeOpac(" + i + ",'" + id + "')", (timer * speed));
			timer++;
		}
	} else {
		if (opacStart < opacEnd) {
			for (i = opacStart; i <= opacEnd; i++) {
				setTimeout("changeOpac(" + i + ",'" + id + "')", (timer * speed));
				timer++;
			}
		}
	}
}
//change the opacity for different browsers
function changeOpac(opacity, id) {
	var object = document.getElementById(id).style;
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
	//object.filter = "progid:DXImageTransform.Microsoft.BasicImage(grayscale=1, xray=1, mirror=0, invert=1, opacity=1, rotation=0)";
}
function shiftOpacity(id, millisec) {
	//if an element is invisible, make it visible, else make it ivisible
	if (document.getElementById(id).style.opacity == 0) {
		opacity(id, 0, 100, millisec);
	} else {
		opacity(id, 100, 0, millisec);
	}
}
function currentOpac(id, opacEnd, millisec) {
	//standard opacity is 100
	var currentOpac = 100;
	//if the element has an opacity set, get it
	if (document.getElementById(id).style.opacity < 100) {
		currentOpac = document.getElementById(id).style.opacity * 100;
	}
	//call for the function that changes the opacity
	opacity(id, currentOpac, opacEnd, millisec);
}
function doFilter(id){
	showLoadingMessageDefault(); 
	changeOpac(30,id);
	//problem in local hosting: currentOpac(id,30,400);
}
function doEndFilter(id){
	changeOpac(100,id);
	//problem in local hosting: currentOpac(id,100,100);
	hideLoadingMessageDefault();
}

// Global variables
window.onscroll = scrollLoadingMessage;

