function navOver(d,over) {
	d.className = over ? "nav navOver" : "nav";
}

var ddShadows = [
	{bx:-1,by:0,x:0,y:0,h:8,w:8},
	{bx:1,by:0,x:0,y:0,h:8,w:8},
	{bx:-1,by:0,x:0,y:8,h:-1,w:8},
	{bx:1,by:0,x:0,y:8,h:-1,w:8},
	{bx:-1,by:1,x:8,y:0,h:8,w:16},
	{bx:0,by:1,x:8,y:0,h:8,w:-1,wo:1},
	{bx:1,by:1,x:-8,y:0,h:8,w:16}
];

var ddAll = Array();
var ddIsover = false;

function createDD(id, txt) {
	var d = document.getElementById(id);
	d.onmouseover = function () { ddIsover = true; }
	d.onmouseout = function () { ddIsover = false; }
	d.onclick = function() {
		var dDD = document.getElementById(this.id + "-dd");
		
		dDD.onmouseover = function () { ddIsover = true; }
		dDD.onmouseout = function () { ddIsover = false; }
	
		for (var i = 0; i < ddAll.length; i ++) {
			if (dDD.id != ddAll[i].id) {
				ddAll[i].style.display = "none";
				ddShadow(ddAll[i], false);
			}
		}
		var pos = getDPos(this);
		
		dDD.style.display = dDD.style.display == "none" ? "block" : "none";
		dDD.style.left = (pos[0] - dDD.offsetWidth + this.offsetWidth) + "px";
		ddShadow(dDD, dDD.style.display == "block");
	}
	d.style.cursor = "pointer";
	var pos = getDPos(d);
	var dDD = document.getElementById(id + "-dd");
	dDD.style.position = "absolute";
	dDD.style.padding = "8px";
	dDD.style.backgroundColor = "#FFFFFF";
	dDD.style.border = "1px solid #CCCCCC";
	dDD.style.top = (pos[1] + d.offsetHeight + 2) + "px";
	
	ddAll[ddAll.length] = dDD;
	
	var pos = getDPos(dDD);
	for (var i = 0; i < 7; i ++) {
		var s = document.createElement("img");
		s.src = "images/shd-" + (i + 1) + ".png";
		s.style.position = "absolute";
		s.style.display = "none";
		s.id = id + "-dd-sh" + (i + 1);
		document.body.appendChild(s);
	}
}

function ddShadow(dDD, show) {
	var pos = getDPos(dDD);
	for (var i = 0; i < 7; i ++) {
		var s = document.getElementById(dDD.id + "-sh" + (i + 1));
		s.style.display = show ? "block" : "none";
		if (show) { 
			var n = ddShadows[i];
			
			var w = n.w == -1 ? dDD.offsetWidth - n.x - (n.wo ? 8 : 0) : n.w;
			var h = n.h == -1 ? dDD.offsetHeight - n.y: n.h;
			
			
			if (n.bx == -1) { var x = pos[0] - w; }
			else if (n.bx == 0) { var x = pos[0]; }
			else if (n.bx == 1) { var x = pos[0] + dDD.offsetWidth; }
			
			if (n.by == -1) { var y = pos[1] - h; }
			else if (n.by == 0) { var y = pos[1]; }
			else if (n.by == 1) { var y = pos[1] + dDD.offsetHeight; }
			
			s.style.left = (x + n.x) + "px";
			s.style.top = (y + n.y) + "px";
			s.style.width = w + "px";
			s.style.height = h + "px";
			
		}
	}
}

function getDPos(d, noScrollOffset) { 
	var nTop = 0;
	var nLeft = 0;
	if (d) {
		do {
			nLeft += d.offsetLeft - (d.scrollLeft && !noScrollOffset ? d.scrollLeft : 0);
			nTop += d.offsetTop - (d.scrollTop && !noScrollOffset ? d.scrollTop : 0);
			d = d.offsetParent;
		} while(d)
	}
	return [nLeft, nTop];
};

