
var hoverOffset = -35;

//------------------------------------------------------------------------------
function SubmitComment()
//------------------------------------------------------------------------------
{
	var cmd = GetObject('cmd');
	cmd.value = "addComment";
	document.addComment.submit();
}

//------------------------------------------------------------------------------
function HoverItem(id, index)
//------------------------------------------------------------------------------
{
	var elem = GetObject(id);
	
	//elem.style.left = hoverOffset + index * 70;
	Show(elem);
	//RunAnimation(id, 0, 100, 0);
}

//------------------------------------------------------------------------------
function RunAnimation(elemId, startOpacity, endOpacity, currentOpacity)
//------------------------------------------------------------------------------
{
	var step = 10;
	var time = 25;
	var elem = GetObject(elemId);
	Show(elem);
	
	if ((startOpacity < endOpacity) && (currentOpacity < endOpacity))
	{
		currentOpacity = currentOpacity + step;
		
		if (currentOpacity > endOpacity) currentOpacity = endOpacity;
		setOpacity(elem, currentOpacity);
		
		var func = "RunAnimation('"+elemId+"',"+startOpacity+","+endOpacity+","+currentOpacity+")";
		window.setTimeout(func, time);
	}
	
	if ((startOpacity > endOpacity) && (currentOpacity > endOpacity))
	{
		currentOpacity = currentOpacity - step;
		
		if (currentOpacity < endOpacity) currentOpacity = endOpacity;
		setOpacity(elem, currentOpacity);
		
		var func = "RunAnimation('"+elemId+"',"+startOpacity+","+endOpacity+","+currentOpacity+")";
		window.setTimeout(func, time);
	}
}

//------------------------------------------------------------------------------
function RunIntAnimation(elemId, command, startValue, endValue, currentValue)
//------------------------------------------------------------------------------
{
	var step = 10;
	var time = 100;
	var elem = GetObject(elemId);
		
	if ((startValue < endValue) && (currentValue < endValue))
	{
		currentValue = currentValue + step;
		
		if (currentValue >= endValue) 
		{
			currentValue = endValue;
			DoCommand(elemId, command, currentValue);
			DoEndCommand(elemId, command, currentValue);
		}
		else
		{
			DoCommand(elemId, command, currentValue);
		}
		
		var func = "RunIntAnimation('"+elemId+"','"+command+"',"+startValue+","+endValue+","+currentValue+")";
		window.setTimeout(func, time);
	}
	
	if ((startValue > endValue) && (currentValue > endValue))
	{
		currentValue = currentValue - step;
		
		if (currentValue <= endValue) 
		{
			currentValue = endValue;
			DoCommand(elemId, command, currentValue);
			DoEndCommand(elemId, command, currentValue);
		}
		else
		{
			DoCommand(elemId, command, currentValue);
		}
		
		var func = "RunIntAnimation('"+elemId+"','"+command+"',"+startValue+","+endValue+","+currentValue+")";
		window.setTimeout(func, time);
	}
}

//------------------------------------------------------------------------------
function DoEndCommand(elemId, command, value)
//------------------------------------------------------------------------------
{
	var elem = document.getElementById(elemId);

	switch(command)
	{	
		case "opacity":
			if (value == 0)
			{
				Hide(elem);
			}
			else
			{
				Show(elem);
			}
			break;
	}
}

//------------------------------------------------------------------------------
function DoCommand(elemId, command, value)
//------------------------------------------------------------------------------
{
	var elem = document.getElementById(elemId);

	switch(command)
	{
		case "height":
			elem.style.height = value + "px";
			break;
		
		case "opacity":
			SetOpacity(elem, value)
			break;
	}
}

//------------------------------------------------------------------------------
function SetOpacity(elem, value)
//------------------------------------------------------------------------------
{
	elem.style.opacity = value/100;
	elem.style.filter = 'alpha(opacity=' + value + ')';
}

