// JavaScript Document
function BarAnimate(Background,ParentBar)
{
	this.bgTime=null;
	this.timeInterval;
	this.bgObj = null;//document.getElementById(Background)//null;
	this.parentBar = document.getElementById(ParentBar)//null;	
	this.bgOpacity = 0;
	
	this.Init = function()
	{
	 this.parentBar = document.getElementById(ParentBar);		
	}
	
 	this.StartProcess = function()
	{  
	    
		var self = this;
		
		if(Background !=null)
		{
		self.bgObj = document.getElementById(Background);
		self.parentBar = document.getElementById(ParentBar);
		self.bgObj.style.visibility = "visible";
		self.bgTime = setInterval(function(){
		
		if(self.bgOpacity < 60)
		{
			self.bgOpacity = (self.bgOpacity) + 10;
			self.bgObj.style.KhtmlOpacity = (self.bgOpacity)/100;
			self.bgObj.style.MozOpacity = (self.bgOpacity)/100;
			self.bgObj.style.filter = "alpha(opacity=" + self.bgOpacity + ")";
		} // end if
		else
		{   
		    self.bgOpacity = 60;
			clearTimeout(self.bgTime);
			
			self.StartAnimate();
		} // end else
		},1);
		} // end if
		
	} //end method
	
	this.StartAnimate = function()
	{
		var self = this;
		self.parentBar.style.width = '225px';
		self.parentBar.style.height = '22px';
		
		self.parentBar.style.left= ((self.bgObj.offsetWidth - self.parentBar.offsetWidth)/2) + 'px';
		self.parentBar.style.top= ((self.bgObj.offsetHeight - self.parentBar.offsetHeight)/2) + 'px';
		
		clearTimeout(self.timeInterval);
		self.parentBar.style.visibility = 'visible';
		while(self.parentBar.firstChild)
		    self.parentBar.removeChild(self.parentBar.firstChild);
			
		self.timeInterval=setInterval(function(){
	    totalChildren=self.parentBar.getElementsByTagName('div').length;	
		switch(totalChildren)
		{
			case 0: div = document.createElement("div");
			        div.id = 'SubSquare1';
					div.className = 'SubSquare';
					self.parentBar.appendChild(div);
					break;
			case 1: div = document.createElement("div");
			        div.id = 'SubSquare2';
					div.className = 'SubSquare';
					self.parentBar.appendChild(div);
					break;
			case 2: div = document.createElement('div')
			        div.id = 'SubSquare3';
					div.className = 'SubSquare';
					self.parentBar.appendChild(div);
					break;
			case 3: div = document.createElement('div')
			        div.id = 'SubSquare4';
					div.className = 'SubSquare';
					self.parentBar.appendChild(div);
					break;	
			case 4: while(self.parentBar.firstChild)
			         self.parentBar.removeChild(self.parentBar.firstChild);
					break;		
		} // end switch										  
										  },300);	
		
} // end method
	
this.StartFollowingMouseAnimate = function(evt)
{
		var self = this;
		//clearTimeout(self.timeInterval);
		//self.parentBar = document.getElementById(ParentBar);
		self.parentBar.style.width = '96px';
		self.parentBar.style.height = '16px';
		self.parentBar.style.visibility = 'visible';
		
		if(navigator.appName == "Microsoft Internet Explorer")
			{
			self.parentBar.style.left = evt.clientX + 'px';
		    self.parentBar.style.top = evt.clientY + document.documentElement.scrollTop + 'px';
			}
			else
		    {
		    self.parentBar.style.left = evt.clientX + 'px';
		    self.parentBar.style.top = evt.clientY + document.documentElement.scrollTop+'px';
		
		   }
		
		while(self.parentBar.firstChild)
		    self.parentBar.removeChild(self.parentBar.firstChild);		
		
		document.onmousemove = function(evt){			
			
			var evt = (evt) ? evt :((window.event)? event:null);
			if(navigator.appName == "Microsoft Internet Explorer")
			{
			self.parentBar.style.left = evt.clientX + 'px';
		    self.parentBar.style.top = evt.clientY + document.documentElement.scrollTop + 'px';
			}
			else
		    {
		    self.parentBar.style.left = evt.clientX + 'px';
		    self.parentBar.style.top = evt.clientY + document.documentElement.scrollTop+'px';//document.body.scrollLeft + 'px';
		
		   }
		}
		
		self.timeInterval=setInterval(function(){
	    totalChildren=self.parentBar.getElementsByTagName('div').length;	
		switch(totalChildren)
		{
			case 0: div = document.createElement("div");
			        div.id = 'TinySquare1';
					div.className = 'TinySquare';
					self.parentBar.appendChild(div);
					break;
			case 1: div = document.createElement("div");
			        div.id = 'TinySquare2';
					div.className = 'TinySquare';
					self.parentBar.appendChild(div);
					break;
			case 2: div = document.createElement('div')
			        div.id = 'TinySquare3';
					div.className = 'TinySquare';
					self.parentBar.appendChild(div);
					break;
			case 3: div = document.createElement('div')
			        div.id = 'TinySquare4';
					div.className = 'TinySquare';
					self.parentBar.appendChild(div);
					break;	
			case 4: while(self.parentBar.firstChild)
			         self.parentBar.removeChild(self.parentBar.firstChild);
					break;		
		} // end switch										  
										  },200);	
} // end method	


this.AnimateFollowMouse = function(evt)
{
		var self = this;
		self.parentBar = document.getElementById(ParentBar);
		
		self.StartFollowingMouseAnimate(evt);
		
		if(navigator.appName == "Microsoft Internet Explorer")
		{
		self.parentBar.style.left = evt.clientX + 'px';
		self.parentBar.style.top = evt.clientY + document.documentElement.scrollTop + 'px';
		}
		else
		{
		self.parentBar.style.left = evt.clientX + document.body.scrollLeft + 'px';
		self.parentBar.style.top = evt.clientY + document.documentElement.scrollTop+ 'px';
		
		}
		
} // end method	

this.FollowMouse = function(evt)
{
	var self = this;
	
	var evt = (evt) ? evt :((window.event)? event:null);
		self.parentBar.style.left = evt.clientX + 'px';
		self.parentBar.style.top = evt.clientY + document.documentElement.scrollTop + 'px';
}
	
this.StopAnimate = function()
{
	 var self = this;
	 while(self.parentBar.firstChild)
	     self.parentBar.removeChild(self.parentBar.firstChild);
	 
	 
	 self.parentBar.style.visibility = 'hidden';
	 if(Background !=null)
	 {
		 self.bgObj.style.visibility = 'hidden';
		 self.SetBackgroundOpacityToZero();
	 }
	 clearTimeout(self.bgTime);
	 clearTimeout(self.timeInterval);	 	
}

this.StopAnimateWithoutBg = function()
{
	var self = this;
	clearTimeout(self.timeInterval); 
	self.SetBackgroundOpacityTo60();
	clearTimeout(self.bgTime);
	
	 while(self.parentBar.firstChild)
	     self.parentBar.removeChild(self.parentBar.firstChild);
	
	self.parentBar.style.width='0px';
	self.parentBar.style.height='0px';
 	self.parentBar.style.visibility = 'hidden';
	
	
}// end method

this.StopFollowingMouseAnimate = function()
{
	var self = this;
	//alert(self.timeInterval); 
	clearTimeout(self.timeInterval)
	if(self.parentBar!=null)
	{
	 while(self.parentBar.firstChild)
	     self.parentBar.removeChild(self.parentBar.firstChild);
	
	self.parentBar.style.width='0px';
	self.parentBar.style.height='0px';
	self.parentBar.style.visibility = 'visible';
	}
	return;
}// end method


this.SetBackgroundOpacityTo60 = function()
{
	 var self = this;
	 self.bgOpacity = 60;
	 self.bgObj.style.KhtmlOpacity = .6;
	 self.bgObj.style.MozOpacity = .6;
	 self.bgObj.style.filter = "alpha(opacity=60)";	
}

this.SetBackgroundOpacityToZero = function()
{
	 var self = this;
	 self.bgOpacity = 0;
	 self.bgObj.style.KhtmlOpacity = 0;
	 self.bgObj.style.MozOpacity = 0;
	 self.bgObj.style.filter = "alpha(opacity=0)";	
}
	

	
} // end class
