﻿/**
* author Remy Sharp
* url http://remysharp.com/tag/marquee
*/

(function ($) {
    $.fn.marquee = function (klass) {
        var newMarquee = [],
            last = this.length;

        // works out the left or right hand reset position, based on scroll
        // behavior, current direction and new direction
        function getReset(newDir, marqueeRedux, marqueeState) {
            var behavior = marqueeState.behavior, width = marqueeState.width, dir = marqueeState.dir;
            var r = 0;
            if (behavior == 'alternate') {
                r = newDir == 1 ? marqueeRedux[marqueeState.widthAxis] - (width * 2) : width;
            } else if (behavior == 'slide') {
                if (newDir == -1) {
                    r = dir == -1 ? marqueeRedux[marqueeState.widthAxis] : width;
                } else {
                    r = dir == -1 ? marqueeRedux[marqueeState.widthAxis] - (width * 2) : 0;
                }
            } else {
                r = newDir == -1 ? marqueeRedux[marqueeState.widthAxis] : 0;
            }
            return r;
        }

        // single "thread" animation
        function animateMarquee() {
            var i = newMarquee.length,
                marqueeRedux = null,
                $marqueeRedux = null,
                marqueeState = {},
                newMarqueeList = [],
                hitedge = false;

            while (i--) {
                marqueeRedux = newMarquee[i];
                $marqueeRedux = $(marqueeRedux);
                marqueeState = $marqueeRedux.data('marqueeState');

                if ($marqueeRedux.data('paused') !== true) {
                    // TODO read scrollamount, dir, behavior, loops and last from data
                    marqueeRedux[marqueeState.axis] += (marqueeState.scrollamount * marqueeState.dir);

                    // only true if it's hit the end
                    hitedge = marqueeState.dir == -1 ? marqueeRedux[marqueeState.axis] <= getReset(marqueeState.dir * -1, marqueeRedux, marqueeState) : marqueeRedux[marqueeState.axis] >= getReset(marqueeState.dir * -1, marqueeRedux, marqueeState);

                    if ((marqueeState.behavior == 'scroll' && marqueeState.last == marqueeRedux[marqueeState.axis]) || (marqueeState.behavior == 'alternate' && hitedge && marqueeState.last != -1) || (marqueeState.behavior == 'slide' && hitedge && marqueeState.last != -1)) {
                        if (marqueeState.behavior == 'alternate') {
                            marqueeState.dir *= -1; // flip
                        }
                        marqueeState.last = -1;

                        $marqueeRedux.trigger('stop');

                        marqueeState.loops--;
                        if (marqueeState.loops === 0) {
                            if (marqueeState.behavior != 'slide') {
                                marqueeRedux[marqueeState.axis] = getReset(marqueeState.dir, marqueeRedux, marqueeState);
                            } else {
                                // corrects the position
                                marqueeRedux[marqueeState.axis] = getReset(marqueeState.dir * -1, marqueeRedux, marqueeState);
                            }

                            $marqueeRedux.trigger('end');
                        } else {
                            // keep this marquee going
                            newMarqueeList.push(marqueeRedux);
                            $marqueeRedux.trigger('start');
                            marqueeRedux[marqueeState.axis] = getReset(marqueeState.dir, marqueeRedux, marqueeState);
                        }
                    } else {
                        newMarqueeList.push(marqueeRedux);
                    }
                    marqueeState.last = marqueeRedux[marqueeState.axis];

                    // store updated state only if we ran an animation
                    $marqueeRedux.data('marqueeState', marqueeState);
                } else {
                    // even though it's paused, keep it in the list
                    newMarqueeList.push(marqueeRedux);
                }
            }

            newMarquee = newMarqueeList;

            if (newMarquee.length) {
                setTimeout(animateMarquee, 25);
            }
        }

        // TODO consider whether using .html() in the wrapping process could lead to loosing predefined events...
        this.each(function (i) {
            var $marquee = $(this),
                width = $marquee.attr('width') || $marquee.width(),
                height = $marquee.attr('height') || $marquee.height(),
                $marqueeRedux = $marquee.after('<div ' + (klass ? 'class="' + klass + '" ' : '') + 'style="display: block-inline; width: ' + width + 'px; height: ' + height + 'px; overflow: hidden;"><div style="float: left; white-space: nowrap;">' + $marquee.html() + '</div></div>').next(),
                marqueeRedux = $marqueeRedux.get(0),
                hitedge = 0,
                direction = ($marquee.attr('direction') || 'left').toLowerCase(),
                marqueeState = {
                    dir: /down|right/.test(direction) ? -1 : 1,
                    axis: /left|right/.test(direction) ? 'scrollLeft' : 'scrollTop',
                    widthAxis: /left|right/.test(direction) ? 'scrollWidth' : 'scrollHeight',
                    last: -1,
                    loops: $marquee.attr('loop') || -1,
                    scrollamount: $marquee.attr('scrollamount') || this.scrollAmount || 2,
                    behavior: ($marquee.attr('behavior') || 'scroll').toLowerCase(),
                    width: /left|right/.test(direction) ? width : height
                };

            // corrects a bug in Firefox - the default loops for slide is -1
            if ($marquee.attr('loop') == -1 && marqueeState.behavior == 'slide') {
                marqueeState.loops = 1;
            }

            $marquee.remove();

            // add padding
            if (/left|right/.test(direction)) {
                $marqueeRedux.find('> div').css('padding', '0 ' + width + 'px');
            } else {
                $marqueeRedux.find('> div').css('padding', height + 'px 0');
            }

            // events
            $marqueeRedux.bind('stop', function () {
                $marqueeRedux.data('paused', true);
            }).bind('pause', function () {
                $marqueeRedux.data('paused', true);
            }).bind('start', function () {
                $marqueeRedux.data('paused', false);
            }).bind('unpause', function () {
                $marqueeRedux.data('paused', false);
            }).data('marqueeState', marqueeState); // finally: store the state

            // todo - rerender event allowing us to do an ajax hit and redraw the marquee

            newMarquee.push(marqueeRedux);

            marqueeRedux[marqueeState.axis] = getReset(marqueeState.dir, marqueeRedux, marqueeState);
            $marqueeRedux.trigger('start');

            // on the very last marquee, trigger the animation
            if (i + 1 == last) {
                animateMarquee();
            }
        });

        return $(newMarquee);
    };
} (jQuery));





