/****************************************************************************
*																			*
*	WaitingScreen Animation v1.0 - Copyright (c) 2006 OINK KG (www.oink.de).*
*																			*
*	Version 1.0 developed by Azat Gerhards									*
*																			*
*	$Id: waiting.js, v 1.0.01 2006/05/18 10:23 ac $							*
*																			*
****************************************************************************/
var timer2 ;
var progressSteps= 5;
var progressCounter = -(progressSteps-1);
var progressDirection=1;
var animationDefaultWaitingText = (window.parametersForWaitingAnimation!=null 
		&& window.parametersForWaitingAnimation.animationDefaultWaitingText!=null?
		window.parametersForWaitingAnimation.animationDefaultWaitingText:GetString("LoadingPage"));
var disablePageWhileLoading = (window.parametersForWaitingAnimation!=null 
		&& window.parametersForWaitingAnimation.disablePageWhileLoading!=null?
		window.parametersForWaitingAnimation.disablePageWhileLoading:false);
var animationDefaultCompletedText = (window.parametersForWaitingAnimation!=null 
		&& window.parametersForWaitingAnimation.animationDefaultCompletedText!=null?
		window.parametersForWaitingAnimation.animationDefaultCompletedText: GetString ("PageLoaded"));
		
var animationSpeed = (window.parametersForWaitingAnimation!=null 
		&& window.parametersForWaitingAnimation.animationSpeed!=null?
		window.parametersForWaitingAnimation.animationSpeed:50);

var disabledCoverSettings = (window.parametersForWaitingAnimation!=null && window.parametersForWaitingAnimation.disabledCoverSettings!=null?window.parametersForWaitingAnimation.disabledCoverSettings:
	{
		backgroundColor: "#E3E3E3"
		,opacity: 50
	});
		
var animationRunning = false;
var noAnimationAtStart = (window.parametersForWaitingAnimation!=null && window.parametersForWaitingAnimation.noAnimationAtStart==true?true:false);

if (!noAnimationAtStart)
{
	if(document.all) document.onreadystatechange = stopWaitingAnimation;
	else {addEvent(window, "onload", stopWaitingAnimation);}
}
function stopWaitingAnimation (message, delayInMilliSeconds)
{
	animationRunning = false;
	if(!message || message.type =="load") message = animationDefaultCompletedText;
	if($("tblProgressText")!=null)
		$("tblProgressText").innerHTML= message;
	
	var table = Obj("progress");
	if(table!=null)
	{
		var tr = table.rows[0];
		if(tr==null) return;
		
		for (var i=0; i<tr.cells.length;i++)
		{
			var cell=null;
			cell = tr.cells[i];
			cell.style.backgroundColor="highlight";
			
		}
	}
	progressCounter=-(progressSteps-1);
	window.clearTimeout(timer2);
	adjustAnimationTableWidth ();
	
	if(isNull (delayInMilliSeconds))
		delayInMilliSeconds = 1500;
	if (delayInMilliSeconds<0)
		hideWaitingAnimation();
	else
		window.setTimeout("hideWaitingAnimation()",delayInMilliSeconds);
		
	//Enable page
	//document.body.disabled = false;
}

function disableEnablePageWhileLoading (disable)
{
	if(!disablePageWhileLoading)
		return;
	var display = (disable?"":"none");
	
	if($("disabledCover"))
	{
		if(disable && disabledCoverSettings!=null)
		{
			if(disabledCoverSettings.backgroundColor)
			{
				$("disabledCover").style.backgroundColor = disabledCoverSettings.backgroundColor;
				
			}
			var opacity = (disabledCoverSettings.opacity!=null?disabledCoverSettings.opacity:50); 
			$("disabledCover").style.filter = "progid:DXImageTransform.Microsoft.Alpha(style=1,opacity=" + opacity + ",finishOpacity=" + opacity + ",startX=0,finishX=100,startY=100,finishY=0)";
		}
		$("disabledCover").style.display = display;
	}
	if($("disabledCoverBg"))
		$("disabledCoverBg").style.display = display;
}

