/*
* jquery.tools 1.0.2 - The missing UI library
* 
* [tools.tabs-1.0.1, tools.tooltip-1.0.2, tools.scrollable-1.0.5, tools.overlay-1.0.4, tools.expose-1.0.3]
* 
* Copyright (c) 2009 Tero Piirainen
* http://flowplayer.org/tools/
*
* Dual licensed under MIT and GPL 2+ licenses
* http://www.opensource.org/licenses
* 
* -----
* 
* Build: Fri Jun 12 12:37:07 GMT+00:00 2009
*/
(function(c) { c.tools = c.tools || { version: {} }; c.tools.version.tabs = "1.0.1"; c.tools.addTabEffect = function(d, e) { b[d] = e }; var b = { "default": function(d) { this.getPanes().hide().eq(d).show() }, fade: function(d) { this.getPanes().hide().eq(d).fadeIn(this.getConf().fadeInSpeed) }, slide: function(d) { this.getCurrentPane().slideUp("fast"); this.getPanes().eq(d).slideDown() }, horizontal: function(d) { if (!c._hW) { c._hW = this.getPanes().eq(0).width() } this.getCurrentPane().animate({ width: 0 }, function() { c(this).hide() }); this.getPanes().eq(d).animate({ width: c._hW }, function() { c(this).show() }) } }; function a(e, f, g) { var d = this; var h; function i(j, k) { c(d).bind(j, function(m, l) { if (k && k.call(this, l.index) === false && l) { l.proceed = false } }); return d } c.each(g, function(j, k) { if (c.isFunction(k)) { i(j, k) } }); c.extend(this, { click: function(k) { if (k === h) { return d } var m = d.getCurrentPane(); var l = e.eq(k); if (typeof k == "string") { l = e.filter("[href=" + k + "]"); k = e.index(l) } if (!l.length) { if (h >= 0) { return d } k = g.initialIndex; l = e.eq(k) } var j = { index: k, proceed: true }; c(d).triggerHandler("onBeforeClick", j); if (!j.proceed) { return d } l.addClass(g.current); b[g.effect].call(d, k); c(d).triggerHandler("onClick", j); e.removeClass(g.current); l.addClass(g.current); h = k; return d }, getConf: function() { return g }, getTabs: function() { return e }, getPanes: function() { return f }, getCurrentPane: function() { return f.eq(h) }, getCurrentTab: function() { return e.eq(h) }, getIndex: function() { return h }, next: function() { return d.click(h + 1) }, prev: function() { return d.click(h - 1) }, onBeforeClick: function(j) { return i("onBeforeClick", j) }, onClick: function(j) { return i("onClick", j) } }); e.each(function(j) { c(this).bind(g.event, function(k) { d.click(j); if (!g.history) { return k.preventDefault() } }) }); if (g.history) { e.history(function(j, k) { d.click(k || 0) }) } if (location.hash) { d.click(location.hash) } else { d.click(g.initialIndex) } f.find("a[href^=#]").click(function() { d.click(c(this).attr("href")) }) } c.fn.tabs = function(g, d) { var e = this.eq(typeof conf == "number" ? conf : 0).data("tabs"); if (e) { return e } var f = { tabs: "a", current: "current", onBeforeClick: null, onClick: null, effect: "default", history: false, initialIndex: 0, event: "click", api: false }; if (c.isFunction(d)) { d = { onBeforeClick: d} } c.extend(f, d); this.each(function() { var h = c(this).find(f.tabs); if (!h.length) { h = c(this).children() } var i = g.jquery ? g : c(g); e = new a(h, i, f); c(this).data("tabs", e) }); return f.api ? e : this } })(jQuery); (function(b) { var c, a; b.prototype.history = function(e) { var d = this; if (b.browser.msie) { if (!a) { a = b("<iframe />").hide().get(0); b("body").append(a); setInterval(function() { var f = a.contentWindow.document; var g = f.location.hash; if (c !== g) { b.event.trigger("hash", g); c = g } }, 100) } d.bind("click.hash", function(g) { var f = a.contentWindow.document; f.open().close(); f.location.hash = b(this).attr("href") }); d.eq(0).triggerHandler("click.hash") } else { setInterval(function() { var f = location.hash; if (d.filter("[href*=" + f + "]").length && f !== c) { c = f; b.event.trigger("hash", f) } }, 100) } b(window).bind("hash", e); return this } })(jQuery);
(function(c) { c.tools = c.tools || { version: {} }; c.tools.version.tooltip = "1.0.2"; var b = { toggle: [function() { this.getTip().show() }, function() { this.getTip().hide() } ], fade: [function() { this.getTip().fadeIn(this.getConf().fadeInSpeed) }, function() { this.getTip().fadeOut(this.getConf().fadeOutSpeed) } ] }; c.tools.addTipEffect = function(d, f, e) { b[d] = [f, e] }; c.tools.addTipEffect("slideup", function() { var d = this.getConf(); var e = d.slideOffset || 10; this.getTip().css({ opacity: 0 }).animate({ top: "-=" + e, opacity: d.opacity }, d.slideInSpeed || 200).show() }, function() { var d = this.getConf(); var e = d.slideOffset || 10; this.getTip().animate({ top: "-=" + e, opacity: 0 }, d.slideOutSpeed || 200, function() { c(this).hide().animate({ top: "+=" + (e * 2) }, 0) }) }); function a(f, e) { var d = this; var h = f.next(); if (e.tip) { if (e.tip.indexOf("#") != -1) { h = c(e.tip) } else { h = f.nextAll(e.tip).eq(0); if (!h.length) { h = f.parent().nextAll(e.tip).eq(0) } } } function j(k, l) { c(d).bind(k, function(n, m) { if (l && l.call(this) === false && m) { m.proceed = false } }); return d } c.each(e, function(k, l) { if (c.isFunction(l)) { j(k, l) } }); var g = f.is("input, textarea"); f.bind(g ? "focus" : "mouseover", function(k) { k.target = this; d.show(k); h.hover(function() { d.show() }, function() { d.hide() }) }); f.bind(g ? "blur" : "mouseout", function() { d.hide() }); h.css("opacity", e.opacity); var i = 0; c.extend(d, { show: function(q) { if (q) { f = c(q.target) } clearTimeout(i); if (h.is(":animated") || h.is(":visible")) { return d } var o = { proceed: true }; c(d).trigger("onBeforeShow", o); if (!o.proceed) { return d } var n = f.position().top - h.outerHeight(); var k = h.outerHeight() + f.outerHeight(); var r = e.position[0]; if (r == "center") { n += k / 2 } if (r == "bottom") { n += k } var l = f.outerWidth() + h.outerWidth(); var m = f.position().left + f.outerWidth(); r = e.position[1]; if (r == "center") { m -= l / 2 } if (r == "left") { m -= l } n += e.offset[0]; m += e.offset[1]; h.css({ position: "absolute", top: n, left: m }); b[e.effect][0].call(d); c(d).trigger("onShow"); return d }, hide: function() { clearTimeout(i); i = setTimeout(function() { if (!h.is(":visible")) { return d } var k = { proceed: true }; c(d).trigger("onBeforeHide", k); if (!k.proceed) { return d } b[e.effect][1].call(d); c(d).trigger("onHide") }, e.delay || 1); return d }, isShown: function() { return h.is(":visible, :animated") }, getConf: function() { return e }, getTip: function() { return h }, getTrigger: function() { return f }, onBeforeShow: function(k) { return j("onBeforeShow", k) }, onShow: function(k) { return j("onShow", k) }, onBeforeHide: function(k) { return j("onBeforeHide", k) }, onHide: function(k) { return j("onHide", k) } }) } c.prototype.tooltip = function(d) { var e = this.eq(typeof d == "number" ? d : 0).data("tooltip"); if (e) { return e } var f = { tip: null, effect: "slideup", delay: 30, opacity: 1, position: ["top", "center"], offset: [0, 0], api: false }; if (c.isFunction(d)) { d = { onBeforeShow: d} } c.extend(f, d); this.each(function() { e = new a(c(this), f); c(this).data("tooltip", e) }); return f.api ? e : this } })(jQuery);
(function(b) { b.tools = b.tools || { version: {} }; b.tools.version.scrollable = "1.0.5"; var c = null; function a(p, m) { var s = this; if (!c) { c = s } function n(t, u) { b(s).bind(t, function(w, v) { if (u && u.call(this, v.index) === false && v) { v.proceed = false } }); return s } b.each(m, function(t, u) { if (b.isFunction(u)) { n(t, u) } }); var d = !m.vertical; var f = b(m.items, p); var j = 0; function l(u, t) { return u.indexOf("#") != -1 ? b(u).eq(0) : t.siblings(u).eq(0) } var q = l(m.navi, p); var g = l(m.prev, p); var i = l(m.next, p); var h = l(m.prevPage, p); var o = l(m.nextPage, p); b.extend(s, { getIndex: function() { return j }, getConf: function() { return m }, getSize: function() { return s.getItems().size() }, getPageAmount: function() { return Math.ceil(this.getSize() / m.size) }, getPageIndex: function() { return Math.ceil(j / m.size) }, getRoot: function() { return p }, getItemWrap: function() { return f }, getItems: function() { return f.children() }, getVisibleItems: function() { return s.getItems().slice(j, j + m.size) }, seekTo: function(w, u, A) { if (u === undefined) { u = m.speed } if (b.isFunction(u)) { A = u; u = m.speed } if (w < 0) { w = 0 } if (w > s.getSize() - m.size) { return s } var B = s.getItems().eq(w); if (!B.length) { return s } var t = { index: w, proceed: true }; b(s).trigger("onBeforeSeek", t); if (!t.proceed) { return s } if (d) { var v = -B.position().left; f.animate({ left: v }, u, m.easing, A ? function() { A.call(s) } : null) } else { var z = -B.position().top; f.animate({ top: z }, u, m.easing, A ? function() { A.call(s) } : null) } if (q.length) { var x = m.activeClass; var y = Math.ceil(w / m.size); y = Math.min(y, q.children().length - 1); q.children().removeClass(x).eq(y).addClass(x) } if (w === 0) { g.add(h).addClass(m.disabledClass) } else { g.add(h).removeClass(m.disabledClass) } if (w >= s.getSize() - m.size) { i.add(o).addClass(m.disabledClass) } else { i.add(o).removeClass(m.disabledClass) } c = s; j = w; b(s).trigger("onSeek", { index: w }); return s }, move: function(v, u, t) { var w = j + v; if (m.loop && w > (s.getSize() - m.size)) { w = 0 } return this.seekTo(w, u, t) }, next: function(u, t) { return this.move(1, u, t) }, prev: function(u, t) { return this.move(-1, u, t) }, movePage: function(v, u, t) { return this.move(m.size * v, u, t) }, setPage: function(x, y, v) { var u = m.size; var t = u * x; var w = t + u >= this.getSize(); if (w) { t = this.getSize() - m.size } return this.seekTo(t, y, v) }, prevPage: function(u, t) { return this.setPage(this.getPageIndex() - 1, u, t) }, nextPage: function(u, t) { return this.setPage(this.getPageIndex() + 1, u, t) }, begin: function(u, t) { return this.seekTo(0, u, t) }, end: function(u, t) { return this.seekTo(this.getSize() - m.size, u, t) }, reload: function() { return r() }, click: function(u, x, v) { var w = s.getItems().eq(u); var t = m.activeClass; if (u < 0 || u >= this.getSize()) { return s } if (m.size == 2) { if (u == s.getIndex()) { u-- } s.getItems().removeClass(t); w.addClass(t); return this.seekTo(u, x, v) } if (!w.hasClass(t)) { s.getItems().removeClass(t); w.addClass(t); var z = Math.floor(m.size / 2); var y = u - z; if (y > s.getSize() - m.size) { y = s.getSize() - m.size } if (y !== u) { return this.seekTo(y, x, v) } } return s }, onBeforeSeek: function(t) { return n("onBeforeSeek", t) }, onSeek: function(t) { return n("onSeek", t) } }); if (b.isFunction(b.fn.mousewheel)) { p.bind("mousewheel.scrollable", function(u, v) { var t = b.browser.opera ? 1 : -1; s.move(v > 0 ? t : -t, 50); return false }) } g.addClass(m.disabledClass).click(function() { s.prev() }); i.click(function() { s.next() }); o.click(function() { s.nextPage() }); h.addClass(m.disabledClass).click(function() { s.prevPage() }); if (m.keyboard) { b(document).unbind("keydown.scrollable").bind("keydown.scrollable", function(t) { var u = c; if (!u || t.altKey || t.ctrlKey) { return } if (d && (t.keyCode == 37 || t.keyCode == 39)) { u.move(t.keyCode == 37 ? -1 : 1); return t.preventDefault() } if (!d && (t.keyCode == 38 || t.keyCode == 40)) { u.move(t.keyCode == 38 ? -1 : 1); return t.preventDefault() } return true }) } function r() { if (q.is(":empty") || q.data("me") == s) { q.empty(); q.data("me", s); for (var u = 0; u < s.getPageAmount(); u++) { var v = b("<" + m.naviItem + "/>").attr("href", u).click(function(x) { var w = b(this); w.parent().children().removeClass(m.activeClass); w.addClass(m.activeClass); s.setPage(w.attr("href")); return x.preventDefault() }); if (u === 0) { v.addClass(m.activeClass) } q.append(v) } } else { var t = q.children(); t.each(function(w) { var x = b(this); x.attr("href", w); if (w === 0) { x.addClass(m.activeClass) } x.click(function() { q.find("." + m.activeClass).removeClass(m.activeClass); x.addClass(m.activeClass); s.setPage(x.attr("href")) }) }) } if (m.clickable) { s.getItems().each(function(x, w) { var y = b(this); if (!y.data("set")) { y.bind("click.scrollable", function() { s.click(x) }); y.data("set", true) } }) } if (m.hoverClass) { s.getItems().hover(function() { b(this).addClass(m.hoverClass) }, function() { b(this).removeClass(m.hoverClass) }) } return s } r(); var e = null; function k() { if (e) { return } e = setInterval(function() { if (m.interval === 0) { clearInterval(e); e = 0; return } s.next() }, m.interval) } if (m.interval > 0) { p.hover(function() { clearInterval(e); e = 0 }, function() { k() }); k() } } b.fn.scrollable = function(d) { var e = this.eq(typeof d == "number" ? d : 0).data("scrollable"); if (e) { return e } var f = { size: 5, vertical: false, clickable: true, loop: false, interval: 0, speed: 400, keyboard: true, activeClass: "active", disabledClass: "disabled", hoverClass: null, easing: "swing", items: ".items", prev: ".prev", next: ".next", prevPage: ".prevPage", nextPage: ".nextPage", navi: ".navi", naviItem: "a", api: false, onBeforeSeek: null, onSeek: null }; b.extend(f, d); this.each(function() { e = new a(b(this), f); b(this).data("scrollable", e) }); return f.api ? e : this } })(jQuery);
(function(b) { b.tools = b.tools || { version: {} }; b.tools.version.overlay = "1.0.4"; var c = []; function a(h, d) { var r = this, q = b(window), f, n, s, i, k, m, l; var e = d.expose && b.tools.version.expose; function p(o, t) { b(r).bind(o, function(v, u) { if (t && t.call(this) === false && u) { u.proceed = false } }); return r } b.each(d, function(o, t) { if (b.isFunction(t)) { p(o, t) } }); var j = d.target || h.attr("rel"); var g = j ? b(j) : null; if (!g) { g = h } else { k = h } q.load(function() { m = g.attr("overlay"); if (!m) { m = g.css("backgroundImage"); if (!m) { throw "background-image CSS property not set for overlay element: " + j } m = m.substring(m.indexOf("(") + 1, m.indexOf(")")).replace(/\"/g, ""); g.css("backgroundImage", "none"); g.attr("overlay", m) } s = g.outerWidth({ margin: true }); i = g.outerHeight({ margin: true }); n = b('<img src="' + m + '"/>'); n.css({ border: 0, position: "absolute", display: "none" }).width(s).attr("overlay", true); b("body").append(n); if (k) { k.bind("click.overlay", function(o) { r.load(o.pageY - q.scrollTop(), o.pageX - q.scrollLeft()); return o.preventDefault() }) } d.close = d.close || ".close"; if (!g.find(d.close).length) { g.prepend('<div class="close"></div>') } f = g.find(d.close); f.bind("click.overlay", function() { r.close() }); if (d.preload) { setTimeout(function() { var o = new Image(); o.src = m }, 2000) } }); b.extend(r, { load: function(w, v) { if (!n) { q.load(function() { r.load(w, v) }); return r } if (r.isOpened()) { return r } if (d.oneInstance) { b.each(c, function() { this.close() }) } var u = { proceed: true }; b(r).trigger("onBeforeLoad", u); if (!u.proceed) { return r } if (e) { n.expose(d.expose); l = n.expose().load() } w = w || d.start.top; v = v || d.start.left; var o = d.finish.top; var t = d.finish.left; if (o == "center") { o = Math.max((q.height() - i) / 2, 0) } if (t == "center") { t = Math.max((q.width() - s) / 2, 0) } if (!d.start.absolute) { w += q.scrollTop(); v += q.scrollLeft() } if (!d.finish.absolute) { o += q.scrollTop(); t += q.scrollLeft() } n.css({ top: w, left: v, width: d.start.width, zIndex: d.zIndex }).show(); n.animate({ top: o, left: t, width: s }, d.speed, function() { g.css({ position: "absolute", top: o, left: t }); var x = n.css("zIndex"); f.add(g).css("zIndex", ++x); g.fadeIn(d.fadeInSpeed, function() { b(r).trigger("onLoad") }) }); return r }, close: function() { if (!r.isOpened()) { return r } var u = { proceed: true }; b(r).trigger("onBeforeClose", u); if (!u.proceed) { return r } if (l) { l.close() } if (n.is(":visible")) { g.hide(); var t = d.start.top; var o = d.start.left; if (k) { u = k.offset(); t = u.top + k.height() / 2; o = u.left + k.width() / 2 } n.animate({ top: t, left: o, width: 0 }, d.closeSpeed, function() { b(r).trigger("onClose", u) }) } return r }, getBackgroundImage: function() { return n }, getContent: function() { return g }, getTrigger: function() { return k }, isOpened: function() { return g.is(":visible") }, getConf: function() { return d }, onBeforeLoad: function(o) { return p("onBeforeLoad", o) }, onLoad: function(o) { return p("onLoad", o) }, onBeforeClose: function(o) { return p("onBeforeClose", o) }, onClose: function(o) { return p("onClose", o) } }); b(document).keydown(function(o) { if (o.keyCode == 27) { r.close() } }); if (d.closeOnClick) { b(document).bind("click.overlay", function(o) { if (!g.is(":visible, :animated")) { return } var t = b(o.target); if (t.attr("overlay")) { return } if (t.parents("[overlay]").length) { return } r.close() }) } } b.fn.overlay = function(e) { var f = this.eq(typeof e == "number" ? e : 0).data("overlay"); if (f) { return f } var d = b(window); var g = { start: { top: Math.round(d.height() / 2), left: Math.round(d.width() / 2), width: 0, absolute: false }, finish: { top: 80, left: "center", absolute: false }, speed: "normal", fadeInSpeed: "fast", closeSpeed: "fast", close: null, oneInstance: true, closeOnClick: true, preload: true, zIndex: 9999, api: false, expose: null, target: null }; if (b.isFunction(e)) { e = { onBeforeLoad: e} } b.extend(true, g, e); this.each(function() { f = new a(b(this), g); c.push(f); b(this).data("overlay", f) }); return g.api ? f : this } })(jQuery);
(function(b) { b.tools = b.tools || { version: {} }; b.tools.version.expose = "1.0.3"; function a() { var e = b(window).width(); if (b.browser.mozilla) { return e } var d; if (window.innerHeight && window.scrollMaxY) { d = window.innerWidth + window.scrollMaxX } else { if (document.body.scrollHeight > document.body.offsetHeight) { d = document.body.scrollWidth } else { d = document.body.offsetWidth } } return d < e ? d + 20 : e } function c(g, h) { var e = this, d = null, f = false, i = 0; function j(k, l) { b(e).bind(k, function(n, m) { if (l && l.call(this) === false && m) { m.proceed = false } }); return e } b.each(h, function(k, l) { if (b.isFunction(l)) { j(k, l) } }); b(window).bind("resize.expose", function() { if (d) { d.css({ width: a(), height: b(document).height() }) } }); b.extend(this, { getMask: function() { return d }, getExposed: function() { return g }, getConf: function() { return h }, isLoaded: function() { return f }, load: function() { if (f) { return e } i = g.eq(0).css("zIndex"); if (h.maskId) { d = b("#" + h.maskId) } if (!d || !d.length) { d = b("<div/>").css({ position: "absolute", top: 0, left: 0, width: a(), height: b(document).height(), display: "none", opacity: 0, zIndex: h.zIndex }); if (h.maskId) { d.attr("id", h.maskId) } b("body").append(d); var k = d.css("backgroundColor"); if (!k || k == "transparent" || k == "rgba(0, 0, 0, 0)") { d.css("backgroundColor", h.color) } if (h.closeOnEsc) { b(document).bind("keydown.unexpose", function(n) { if (n.keyCode == 27) { e.close() } }) } if (h.closeOnClick) { d.bind("click.unexpose", function() { e.close() }) } } var m = { proceed: true }; b(e).trigger("onBeforeLoad", m); if (!m.proceed) { return e } b.each(g, function() { var n = b(this); if (!/relative|absolute|fixed/i.test(n.css("position"))) { n.css("position", "relative") } }); g.css({ zIndex: h.zIndex + 1 }); var l = d.height(); if (!this.isLoaded()) { d.css({ opacity: 0, display: "block" }).fadeTo(h.loadSpeed, h.opacity, function() { if (d.height() != l) { d.css("height", l) } b(e).trigger("onLoad") }) } f = true; return e }, close: function() { if (!f) { return e } var k = { proceed: true }; b(e).trigger("onBeforeClose", k); if (k.proceed === false) { return e } d.fadeOut(h.closeSpeed, function() { b(e).trigger("onClose"); g.css({ zIndex: b.browser.msie ? i : null }) }); f = false; return e }, onBeforeLoad: function(k) { return j("onBeforeLoad", k) }, onLoad: function(k) { return j("onLoad", k) }, onBeforeClose: function(k) { return j("onBeforeClose", k) }, onClose: function(k) { return j("onClose", k) } }) } b.fn.expose = function(d) { var e = this.eq(typeof d == "number" ? d : 0).data("expose"); if (e) { return e } var f = { maskId: null, loadSpeed: "slow", closeSpeed: "fast", closeOnClick: true, closeOnEsc: true, zIndex: 9998, opacity: 0.8, color: "#456", api: false }; if (typeof d == "string") { d = { color: d} } b.extend(f, d); this.each(function() { e = new c(b(this), f); b(this).data("expose", e) }); return f.api ? e : this } })(jQuery);
