
// Percent Bar - Version 1.0
// Author: Brian Gosselin of http://scriptasylum.com
// Script featured on http://www.dynamicdrive.com
// Note: Modified by Dynamicdrive so incr/decrCount() accepts any percentage

var loadedcolor='#aaa';//'#cac6bd' ;            // PROGRESS BAR COLOR
var unloadedcolor='#ddd';//'#e6e1d7';			// BGCOLOR OF UNLOADED AREA
var barheight=25;								// HEIGHT OF PROGRESS BAR IN PIXELS
var barwidth=100;								// WIDTH OF THE BAR IN PIXELS
var bordercolor='#666';//'#d87d19';				// COLOR OF THE BORDER

// THE FUNCTION BELOW CONTAINS THE ACTION(S) TAKEN ONCE BAR REACHES 100%.
// IF NO ACTION IS DESIRED, TAKE EVERYTHING OUT FROM BETWEEN THE CURLY BRACES ({})
// BUT LEAVE THE FUNCTION NAME AND CURLY BRACES IN PLACE.
// PRESENTLY, IT IS SET TO DO NOTHING, BUT CAN BE CHANGED EASILY.
// TO CAUSE A REDIRECT, INSERT THE FOLLOWING LINE IN BETWEEN THE CURLY BRACES:
// window.location="http://redirect_page.html";
// JUST CHANGE THE ACTUAL URL IT "POINTS" TO.

var action=function()
{
//window.location="http://www.dynamicdrive.com
}

//*****************************************************//
//**********  DO NOT EDIT BEYOND THIS POINT  **********//
//*****************************************************//
var w3c=(document.getElementById)?true:false;
var ns4=(document.layers)?true:false;
var ie4=(document.all && !w3c)?true:false;
var ie5=(document.all && w3c)?true:false;
var ns6=(w3c && navigator.appName.indexOf("Netscape")>=0)?true:false;
var blocksize=(barwidth-2)/100;
barheight=Math.max(4,barheight);
var loaded=0;
var perouter=0;
var perdone=0;
var images=new Array();
var txt='';
if(ns4){
txt+='<table cellpadding=0 cellspacing=0 border=0><tr><td>';
txt+='<ilayer name="perouter" width="'+barwidth+'" height="'+barheight+'">';
txt+='<layer width="'+barwidth+'" height="'+barheight+'" bgcolor="'+bordercolor+'" top="0" left="0"></layer>';
txt+='<layer width="'+(barwidth-2)+'" height="'+(barheight-2)+'" bgcolor="'+unloadedcolor+'" top="1" left="1"></layer>';
txt+='<layer name="perdone" width="'+(barwidth-2)+'" height="'+(barheight-2)+'" bgcolor="'+loadedcolor+'" top="1" left="1"></layer>';
txt+='</ilayer>';
txt+='</td></tr></table>';
}else{
txt+='<div id="perouter" onmouseup="hidebar()" style="position:relative; visibility:hidden; background-color:'+bordercolor+'; width:'+barwidth+'px; height:'+barheight+'px;">';
txt+='<div id="perundone" style="position:absolute; top:1px; left:1px; width:'+(barwidth-2)+'px; height:'+(barheight-2)+'px; background-color:'+unloadedcolor+'; z-index:100; font-size:1px;"></div>';
txt+='<div id="perdone" style="position:absolute; top:1px; left:1px; width:0px; height:'+(barheight-2)+'px; background-color:'+loadedcolor+'; z-index:100; font-size:1px;"></div>';
txt+='</div>';
}

/*document.write(txt);
*/
function testBarLoad(){
	document.getElementById("waitDiv").innerHTML = txt;
	progressBarInit();
	//document.theTimer.theTime.value = "00:00";
	(ns4)? perouter.visibility="hide" : perouter.style.visibility="visible";
}

function incrCount(prcnt){
	loaded+=prcnt;
	setCount(loaded);
}

function decrCount(prcnt){
	loaded-=prcnt;
	setCount(loaded);
}

function setCount(prcnt){
	loaded=prcnt;
	if(loaded<0)loaded=0;
	if(loaded>=100){
		loaded=100;
		setTimeout('hidebar()', 400);
	}
	clipid(perdone, 0, blocksize*loaded, barheight-2, 0);
}

//THIS FUNCTION BY MIKE HALL OF BRAINJAR.COM
function findlayer(name,doc){
	var i,layer;
	for(i=0;i<doc.layers.length;i++){
		layer=doc.layers[i];
		if(layer.name==name)return layer;
		if(layer.document.layers.length>0)
		if((layer=findlayer(name,layer.document))!=null)
		return layer;
	}
	return null;
}

function progressBarInit(){
	perouter=(ns4)?findlayer('perouter',document):(ie4)?document.all['perouter']:document.getElementById('perouter');
	perdone=(ns4)?perouter.document.layers['perdone']:(ie4)?document.all['perdone']:document.getElementById('perdone');
	clipid(perdone,0,0,barheight-2,0);
	if(ns4)perouter.visibility="show";
	else perouter.style.visibility="visible";
}

function hidebar(){
	action();
	//(ns4)? perouter.visibility="hide" : perouter.style.visibility="hidden";
}

function clipid(id,t,r,b,l){
	if(ns4){
	id.clip.left=l + "px";
	id.clip.top=t + "px";
	id.clip.right=r + "px";
	id.clip.bottom=b + "px";
	}else id.style.width=r + "px";
}

//window.onload=progressBarInit;

window.onresize=function(){
	if(ns4)setTimeout('history.go(0)' ,400);
}


// please keep these lines on when you copy the source
// made by: Nicolas - http://www.javascript-page.com

var timerID = 0;
var tStart  = null;

function UpdateBar() {
	if(timerID) {
		clearTimeout(timerID);
		clockID  = 0;
	}

	if(!tStart)
		tStart   = new Date();

	var   tDate = new Date();
	var   tDiff = tDate.getTime() - tStart.getTime();

	tDate.setTime(tDiff);

	//document.theTimer.theTime.value = "" + tDate.getMinutes() + ":" + tDate.getSeconds();
	
	if (tDate.getSeconds() == 1){
		setCount(0);
		tStart = new Date();
	}
	
	incrCount(6);
	
	timerID = setTimeout("UpdateBar()", 50);
	
}

function StartBar() {
	progressBarInit();
	tStart   = new Date();
	//document.theTimer.theTime.value = "00:00";
	timerID  = setTimeout("UpdateBar()", 50);
}

function StopBar() {
	if(timerID) {
		clearTimeout(timerID);
		timerID  = 0;
		setCount(0);
		//document.theTimer.theTime.value = "00:00";
		(ns4)? perouter.visibility="hide" : perouter.style.visibility="hidden";
	}
	tStart = null;
}

function StartTestBar() {
	tStart   = new Date();
	//document.theTimer.theTime.value = "00:00";
	timerID  = setTimeout("UpdateBar()", 50);
}

function StopTestBar() {
	if(timerID) {
		clearTimeout(timerID);
		timerID  = 0;
		setCount(0);		
	}
	tStart = null;
}

