function hoverOn(elementId)
{
	addClassSuffixe(elementId, 'Hover');
}

function hoverOff(elementId)
{
	removeClassSuffixe(elementId, 'Hover');
}

function addClassSuffixe(elementId, suffixe)
{
	if(document.getElementById(elementId) && document.getElementById(elementId).className.indexOf(suffixe) == -1)
	{
		document.getElementById(elementId).className = document.getElementById(elementId).className + suffixe;
	}
}

function removeClassSuffixe(elementId, suffixe)
{
	if(document.getElementById(elementId) && document.getElementById(elementId).className.indexOf(suffixe) != -1)
	{
		document.getElementById(elementId).className = document.getElementById(elementId).className.substring(0, document.getElementById(elementId).className.lastIndexOf(suffixe));
	}
}

/****/
function getStyleValues(elStyle)
{
	var values = new Array;
	var patternPx = new RegExp('px', 'g');
	var patternPt = new RegExp('pt', 'g');
	
	if(elStyle)
	{
		if(elStyle.match(patternPx) && elStyle.match(patternPx).length == 2)
		{
			values[0] = parseInt(elStyle.substring(0, elStyle.indexOf('px')));
			values[1] = parseInt(elStyle.substring(elStyle.indexOf('px ') + 3, elStyle.lastIndexOf('px')));
		}
		else if(elStyle.match(patternPt) && elStyle.match(patternPt).length == 2)
		{
			values[0] = parseInt(elStyle.substring(0, elStyle.indexOf('pt')));
			values[1] = parseInt(elStyle.substring(elStyle.indexOf('pt ') + 3, elStyle.lastIndexOf('pt')));
		}
		else if(elStyle.match(patternPx) && elStyle.match(patternPt) &&elStyle.match(patternPx).length == 1 && elStyle.match(patternPt).length == 1)
		{
			if(elStyle.indexOf('px') < elStyle.indexOf('pt'))
			{
				values[0] = parseInt(elStyle.substring(0, elStyle.indexOf('px')));
				values[1] = parseInt(elStyle.substring(elStyle.indexOf('px ') + 3, elStyle.lastIndexOf('pt')));
			}
			else
			{
				values[0] = parseInt(elStyle.substring(0, elStyle.indexOf('pt')));
				values[1] = parseInt(elStyle.substring(elStyle.indexOf('pt ') + 3, elStyle.lastIndexOf('px')));
			}
		}
		else if(elStyle.match(patternPx) && elStyle.match(patternPx).length == 1) 
		{
			values[0] =  parseInt(elStyle.substring(0, elStyle.indexOf('px')));
		}
		else if(elStyle.match(patternPt) && elStyle.match(patternPt).length == 1)
		{
			values[0] = parseInt(elStyle.substring(0, elStyle.indexOf('pt')));
		}
	}
	return values;
}

function moveBackground(objectId, x, y)
{
	if(document.getElementById(objectId))
	{
		var bgPosition = document.getElementById(objectId).style.backgroundPosition;
		var orignalX = parseInt(bgPosition.substring(bgPosition.indexOf('px')));
		var originalY = parseInt(bgPosition.substring(bgPosition.indexOf('px ') + 3, bgPosition.lastIndexOf('px')));
		setBackgroundPosition(objectId, originalX + x, originalY + y);
	}
}

/** SetBackgroundPosition **/

function setBackgroundPosition(objectId, x, y)
{
	if(document.getElementById(objectId))
	{
		if(x == 'idem' || y == 'idem')
		{
			if(document.getElementById(objectId).style.backgroundPosition)
			{
				var bgPosition = getStyleValues(document.getElementById(objectId).style.backgroundPosition);
				if(x == 'idem') x = bgPosition[0];
				if(y == 'idem') y = bgPosition[1];
			}
			else
			{	
				if(x == 'idem') x = 0;
				if(y == 'idem') y = 0;
			}
		}
		document.getElementById(objectId).style.backgroundPosition = x + 'px ' + y + 'px';
	}
}

function display(elementId)
{
	if(document.getElementById(elementId))
	{
		if(document.getElementById(elementId).style.visibility == 'hidden')
			document.getElementById(elementId).style.visibility = 'visible';
		if(document.getElementById(elementId).style.display == 'none')
			document.getElementById(elementId).style.display = 'block';
	}
}

function hide(elementId, attr)
{
	if(document.getElementById(elementId))
	{
		if(attr == 'visibility')
			document.getElementById(elementId).style.visibility 	= 'hidden';
		else
			document.getElementById(elementId).style.display		= 'none';
	}

}

function detectVisibility(elementId)
{
	if(document.getElementById(elementId).style.display == 'none' || document.getElementById(elementId).style.visibility == 'hidden') return 0;

	var elem = document.getElementById(elementId).parentNode;
	while(elem.style.display != 'none' && elem.style.visibility != 'hidden'	&& elem.tagName.toLowerCase() != 'body')
	{
		elem = elem.parentNode;		
	}
	if(elem.tagName.toLowerCase() == 'body') 	return 1;
	else 										return 0;
}
	