var menu, title, lists, curlist, curitems;
function  Menu(width, height, title, lists) {
  this.width = width;
  this.height = height;
  this.title = title;
  this.lists = lists;  
}
function  Title(width, height, bg1, bg2, bgwidth, rowspan) {
  this.width = width;
  this.height = height;
  this.bg1 = bg1;
  this.bg2 = bg2;
  this.bgwidth = bgwidth;
  this.rowspan = rowspan;  
}
function  List(width, height, name, fontc, items){
  this.width = width;
  this.height = height;
  this.name = name;
  this.fontc = fontc;
  this.items = items;
}

function  Item(width, height, href, name) {
  this.width = width;
  this.height = height;
  this.href = href;
  this.name = name;
}

function benginMenu(width, height, twidth, theight, bg1, bg2, bgwidth) {
  title = new Title(twidth, theight , bg1, bg2, bgwidth, 2);
  lists = new Array();
  menu = new Menu(width, height, title, lists)  ;
}

function appendList(width, height, name, fontc) {
  curitems = new Array();
  curlist = new List(width, height, name, fontc, curitems);
  lists[lists.length] = curlist ;  
}

function appendItem(width, height, href, name) {
  curlist.items[curlist.items.length] = new Item(width, height, href, name);
}

function outputStream() {
  writeline('<table width=\"'+menu.width+'\" height=\"'+menu.height+'\" cellpadding="0" cellspacing="0">');
  writeline("<tr>");
  var tr = title.rowspan;
  //alert(tr);
  for(i=0;i<lists.length;i++) {
    tr = tr+2;;
    tr = tr+lists[i].items.length;;
  }
  tr = tr+1;
  //alert(tr);
  writeline('<td width=\"'+title.bgwidth+'\" rowspan=\"'+tr+'\" background='+title.bg1+'>&nbsp;</td>') ;
  writeline('<td width=\"'+title.width+'\" height=\"'+title.height+'\" valign="middle"><span class="menu1"></span></td>');
  writeline('<td width=\"'+title.bgwidth+'\" rowspan=\"'+tr+'\" background='+title.bg2+'>&nbsp;</td>') ;
  writeline("</tr>") ;
  separator()   ;
  list();
  writeline("<tr>");
  writeline('<td height="100%" valign="middle">&nbsp;</td>');
  writeline("</tr>");
  writeline("</table>");
}

function list() { 
  for(i=0;i<lists.length;i++) {
    anlist = lists[i];
    writeline("<tr>");
	writeline('<td width=\"'+anlist.width+'\" height=\"'+anlist.height+'\" valign="middle"><span class="menu1"><strong><font color=\"'+anlist.fontc+'\">'+anlist.name+'</font></strong></span></td>');
	writeline("</tr>");
  	items = anlist.items;
	for(j=0;j<items.length;j++) {
		writeline("<tr>");
        writeline('<td width=\"'+items[j].width+'\" height=\"'+items[j].height+'\" valign="middle"><a href='+items[j].href+' class="menu1">'+items[j].name+'</a></td>');
        writeline("</tr>");
	}
	separator();
  }
}

function separator() {
  writeline("<tr>");
  writeline('<td height="20" valign="middle"><hr size="1" color="#CCCCCC"></td>')
  writeline("</tr>");
}

function writeline(str) {
  document.writeln(str);
}

function endMenu() {
  outputStream();
}
