
<!-- Begin

// :::::::::::: DOM, IE4, NS4 browser test
var isDOM = (document.getElementById ? true : false);
var isIE4 = ((document.all && !isDOM) ? true : false);
var isNS4 = (document.layers ? true : false);
  function getRef(id) {
   if (isDOM) return document.getElementById(id);
   if (isIE4) return document.all[id];
   if (isNS4) return document.layers[id];
   }
// :::::::::::: DOM, IE4, NS4 browser test end

function getSty(id) {
	return (isNS4 ? getRef(id) : getRef(id).style);
}

// Hide timeout.
var popTimer = 0;
// Array showing highlighted menu items.
var litNow = new Array();

function popOver(menuNum, itemNum) {
	clearTimeout(popTimer);
	hideAllBut(menuNum);
	litNow = getTree(menuNum, itemNum);
	changeCol(litNow, true);
	targetNum = menu[menuNum][itemNum].target;
	if (targetNum > 0) {
		thisX = parseInt(menu[menuNum][0].ref.left) + parseInt(menu[menuNum][itemNum].ref.left);
		thisY = parseInt(menu[menuNum][0].ref.top) + parseInt(menu[menuNum][itemNum].ref.top);
		with (menu[targetNum][0].ref) {
			left = parseInt(thisX + menu[targetNum][0].x);
			top = parseInt(thisY + menu[targetNum][0].y);
			visibility = 'visible';
	        }
   	}
}
<!-- ************************************************************************************ -->

// see Menu.htm for original coding and explanatory notes

var menu = new Array();

<!-- ************************************************************************************ -->

function popOut(menuNum, itemNum) {
if ((menuNum == 0) && !menu[menuNum][itemNum].target)
	hideAllBut(0)
else
	popTimer = setTimeout('hideAllBut(0)', 500);
}

<!-- ************************************************************************************ -->
function getTree(menuNum, itemNum) {
itemArray = new Array(menu.length);
	while(1) {
		itemArray[menuNum] = itemNum;
		if (menuNum == 0) return itemArray;
		itemNum = menu[menuNum][0].parentItem;
		menuNum = menu[menuNum][0].parentMenu;
	}
}

<!-- ************************************************************************************ -->
function changeCol(changeArray, isOver) {
	for (menuCount = 0; menuCount < changeArray.length; menuCount++) {
		if (changeArray[menuCount]) {
		newCol = isOver ? menu[menuCount][0].overCol : menu[menuCount][0].backCol;
			with (menu[menuCount][changeArray[menuCount]].ref) {
			if (isNS4) bgColor = newCol;
			else backgroundColor = newCol;
			}
		}
   	}
}
<!-- ************************************************************************************ -->
function hideAllBut(menuNum) {
	var keepMenus = getTree(menuNum, 1);
	for (count = 0; count < menu.length; count++){
		if (!keepMenus[count]){
			menu[count][0].ref.visibility = 'hidden';
			changeCol(litNow, false);
		}
	}
}

<!-- ************************************************************************************ -->
	// *** MENU CONSTRUCTION FUNCTIONS ***
function Menu(isVert, popInd, x, y, width, overCol, backCol, borderClass, textClass) {
this.isVert = isVert;
this.popInd = popInd
this.x = x;
this.y = y;
this.width = width;
this.overCol = overCol;
this.backCol = backCol;
this.borderClass = borderClass;
this.textClass = textClass;
this.parentMenu = null;
this.parentItem = null;
this.ref = null;
}

<!-- ************************************************************************************ -->
function Item(text, href, frame, length, spacing, target) {
this.text = text;
this.href = href;
this.frame = frame;
this.length = length;
this.spacing = spacing;
this.target = target;
this.ref = null;
}

