var interval = 0;

function Menu(lpos, rpos, value, ref, width, height, visibility)
{
	this.id			= lpos + rpos;
	this.lpos		= lpos;
	this.rpos		= rpos;
	this.value		= value
	this.ref		= ref;
	this.width		= width;
	this.height		= height;
	this.left		= 0;
	this.top		= 0;
	this.visibility  	= visibility;
	this.level		= lpos.length;
}

aMenu = new Array();
//constructor
//menu = new Menu('key1', 'key2', 'value', 'target', 'length', 'height', 'visibility: 1=visible; 0=hidden')
//Parent menu must be declared visible - 1
//menu - level 0
aMenu[0] = new Menu('0', '0', "What's New >>", './menu.htm', 120, 20, 1);
//submenu1 - level 1
aMenu[1] = new Menu('00', '0', '(06/03/10) - Bert Blake Trophy 2009/10', './bert-blake-2009.htm', 350, 20, 0);
aMenu[2] = new Menu('00', '1', '(06/03/10) - Stalwarts 2009/10', './stalwarts-2009.htm', 350, 20, 0);
aMenu[3] = new Menu('00', '2', "(04/03/10) - Snow in January Pictures", './gallery25a.htm', 350, 20, 0);
aMenu[4] = new Menu('00', '3', '(03/03/10) - Role of Honour', './honours2009.htm', 350, 20, 0);
aMenu[5] = new Menu('00', '4', '(03/03/10) - Poppy Appeal Cup (eclectic NET)', './wintereclecticnet09.htm', 350, 20, 0);
aMenu[6] = new Menu('00', '5', '(03/03/10) - Whitbread Cup (eclectic GROSS)', './wintereclecticgross09.htm', 350, 20, 0);
aMenu[7] = new Menu('00', '6', '(03/03/10) - Winter Stableford', './winterstableford09.htm', 350, 20, 0);
aMenu[8] = new Menu('00', '7', '(20/02/10) - Results - February Medal - Sat', './medal-result1002-sat.htm', 350, 20, 0);
aMenu[9] = new Menu('00', '8', '(20/02/10) - Results - February Medal - Sun', './medal-result1002-sun.htm', 350, 20, 0);
aMenu[10] = new Menu('00', '9', '(20/02/10) - Results - February Medal - Mon', './medal-result1002-mon.htm', 350, 20, 0);
aMenu[11] = new Menu('00', '10', '(20/02/10) - 5 Day Winter KO 2009/10', './5-day-winter-knockout-2009.htm', 350, 20, 0);
aMenu[12] = new Menu('00', '11', "(09/02/10) - February Medal Start Sheets", './medal-Feb-2010.htm', 350, 20, 0);
aMenu[13] = new Menu('00', '12', '(08/02/10) - Captains Corner', './captain2010.htm', 350, 20, 0);
aMenu[14] = new Menu('00', '13', "(29/01/10) - Updated Dress Code", './dresscode.htm', 350, 20, 0);
aMenu[15] = new Menu('00', '14', "(07/01/10) - January Medal Start Sheets", './medal-Jan-2010.htm', 350, 20, 0);
aMenu[16] = new Menu('00', '15', "(28/12/09) - Seniors Xmas Pictures", './gallery24a.htm', 350, 20, 0);
aMenu[17] = new Menu('00', '16', "(20/12/09) - Who's Who", './whoswho.htm', 350, 20, 0);
aMenu[18] = new Menu('00', '17', '(15/12/09) - Results - December Medal - Sat', './dec09-sat-medal-result.htm', 350, 20, 0);
aMenu[19] = new Menu('00', '18', '(15/12/09) - Results - December Medal - Sun', './dec09-sun-medal-result.htm', 350, 20, 0);
aMenu[20] = new Menu('00', '19', '(15/12/09) - Results - December Medal - Mon', './dec09-mon-medal-result.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(10/12/09) - Christmas Scramble Start Sheet', './xmas-scramble-2009.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', "(08/12/09) - December Medal Start Sheets", './medal-Dec-2009.htm', 350, 20, 0);
//aMenu[18] = new Menu('00', '17', "(05/12/09) - Greenkeeper's Gossip", './greenkeeper.htm', 350, 20, 0);
//aMenu[19] = new Menu('00', '18', "(02/12/09) - Presentation Night Pictures", './gallery23a.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(17/11/09) - Hon-Sec Trophy 2009', './hon-sec-2009.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(11/11/09) - 2009 Scratch Div A KO', './scratch-div-a-2009.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(11/11/09) - 2009 Scratch Div B KO', './scratch-div-b-2009.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(11/11/09) - Seniors Matchplay 2009', './SeniorsMatchplay2009.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(09/11/09) - Tadley Cup 2009', './tadleycup-2009.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(04/11/09) - 2009 Scratch Div C KO', './scratch-div-c-2009.htm', 350, 20, 0);
//aMenu[21] = new Menu('00', '19', '(31/10/09) - Rosebowl 2009', './Rosebowl2009.htm', 350, 20, 0);
//aMenu[18] = new Menu('00', '17', '(30/10/09) - Important Notice to Members', './agm2009.htm', 350, 20, 0);
//aMenu[19] = new Menu('00', '18', '(19/10/09) - George Blake Cup 2009', './GeorgeBlake-2009.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(13/10/09) - Stalwarts 2008/9', './stalwarts-2008b.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(10/10/09) - Ladies Matchplay 2009', './ladies-matchplay-2009.htm', 350, 20, 0);
//aMenu[18] = new Menu('00', '17', '(07/10/09) - Club Player of the Year 2009', './playeroftheyear2009.htm', 350, 20, 0);
//aMenu[19] = new Menu('00', '18', '(07/10/09) - Junior Eclectic', './junioreclectic09.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(07/10/09) - Ladies Summer Eclectic 2009', './ladies-summer-eclectic-2009.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(07/10/09) - Summer Stableford', './summerstableford09.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', "(01/10/09) - National Nines News", './nationalnine.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '20', "(19/08/09) - Scratch Championship Pictures", './gallery21a.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', "(19/08/09) - Pro Am Pictures", './gallery20a.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(05/08/09) - Juniors Section', './juniors.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(03/08/09) - OPEN DAY Invitation', './openday2009.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(01/08/09) - Seniors Inv Pictures', './gallery19a.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(01/08/09) - Seniors Section', './seniors.htm', 350, 20, 0);
//aMenu[8] = new Menu('00', '9', '(11/08/09) - Captains Day 2009', './captainsday09draw.htm', 350, 20, 0);
//aMenu[18] = new Menu('00', '16', "(31/07/09) - August MEDAL - (SAT) 01/08/09", './medal-2009-aug-sat.htm', 350, 20, 0);
//aMenu[19] = new Menu('00', '17', "(31/07/09) - August MEDAL - (SUN) 02/08/09", './medal-2009-aug-sun.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(12/07/09) - Scratch Championship 2009', './scratch-2009-jul-sat.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(16/06/09) - Handicap Championship 2009', './handicap-2009-jun-sat.htm', 350, 20, 0);
//
//aMenu[20] = new Menu('00', '19', '(10/04/09) - Ladies Section', './ladies.htm', 350, 20, 0);
//aMenu[19] = new Menu('00', '18', '(04/04/09) - MEMBERS UPDATE', './moregoodnews.htm', 350, 20, 0);
//aMenu[12] = new Menu('00', '11', "(19/05/09) - ODD BALL - (MON) 25/05/09", './oddball-2009.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(18/03/09) - Club Diary 2009/10', './diary09.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '18', "(23/03/09) - What's on at Easter", './social.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(18/11/08) - Summer Stableford 2008', './summer-stableford-2008.htm', 350, 20, 0);
//aMenu[19] = new Menu('00', '17', "(26/03/09) - Captain's Shield (WED) 01/04/09", './captains-shield-2009-start.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(28/10/08) - Junior Knockout 2008', './junior-knockout-2008.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(24/10/08) - Members Area', './reminders.htm', 350, 20, 0);
//aMenu[18] = new Menu('00', '17', '(14/10/08) - Gareth Owen Putter (SAT) 18/10/08', './gareth-owen-08-sat.htm', 350, 20, 0);
//aMenu[19] = new Menu('00', '18', '(14/10/08) - Gareth Owen Putter (SUN) 19/10/08', './gareth-owen-08-sun.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(12/10/08) - 2008 Scratch Div C KO', './scratch-div-c-2008.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '20', '(09/10/08) - 2008 Scratch Div B KO', './scratch-div-b-2008.htm', 350, 20, 0);
//aMenu[19] = new Menu('00', '18', '(22/08/08) - Masters 2008', './masters-2008.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(22/08/08) - Tom Slight Memorial Trophy', './tom-slight-2008.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '20', '(01/08/08) - Club Championship Results', './championship2008.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(01/08/08) - Hayden Oakley Memorial', './oakley2008.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(01/08/08) - Seniors Invitation Results', './seniorinvite2008.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(13/07/08) - Seniors Inter-Club Invitation', './seniorinter08.htm', 350, 20, 0);
//aMenu[19] = new Menu('00', '18', '(12/07/08) - Inter Club Match Results', './fixtures2008.htm', 350, 20, 0);
//aMenu[20] = new Menu('00', '19', '(10/07/08) - Mixed Section', './mixed.htm', 350, 20, 0);
//aMenu[25] = new Menu('00', '24', '(13/02/08) - Business Card Launch', './cardlaunch.htm', 350, 20, 0);

