/* Implement a sidebar menu */

function SideMenu (head_image,head_over_image,head_url)
{
	this.head_image = head_image;
	this.head_over_image = head_over_image;
	this.head_url = head_url;

	this.items = new Array();
	this.addMenuItem = addMenuItem;
	this.setActiveMenuItem = setActiveMenuItem;
	this.writeMenu = writeMenu;
}

function MenuItem(id,label,image,over_image,url) {
 this.id = id;
 this.label = label;
 this.image = image;
 this.over_image = over_image;
 this.url = url;
  
 this.active = false;
}

function addMenuItem(id,label,image,over_image,url) {
 this.items[this.items.length] = new MenuItem(id,label,image,over_image,url);
}

/* Actually, this makes the link inactive. */
function setActiveMenuItem(i) {
	var item = this.items[i];
	item.active = true;
}

function generate_rollover_image(id,image,image_over,url)
{
	var swap_js = "changeImages('" + id + "','" + image_over + "');return true;";
	var restore_js = "changeImages('" + id + "','" + image + "');return true;";
	var html = "<a onMouseOver=\"" + swap_js + "\" onMouseOut=\"" + restore_js + "\" href=\"" + url + "\">" +
		"<img id=\"" + id + "\" src=\"" + image + "\">" +
		"</a>";
	return html;
}

function writeMenu()
{
 var content = "", i;
 
 content += "<div class=\"sidemenu\">";

 if(this.head_url == "") { 
	 content += "<div class=\"sidemenu_head\"><img src='" + this.head_image + "'></div>";
 }
 else {
	 content += "<div class=\"sidemenu_head\">" + 
	generate_rollover_image("menuhead",this.head_image,this.head_over_image,this.head_url) +
	"</div>";
 }
 
 for(i = 0;i < this.items.length;i++) {
  var menu_item = this.items[i];
  
  content += "<div class=\"sidemenu_item\">";
  
  if(menu_item.active) {
   content += "<img src=\"" + menu_item.over_image + "\"/>"
  }
  else {
   content += generate_rollover_image(menu_item.id,menu_item.image,menu_item.over_image,menu_item.url);
  } 
  
  content += "</div>";
 }
 
 content += "</div>";
 
 document.writeln(content);
}