/**
* SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
*
* SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
* http://www.opensource.org/licenses/mit-license.php
*
*/
if (typeof deconcept == "undefined") { var deconcept = new Object(); } if (typeof deconcept.util == "undefined") { deconcept.util = new Object(); } if (typeof deconcept.SWFObjectUtil == "undefined") { deconcept.SWFObjectUtil = new Object(); } deconcept.SWFObject = function (_1, id, w, h, _5, c, _7, _8, _9, _a) { if (!document.getElementById) { return; } this.DETECT_KEY = _a ? _a : "detectflash"; this.skipDetect = deconcept.util.getRequestParameter(this.DETECT_KEY); this.params = new Object(); this.variables = new Object(); this.attributes = new Array(); if (_1) { this.setAttribute("swf", _1); } if (id) { this.setAttribute("id", id); } if (w) { this.setAttribute("width", w); } if (h) { this.setAttribute("height", h); } if (_5) { this.setAttribute("version", new deconcept.PlayerVersion(_5.toString().split("."))); } this.installedVer = deconcept.SWFObjectUtil.getPlayerVersion(); if (!window.opera && document.all && this.installedVer.major > 7) { deconcept.SWFObject.doPrepUnload = true; } if (c) { this.addParam("bgcolor", c); } var q = _7 ? _7 : "high"; this.addParam("quality", q); this.setAttribute("useExpressInstall", false); this.setAttribute("doExpressInstall", false); var _c = (_8) ? _8 : window.location; this.setAttribute("xiRedirectUrl", _c); this.setAttribute("redirectUrl", ""); if (_9) { this.setAttribute("redirectUrl", _9); } }; deconcept.SWFObject.prototype = { useExpressInstall: function (_d) { this.xiSWFPath = !_d ? "expressinstall.swf" : _d; this.setAttribute("useExpressInstall", true); }, setAttribute: function (_e, _f) { this.attributes[_e] = _f; }, getAttribute: function (_10) { return this.attributes[_10]; }, addParam: function (_11, _12) { this.params[_11] = _12; }, getParams: function () { return this.params; }, addVariable: function (_13, _14) { this.variables[_13] = _14; }, getVariable: function (_15) { return this.variables[_15]; }, getVariables: function () { return this.variables; }, getVariablePairs: function () { var _16 = new Array(); var key; var _18 = this.getVariables(); for (key in _18) { _16[_16.length] = key + "=" + _18[key]; } return _16; }, getSWFHTML: function () { var _19 = ""; if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { if (this.getAttribute("doExpressInstall")) { this.addVariable("MMplayerType", "PlugIn"); this.setAttribute("swf", this.xiSWFPath); } _19 = "<embed wmode=transparent type=\"application/x-shockwave-flash\" src=\"" + this.getAttribute("swf") + "\" width=\"" + this.getAttribute("width") + "\" height=\"" + this.getAttribute("height") + "\" style=\"" + this.getAttribute("style") + "\""; _19 += " id=\"" + this.getAttribute("id") + "\" name=\"" + this.getAttribute("id") + "\" "; var _1a = this.getParams(); for (var key in _1a) { _19 += [key] + "=\"" + _1a[key] + "\" "; } var _1c = this.getVariablePairs().join("&"); if (_1c.length > 0) { _19 += "flashvars=\"" + _1c + "\""; } _19 += "/>"; } else { if (this.getAttribute("doExpressInstall")) { this.addVariable("MMplayerType", "ActiveX"); this.setAttribute("swf", this.xiSWFPath); } _19 = "<object id=\"" + this.getAttribute("id") + "\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\"" + this.getAttribute("width") + "\" height=\"" + this.getAttribute("height") + "\" style=\"" + this.getAttribute("style") + "\">"; _19 += "<param name=\"movie\" value=\"" + this.getAttribute("swf") + "\" />"; var _1d = this.getParams(); for (var key in _1d) { _19 += "<param name=\"" + key + "\" value=\"" + _1d[key] + "\" />"; } var _1f = this.getVariablePairs().join("&"); if (_1f.length > 0) { _19 += "<param name=\"flashvars\" value=\"" + _1f + "\" />"; } _19 += "</object>"; } return _19; }, write: function (_20) { if (this.getAttribute("useExpressInstall")) { var _21 = new deconcept.PlayerVersion([6, 0, 65]); if (this.installedVer.versionIsValid(_21) && !this.installedVer.versionIsValid(this.getAttribute("version"))) { this.setAttribute("doExpressInstall", true); this.addVariable("MMredirectURL", escape(this.getAttribute("xiRedirectUrl"))); document.title = document.title.slice(0, 47) + " - Flash Player Installation"; this.addVariable("MMdoctitle", document.title); } } if (this.skipDetect || this.getAttribute("doExpressInstall") || this.installedVer.versionIsValid(this.getAttribute("version"))) { var n = (typeof _20 == "string") ? document.getElementById(_20) : _20; n.innerHTML = this.getSWFHTML(); return true; } else { if (this.getAttribute("redirectUrl") != "") { document.location.replace(this.getAttribute("redirectUrl")); } } return false; } }; deconcept.SWFObjectUtil.getPlayerVersion = function () { var _23 = new deconcept.PlayerVersion([0, 0, 0]); if (navigator.plugins && navigator.mimeTypes.length) { var x = navigator.plugins["Shockwave Flash"]; if (x && x.description) { _23 = new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split(".")); } } else { if (navigator.userAgent && navigator.userAgent.indexOf("Windows CE") >= 0) { var axo = 1; var _26 = 3; while (axo) { try { _26++; axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + _26); _23 = new deconcept.PlayerVersion([_26, 0, 0]); } catch (e) { axo = null; } } } else { try { var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"); } catch (e) { try { var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"); _23 = new deconcept.PlayerVersion([6, 0, 21]); axo.AllowScriptAccess = "always"; } catch (e) { if (_23.major == 6) { return _23; } } try { axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); } catch (e) { } } if (axo != null) { _23 = new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(",")); } } } return _23; }; deconcept.PlayerVersion = function (_29) { this.major = _29[0] != null ? parseInt(_29[0]) : 0; this.minor = _29[1] != null ? parseInt(_29[1]) : 0; this.rev = _29[2] != null ? parseInt(_29[2]) : 0; }; deconcept.PlayerVersion.prototype.versionIsValid = function (fv) { if (this.major < fv.major) { return false; } if (this.major > fv.major) { return true; } if (this.minor < fv.minor) { return false; } if (this.minor > fv.minor) { return true; } if (this.rev < fv.rev) { return false; } return true; }; deconcept.util = { getRequestParameter: function (_2b) { var q = document.location.search || document.location.hash; if (_2b == null) { return q; } if (q) { var _2d = q.substring(1).split("&"); for (var i = 0; i < _2d.length; i++) { if (_2d[i].substring(0, _2d[i].indexOf("=")) == _2b) { return _2d[i].substring((_2d[i].indexOf("=") + 1)); } } } return ""; } }; deconcept.SWFObjectUtil.cleanupSWFs = function () { var _2f = document.getElementsByTagName("OBJECT"); for (var i = _2f.length - 1; i >= 0; i--) { _2f[i].style.display = "none"; for (var x in _2f[i]) { if (typeof _2f[i][x] == "function") { _2f[i][x] = function () { }; } } } }; if (deconcept.SWFObject.doPrepUnload) { if (!deconcept.unloadSet) { deconcept.SWFObjectUtil.prepUnload = function () { __flash_unloadHandler = function () { }; __flash_savedUnloadHandler = function () { }; window.attachEvent("onunload", deconcept.SWFObjectUtil.cleanupSWFs); }; window.attachEvent("onbeforeunload", deconcept.SWFObjectUtil.prepUnload); deconcept.unloadSet = true; } } if (!document.getElementById && document.all) { document.getElementById = function (id) { return document.all[id]; }; } var getQueryParamValue = deconcept.util.getRequestParameter; var FlashObject = deconcept.SWFObject; var SWFObject = deconcept.SWFObject;



