	var sections = new Object();

	function locateElement(obj) {
		var curleft = 0;
		var curtop = 0;
		if(obj.offsetParent) {
			do {
				curleft += obj.offsetLeft;
				curtop += obj.offsetTop;
			} while (obj = obj.offsetParent);
		} else if(obj.x) {
			curleft += obj.x;
			curtop += obj.y;
		}
		return [curleft,curtop];
	}

	function SubMenuOff(source) {
		//console.log("SubMenuOff");
		document.getElementById(source.id + "_menuTable").style.display = 'none';
	}
	
	var cancelNextHide = false;
	
	function IEShowMenu(e) {
		e.srcElement.parentElement.parentElement.style.display='block';
		e.cancelBubble = true;
		cancelNextHide = true;
		return false;
	}
	
	function IEHideMenu(e) {
		if (cancelNextHide) {
			e.srcElement.style.display='none';
			cancelNextHide = false;
			e.cancelBubble = true;
			return false;
		}
	}
	
	function SubMenuOn(source) {
		var table = document.getElementById(source.id + "_menuTable");
		if (!table) {
			var table = document.createElement("table");
			var tableBody = document.createElement("tbody");
			table.setAttribute('id', source.id + "_menuTable")
			table.border = 0;
			table.cellSpacing = 0;
			table.cellPadding = 0;
			table.className = 'SubMenu';
			if (table.addEventListener) {
				table.addEventListener("mouseout", function() { this.style.display='none'; }, false);
				table.addEventListener("mouseover", function() { this.style.display='block'; }, false);
			} else if (table.attachEvent) {
				table.attachEvent("onmouseleave", IEHideMenu); 
				table.attachEvent("onmouseenter", IEShowMenu);
			}
			var count = 0;
			var UseInternalURLs = document.getElementsByName("WKREPropertyFrame");
			var newColLeft, newColMiddle, newColRight;
			for (i in sections[source.id]) {
				var newRow = document.createElement('tr');
				newColLeft = document.createElement('td');
				newColLeft.className = "SubMenuLeft";
				newColMiddle = document.createElement('td');
				newColMiddle.className = "SubMenuCentre";
				var newA = document.createElement('a');
				newA.href = sections[source.id][i];
				var text = document.createTextNode(i);
				newA.appendChild(text);
				newColMiddle.appendChild(newA);
				newColRight = document.createElement('td');
				newColRight.className = "SubMenuRight";
				if (count == 0) {
					var newColFarLeft = document.createElement('td');
					newColFarLeft.rowSpan= 6;
					newColFarLeft.className = "SubMenuTopLeftLeft";
					newColLeft.className = "SubMenuTopLeft";
					newColMiddle.className = "SubMenuTop";
					newColRight.className = "SubMenuTopRight";
					newRow.appendChild(newColFarLeft);
				}
				newRow.appendChild(newColLeft);
				newRow.appendChild(newColMiddle);
				newRow.appendChild(newColRight);
				tableBody.appendChild(newRow);
				count++;
			}
			var newRow = document.createElement('tr');
			newColLeft = document.createElement('td');
			newColLeft.className = "SubMenuBottomLeft";
			newColMiddle = document.createElement('td');
			newColMiddle.className = "SubMenuBottom";
			newColRight = document.createElement('td');
			newColRight.className = "SubMenuBottomRight";
			newRow.appendChild(newColLeft);
			newRow.appendChild(newColMiddle);
			newRow.appendChild(newColRight);
			tableBody.appendChild(newRow);
				
			table.appendChild(tableBody);
			document.getElementsByTagName("body")[0].appendChild(table);
			table = document.getElementById(source.id + "_menuTable");
		}
		var sourcePos = locateElement(source);
		table.style.left = sourcePos[0] + 1 + "px";
		table.style.top = sourcePos[1] + "px";
		table.style.display = "block";
		event.cancelBubble = true;
	}