//submenu2 - level 2

//submenu4 - level 3

//submenu5 - level 4


function hideAll(Object)
{
	for (var i = 1; i < aMenu.length; i++)
	{
		if (aMenu[i].lpos != '0')
			document.getElementById(aMenu[i].id).style.visibility = 'hidden';
	}
}

function showMenus(Object)
{
	for (var i = 0; i < aMenu.length; i++)
	{
		if (aMenu[i].id == Object.id) // find menu
		{
			for (var j = i; j < aMenu.length; j ++)
			{
				if (aMenu[j].lpos == aMenu[i].id) // find submenu 
				{
					document.getElementById(aMenu[j].id).style.visibility = 'visible';
				}
				else // hide rest
				{
					if ((aMenu[j].lpos != '0') && (aMenu[j].level >= aMenu[i].level + 1))
					{
						document.getElementById(aMenu[j].id).style.visibility = 'hidden';
					}
				}
			}
		}
	}
}

function finterval()
{
	interval = setInterval('hideAll(Object)', 500);
}

function shadowMenu(Object)
{
	for (var i = 0; i < aMenu.length; i++)
	{
		if (aMenu[i].id == Object.id)
			document.getElementById(aMenu[i].id).style.background = '#EEEEEE';
	}
	clearInterval(interval);
}

