summaryrefslogtreecommitdiff
path: root/themes/default/js/menu.js
diff options
context:
space:
mode:
Diffstat (limited to 'themes/default/js/menu.js')
-rw-r--r--themes/default/js/menu.js54
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 = "&nbsp;<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