function TSDynamicMenu(iname) {
	this.bgcolor = "0080FF";
	this.fgcolor = "FFFFFF";
	this.lnkcolor = "FFFFFF";
	this.lnkdeco = "none";
	this.hovcolor = "FFD700";
	this.hovbkg = "009CE8";
	this.fontSize = ["9pt", "8pt"];
	this.fontFamily = "Verdana, sans-serif";
	this.orientation = "horizontal";
	this.name = (iname) ? iname : "tsdynnav";		// make sure it is unique??
	
	this.items = new Array();		// array of TSDynamicMenuItem
	
	this.build = function () {
		if (this.orientation == "horizontal") {
			var outHTML = this.putStyle();
			outHTML += '<center><table id="' + this.name + '" border="0" cellpadding="0" cellspacing="0"><tr>'
			
			for (var idx=0; idx<this.items.length; idx++) {
				outHTML += '<td align="center"><ul>';
				outHTML += this.items[idx].build();
				outHTML += '</ul></td>';
			}
			outHTML += '</tr>	</table></center>';
		} else {
			// vertical logic
			outhtml = "NOT YET DEFINED";
		}
		return outHTML;
	}
	
	this.putStyle = function() {
		var outHTML = "<style>"

		outHTML += '#' + this.name + ' a {	text-decoration: ' + this.lnkdeco + '; color: ' + this.lnkcolor + '; }';
		
		outHTML += '#' + this.name + ', #' + this.name + ' ul {font-size: ' + this.fontSize[0] + '; font-family: ' + this.fontFamily + ';' +
								' list-style: none; margin-left: 1em; width: 15em; padding: 0;}';
					
		outHTML += '#' + this.name + ' li {width: 15em; padding: 2px; margin-bottom: 11px; line-height: 1.5em; position: relative; ' +
								'background: #' + this.bgcolor + '; color: #' + this.fgcolor + ';}';
		
		outHTML += '#' + this.name + ' li li {font-size: ' + this.fontSize[1] + '; width: 11.3em; margin: 0; 	padding: 4px; line-height: 1.2;' +
								' border-bottom: 1pt silver solid; }';
		
		outHTML += '#' + this.name + ', #' + this.name + '  ul { }';

		outHTML += '#' + this.name + ' li:hover, #' + this.name + ' li.ieHover {cursor: pointer; color: #' + this.hovcolor + ';' + 
								' background: #' + this.hovbkg + '; }';

		outHTML += '#' + this.name + ' li ul, #' + this.name + ' li:hover ul ul, #' + this.name + ' li:hover ul ul ul, ' + 
							'#' + this.name + ' li:hover ul ul ul ul, #' + this.name + ' li.ieHover ul ul, #' + this.name + ' li.ieHover ul ul ul, ' + 
							'#' + this.name + ' li.ieHover ul ul ul ul {position: absolute; left: -999em; top: 0px; }';

		outHTML += '#' + this.name + ' #' + this.name + ' li:hover ul, #' + this.name + ' ul li:hover ul, #' + this.name + ' ul ul li:hover ul, ' +
							'#' + this.name + ' ul ul ul li:hover ul, #' + this.name + ' li.ieHover ul, #' + this.name + ' ul li.ieHover ul, ' +
							'#' + this.name + ' ul ul li.ieHover ul, #' + this.name + ' ul ul ul li.ieHover ul ' + 
							'{ left: 0.5em; top: 1.8em; }';

		/*		outHTML += '#' + this.name + ' '
		****/		
		outHTML += "</style>";
		return outHTML;
	}
};

