function setsrcto(imgName, imgSrc)
{
	if (document.images) {
		document.images[imgName].src = imgSrc;
	}
}

var _imgName;
var _ImgSrc;
var _timeoutId;

function setsrcto_delay(imgName, imgSrc, delay)
{
	_imgName = imgName;
	_imgSrc = imgSrc;
	_timeoutId = setTimeout("_setsrcto()", delay);
}

function setsrcto_clear()
{
	clearTimeout(_timeoutId);
}


function _setsrcto()
{
	setsrcto(_imgName, _imgSrc);
}


/*
  Foldable menus
*/

function hex2a(s)
{
	return new array(
		parseInt(s.substr(1,2),16),
		parseInt(s.substr(3,2),16),
		parseInt(s.substr(5,2),16)
	);
}

function rgbhex(r, g, b)
{
	var r = r.toString(16); if (r.length==1) r = "0" + r;
	var g = g.toString(16); if (g.length==1) g = "0" + g;
	var b = r.toString(16); if (b.length==1) b = "0" + b;
	return "#" + r + g + b;
}

function fade(node, when)
{
	var from = "#eeeeee";
	var to   = "#ffffff";

	var from_r = parseInt(from.substr(1,2), 16);
	var from_g = parseInt(from.substr(3,2), 16);
	var from_b = parseInt(from.substr(5,2), 16);
	var to_r   = parseInt(to.substr(1,2), 16);
	var to_g   = parseInt(to.substr(3,2), 16);
	var to_b   = parseInt(to.substr(5,2), 16);

	var duration = 1.0;
	var step = 0.1;

	for (var t = step; t < duration ; t+=step)
	{
		r = Math.floor(from_r + (to_r - from_r) * t);
		g = Math.floor(from_g + (to_g - from_g) * t);
		b = Math.floor(from_b + (to_b - from_b) * t);
		h = rgbhex(r, g, b);
		setTimeout("set_bgcolor('"+node.id+"', '"+h+"')", t*1000.0 + when);
	}
	setTimeout("set_bgcolor('"+node.id+"', '"+to+"')", duration*1000.0 + when);
}

function set_bgcolor(node_id, col)
{
	var e = document.getElementById(node_id);
	e.style.backgroundColor = col;
}

function make_visible(node_id, visible)
{
	var e = document.getElementById(node_id);
	e.style.display = visible ? 'block' : 'none';
}

function Open(node)
{

	var x = node.parentNode.parentNode.firstChild;
	var mode = 0;
	var when = 0;
	while(x) {
		var t = document.createTextNode('foo'); // Needed!
		if (x.className == "category-top") {
			if (mode == 0 && x == node.parentNode) {
				mode = 1
			}
			else if (mode == 1) {
				mode = 0;
			}
		}
		if (x.className == "category-products") {
			//x.style.display = mode ? 'block' : 'none';
			if (mode) {
				setTimeout("make_visible('"+x.id+"', 1)", when);
				fade(x, when);
				when += 100;
			}
			else {
				//setTimeout("make_visible('"+x.id+"', 0)", when);
				x.style.display = 'none';
			}
		}
		x = x.nextSibling;
	}
}

