/* menu object for SWAT */ /* display a menu object. Currently only the "simple", "vertical" menu style is supported */ function menu_display() { var i, m = this; assert(m.style == "simple" && m.orientation == "vertical"); write('<div class="' + m.class + '">\n'); write("<i>" + m.name + "</i><br /><ul>\n"); for (i = 0; i < m.element.length; i++) { var e = m.element[i]; write("<li><a href=\"" + e.link + "\">" + e.label + "</a></li>\n"); } write("</ul></div>\n"); } /* create a menu object with the defaults filled in, ready for display_menu() */ function MenuObj(name, num_elements) { var i, o = new Object(); o.name = name; o.class = "menu"; o.style = "simple"; o.orientation = "vertical" o.element = new Array(num_elements); for (i in o.element) { o.element[i] = new Object(); } o.display = menu_display; return o; } /* return a menu object created using a title, followed by a set of label/link pairs */ function simple_menu() { var i, m = MenuObj(arguments[0], (arguments.length-1)/2); for (i=0;i<m.element.length;i++) { var ndx = i*2; m.element[i].label = arguments[ndx+1]; m.element[i].link = arguments[ndx+2]; } return m; }