/*****************************************************************
 *
 * jsProgressBarHandler 0.1 - by Bramus! - http://www.bram.us/
 *
 * v 0.1 - 2007.08.02 - initial release
 *
 * Licensed under the Creative Commons Attribution 2.5 License - http://creativecommons.org/licenses/by/2.5/
 *
 *****************************************************************/
 
	if (!JS_BRAMUS) { var JS_BRAMUS = new Object(); }

	JS_BRAMUS.jsProgressBarHandler = Class.create();
	
	var jsProgressBarHandler_MAX=-1;
	
	JS_BRAMUS.jsProgressBarHandler.prototype = {
	
		imageWidth			: 240,
		pbArray				: new Object(),
		MaxPoints:new Object(),			
	
		initialize			: function(percentDisplay) {
			jsProgressBarHandler_MAX=-1;
			this.PercentDisplay = percentDisplay;
			this.initialPos		= (this.imageWidth / 2) * (-1);
		//	this.pxPerPercent	= (this.imageWidth / 2) / 100;
			
			$$('span.progressBar').each(function(progressBar) {
				this.buildProgressBar(progressBar);  
			}.bind(this));
			
		},
		
		buildProgressBar	: function(progressBar) {
			if(jsProgressBarHandler_MAX==-1) {
				jsProgressBarHandler_MAX=parseInt(progressBar.getAttribute("rcp"));
				this.pxPerPercent	= (this.imageWidth / 2) / jsProgressBarHandler_MAX;
			}
			var percentage 		= parseInt(progressBar.innerHTML.replace("%",""));
			var id				= progressBar.id;
			
			//progressBar.update('<img id="' + id + '_percentImage" src="/htdocs/images/progress/percentImage.png" alt="0%" style="background-position: 0px 0px;"/> <span id="' + id + '_percentText">0%</span>');
			progressBar.update('<img id="' + id + '_percentImage" src="/htdocs/images/progress/percentImage.png"  style="background-position: 0px 0px;"/> <span id="' + id + '_percentText">0</span>');
			
			this.MaxPercentage=parseInt(progressBar.getAttribute("rcp"));
			this.MaxPoints[id]=parseInt(progressBar.getAttribute("rc"));
			this.TotalPoints=parseInt(document.getElementById("txtTotalCount").innerHTML);
			this.setPercentage(id, percentage);
		},
		
		setPercentage		: function(id, percentage) {

			var prevPercentage	= (this.pbArray[id] || 0);
			
			if ((percentage.toString().substring(0,1) == "+") || (percentage.toString().substring(0,1) == "-")) {
				percentage	= prevPercentage + parseInt(percentage);
			}
			
			if (percentage < 0)		percentage = 0;
			if (percentage > jsProgressBarHandler_MAX)	percentage = jsProgressBarHandler_MAX;
			
			if (percentage != prevPercentage) {					
				if (prevPercentage < percentage) {
					prevPercentage++;	
				} else {
					prevPercentage--;	
				}			
			}
			
			this.pbArray[id]	= prevPercentage;
			
			$(id + "_percentImage").style.backgroundPosition 	= "" + (this.initialPos + (prevPercentage * this.pxPerPercent)) + "px 0px";
			
			
				if(!this.PercentDisplay)
			    {
			        $(id + "_percentText").update("" + Math.round((prevPercentage/100)*this.TotalPoints) + "");
			     }
			     else
			       { $(id + "_percentText").update("" + prevPercentage + "%");}
										  
			if (prevPercentage < percentage) { //percentage != prevPercentage) {
				setTimeout("myJsProgressBarHandler.setPercentage('" + id + "','" + percentage + "')", 10);
			}
			else {
				if(prevPercentage==jsProgressBarHandler_MAX) {
					
					try {
						$(id + "_percentImage").style.backgroundPosition = "1 px 0px";
					}
					catch(e) {
					}
					
		
				}
				
				if(!this.PercentDisplay)
			    {
				   
				    $(id + "_percentText").update("" + this.MaxPoints[id] + "");
				}
				else
			    {
			       
			        $(id + "_percentText").update("" + prevPercentage + "%");
			    }
				//$(id + "_percentText").update("" + prevPercentage + "%");
				$(id + "_percentImage").alt = "" + prevPercentage + "%";
				$(id + "_percentImage").title = "" + prevPercentage + "%";					
			}
			
		},
		
		getPercentage		: function(id) {
			return this.pbArray[id];	
		}
	
	}
	

	function initProgressBarHandler(percentDisplay) { 
if(typeof(percentDisplay)=="undefined"||percentDisplay==null) {
	percentDisplay=false;
}

myJsProgressBarHandler = new JS_BRAMUS.jsProgressBarHandler(percentDisplay);}
	//function initProgressBarHandler(percent) { myJsProgressBarHandler = new JS_BRAMUS.jsProgressBarHandler();myJsProgressBarHandler.PercentDisplay = true; }
	//Event.observe(window, 'load', initProgressBarHandler, false);