function TSDynamicMenuItem(iparent, iurl, ilabel, inewwin) {
	this.parent = iparent;
	this.url = iurl;
	this.label = ilabel
	this.newwin = (inewwin) ? inewwin : false;
	
	this.subitems = new Array();		// Array of TSDynamicMenuItem;

	this.build = function() {
		if (this.parent.orientation == "horizontal") {
			var outHTML = "";
			if (document.all) {
				outHTML += '<li onmouseout=this.className=\"\"; onmouseover=this.className=\"ieHover\">';
			} else {
				outHTML += '<li>';
			}
			outHTML += (this.url == "") ? '' : (this.newwin) ? '<a href="' + this.url + '" target="_new">' : '<a href="' + this.url + '">';
			outHTML += this.label;
			outHTML += (this.url != "") ? '</a>' : '';
			if (this.subitems.length > 0) {
				outHTML += '<ul>';
				for(var sidx=0; sidx< this.subitems.length; sidx++) {
					try {
						outHTML += this.subitems[sidx].build();
					} catch(err) {
						alert("ERROR: " + err + "\nprocessing [" + this.label + "] subitem [" + sidx + "]")
					}
				}
				outHTML += '</ul>';
			}
			outHTML += '</li>'
		} else {
			// vertical logic here...
		}
		return outHTML;
	}
}

var ofestMenu = new TSDynamicMenu();

ofestMenu.items[0] = new TSDynamicMenuItem(ofestMenu, "http://www.germaniasociety.com/site2007/main.html","Home");
//ofestMenu.items[0].subitems[0] = new TSDynamicMenuItem(ofestMenu, "../site2007/main.html", "Germania Home");

ofestMenu.items[1] = new TSDynamicMenuItem(ofestMenu, "", "Entertainment Schedule" );
ofestMenu.items[1].subitems[0] = new TSDynamicMenuItem(ofestMenu, "entertainmentfriday.html", "Friday");
ofestMenu.items[1].subitems[1] = new TSDynamicMenuItem(ofestMenu, "entertainmentsat.html", "Saturday");
ofestMenu.items[1].subitems[2] = new TSDynamicMenuItem(ofestMenu, "entertainmentsun.html","Sunday");
ofestMenu.items[1].subitems[3] = new TSDynamicMenuItem(ofestMenu, "tugowar.html","Tug-O-War Competition");
ofestMenu.items[1].subitems[4] = new TSDynamicMenuItem(ofestMenu, "okt09program.pdf","Printable Oktobefest Program");


			
ofestMenu.items[2] = new TSDynamicMenuItem(ofestMenu, "", "Food and Drink");
ofestMenu.items[2].subitems[0] = new TSDynamicMenuItem(ofestMenu, "klubhausdinners.html", "Klubhaus Dinners");
ofestMenu.items[2].subitems[1] = new TSDynamicMenuItem(ofestMenu, "weisn.html", "Food on the Hill");
ofestMenu.items[2].subitems[2] = new TSDynamicMenuItem(ofestMenu, "pastry.html", "Pastry Shop");
ofestMenu.items[2].subitems[3] = new TSDynamicMenuItem(ofestMenu, "bier.html", "German Biers");
ofestMenu.items[2].subitems[4] = new TSDynamicMenuItem(ofestMenu, "schnapps.html", "Wine and Schnapps");

ofestMenu.items[3] = new TSDynamicMenuItem(ofestMenu, "","Dignitaries");
ofestMenu.items[3].subitems[0] = new TSDynamicMenuItem(ofestMenu, "president.html", "Germania President");
ofestMenu.items[3].subitems[1] = new TSDynamicMenuItem(ofestMenu, "burgermeister.html", "Who is the Burgermeister?");


ofestMenu.items[4] = new TSDynamicMenuItem(ofestMenu, "", "Directions and More");
ofestMenu.items[4].subitems[0] = new TSDynamicMenuItem(ofestMenu, "directions.html", "Directions to Germania Park");
ofestMenu.items[4].subitems[1] = new TSDynamicMenuItem(ofestMenu, "volunteer.html", "Volunteering");
ofestMenu.items[4].subitems[2] = new TSDynamicMenuItem(ofestMenu, "tugowar.html","Tug-O-War Competition")
ofestMenu.items[4].subitems[3] = new TSDynamicMenuItem(ofestMenu, "http://www.germaniasociety.com/site2007/event.html", "Germania's Event Calendar");
ofestMenu.items[4].subitems[4] = new TSDynamicMenuItem(ofestMenu, "http://www.germaniasociety.com/site2007/contacts.html", "Contact Germania");
ofestMenu.items[4].subitems[5] = new TSDynamicMenuItem(ofestMenu, "okt09flyer.pdf","Printable Flyer")
document.write(ofestMenu.build());
