﻿/////////////////////////////
// Modal Working progress div

var Modal = {
Show : function()	{

	var html = "<div class=\"ProgressBarTitle\">Working...</div><br /><br />";
	html += "<p><img src=\"/images/stopwatchanim.gif\" align=\"middle\">&nbsp;Working...</p>";

	Modal.ShowWithParams(
		{
			html:html,
			width:'400px'
		}
	);

	return true;
},

ShowWithParams : function(params)
{
		if (typeof(Modal.ShowCount) == "undefined")
		{
			Modal.ShowCount = 1;
		}
		else
		{
			Modal.ShowCount++;
		}
			
		$("divModal").style.display = "block";
		$("divModalProgressBar").style.display = "block";
		$("divModalProgressBar").innerHTML = params.html;
		$("divModalProgressBar").style.width = params.width;
		
		window.focus();
		
		Modal.Center();
		addEvent(window,"resize",Modal.Center);
		addEvent(window,"scroll",Modal.Center);
		addEvent(window,"DOMMouseScroll",Modal.Center);
		window.onscroll = Modal.Center;
		return true;
},

Hide : function() {
		if(Modal.ShowCount <= 1 && $("divModal")) {
			$("divModal").style.display = "none";
			$("divModalProgressBar").style.display = "none";
			removeEvent(window,"resize",Modal.Center);
			removeEvent(window,"scroll",Modal.Center,true);
			removeEvent(window,"DOMMouseScroll",Modal.Center,true);
		}

		if(Modal.ShowCount > 0) 
			Modal.ShowCount--;
			
		return true;	
},


Center : function() {
	if($("divModal").style.display == "block")
	{
		var objModal = $("divModal");
		var objModalIframe = $("divModalIFrame");
		var objModalProgressBar = $("divModalProgressBar");

		var fullHeight = getViewportHeight();
		var fullWidth = getViewportWidth();
		
		var x,y;
		if (self.pageYOffset)
		{
			x = self.pageXOffset;
			y = self.pageYOffset;
		}
		else if (document.documentElement && document.documentElement.scrollTop)
		{	
			// Explorer 6 Strict
			x = document.documentElement.scrollLeft;
			y = document.documentElement.scrollTop;
		}
		else if (document.body)
		{
			// all other Explorers
			x = document.body.scrollLeft;
			y = document.body.scrollTop;
		}

		var scTop = y;
		var scLeft = x;
	
		objModal.style.height = fullHeight + "px";
		objModal.style.width = fullWidth + "px";
		objModal.style.top = scTop + "px";
		objModal.style.left = scLeft + "px";

		objModalIframe.style.height = (fullHeight) + "px";
		objModalIframe.style.width = (fullWidth) + "px";

		objModalProgressBar.style.top = ((1*((fullHeight - objModalProgressBar.offsetHeight) / 2))) + "px";
		objModalProgressBar.style.left =  ((1*((fullWidth - objModalProgressBar.offsetWidth) / 2))) + "px";
	}
}
}


function getViewportHeight()
{
	if (window.innerHeight!= window.undefined)
	{
		return window.innerHeight;
	}
	if (document.compatMode == 'CSS1Compat')
	{
		return document.documentElement.clientHeight;
	}
	if (document.body)
	{
		return document.body.clientHeight;
	}
	return window.undefined;
}

function getViewportWidth()
{
if (window.innerWidth!=window.undefined) return window.innerWidth;
if (document.compatMode=='CSS1Compat') return document.documentElement.clientWidth;
if (document.body) return document.body.clientWidth;
return window.undefined;
}

function removeEvent(obj, eventType, afunction)
{
	if (obj.removeEventListener)
	{
		if(arguments[3])
			obj.removeEventListener(eventType, afunction, arguments[3]);
		else
			obj.removeEventListener(eventType, afunction, false);

		return true;
	}
	else if (obj.detachEvent)
	{
		return obj.detachEvent("on"+eventType, afunction);
	}
	else
		return false;
 }






