diff options
Diffstat (limited to 'themes/default/js/menu.js')
-rw-r--r-- | themes/default/js/menu.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/themes/default/js/menu.js b/themes/default/js/menu.js new file mode 100644 index 0000000..8107a72 --- /dev/null +++ b/themes/default/js/menu.js @@ -0,0 +1,54 @@ +function main_menu(items) { + output = "<ul>" + for (item in items) { + i = items[item]; + + // Handle active page + if (i["active"]) { + active = 'class = "active"'; + } else { + active = ''; + } + + // Line break labels + label = i["label"]; + if (label.search(" ") != -1) { + label = label.replace(" ", "<br />"); + } else { + label = " <br />" + label; + } + + output = output +'<li><a href="' + i["url"] + '" ' + active + '>' + label + "</a></li>"; + } + output = output + "</ul>"; + document.write(output); +} + +function render_items(items) { + output = "<ul>"; + for (item in items) { + i = items[item]; + + // Handle active page + if (i["active"]) { + active = 'class = "active"'; + } else { + active = ''; + } + + output = output +'<li><a href="' + i["url"] + '" ' + active + '>' + i['label'] + "</a></li>"; + if (i['subs']) { + output += render_items(i['subs']); + } + } + output = output + "</ul>"; + return output +} + +function side_menu(items) { + if (items.length == 0) { + return 0; + } + output = "<h2>Menu</h2>" + render_items(items); + document.write(output); +}
\ No newline at end of file |