var hexLookup = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"];

var originalColor = null;

var effect = null;

function highlightCurrentPage()
{
	/* check for set page */
	if (page)
	{
		/* retrieve node */
		node = $('menu-top-' + page);
		
		/* check for node */
		if (node)
		{
			/* set highlight background color */
			node.style.backgroundColor = '#EE7C0F';
		}
	}
}

function highlightNode(node)
{
	/* get background color of node */
	var color = Element.getStyle(node, 'backgroundColor');
	
	/* save the original color */
	originalColor = color;
	
	/* check for non-IE user agent */
	if (!Prototype.Browser.IE)
	{
		/* convert RGB to HEX */
		color = rgb2hex(color);
	}
	
	/* create highlight */
	effect = new Effect.Highlight(node, {"duration": 0.2, "startcolor": color, "endcolor": "#EE7C0F", "restorecolor": "rgb(238, 124, 15)"});
	
	/* return false */
	return false;
}

function lowlightNode(node)
{
	/* check for effect in progress */
	if (effect)
	{
		/* stop effect */
		effect.cancel();
	}
	
	/* check for original color */
	if (originalColor)
	{	
		/* restore node background with original color */
		node.style.backgroundColor = originalColor;
	}
	
	/* reset original color */
	originalColor = null;
}

function rgb2hex(rgb) 
{
    var vals = rgb.match(/\d+/g);
    var hex = "";
    for (var i = 0; i < vals.length; i++) {
        hex += dec2hex(vals[i]);
    }
    return '#' + hex;
}

function dec2hex(dec) 
{
    var hex = "";
    while (dec > 0) {
        hex = hexLookup[dec % 16] + hex;
        dec -= (dec % 16);
        dec /= 16;
    }
    return hex;
}