// Start DIV for Progress Bar and the other windows.

var messagetext = '';

function FadeLayer() {
	
	var newdiv_width, newdiv_height;
	var Overlay = document.getElementById('overlay');
	 
	if(document.body && ( document.body.scrollWidth || document.body.scrollHeight)) {	
		newdiv_width = document.body.scrollWidth + 'px';
		newdiv_height = document.body.parentNode.scrollHeight + 'px';
	} else if( document.body.offsetWidth ) {
		newdiv_width = document.body.offsetWidth + 'px';
		newdiv_height= document.body.offsetHeight + 'px';    
	} else {
		newdiv_width = '100%';
		newdiv_height = '100%';
	}
	 
	 
	Overlay.style.width = newdiv_width;
	Overlay.style.height = newdiv_height;
	Overlay.style.top = document.body.offsetTop;
	Overlay.style.left = document.body.offsetLeft;
	Overlay.style.display = 'block';
	 
	var selectBoxes =  document.getElementsByTagName('select');
	for (i = 0;i < selectBoxes.length;i++) {
		selectBoxes[i].style.visibility="hidden";
	}
	displayLayer('overlay',10); 
	displayLayer('progress',100);
}

function displayLayer(id, opacity) {
	
	var object = document.getElementById(id).style;
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
	object.display = "block";
}

function scroll() {	
	hideProgress();
	showProgress(messagetext);
}

function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}

function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel))) {
		n_result = n_docel;
	}	
	
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

function showProgress(loadingMessage) {
	
	messagetext = loadingMessage;
	window.onscroll = scroll;
	var nleft = ((document.body.clientWidth - 300) / 2);
	var ntop = f_scrollTop() + 350;
	
	var progressDiv = document.getElementById('progress');
	progressDiv.style.width = '360px';
	progressDiv.style.left = nleft + 'px';
	progressDiv.style.top = ntop + 'px';
	FadeLayer();
	progressDiv.style.display = '';
	restartGif();
}

function hideProgress() {
	window.onscroll = null; 
	var selectBoxes =  document.getElementsByTagName('select');
	for (i=0;i<selectBoxes.length;i++) {
		selectBoxes[i].style.visibility = "visible";
	}
	document.getElementById('progress').style.display = 'none';
	document.getElementById('overlay').style.display = 'none';
}

function restartGif() {
          for(var i = 0; i < document.images.length; i++) {
                   var img = document.images[i];
                   var imgName = img.src.toUpperCase();
                   if (imgName.substring(imgName.length-3, imgName.length) == "GIF") {
                             img.src = img.src;
                   }
          }
}

// End of DIV for Progress Bar and the other windows.
