tab_path = ".tabme .tab"
tab_a_path = tab_path + " a"

function tabme_show(event) {
    event.preventDefault();
    $(tab_a_path).each(function() {
        // Hide all divs
        $(this.hash).hide();
        // Remove flags
        var ftab = $(this).parent().parent()
        ftab.removeClass("selected");
        ftab.removeClass("onleft");
    });
    var tab = $(this).parent().parent()
    // Show selected div
    $(this.hash).show('fast');
    // Add flag
    tab.addClass("selected");
    find_and_mark_left_selected()
}

function find_and_mark_left_selected() {
    /* TODO rewrite  (awful) */
    var last = null;
    $(tab_path).each(function() {
        if((last != null) && $(this).hasClass("selected")) {
            last.addClass("onleft");
        }
        last = $(this);
    });
}

function tabme() {
    // Find a tab menu and hook it
    var tabs = $(tab_path);
    if(tabs.length) {
      tabs.eq(0).addClass("first-tab");
      tabs.eq(tabs.length-1).addClass("last");
    }

    var tabsa = $(tab_a_path);
    if (tabsa.length) {
        // Hide all divs at start
        tabsa.each(function() { $(this.hash).hide(); });
        // But show a default one, the one in the URL first
        var hash = window.location.hash ? window.location.hash : tabsa.eq(0).attr("hash");
        $(hash).show();
        // Select the matching tab
        var link = $("a[hash=" + hash + "]");
        var tab = link.parent().parent()
        tab.addClass("selected")
        find_and_mark_left_selected()
        // Hook the onclick event
        tabsa.click(tabme_show);
    }
}
