﻿document.observe("dom:loaded", function() {
    var tabs = $("content-tabs");
    var sections = $("content-tab-sections");
    var tabsAnimating = false;

    if (tabs || sections) {
        tabs.select("li").each(function(tab, index) {
            tab.observe("click", function(e) {
                if (!tabsAnimating) {
                    tabs.select(".open").invoke("addClassName", "closed").invoke("removeClassName", "open");
                    Event.element(e).removeClassName("closed").addClassName("open");

                    Effect.SlideUp(sections.select(".current")[0], {
                        duration: 0.3,
                        queue: 'front',
                        beforeStart: function() { tabsAnimating = true }
                    });
                    sections.select(".current").invoke("removeClassName", "current");

                    Effect.SlideDown(sections.childElements()[index], {
                        duration: 0.3,
                        queue: 'end',
                        afterFinish: function() { tabsAnimating = false }
                    });
                    sections.childElements()[index].addClassName("current");
                }
            });
        });
    }
});