/* jquery.semantictabs.js Creates semantic tabs from nested divs Chris Yates Usage: $("#mycontainer").semantictabs({ panel:'.mypanelclass', //-- Selector of individual panel body head:'headelement', //-- Selector of element containing panel header active:':first', //-- Which panel to activate by default activate:':eq(2)' //-- Argument used to activate panel programmatically }); */ jQuery.fn.semantictabs = function(passedArgsObj) { /* defaults */ var defaults = {panel:'.panel', head:'h3', active:':first', activate:false}; /* override the defaults if necessary */ var args = jQuery.extend(defaults,passedArgsObj); // Allow activation of specific tab, by index if (args.activate) { return this.each(function(){ var container = jQuery(this); container.find(args.panel).hide(); container.find("ul.tabs li").removeClass("active"); container.find(args.panel + ":eq(" + args.activate + ")").show(); container.find("ul.tabs li:eq(" + args.activate + ")").addClass("active"); }); } else { return this.each(function(){ // Load behavior var container = jQuery(this); container.find(args.panel).hide(); container.find(args.panel + args.active).show(); container.prepend("