function hideWaitingAnimation()
{
	progressCounter=-(progressSteps-1);
	window.clearTimeout(timer2);
	animationRunning = false;
	if ($("waiting_screen_bg")!=null)
		$("waiting_screen_bg").style.display = "none";
	if(Obj('tblWaitingScreen')!=null)
		Obj('tblWaitingScreen').style.display="none";	
	if(disablePageWhileLoading)
	{
		disableEnablePageWhileLoading (false);
	}
} 
function startWaitingAnimation(message)
{
	return;
	//Disable page
	if(disablePageWhileLoading)
	{
		disableEnablePageWhileLoading (true);
	}
	
	if(!message) message = animationDefaultWaitingText;
	if (!$("tblProgressText")) return;
	$("tblProgressText").innerHTML= message;
	if(!animationRunning)	
	{
		if(Obj('tblWaitingScreen')!=null)
		{	
			Obj('tblWaitingScreen').style.display="";	
					
			var iframe = $("waiting_screen_bg");
			if(iframe!=null) 
			{
				iframe.style.display = "";
				iframe.style.width = Obj('tblWaitingScreen').clientWidth+4;
				iframe.style.height = Obj('tblWaitingScreen').clientHeight+4;
			}
			repositionWaitingScreen2();
		}
		animationRunning = true;
		
		//Adjust 
		adjustAnimationTableWidth ();
		animateProgress();
	}
	else 
	{
		//Just continue
	}
	
}
function adjustAnimationTableWidth ()
{
	if (!$("tblProgressText")) return;
	var textWidth = $("tblProgressText").scrollWidth;
	if (textWidth < 150) textWidth = 150;
	var tblProgress = $("progress");
	var progressWidth = tblProgress.offsetWidth;
	
	//Add cells 
	if (progressWidth < textWidth)
	{
		var diff = textWidth - progressWidth;
		var moreCells = Math.ceil (diff/6);
		var firstRow = tblProgress.rows [0];
		if (!firstRow) return;		
		for (var i=0; i < moreCells; i++)
		{
			var cell = firstRow.insertCell (firstRow.cells.length);
			cell.style.backgroundColor = firstRow.cells[0].style.backgroundColor;
		}
	}	
	else if (progressWidth > textWidth) //Remove cells 
	{
		var diff = progressWidth - textWidth - 6*3;
		var firstRow = tblProgress.rows [0];
		if (!firstRow) return;
		var moreCells = Math.ceil (diff/6);
		for (var i=0; i < moreCells; i++)
		{
			if (!(firstRow.lastChild)) break;
			firstRow.removeChild (firstRow.lastChild);
		}
	}
}
function animateProgress()
{
	if(!animationRunning) return;
	var table = Obj("progress");
	if(table==null) return;
	
	var tr = table.rows[0];
	if(tr==null) return;
	if(progressCounter>(tr.cells.length+(progressSteps-1))) 
	{
		progressDirection = -(progressDirection);
		progressCounter=-(progressSteps-1);
	}
	
	for (var i=0; i<tr.cells.length;i++)
	{
		var cell=null;
		if(progressDirection==1)
			cell = tr.cells[i];
		else
			cell = tr.cells[tr.cells.length-1-i];
			
		if(i>=progressCounter && i< (progressCounter+progressSteps))
			cell.style.backgroundColor="highlight";
		else
			cell.style.backgroundColor="transparent";
	}
	progressCounter++;
	timer2 = window.setTimeout("animateProgress()",animationSpeed);
}

function repositionWaitingScreen2 ()
{
	
	var objWaitingScreen = Obj("tblWaitingScreen");
	var objWidth, objHeight;	
	objWidth = objWaitingScreen.clientWidth;
	objHeight= objWaitingScreen.clientHeight;
		
		
	if (isNS())
	{
		objWaitingScreen.style.left=(window.clientWidth- objWidth)/2;
		objWaitingScreen.style.top= (window.innerHeight-objHeight)/2;		
	}
	else
	{
	
		objWaitingScreen.style.left=(document.body.offsetWidth- objWidth)/2;
		objWaitingScreen.style.top= (document.body.offsetHeight-objHeight)/2 + document.body.scrollTop;		
		objWaitingScreen.style.zIndex = 100000;
		//Add iframe
		var iframe = $("waiting_screen_bg");
		if( iframe==null)
		{
			iframe = document.createElement("<IFRAME id=\"waiting_screen_bg\" frameborder=0 scrolling=no style=\"VISIBILITY:visible;POSITION:absolute;LEFT:0px;TOP:0px;filter:Alpha(opacity:0);\"></FRAME>");
			document.body.appendChild (iframe);
		}
		iframe.style.width = objWidth+4;
		iframe.style.height = objHeight+4;
		iframe.style.left = objWaitingScreen.style.left;
		iframe.style.top = objWaitingScreen.style.top;
		iframe.style.zIndex = 999;
		
	}	
}


