var tab = {
    tabCache: [],
    change: function(id) {

        $$(".tabSet li").invoke("removeClassName","tabActive");
        $(id).addClassName("tabActive");

        var bits = id.split("_");
        
        mode = bits[1];
        id = bits[2];

        if(mode == "ajax") {
            $("tabBoxInner").update('<div id="loading"><img src="../images/loading.gif" /></div>');
            if(this.tabCache[id]) {
                $("tabBoxInner").update(this.tabCache[id]);
            } else {
                new Ajax.Request($("urlPrefix").value+id, {
                    onSuccess: function(t) {
                        this.tabCache[id] = t.responseText;
                        $("tabBoxInner").update(t.responseText);
                    }.bind(this)
                });
            }
        } else {
            $$(".tabbedBoxDiv").invoke("hide");
            $(id).show();
        }
    }
}

document.observe( "dom:loaded", function() {
    $$(".tabSet li").invoke("observe","click",function(e) {
        tab.change(e.element().id);
    })
});