function unshadowMenu(Object)
{
	for (var i = 0; i < aMenu.length; i++)
	{
		if (aMenu[i].id == Object.id)
			document.getElementById(aMenu[i].id).style.background = '#CCCCCC';
	}
	finterval();
}

function writeMenu(Menu)
{
	this.background_color	        = 'background-color: #CCCCCC;';
	this.margin_bottom		= 'margin-bottom: 1px;';
	this.border_width		= 'border-width: thin;';
	this.border_style		= 'border-style: groove;';
	this.color			= 'color: #008000;';
	this.vwidth			= 'width:'	+ Menu.width.toString() + 'px;';
	this.vheight			= 'height:'	+ Menu.height.toString() + 'px;';
	this.font_family		= 'font-family:Verdana, Arial, Helvetica, sans-serif;';
	this.font_size			= 'font-size:11px;';
	this.font_weight		= 'font-weight:bold;';
	this.text_decoration	        = 'text-decoration:none;';
	this.text_align			= 'text-align:left;';
	this.text_indent		= 'text-indent: 10px;';
	this.text_shadow		= 'text-shadow:Maroon;';
	this.vleft			= 'left: ' + Menu.left.toString() + 'px;';
	this.vtop			= 'top: ' + Menu.top.toString() + 'px;';

	if (Menu.visibility == 0)
		this.vvisibility	= 'visibility: hidden;';
	else 
		this.vvisibility	= 'visibility: visible;';

	this.strMenu	= '<A ' + 'HREF="' + Menu.ref + '"' + 'TARGET="_self"'
					+ 'ID="' + Menu.id + '"' + 'VALUE="' + Menu.value + '"'
					+ 'onClick="hideAll(this)"'
					+ 'onMouseOver="showMenus(this); shadowMenu(this)"'
					+ 'onMouseOut="unshadowMenu(this)"'
					+ 'style="' + this.background_color + this.margin_bottom + this.border_width
					+ this.border_style + this.color + this.vwidth
					+ this.vheight + this.font_family + this.font_size
					+ this.font_weight + this.text_decoration + this.text_align + this.text_indent
					+ this.vvisibility + this.vleft + this.vtop
					+ 'position: absolute;' + this.text_shadow + '">'
					+ Menu.value + '</A>';

	document.write(this.strMenu);
}

function genMenu(aMenu)
{
	aMenu[0].left = 60; // left position
	aMenu[0].top = 160; // top position
	
	writeMenu(aMenu[0]);
	
	for (var i = 1; i < aMenu.length; i++)
	{
		if (aMenu[i].lpos == aMenu[i - 1].lpos) // same menu
		{
			aMenu[i].left = aMenu[i - 1].left;
			aMenu[i].top = aMenu[i - 1].top + aMenu[i - 1].height;
			writeMenu(aMenu[i]);
		}
		for (var k = 0; k < i; k++)
		{
			if ((aMenu[i].lpos == (aMenu[k].lpos + aMenu[k].rpos)) && (aMenu[i].lpos != aMenu[i - 1].lpos)) // find submenu
			{
				aMenu[i].left = aMenu[k].left + aMenu[k].width;
				aMenu[i].top = aMenu[k].top;
				writeMenu(aMenu[i]);
			}
		}
	}
}

genMenu(aMenu);
