﻿/*
* jquery.tools 1.1.1 - The missing UI library for the Web
* 
* [tools.tabs-1.0.3, tools.tabs.history-1.0.1]
* 
* Copyright (c) 2009 Tero Piirainen
* http://flowplayer.org/tools/
*
* Dual licensed under MIT and GPL 2+ licenses
* http://www.opensource.org/licenses
* 
* -----
* 
* File generated: Fri Sep 18 12:31:12 GMT+00:00 2009
*/
(function(d) { d.tools = d.tools || {}; d.tools.tabs = { version: "1.0.3", conf: { tabs: "a", current: "current", onBeforeClick: null, onClick: null, effect: "default", initialIndex: 0, event: "click", api: false, rotate: false }, addEffect: function(e, f) { c[e] = f } }; var c = { "default": function(f, e) { this.getPanes().hide().eq(f).show(); e.call() }, fade: function(g, e) { var f = this.getConf(), h = f.fadeOutSpeed, j = this.getCurrentPane(); if (h) { j.fadeOut(h) } else { j.hide() } this.getPanes().eq(g).fadeIn(f.fadeInSpeed, e) }, slide: function(f, e) { this.getCurrentPane().slideUp(200); this.getPanes().eq(f).slideDown(400, e) }, ajax: function(f, e) { this.getPanes().eq(0).load(this.getTabs().eq(f).attr("href"), e) } }; var b; d.tools.tabs.addEffect("horizontal", function(f, e) { if (!b) { b = this.getPanes().eq(0).width() } this.getCurrentPane().animate({ width: 0 }, function() { d(this).hide() }); this.getPanes().eq(f).animate({ width: b }, function() { d(this).show(); e.call() }) }); function a(g, h, f) { var e = this, j = d(this), i; d.each(f, function(k, l) { if (d.isFunction(l)) { j.bind(k, l) } }); d.extend(this, { click: function(k) { var o = e.getCurrentPane(); var l = g.eq(k); if (typeof k == "string" && k.replace("#", "")) { l = g.filter("[href*=" + k.replace("#", "") + "]"); k = Math.max(g.index(l), 0) } if (f.rotate) { var m = g.length - 1; if (k < 0) { return e.click(m) } if (k > m) { return e.click(0) } } if (!l.length) { if (i >= 0) { return e } k = f.initialIndex; l = g.eq(k) } var n = d.Event("onBeforeClick"); j.trigger(n, [k]); if (n.isDefaultPrevented()) { return } if (k === i) { return e } l.addClass(f.current); c[f.effect].call(e, k, function() { j.trigger("onClick", [k]) }); g.removeClass(f.current); l.addClass(f.current); i = k; return e }, getConf: function() { return f }, getTabs: function() { return g }, getPanes: function() { return h }, getCurrentPane: function() { return h.eq(i) }, getCurrentTab: function() { return g.eq(i) }, getIndex: function() { return i }, next: function() { return e.click(i + 1) }, prev: function() { return e.click(i - 1) }, bind: function(k, l) { j.bind(k, l); return e }, onBeforeClick: function(k) { return this.bind("onBeforeClick", k) }, onClick: function(k) { return this.bind("onClick", k) }, unbind: function(k) { j.unbind(k); return e } }); g.each(function(k) { d(this).bind(f.event, function(l) { e.click(k); return l.preventDefault() }) }); if (location.hash) { e.click(location.hash) } else { e.click(f.initialIndex) } h.find("a[href^=#]").click(function() { e.click(d(this).attr("href")) }) } d.fn.tabs = function(i, f) { var g = this.eq(typeof f == "number" ? f : 0).data("tabs"); if (g) { return g } if (d.isFunction(f)) { f = { onBeforeClick: f} } var h = d.extend({}, d.tools.tabs.conf), e = this.length; f = d.extend(h, f); this.each(function(l) { var j = d(this); var k = j.find(f.tabs); if (!k.length) { k = j.children() } var m = i.jquery ? i : j.children(i); if (!m.length) { m = e == 1 ? d(i) : j.parent().find(i) } g = new a(k, m, f); j.data("tabs", g) }); return f.api ? g : this } })(jQuery);
(function(d) { var a = d.tools.tabs; a.plugins = a.plugins || {}; a.plugins.history = { version: "1.0.1", conf: { api: false} }; var e, b; function c(f) { if (f) { var g = b.contentWindow.document; g.open().close(); g.location.hash = f } } d.fn.onHash = function(g) { var f = this; if (d.browser.msie && d.browser.version < "8") { if (!b) { b = d("<iframe/>").attr("src", "javascript:false;").hide().get(0); d("body").append(b); setInterval(function() { var i = b.contentWindow.document, j = i.location.hash; if (e !== j) { d.event.trigger("hash", j); e = j } }, 100); c(location.hash || "#") } f.bind("click.hash", function(h) { c(d(this).attr("href")) }) } else { setInterval(function() { var j = location.hash; var i = f.filter("[href$=" + j + "]"); if (!i.length) { j = j.replace("#", ""); i = f.filter("[href$=" + j + "]") } if (i.length && j !== e) { e = j; d.event.trigger("hash", j) } }, 100) } d(window).bind("hash", g); return this }; d.fn.history = function(g) { var h = d.extend({}, a.plugins.history.conf), f; g = d.extend(h, g); this.each(function() { var k = d(this).tabs(), j = k.getTabs(), i = k; j.onHash(function(l, m) { if (!m || m == "#") { m = k.getConf().initialIndex } k.click(m) }); j.click(function(l) { location.hash = d(this).attr("href").replace("#", "") }) }); return g.api ? f : this } })(jQuery);
