var build_top_menu = function() {
    // inline template for edit goto jtmpl/top_menu.jtmpl replace format string avec ''
    var top_tmpl = $.template(null, '<div class="entry"><div class="label">{{html top_entry}}</div>{{if submenu}}<div class="submenu"><div class="submenu_entries"><ul>{{each entries}}<li><a href="${path}">${title}</a></li>{{/each}}</ul></div></div>{{/if}}</div>');

    $.getJSON('./get_topmenu',
        function(data) {
            var index = 0;
            $top_menu = $('#top_menu');
            for (top_entry in data.items) {
                // don't render submenu if there are no entires
                if (data.items[top_entry].entries.length > 0)
                    data.items[top_entry].submenu = true;

                var newentries = new Array();
                label:for (var i = 0; i < data.items[top_entry].entries.length; i += 1) {
                    var val = data.items[top_entry].entries[i].title;
                    for (var j = 0; j < newentries.length; j += 1) {
                        if (newentries[j].title == val) {
                            continue label;
                        }
                    }
                    newentries[newentries.length] = data.items[top_entry].entries[i];
                }

                if (index == 0)
                    for (var i = 0; i < newentries.length - 1; i++)
                        for (var j = i + 1; j < newentries.length; j++) {
                            if (newentries[j].title < newentries[i].title) {
                                tmp = newentries[i];
                                newentries[i] = newentries[j];
                                newentries[j] = tmp;
                            }
                        }

                data.items[top_entry].entries = newentries;
                $top_menu.append($.tmpl(top_tmpl, data.items[top_entry]));
                index++;
            }
            /* setup submenu mouseover */
            $(".entry").mouseenter(function() {
                $(this).find(".submenu").css("display", "block");
            })
                .mouseleave(function() {
                    $(this).find(".submenu").css("display", "none");
                });
        });
}


$(document).ready(function() {

    build_top_menu();
});

