/****************************************************************
 *                       TARGET PLANNER 4                       *
 *	 COPYRIGHT 2004-2010 CTB CONSULTING  - ALL RIGHTS RESERVED  *
 *	       www.ctb-consulting.com - www.targetplanner.com       *
 ***************************************************************/
	
	var maxPB = 0
	var curPB = 0
	var outerPB = 319
	var estPBtime = 0
	var balPBtime = 0
	
	function initPBar(ll,tt){
		// Initializes PBar (DragDrop Library) and positions it
		// ll = left ; tt = top
		if(dd.elements){
			if(! dd.elements.PBar){
				ADD_DHTML("PBar"+NO_DRAG)
			}
			dd.elements.PBar.moveTo(ll,tt)
			dd.elements.PBar.hide()
			resetPBar()
			if(moz){
				document.getElementById("PBarDone").className = "clPBarDoneMOZ"
			} else {
				document.getElementById("PBarDone").className = "clPBarDoneIE"
			}
		} else {
			alert("Errore: Drag&Drop Library assente.")
		}
			
	}
	
	function initPBarTime(){
		// Initializes PBarTime (DragDrop Library) and positions it
		if(dd.elements){
			if(dd.elements.PBar){
				if(! dd.elements.PBarPBarTime){
					ADD_DHTML("PBarTime"+NO_DRAG)
				}
				var ll = dd.elements.PBar.x
				var tt = dd.elements.PBar.y
				dd.elements.PBarTime.moveTo(ll,tt+35)
				dd.elements.PBarTime.hide()
			} else {
				alert("Errore: Progress Bar assente.")
			}
		} else {
			alert("Errore: Drag&Drop Library assente.")
		}
			
	}
	
	function drawPBar(nPB){
		// Draws the PBar according to nPB (percet done)
		var _done = document.getElementById("PBarDone")
		curPB = nPB
		if(nPB <= 100 && nPB >= 0){
			_done.style.width = (100-nPB)+"%"
			if(nPB <= 95){
				_done.innerHTML = nPB+"%"
			} else {
				_done.innerHTML = ""
			}
			_done.style.left = Math.round(nPB*outerPB/100)
			if(nPB == 100){
				window.setTimeout("completePBar()",150)
			}
		}
	}
	
	function resetPBar(){
		// Resets the PBar
		var _done = document.getElementById("PBarDone")
		_done.style.width = "100%"
		_done.style.left = 0
		_done.innerHTML = ""
		maxPB = 0
		curPB = 0
		if(dd.elements.PBarTime){
			// Reset the Time bar
			estPBtime = 0 ;
			balPBtime = 0 ;
		}
	}
	
	function drawPBtime(){
		var nMin = Math.floor(balPBtime/60)
		var nSec = balPBtime % 60
		dd.elements.PBarTime.write("Tempo rimanente "+Right("00"+nMin,2)+":"+Right("00"+nSec,2))
	}
	
	function flowPBar(){
		var _done = document.getElementById("PBarDone")
		if(curPB < maxPB){
			drawPBar(curPB+1)
			window.setTimeout("flowPBar()",10)
			if(dd.elements.PBarTime){
				balPBtime = Math.round(estPBtime * (100-curPB) / 100)
				drawPBtime()
			}
		}
	}
	
	function flowPBarTime(){
		if(dd.elements.PBarTime){
			if(balPBtime > 0){
				balPBtime --
				drawPBtime()
				if(balPBtime > 0){
					window.setTimeout("flowPBarTime()",1000)
				}else{
					showHidePBarTime(false)
				}
			}else{
				showHidePBarTime(false)
			}
		}
	}
	
	function setPBar(nPB){
		if(nPB >= maxPB || nPB == 0){
			showHidePBar(true)
			maxPB = nPB
			flowPBar()
		}
	}	
	
	function setPBarTime(tPB){
		if(dd.elements.PBarTime){
			estPBtime = tPB
			balPBtime = Math.round(estPBtime * (100-curPB) / 100)
			drawPBtime()
			flowPBarTime()
		}
	}
	
	function showHidePBar(bShow){
		if(dd.elements.PBar){
			if(bShow) {
				dd.elements.PBar.show()
			} else {
				dd.elements.PBar.hide()
			}
			showHidePBarTime(bShow)
		}
	}
	
	function showHidePBarTime(bShow){
		if(dd.elements.PBarTime){
			bShow = (balPBtime > 0)
			if(bShow) {
				dd.elements.PBarTime.show()
			} else {
				dd.elements.PBarTime.hide()
				estPBtime = 0 ;
				balPBtime = 0 ;
			}
		}
	}
	
	function completePBar(){
		showHidePBar(false)
		resetPBar()
		if(myCompletePBar){
			myCompletePBar()
		}
	}
	
	window.onresize = repositionPBar;
	var bPBResize = false
	
	function repositionPBar(){
		if(bPBResize){
			var ll = Math.round((dd.getWndW()-dd.elements.PBar.w)/2)
			var tt = dd.elements.PBar.y
			dd.elements.PBar.moveTo(ll,tt)
			dd.elements.PBarTime.moveTo(ll,tt+35)
		}
	}