//------------------------------------------------------------------------------
function UnHoverItem(id)
//------------------------------------------------------------------------------
{
	var elem = GetObject(id);
	Hide(elem);
	//RunAnimation(id, 100, 0, 100);
}

//------------------------------------------------------------------------------
function ShowHideCommentBox(elemId)
//------------------------------------------------------------------------------
{
	var elem = GetObject(elemId);
	
	if (elem.style.display == "none")
	{
		Show(elem);
		RunIntAnimation(elemId, "opacity", 0, 100, 0);
	}
	else
	{
		RunIntAnimation(elemId, "opacity", 100, 0, 100);
	}
}

// Helper Methods
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
function GetObject(id)
//------------------------------------------------------------------------------
{
	var elem = document.getElementById(id);
	
	if (elem == null)
	{
		alert("Cannot find object " + id);
	}
	
	return elem;
}

//------------------------------------------------------------------------------
function ShowById(id) 
//------------------------------------------------------------------------------
{
	var elem = GetObject(id);
	Show(elem);
}

//------------------------------------------------------------------------------
function HideById(id) 
//------------------------------------------------------------------------------
{
	var elem = GetObject(id);
	Hide(elem);
}


//------------------------------------------------------------------------------
function Show(object)
//------------------------------------------------------------------------------
{
	object.style.display = "block";
}

//------------------------------------------------------------------------------
function Hide(object)
//------------------------------------------------------------------------------
{
	object.style.display = "none";
}


//------------------------------------------------------------------------------
function GetImageHeight(elementId)
//------------------------------------------------------------------------------
{
	var elem = GetObject(elementId);
	
		var height = elem.style.height;
		alert(height);
	
}

//------------------------------------------------------------------------------
function GrayOut(vis) 
//------------------------------------------------------------------------------
{  
	var opacity = 80;  
	var stepSize = 10;
	
	var opaque = (opacity / 100);  
	var dark=document.getElementById('darkenScreenObject'); 

	if (vis) 
	{    
	
		//set the shader to cover the entire page and make it visible.    
		//dark.style.opacity=opaque;                          
		//dark.style.MozOpacity=opaque;                       
		//dark.style.filter='alpha(opacity='+opacity+')';     
		
		Fade(0, 0, opacity, stepSize);       
		dark.style.display='block';                            
	} 
	else 
	{   
		Fade(opacity, 0, opacity, stepSize * -2); 
	}
}

//------------------------------------------------------------------------------
function Fade(opacity, lowerLimit, upperLimit, step)
//------------------------------------------------------------------------------
{
	var opaque = (opacity / 100);  
	var dark=document.getElementById('darkenScreenObject'); 
	
	if (((step < 0) && (opacity>lowerLimit))||
	    ((step > 0) && (opacity<upperLimit)))
	{

		dark.style.opacity=opaque;                          
		dark.style.MozOpacity=opaque;                       
		dark.style.filter='alpha(opacity='+opacity+')'; 
		
		opacity = opacity + step;
		
		window.setTimeout("Fade("+opacity+","+lowerLimit+","+upperLimit+","+step+")", 5);
	}
	else
	{
		if (opacity<=0)
		{		
			dark.style.display='none'; 
		}
	}
}

//------------------------------------------------------------------------------
function StartLoadingAnimation(elementId, text, step)
//------------------------------------------------------------------------------
{
	var element = document.getElementById(elementId);
	var dots = "";
	
	if (element)
	{
		for(var i=0; i<step; i++)
		{
			dots = dots + ".";
		}
		
		element.innerHTML = text + dots;
		step++;
		
		if (step > 3) step = 0;	
	}
	
	window.setTimeout("StartLoadingAnimation('"+elementId+"','"+text+"',"+step+")", 500);
}


// Removes leading whitespaces
function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}

// Removes ending whitespaces
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}

// Removes leading and ending whitespaces
function trim( value ) {
	
	return LTrim(RTrim(value));
	
}





















