/*
* jQuery Tools 1.2.3 - The missing UI library for the Web
* 
* [tabs]
* 
* NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
* 
* http://flowplayer.org/tools/
* 
* File generated: Sat Jun 12 11:55:12 GMT 2010
*/
(function(c) {
    function p(e, b, a) {
        var d = this, l = e.add(this), h = e.find(a.tabs), i = b.jquery ? b : e.children(b), j; h.length || (h = e.children()); i.length || (i = e.parent().find(b)); i.length || (i = c(b)); c.extend(this, { click: function(f, g) {
            var k = h.eq(f); if (typeof f == "string" && f.replace("#", "")) { k = h.filter("[href*=" + f.replace("#", "") + "]"); f = Math.max(h.index(k), 0) } if (a.rotate) { var n = h.length - 1; if (f < 0) return d.click(n, g); if (f > n) return d.click(0, g) } if (!k.length) { if (j >= 0) return d; f = a.initialIndex; k = h.eq(f) } if (f === j) return d;
            g = g || c.Event(); g.type = "onBeforeClick"; l.trigger(g, [f]); if (!g.isDefaultPrevented()) { o[a.effect].call(d, f, function() { g.type = "onClick"; l.trigger(g, [f]) }); j = f; h.removeClass(a.current); k.addClass(a.current); return d } 
        }, getConf: function() { return a }, getTabs: function() { return h }, getPanes: function() { return i }, getCurrentPane: function() { return i.eq(j) }, getCurrentTab: function() { return h.eq(j) }, getIndex: function() { return j }, next: function() { return d.click(j + 1) }, prev: function() { return d.click(j - 1) }, destroy: function() {
            h.unbind(a.event).removeClass(a.current);
            i.find("a[href^=#]").unbind("click.T"); return d
        } 
        }); c.each("onBeforeClick,onClick".split(","), function(f, g) { c.isFunction(a[g]) && c(d).bind(g, a[g]); d[g] = function(k) { c(d).bind(g, k); return d } }); if (a.history && c.fn.history) { c.tools.history.init(h); a.event = "history" } h.each(function(f) { c(this).bind(a.event, function(g) { d.click(f, g); return g.preventDefault() }) }); i.find("a[href^=#]").bind("click.T", function(f) { d.click(c(this).attr("href"), f) }); if (location.hash) d.click(location.hash); else if (a.initialIndex ===
0 || a.initialIndex > 0) d.click(a.initialIndex)
    } c.tools = c.tools || { version: "1.2.3" }; c.tools.tabs = { conf: { tabs: "a", current: "current", onBeforeClick: null, onClick: null, effect: "default", initialIndex: 0, event: "click", rotate: false, history: false }, addEffect: function(e, b) { o[e] = b } }; var o = { "default": function(e, b) { this.getPanes().hide().eq(e).show(); b.call() }, fade: function(e, b) { var a = this.getConf(), d = a.fadeOutSpeed, l = this.getPanes(); d ? l.fadeOut(d) : l.hide(); l.eq(e).fadeIn(a.fadeInSpeed, b) }, slide: function(e, b) {
        this.getPanes().slideUp(200);
        this.getPanes().eq(e).slideDown(400, b)
    }, ajax: function(e, b) { this.getPanes().eq(0).load(this.getTabs().eq(e).attr("href"), b) } 
    }, m; c.tools.tabs.addEffect("horizontal", function(e, b) { m || (m = this.getPanes().eq(0).width()); this.getCurrentPane().animate({ width: 0 }, function() { c(this).hide() }); this.getPanes().eq(e).animate({ width: m }, function() { c(this).show(); b.call() }) }); c.fn.tabs = function(e, b) {
        var a = this.data("tabs"); if (a) { a.destroy(); this.removeData("tabs") } if (c.isFunction(b)) b = { onBeforeClick: b }; b = c.extend({},
c.tools.tabs.conf, b); this.each(function() { a = new p(c(this), e, b); c(this).data("tabs", a) }); return b.api ? a : this
    } 
})(jQuery);

