textTab = Class.create({
    initialize: function(args) {
        // tabs: dojo.query("#spp_product_details_nav span"),
        // panes: dojo.query("#spp_product_details ul.product_tab_pane"),
        // activeTabClass: "on"

        this.tabs = args.tabs;
        this.panes = args.panes;
        this.activeTabClass = args.activeTabClass;
        var thisTextTab = this;
        this.activeTabId = null;
        
        this.tabs.each(function(tab) {
            tab = $(tab);
            if (tab.hasClassName(thisTextTab.activeTabClass)) {
                thisTextTab.activeTabId = tab.id;
                tab.setStyle({"cursor" : "default"});
            } else {
                tab.setStyle({"cursor" : "pointer"});
            }
            
            tab.observe("click", function(evt) {
                var selTabId = evt.target.id;
                
                // get active tab
                if (selTabId != thisTextTab.activeTabId) {
                    
                    var selPaneId = selTabId + '_pane'; // selected pane
                    var activeTabId = thisTextTab.activeTabId;
                    var activeClass = thisTextTab.activeTabClass;
                    
                    thisTextTab.tabs.each(function(tab) {
                        // turn current active off
                        if (tab.id == activeTabId) {
                            tab.removeClassName(activeClass);
                            tab.setStyle({"cursor": "pointer"});
                        } else if (tab.id == selTabId) {
                            tab.addClassName(activeClass);
                            tab.setStyle({"cursor": "default"});
                        }
                    });

                    thisTextTab.panes.each(function(pane) {
                        if (pane.id == activeTabId + "_pane") {
                            pane.addClassName("hidden");
                        } else if (pane.id == selPaneId) {
                            pane.removeClassName("hidden");
                        }
                    });
                    
                    // set active
                    thisTextTab.activeTabId = selTabId;
                }
            });
        });
    }
});