// ColorBox v1.3.15 - a full featured, light-weight, customizable lightbox based on jQuery 1.3+
// Copyright (c) 2010 Jack Moore - jack@colorpowered.com
// Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
(function (b, ib) { var t = "none", M = "LoadedContent", c = false, v = "resize.", o = "y", q = "auto", e = true, L = "nofollow", m = "x"; function f(a, c) { a = a ? ' id="' + i + a + '"' : ""; c = c ? ' style="' + c + '"' : ""; return b("<div" + a + c + "/>") } function p(a, b) { b = b === m ? n.width() : n.height(); return typeof a === "string" ? Math.round(/%/.test(a) ? b / 100 * parseInt(a, 10) : parseInt(a, 10)) : a } function U(b) { return a.photo || /\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(\.*))?$/i.test(b) } function cb(a) { for (var c in a) if (b.isFunction(a[c]) && c.substring(0, 2) !== "on") a[c] = a[c].call(l); a.rel = a.rel || l.rel || L; a.href = a.href || b(l).attr("href"); a.title = a.title || l.title; return a } function w(c, a) { a && a.call(l); b.event.trigger(c) } function jb() { var b, e = i + "Slideshow_", c = "click." + i, f, k; if (a.slideshow && h[1]) { f = function () { F.text(a.slideshowStop).unbind(c).bind(V, function () { if (g < h.length - 1 || a.loop) b = setTimeout(d.next, a.slideshowSpeed) }).bind(W, function () { clearTimeout(b) }).one(c + " " + N, k); j.removeClass(e + "off").addClass(e + "on"); b = setTimeout(d.next, a.slideshowSpeed) }; k = function () { clearTimeout(b); F.text(a.slideshowStart).unbind([V, W, N, c].join(" ")).one(c, f); j.removeClass(e + "on").addClass(e + "off") }; a.slideshowAuto ? f() : k() } } function db(c) { if (!O) { l = c; a = cb(b.extend({}, b.data(l, r))); h = b(l); g = 0; if (a.rel !== L) { h = b("." + G).filter(function () { return (b.data(this, r).rel || this.rel) === a.rel }); g = h.index(l); if (g === -1) { h = h.add(l); g = h.length - 1 } } if (!u) { u = D = e; j.show(); if (a.returnFocus) try { l.blur(); b(l).one(eb, function () { try { this.focus() } catch (a) { } }) } catch (f) { } x.css({ opacity: +a.opacity, cursor: a.overlayClose ? "pointer" : q }).show(); a.w = p(a.initialWidth, m); a.h = p(a.initialHeight, o); d.position(0); X && n.bind(v + P + " scroll." + P, function () { x.css({ width: n.width(), height: n.height(), top: n.scrollTop(), left: n.scrollLeft() }) }).trigger("scroll." + P); w(fb, a.onOpen); Y.add(H).add(I).add(F).add(Z).hide(); ab.html(a.close).show() } d.load(e) } } var gb = { transition: "elastic", speed: 300, width: c, initialWidth: "600", innerWidth: c, maxWidth: c, height: c, initialHeight: "450", innerHeight: c, maxHeight: c, scalePhotos: e, scrolling: e, inline: c, html: c, iframe: c, photo: c, href: c, title: c, rel: c, opacity: .9, preloading: e, current: "image {current} of {total}", previous: "previous", next: "next", close: "close", open: c, returnFocus: e, loop: e, slideshow: c, slideshowAuto: e, slideshowSpeed: 2500, slideshowStart: "start slideshow", slideshowStop: "stop slideshow", onOpen: c, onLoad: c, onComplete: c, onCleanup: c, onClosed: c, overlayClose: e, escKey: e, arrowKey: e }, r = "colorbox", i = "cbox", fb = i + "_open", W = i + "_load", V = i + "_complete", N = i + "_cleanup", eb = i + "_closed", Q = i + "_purge", hb = i + "_loaded", E = b.browser.msie && !b.support.opacity, X = E && b.browser.version < 7, P = i + "_IE6", x, j, A, s, bb, T, R, S, h, n, k, J, K, Z, Y, F, I, H, ab, B, C, y, z, l, g, a, u, D, O = c, d, G = i + "Element"; d = b.fn[r] = b[r] = function (c, f) { var a = this, d; if (!a[0] && a.selector) return a; c = c || {}; if (f) c.onComplete = f; if (!a[0] || a.selector === undefined) { a = b("<a/>"); c.open = e } a.each(function () { b.data(this, r, b.extend({}, b.data(this, r) || gb, c)); b(this).addClass(G) }); d = c.open; if (b.isFunction(d)) d = d.call(a); d && db(a[0]); return a }; d.init = function () { var l = "hover", m = "clear:left"; n = b(ib); j = f().attr({ id: r, "class": E ? i + "IE" : "" }); x = f("Overlay", X ? "position:absolute" : "").hide(); A = f("Wrapper"); s = f("Content").append(k = f(M, "width:0; height:0; overflow:hidden"), K = f("LoadingOverlay").add(f("LoadingGraphic")), Z = f("Title"), Y = f("Current"), I = f("Next"), H = f("Previous"), F = f("Slideshow").bind(fb, jb), ab = f("Close")); A.append(f().append(f("TopLeft"), bb = f("TopCenter"), f("TopRight")), f(c, m).append(T = f("MiddleLeft"), s, R = f("MiddleRight")), f(c, m).append(f("BottomLeft"), S = f("BottomCenter"), f("BottomRight"))).children().children().css({ "float": "left" }); J = f(c, "position:absolute; width:9999px; visibility:hidden; display:none"); b("body").prepend(x, j.append(A, J)); s.children().hover(function () { b(this).addClass(l) }, function () { b(this).removeClass(l) }).addClass(l); B = bb.height() + S.height() + s.outerHeight(e) - s.height(); C = T.width() + R.width() + s.outerWidth(e) - s.width(); y = k.outerHeight(e); z = k.outerWidth(e); j.css({ "padding-bottom": B, "padding-right": C }).hide(); I.click(d.next); H.click(d.prev); ab.click(d.close); s.children().removeClass(l); b("." + G).live("click", function (a) { if (!(a.button !== 0 && typeof a.button !== "undefined" || a.ctrlKey || a.shiftKey || a.altKey)) { a.preventDefault(); db(this) } }); x.click(function () { a.overlayClose && d.close() }); b(document).bind("keydown", function (b) { if (u && a.escKey && b.keyCode === 27) { b.preventDefault(); d.close() } if (u && a.arrowKey && !D && h[1]) if (b.keyCode === 37 && (g || a.loop)) { b.preventDefault(); H.click() } else if (b.keyCode === 39 && (g < h.length - 1 || a.loop)) { b.preventDefault(); I.click() } }) }; d.remove = function () { j.add(x).remove(); b("." + G).die("click").removeData(r).removeClass(G) }; d.position = function (f, d) { function b(a) { bb[0].style.width = S[0].style.width = s[0].style.width = a.style.width; K[0].style.height = K[1].style.height = s[0].style.height = T[0].style.height = R[0].style.height = a.style.height } var e, h = Math.max(document.documentElement.clientHeight - a.h - y - B, 0) / 2 + n.scrollTop(), g = Math.max(n.width() - a.w - z - C, 0) / 2 + n.scrollLeft(); e = j.width() === a.w + z && j.height() === a.h + y ? 0 : f; A[0].style.width = A[0].style.height = "9999px"; j.dequeue().animate({ width: a.w + z, height: a.h + y, top: h, left: g }, { duration: e, complete: function () { b(this); D = c; A[0].style.width = a.w + z + C + "px"; A[0].style.height = a.h + y + B + "px"; d && d() }, step: function () { b(this) } }) }; d.resize = function (b) { if (u) { b = b || {}; if (b.width) a.w = p(b.width, m) - z - C; if (b.innerWidth) a.w = p(b.innerWidth, m); k.css({ width: a.w }); if (b.height) a.h = p(b.height, o) - y - B; if (b.innerHeight) a.h = p(b.innerHeight, o); if (!b.innerHeight && !b.height) { b = k.wrapInner("<div style='overflow:auto'></div>").children(); a.h = b.height(); b.replaceWith(b.children()) } k.css({ height: a.h }); d.position(a.transition === t ? 0 : a.speed) } }; d.prep = function (m) { var c = "hidden"; function l(s) { var p, f, m, c, l = h.length, q = a.loop; d.position(s, function () { function s() { E && j[0].style.removeAttribute("filter") } if (u) { E && o && k.fadeIn(100); k.show(); w(hb); Z.show().html(a.title); if (l > 1) { typeof a.current === "string" && Y.html(a.current.replace(/\{current\}/, g + 1).replace(/\{total\}/, l)).show(); I[q || g < l - 1 ? "show" : "hide"]().html(a.next); H[q || g ? "show" : "hide"]().html(a.previous); p = g ? h[g - 1] : h[l - 1]; m = g < l - 1 ? h[g + 1] : h[0]; a.slideshow && F.show(); if (a.preloading) { c = b.data(m, r).href || m.href; f = b.data(p, r).href || p.href; c = b.isFunction(c) ? c.call(m) : c; f = b.isFunction(f) ? f.call(p) : f; if (U(c)) b("<img/>")[0].src = c; if (U(f)) b("<img/>")[0].src = f } } K.hide(); a.transition === "fade" ? j.fadeTo(e, 1, function () { s() }) : s(); n.bind(v + i, function () { d.position(0) }); w(V, a.onComplete) } }) } if (u) { var o, e = a.transition === t ? 0 : a.speed; n.unbind(v + i); k.remove(); k = f(M).html(m); k.hide().appendTo(J.show()).css({ width: function () { a.w = a.w || k.width(); a.w = a.mw && a.mw < a.w ? a.mw : a.w; return a.w } (), overflow: a.scrolling ? q : c }).css({ height: function () { a.h = a.h || k.height(); a.h = a.mh && a.mh < a.h ? a.mh : a.h; return a.h } () }).prependTo(s); J.hide(); b("#" + i + "Photo").css({ cssFloat: t, marginLeft: q, marginRight: q }); X && b("select").not(j.find("select")).filter(function () { return this.style.visibility !== c }).css({ visibility: c }).one(N, function () { this.style.visibility = "inherit" }); a.transition === "fade" ? j.fadeTo(e, 0, function () { l(0) }) : l(e) } }; d.load = function (u) { var n, c, s, q = d.prep; D = e; l = h[g]; u || (a = cb(b.extend({}, b.data(l, r)))); w(Q); w(W, a.onLoad); a.h = a.height ? p(a.height, o) - y - B : a.innerHeight && p(a.innerHeight, o); a.w = a.width ? p(a.width, m) - z - C : a.innerWidth && p(a.innerWidth, m); a.mw = a.w; a.mh = a.h; if (a.maxWidth) { a.mw = p(a.maxWidth, m) - z - C; a.mw = a.w && a.w < a.mw ? a.w : a.mw } if (a.maxHeight) { a.mh = p(a.maxHeight, o) - y - B; a.mh = a.h && a.h < a.mh ? a.h : a.mh } n = a.href; K.show(); if (a.inline) { f().hide().insertBefore(b(n)[0]).one(Q, function () { b(this).replaceWith(k.children()) }); q(b(n)) } else if (a.iframe) { j.one(hb, function () { var c = b("<iframe frameborder='0' style='width:100%; height:100%; border:0; display:block'/>")[0]; c.name = +new Date; c.src = a.href; if (!a.scrolling) c.scrolling = "no"; if (E) c.allowtransparency = "true"; b(c).appendTo(k).one(Q, function () { c.src = "//about:blank" }) }); q(" ") } else if (a.html) q(a.html); else if (U(n)) { c = new Image; c.onload = function () { var e; c.onload = null; c.id = i + "Photo"; b(c).css({ border: t, display: "block", cssFloat: "left" }); if (a.scalePhotos) { s = function () { c.height -= c.height * e; c.width -= c.width * e }; if (a.mw && c.width > a.mw) { e = (c.width - a.mw) / c.width; s() } if (a.mh && c.height > a.mh) { e = (c.height - a.mh) / c.height; s() } } if (a.h) c.style.marginTop = Math.max(a.h - c.height, 0) / 2 + "px"; h[1] && (g < h.length - 1 || a.loop) && b(c).css({ cursor: "pointer" }).click(d.next); if (E) c.style.msInterpolationMode = "bicubic"; setTimeout(function () { q(c) }, 1) }; setTimeout(function () { c.src = n }, 1) } else n && J.load(n, function (d, c, a) { q(c === "error" ? "Request unsuccessful: " + a.statusText : b(this).children()) }) }; d.next = function () { if (!D) { g = g < h.length - 1 ? g + 1 : 0; d.load() } }; d.prev = function () { if (!D) { g = g ? g - 1 : h.length - 1; d.load() } }; d.close = function () { if (u && !O) { O = e; u = c; w(N, a.onCleanup); n.unbind("." + i + " ." + P); x.fadeTo("fast", 0); j.stop().fadeTo("fast", 0, function () { w(Q); k.remove(); j.add(x).css({ opacity: 1, cursor: q }).hide(); setTimeout(function () { O = c; w(eb, a.onClosed) }, 1) }) } }; d.element = function () { return b(l) }; d.settings = gb; b(d.init) })(jQuery, this);




jQuery.cookie = function (name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};
