
function InitalizeMenu() {
	var theMenu = new Menu("Menu","cMenu");
	theMenu.menuItems.push( new MenuItem("Home","Home Page", "index.html","","") );
	theMenu.menuItems.push( new MenuItem("Calendar","2009 Calendar","calendar.html","","")); 
	theMenu.menuItems.push( new MenuItem("Festival","Fall Festival","festival.html","","")); 

	//theMenu.menuItems.push( new MenuItem("harness","Harness Racing","harness.html","",""));
	//theMenu.menuItems.push( new MenuItem("RMR Snowcross","RMR Snowcross","snox.html","","") );
	//theMenu.menuItems.push( new MenuItem("Stunt", "Imperial Hell Drivers", "stunt.html","",""));
	//theMenu.menuItems.push( new MenuItem("Flores","The Flores Family Thrill Show", "flores.html","",""));
	//theMenu.menuItems.push( new MenuItem("Midway","Castlerock Midway","midway.html","",""));
	//theMenu.menuItems.push( new MenuItem("Kershaw","Sammy Kershaw","kershaw.html","",""));
	//theMenu.menuItems.push( new MenuItem("prouty","The Jessica Prouty Band","prouty.html","",""));
	//theMenu.menuItems.push( new MenuItem("Fair","2009 Fair","fair.html","",""));
	//theMenu.menuItems.push( new MenuItem("Demolition Derby","2009 Demolition Derby","demo.html","",""));
	//theMenu.menuItems.push( new MenuItem("Animal Exhibits","2009 Animal Exhibits","animal.html","",""));
	//theMenu.menuItems.push( new MenuItem("Agri Exhibits","2009 Agricultural Exhibits","agri.html","",""));
	theMenu.menuItems.push( new MenuItem("History","Fair History","hist.html","","") );
	theMenu.menuItems.push( new MenuItem("Directions","Directions","directions.html","","") );
	theMenu.menuItems.push( new MenuItem("Weather","Local Weather","weather.html","","") );
	 

	//theMenu.menuItems.push( new MenuItem("Forms","Forms","forms.html","",""));

	return theMenu;
}

function MenuItem(label,desc,href,href_attrs,imageUrl) {
	this.label = label;
	this.desc = desc;
	this.href = href;
	this.href_attrs = href_attrs;
	this.imageUrl = imageUrl;
}

new MenuItem("Home","Home Page", "index.html","","");
MenuItem.prototype.getMenuItemClass = function(activated) {
	var l = this.label.replace(/ /g,"_");
	if (activated) {
		l = l + " miactive";
	}
	return l;
}
MenuItem.prototype.displayMenuItem = function(activated) {
	document.write('<li id="mi_'+this.getMenuItemClass(false)+'">');
	document.write('<a class="a_mi_'+this.getMenuItemClass(activated)+'" href="' + this.href + '">' + this.desc +'</a>');
	document.write('</li>');
}

MenuItem.prototype.displayMenuItemAsHeader = function() {
	document.write('<span class="pageHeader" id="sh_'+this.getMenuItemClass()+'">' + this.desc+ '</span>');
}


function Menu(id,classname) {
	this.menuItems = new Array();
	this.tag_id = id;
	this.tag_class = classname;
	this.menuStyle = '\n#menu {font: 0.5em "Lucida Grande", "Trebuchet MS", Verdana, sans-serif;width: 22%;float: left;margin: 0px;height: 100%; background-color: #e44;border-right: 2px solid #c44;}';
	this.menuItemStyle = '\n#menuitems {margin: 0px;padding: 0px 0px 2px 10px;border-right: 1px solid #c44;list-style: none;}\n#menuitems li {margin: 0px;padding-top: 5px;padding-bottom : 5px; border-bottom: 1px solid #c44;}\n#menuitems li a, #menuitems li a:visited, #menuitems li a:active, #menuitems li a:hover {text-decoration: none;color: inherit;}\n';
	
}


Menu.prototype.printMenuStyleBlock = function() {
	var styleStr = '';
	//this is the actual style block including the {} 
	var activeStyleStr = "{ color: #ccc; font-size: 1.1em}";  // or whatever
	var miCount = this.menuItems.length;
	
	for (var i=0;i<miCount;i++) {
		var label = this.menuItems[i].getMenuItemClass();
		// add to style str (logic for comma separations)   body#one #mi_One,
		styleStr = styleStr + 'body#'+label+' #mi_'+label+' a:visited';
		if (i != (miCount -1))
		{
			styleStr = styleStr + ',\n';
		} else {
			styleStr = styleStr + '\n';
		}
	}
	styleStr = styleStr + activeStyleStr;

	document.write(this.menuStyle);
	document.write(this.menuItemStyle);
	document.write(styleStr);


}

Menu.prototype.setId=function(newid) {
	this.tag_id = newid;
}
Menu.prototype.setClass = function(newclass) {
	this.tag_class=newclass;
}
Menu.prototype.printHeaderStyleBlock = function() {

	document.write('\n#subheader {float: right;width: 25%;}\n#subheader span {display: none;}\n');
	var styleStr = '';
	//this is the actual style block including the {} 
	var activeStyleStr = "{ color: #ccc; font-size: 80%; display: inline;}";  // or whatever
	var miCount = this.menuItems.length;
	
	for (var i=0;i<miCount;i++) {
		var label = this.menuItems[i].getMenuItemClass();
		// add to style str (logic for comma separations)   body#one #mi_One,
		styleStr = styleStr + 'body#'+label+' #sh_'+label;
		if (i != (miCount -1))
		{
			styleStr = styleStr + ',\n';
		} else {
			styleStr = styleStr + '\n';
		}
	}
	styleStr = styleStr + activeStyleStr;
	
	document.write(styleStr);


}
Menu.prototype.writeStyle = function() {
	document.write('<style type="text/css" media="screen">');
	this.printMenuStyleBlock();
	this.printHeaderStyleBlock();
	document.write('</style');
}
Menu.prototype.displayMenu = function(activePage) {
	document.write('<ul id="menuitems" class="list_'+this.tag_class+'">');
	for(var item in this.menuItems)
	{
		var active = false;
		if (activePage == this.menuItems[item].label) {
			active = true;
		}
		this.menuItems[item].displayMenuItem(active);
	}
	document.write('</ul>');
}

Menu.prototype.displayHeader = function(activePage) {
	document.write('<div id="subheader">');
	for(var item in this.menuItems)
	{
		if (activePage == this.menuItems[item].label)
			this.menuItems[item].displayMenuItemAsHeader();
	}
	document.write('</div>');
}