<!-- ************************************************************************************ -->
function writeMenus(L, flag) {
lang = L, divCounter = 0
var defOver = '#560000', defBack = '#808080';
var defLength = 22;

var mBarObj = document.getElementById("mBar");
// var menuTopPos = mBarObj.offsetTop+mBarTop.offsetHeight+((mBarTd.offsetHeight-defLength)/2);

var offSet1 = document.getElementById("mBar").offsetTop;
var offSet2 = document.getElementById("mBarTop").offsetHeight;
var offSet3 = ((document.getElementById("mBarTd").offsetHeight-defLength)/2);

var menuTopPos = offSet1 + offSet2 + offSet3

var menuLeftPos = mBarObj.offsetLeft;


// Menu Bar width adjustments for language
var MenuBarWidth = new Array()
MenuBarWidth[0] = new Array("", "E", "F", "G", "I", "S");
MenuBarWidth[1] = new Array("", 60, 60, 60, 60, 60);
MenuBarWidth[2] = new Array("", 70, 70, 55, 85, 80);
MenuBarWidth[3] = new Array("", 70, 75, 55, 60, 85);
MenuBarWidth[4] = new Array("", 70, 75, 120, 70, 70);
MenuBarWidth[5] = new Array("", 90, 65, 80, 55, 80);
MenuBarWidth[6] = new Array("", 60, 100, 100, 95, 120);
MenuBarWidth[7] = new Array("", 60, 60, 60, 55, 60);
MenuBarWidth[8] = new Array("", 80, 90, 90, 80, 100);

var subMenuWidth = new Array()
subMenuWidth[0] = new Array("", "E", "F", "G", "I", "S");
subMenuWidth[1] = new Array("", 70, 70, 70, 80, 80);
subMenuWidth[2] = new Array("", 70, 75, 70, 70, 80);
subMenuWidth[3] = new Array("", 130, 130, 150, 150, 130);
subMenuWidth[4] = new Array("", 80, 130, 100, 80, 130);
subMenuWidth[5] = new Array("", 60, 100, 100, 90, 100);
subMenuWidth[6] = new Array("", 85, 85, 100, 85, 100);
subMenuWidth[7] = new Array("", 80, 110, 90, 100, 100);
subMenuWidth[8] = new Array("", 70, 80, 80, 80, 80);

//  1 root menu
menu[0] = new Array();
menu[0][0] = new Menu(false, '', 10, menuTopPos, 17, defOver, defBack, '', 'itemText');
menu[0][1] = new Item('<span id="M1" class="itemText">' + goHome[lang] + '</span>', 'index.html', '_self', MenuBarWidth[1][lang], 10, 0);
menu[0][2] = new Item('<span id="M2" class="itemText">' + locatn[lang] + '</span>', '#', '', MenuBarWidth[2][lang], 10, 1);
menu[0][3] = new Item('<span id="M3" class="itemText">' + histry[lang] + '</span>', '#', '', MenuBarWidth[3][lang], 10, 2);
menu[0][4] = new Item('<span id="M4" class="itemText">' + toursm[lang] + '</span>', '#', '', MenuBarWidth[4][lang], 10, 3);
menu[0][5] = new Item('<span id="M5" class="itemText">' + BusAlt[lang] + '</span>', '#', '', MenuBarWidth[5][lang], 10, 4);
menu[0][6] = new Item('<span id="M6" class="itemText">' + Events[lang] + '</span>', '#', '', MenuBarWidth[6][lang], 10, 5);
menu[0][7] = new Item('<span id="M7" class="itemText">' + Album[lang] + '</span>', '#', '', MenuBarWidth[7][lang], 10, 6);
menu[0][8] = new Item('<span id="M8" class="itemText">' + UsAlt[lang] + '</span>', '#', '', MenuBarWidth[8][lang], 10, 7);

// 2 Location menu
menu[1] = new Array();
menu[1][0] = new Menu(true, '>', 0, 22, subMenuWidth[1][lang], defOver, defBack, 'itemBorder', 'itemText');
menu[1][1] = new Item('<span id="M2sm1" class="itemText">' + vill[lang] + '</span>', 'Wingfield.htm', '', defLength, 0, 0);
menu[1][2] = new Item('<span id="M2sm2" class="itemText">' + access[lang] + '</span>', 'Access.htm', '', defLength, 0, 0);

// 3 History menu
menu[2] = new Array();
menu[2][0] = new Menu(true, '>', 0, 22, subMenuWidth[2][lang], defOver, defBack, 'itemBorder', 'itemText');
menu[2][1] = new Item('<span id="M3sm1" class="itemText">' + church[lang] + '</span>', 'Church.htm', '', defLength, 0, 0);
menu[2][2] = new Item('<span id="M3sm2" class="itemText">' + college[lang] + '</span>', 'College.htm', '', defLength, 0, 0);
menu[2][3] = new Item('<span id="M3sm3" class="itemText">' + castle[lang] + '</span>', 'Castle.htm', '', defLength, 0, 0);
menu[2][4] = new Item('<span id="M3sm4" class="itemText">' + pub[lang] + '</span>', 'Pub.htm', '', defLength, 0, 0);

// 4 Leisure menu
menu[3] = new Array();
menu[3][0] = new Menu(true, '>', 0, 22, subMenuWidth[3][lang], defOver, defBack, 'itemBorder', 'itemText');
menu[3][1] = new Item('<span id="M4sm1" class="itemText">' + eatdrink[lang] + '</span>', 'P&R.htm', '', defLength, 0, 0);
menu[3][2] = new Item('<span id="M4sm2" class="itemText">' + accom[lang] + '</span>', 'Accom.htm', '', defLength, 0, 0);
menu[3][3] = new Item('<span id="M4sm3" class="itemText">' + stable[lang] + '</span>', 'Swingletree.htm', '', defLength, 0, 0);
menu[3][4] = new Item('<span id="M4sm4" class="itemText">' + WingArts[lang] + '</span>', 'Arts.htm', '', defLength, 0, 0);
menu[3][5] = new Item('<span id="M4sm5" class="itemText">' + WingBarns[lang] + '</span>', 'Barns.htm', '', defLength, 0, 0);
menu[3][6] = new Item('<span id="M4sm6" class="itemText">' + todo[lang] + '</span>', 'Activities.htm', '', defLength, 0, 0);

// 5 Business menu
menu[4] = new Array();
menu[4][0] = new Menu(true, '>', 0, 22, subMenuWidth[4][lang], defOver, defBack, 'itemBorder', 'itemText');
menu[4][1] = new Item('<span id="M5sm1" class="itemText">' + bus[lang] + '</span>', 'Businesses.htm', '', defLength, 0, 0);
menu[4][2] = new Item('<span id="M5sm2" class="itemText">' + ads[lang] + '</span>', 'Sales.htm', '', defLength, 0, 0);

// 6 Events menu
menu[5] = new Array();
menu[5][0] = new Menu(true, '>', 0, 22, subMenuWidth[5][lang], defOver, defBack, 'itemBorder', 'itemText');
menu[5][1] = new Item('<span id="M6sm1" class="itemText">' + evFut[lang] + '</span>', 'eventsFut.htm', '', defLength, 0, 0);
menu[5][2] = new Item('<span id="M6sm2" class="itemText">' + evCurr[lang] + '</span>', 'eventsCurr.htm', '', defLength, 0, 0);
menu[5][3] = new Item('<span id="M6sm3" class="itemText">' +evPast[lang] + ' </span>', 'eventsPast.htm', '', defLength, 0, 0);

// 7 Slides menu
menu[6] = new Array();
menu[6][0] = new Menu(true, '>', 0, 22, subMenuWidth[6][lang], defOver, defBack, 'itemBorder', 'itemText');
menu[6][1] = new Item('<span id="M7sm1" class="itemText">' + Czons[lang] + '</span>', '#', '', defLength, 0, 8);

// 8 Contact menu
menu[7] = new Array();
menu[7][0] = new Menu(true, '>', 0, 22, subMenuWidth[7][lang], defOver, defBack, 'itemBorder', 'itemText');
menu[7][1] = new Item('<span id="M8sm1" class="itemText">' + about[lang] + '  </span>', 'AboutUs.htm', '', defLength, 0, 0);
menu[7][2] = new Item('<span id="M8sm2" class="itemText">' + writeTo[lang] + '</span>', 'mailto:webmasters@glenadair.fsnet.co.uk?subject=Wingfield', '', defLength, 0, 0);


// 9 4Seasons menu
menu[8] = new Array();
menu[8][0] = new Menu(true, '>', 85, 0, subMenuWidth[8][lang], defOver, defBack, 'itemBorder', 'itemText');
menu[8][1] = new Item('<span id="M9sm1" class="itemText">' + czon[1][lang] + '</span>', 'Slides1.htm', '', defLength, 0, 0);
menu[8][2] = new Item('<span id="M9sm2" class="itemText">' + czon[2][lang] + '</span>', 'Slides2.htm', '', defLength, 0, 0);
menu[8][3] = new Item('<span id="M9sm3" class="itemText">' + czon[3][lang] + '</span>', 'Slides3.htm', '', defLength, 0, 0);
menu[8][4] = new Item('<span id="M9sm4" class="itemText">' + czon[4][lang] + '</span>', 'Slides4.htm', '', defLength, 0, 0);


if (!isDOM && !isIE4 && !isNS4) return;
	for (currMenu = 0; currMenu < menu.length; currMenu++) with (menu[currMenu][0]) {
	var str = '', itemX = 0, itemY = 0;
		for (currItem = 1; currItem < menu[currMenu].length; currItem++) with (menu[currMenu][currItem]) {
		var itemID = 'menu' + currMenu + 'item' + currItem;
		var w = (isVert ? width : length);
		var h = (isVert ? length : width);
			if (isDOM || isIE4) {
				str += '<div id="' + itemID + '" style="position: absolute; left: ' + itemX + '; top: ' + itemY + '; width: ' + w + '; height: ' + h + '; visibility: inherit; ';
				if (backCol) str += 'background: ' + backCol + '; ';
				str += '" ';
			}
			if (isNS4) {
				str += '<layer id="' + itemID + '" left="' + itemX + '" top="' + itemY + '" width="' +  w + '" height="' + h + '" visibility="inherit" ';
				if (backCol) str += 'bgcolor="' + backCol + '" ';
			}
			if (borderClass) str += 'class="' + borderClass + '" ';
			str += 'onMouseOver="popOver(' + currMenu + ',' + currItem + ')" onMouseOut="popOut(' + currMenu + ',' + currItem + ')">';
			str += '<table width="' + (w - 0) + '" border="1" cellspacing="0" cellpadding="' + (!isNS4 && borderClass ? 3 : 0) + '">';
			str += '<tr><td align="left" height="' + (h - 7) + '">' + '<a class="' + textClass + '" href="' + href + '"' + (frame ? ' target="' + frame + '">' : '>') + text + '</a></td>';
			if (target > 0) {
				menu[target][0].parentMenu = currMenu;
				menu[target][0].parentItem = currItem;
				if (popInd) str += '<td class="' + textClass + '" align="right">' + popInd + '</td>';
			}
				str += '</tr></table>' + (isNS4 ? '</layer>' : '</div>');
				if (isVert) itemY += length + spacing;
				else itemX += length + spacing;
		}
		if (isDOM) {
			if(flag==0){
				var newDiv = document.createElement('div');
				divCounter += 1;
				newDiv.setAttribute("id","container"+divCounter);
				document.getElementsByTagName('body').item(0).appendChild(newDiv);
				newDiv.innerHTML = str;
// alert("container"+divCounter + "***1st***" + document.getElementById("container"+divCounter).innerHTML)
			ref = newDiv.style;
			ref.position = 'absolute';
			ref.visibility = 'hidden';
			}

			else{
				divCounter += 1;
				document.getElementById("container"+divCounter).innerHTML = str;
// alert("container"+divCounter + "***Next***" + document.getElementById("container"+divCounter).innerHTML)
			}
			var thisDiv = document.getElementById("container"+divCounter);
			ref = thisDiv.style;
			ref.position = 'absolute';
			ref.visibility = 'hidden';
		}

		if (isIE4) {
			document.body.insertAdjacentHTML('beforeEnd', '<div id="menu' + currMenu + 'div" ' + 'style="position: absolute; visibility: hidden">' + str + '</div>');
			ref = getSty('menu' + currMenu + 'div');
		}
		if (isNS4) {
			ref = new Layer(0);
			ref.document.write(str);
			ref.document.close();
		}
		for (currItem = 1; currItem < menu[currMenu].length; currItem++) {
			itemName = 'menu' + currMenu + 'item' + currItem;
			if (isDOM || isIE4) menu[currMenu][currItem].ref = getSty(itemName);
			if (isNS4) menu[currMenu][currItem].ref = ref.document[itemName];
		}
	}
				<!-- *** Use this alert to check last menu layer text and code **** -->
				
//				alert("currMenu = " + currMenu + " var str = " + str)

				<!-- *************************************************************** -->
	with(menu[0][0]) {
		ref.left = x;
		ref.top = y;
		ref.visibility = 'visible';
	}
}
				// *** OPTIONAL CODE FROM HERE DOWN ***
	var popOldWidth = window.innerWidth;
	nsResizeHandler = new Function('if (popOldWidth != window.innerWidth) location.reload()');
	
	if (isNS4) document.captureEvents(Event.CLICK);
	document.onclick = clickHandle;
		function clickHandle(evt){
			if (isNS4) document.routeEvent(evt);
			hideAllBut(0);
		}
		function moveRoot(){
			with(menu[0][0].ref) left = ((parseInt(left) < 100) ? 100 : 5);
		}
<!-- ************************************************************************************ -->
//  End -->
