var $pp_pic_holder; var $ppt; (function(A) { A.fn.prettyPhoto = function(W) { var E = true; var K = false; var O = []; var D = 0; var R; var S; var V; var Y; var F = "image"; var Z; var M = G(); A(window).scroll(function() { M = G(); C() }); A(window).resize(function() { C(); U() }); A(document).keypress(function(c) { switch (c.keyCode) { case 37: if (D == 1) { return } N("previous"); break; case 39: if (D == setCount) { return } N("next"); break; case 27: L(); break } }); W = jQuery.extend({ animationSpeed: "normal", padding: 40, opacity: 0.8, showTitle: true, allowresize: true, counter_separator_label: "/", theme: "light_rounded", callback: function() { } }, W); if (A.browser.msie && A.browser.version == 6) { W.theme = "light_square" } A(this).each(function() { var e = false; var d = false; var f = 0; var c = 0; O[O.length] = this; A(this).bind("click", function() { J(this); return false }) }); function J(c) { Z = A(c); theRel = Z.attr("rel"); galleryRegExp = /\[(?:.*)\]/; theGallery = galleryRegExp.exec(theRel); isSet = false; setCount = 0; b(); for (i = 0; i < O.length; i++) { if (A(O[i]).attr("rel").indexOf(theGallery) != -1) { setCount++; if (setCount > 1) { isSet = true } if (A(O[i]).attr("href") == Z.attr("href")) { D = setCount; arrayPosition = i } } } X(); $pp_pic_holder.find("p.currentTextHolder").text(D + W.counter_separator_label + setCount); C(); A("#pp_full_res").hide(); $pp_pic_holder.find(".pp_loaderIcon").show() } showimage = function(f, c, j, h, g, d, e) { A(".pp_loaderIcon").hide(); if (A.browser.opera) { windowHeight = window.innerHeight; windowWidth = window.innerWidth } else { windowHeight = A(window).height(); windowWidth = A(window).width() } $pp_pic_holder.find(".pp_content").animate({ height: g }, W.animationSpeed); projectedTop = M.scrollTop + ((windowHeight / 2) - (h / 2)); if (projectedTop < 0) { projectedTop = 0 + $pp_pic_holder.find(".ppt").height() } $pp_pic_holder.animate({ top: projectedTop, left: ((windowWidth / 2) - (j / 2)), width: j }, W.animationSpeed, function() { $pp_pic_holder.width(j); $pp_pic_holder.find(".pp_hoverContainer,#fullResImage").height(c).width(f); $pp_pic_holder.find("#pp_full_res").fadeIn(W.animationSpeed, function() { A(this).find("object,embed").css("visibility", "visible") }); I(); if (e) { A("a.pp_expand,a.pp_contract").fadeIn(W.animationSpeed) } }) }; function I() { if (isSet && F == "image") { $pp_pic_holder.find(".pp_hoverContainer").fadeIn(W.animationSpeed) } else { $pp_pic_holder.find(".pp_hoverContainer").hide() } $pp_pic_holder.find(".pp_details").fadeIn(W.animationSpeed); if (W.showTitle && hasTitle) { $ppt.css({ top: $pp_pic_holder.offset().top - 22, left: $pp_pic_holder.offset().left + (W.padding / 2), display: "none" }); $ppt.fadeIn(W.animationSpeed) } } function Q() { $pp_pic_holder.find(".pp_hoverContainer,.pp_details").fadeOut(W.animationSpeed); $pp_pic_holder.find("#pp_full_res object,#pp_full_res embed").css("visibility", "hidden"); $pp_pic_holder.find("#pp_full_res").fadeOut(W.animationSpeed, function() { A(".pp_loaderIcon").show(); a() }); $ppt.fadeOut(W.animationSpeed) } function N(c) { if (c == "previous") { arrayPosition--; D-- } else { arrayPosition++; D++ } if (!E) { E = true } Q(); A("a.pp_expand,a.pp_contract").fadeOut(W.animationSpeed, function() { A(this).removeClass("pp_contract").addClass("pp_expand") }) } function L() { $pp_pic_holder.find("object,embed").css("visibility", "hidden"); A("div.pp_pic_holder,div.ppt").fadeOut(W.animationSpeed); A("div.pp_overlay").fadeOut(W.animationSpeed, function() { A("div.pp_overlay,div.pp_pic_holder,div.ppt").remove(); if (A.browser.msie && A.browser.version == 6) { A("select").css("visibility", "visible") } W.callback() }); E = true } function H() { if (D == setCount) { $pp_pic_holder.find("a.pp_next").css("visibility", "hidden"); $pp_pic_holder.find("a.pp_arrow_next").addClass("disabled").unbind("click") } else { $pp_pic_holder.find("a.pp_next").css("visibility", "visible"); $pp_pic_holder.find("a.pp_arrow_next.disabled").removeClass("disabled").bind("click", function() { N("next"); return false }) } if (D == 1) { $pp_pic_holder.find("a.pp_previous").css("visibility", "hidden"); $pp_pic_holder.find("a.pp_arrow_previous").addClass("disabled").unbind("click") } else { $pp_pic_holder.find("a.pp_previous").css("visibility", "visible"); $pp_pic_holder.find("a.pp_arrow_previous.disabled").removeClass("disabled").bind("click", function() { N("previous"); return false }) } $pp_pic_holder.find("p.currentTextHolder").text(D + W.counter_separator_label + setCount); Z = (isSet) ? A(O[arrayPosition]) : Z; b(); if (Z.attr("title")) { $pp_pic_holder.find(".pp_description").show().html(unescape(Z.attr("title"))) } else { $pp_pic_holder.find(".pp_description").hide().text("") } if (Z.find("img").attr("alt") && W.showTitle) { hasTitle = true; $ppt.html(unescape(Z.find("img").attr("alt"))) } else { hasTitle = false } } function P(d, c) { hasBeenResized = false; T(d, c); imageWidth = d; imageHeight = c; windowHeight = A(window).height(); windowWidth = A(window).width(); if (((Y > windowWidth) || (V > windowHeight)) && E && W.allowresize && !K) { hasBeenResized = true; notFitting = true; while (notFitting) { if ((Y > windowWidth)) { imageWidth = (windowWidth - 200); imageHeight = (c / d) * imageWidth } else { if ((V > windowHeight)) { imageHeight = (windowHeight - 200); imageWidth = (d / c) * imageHeight } else { notFitting = false } } V = imageHeight; Y = imageWidth } T(imageWidth, imageHeight) } return { width: imageWidth, height: imageHeight, containerHeight: V, containerWidth: Y, contentHeight: R, contentWidth: S, resized: hasBeenResized} } function T(d, c) { $pp_pic_holder.find(".pp_details").width(d).find(".pp_description").width(d - parseFloat($pp_pic_holder.find("a.pp_close").css("width"))); R = c + $pp_pic_holder.find(".pp_details").height() + parseFloat($pp_pic_holder.find(".pp_details").css("marginTop")) + parseFloat($pp_pic_holder.find(".pp_details").css("marginBottom")); S = d; V = R + $pp_pic_holder.find(".ppt").height() + $pp_pic_holder.find(".pp_top").height() + $pp_pic_holder.find(".pp_bottom").height(); Y = d + W.padding } function b() { if (Z.attr("href").match(/youtube\.com\/watch/i)) { F = "youtube" } else { if (Z.attr("href").indexOf(".mov") != -1) { F = "quicktime" } else { if (Z.attr("href").indexOf(".swf") != -1) { F = "flash" } else { if (Z.attr("href").indexOf("iframe") != -1) { F = "iframe" } else { F = "image" } } } } } function C() { if ($pp_pic_holder) { if ($pp_pic_holder.size() == 0) { return } } else { return } if (A.browser.opera) { windowHeight = window.innerHeight; windowWidth = window.innerWidth } else { windowHeight = A(window).height(); windowWidth = A(window).width() } if (E) { $pHeight = $pp_pic_holder.height(); $pWidth = $pp_pic_holder.width(); $tHeight = $ppt.height(); projectedTop = (windowHeight / 2) + M.scrollTop - ($pHeight / 2); if (projectedTop < 0) { projectedTop = 0 + $tHeight } $pp_pic_holder.css({ top: projectedTop, left: (windowWidth / 2) + M.scrollLeft - ($pWidth / 2) }); $ppt.css({ top: projectedTop - $tHeight, left: (windowWidth / 2) + M.scrollLeft - ($pWidth / 2) + (W.padding / 2) }) } } function a() { H(); if (F == "image") { imgPreloader = new Image(); nextImage = new Image(); if (isSet && D > setCount) { nextImage.src = A(O[arrayPosition + 1]).attr("href") } prevImage = new Image(); if (isSet && O[arrayPosition - 1]) { prevImage.src = A(O[arrayPosition - 1]).attr("href") } pp_typeMarkup = '<img id="fullResImage" src="" />'; $pp_pic_holder.find("#pp_full_res")[0].innerHTML = pp_typeMarkup; $pp_pic_holder.find(".pp_content").css("overflow", "hidden"); $pp_pic_holder.find("#fullResImage").attr("src", Z.attr("href")); imgPreloader.onload = function() { var c = P(imgPreloader.width, imgPreloader.height); imgPreloader.width = c.width; imgPreloader.height = c.height; showimage(imgPreloader.width, imgPreloader.height, c.containerWidth, c.containerHeight, c.contentHeight, c.contentWidth, c.resized) }; imgPreloader.src = Z.attr("href") } else { movie_width = (parseFloat(B("width", Z.attr("href")))) ? B("width", Z.attr("href")) : "425"; movie_height = (parseFloat(B("height", Z.attr("href")))) ? B("height", Z.attr("href")) : "344"; if (movie_width.indexOf("%") != -1 || movie_height.indexOf("%") != -1) { movie_height = (A(window).height() * parseFloat(movie_height) / 100) - 100; movie_width = (A(window).width() * parseFloat(movie_width) / 100) - 100; parsentBased = true } else { movie_height = parseFloat(movie_height); movie_width = parseFloat(movie_width) } if (F == "quicktime") { movie_height += 13 } correctSizes = P(movie_width, movie_height); if (F == "youtube") { pp_typeMarkup = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + correctSizes.width + '" height="' + correctSizes.height + '"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://www.youtube.com/v/' + B("v", Z.attr("href")) + '" /><embed src="http://www.youtube.com/v/' + B("v", Z.attr("href")) + '" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="' + correctSizes.width + '" height="' + correctSizes.height + '"></embed></object>' } else { if (F == "quicktime") { pp_typeMarkup = '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" height="' + correctSizes.height + '" width="' + correctSizes.width + '"><param name="src" value="' + Z.attr("href") + '"><param name="autoplay" value="true"><param name="type" value="video/quicktime"><embed src="' + Z.attr("href") + '" height="' + correctSizes.height + '" width="' + correctSizes.width + '" autoplay="true" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/"></embed></object>' } else { if (F == "flash") { flash_vars = Z.attr("href"); flash_vars = flash_vars.substring(Z.attr("href").indexOf("flashvars") + 10, Z.attr("href").length); filename = Z.attr("href"); filename = filename.substring(0, filename.indexOf("?")); pp_typeMarkup = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + correctSizes.width + '" height="' + correctSizes.height + '"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="' + filename + "?" + flash_vars + '" /><embed src="' + filename + "?" + flash_vars + '" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="' + correctSizes.width + '" height="' + correctSizes.height + '"></embed></object>' } else { if (F == "iframe") { movie_url = Z.attr("href"); movie_url = movie_url.substr(0, movie_url.indexOf("iframe") - 1); pp_typeMarkup = '<iframe src ="' + movie_url + '" width="' + (correctSizes.width - 10) + '" height="' + (correctSizes.height - 10) + '" frameborder="no"></iframe>' } } } } $pp_pic_holder.find("#pp_full_res")[0].innerHTML = pp_typeMarkup; showimage(correctSizes.width, correctSizes.height, correctSizes.containerWidth, correctSizes.containerHeight, correctSizes.contentHeight, correctSizes.contentWidth, correctSizes.resized) } } function G() { if (self.pageYOffset) { scrollTop = self.pageYOffset; scrollLeft = self.pageXOffset } else { if (document.documentElement && document.documentElement.scrollTop) { scrollTop = document.documentElement.scrollTop; scrollLeft = document.documentElement.scrollLeft } else { if (document.body) { scrollTop = document.body.scrollTop; scrollLeft = document.body.scrollLeft } } } return { scrollTop: scrollTop, scrollLeft: scrollLeft} } function U() { A("div.pp_overlay").css({ height: A(document).height(), width: A(window).width() }) } function X() { toInject = ""; toInject += "<div class='pp_overlay'></div>"; if (F == "image") { pp_typeMarkup = '<img id="fullResImage" src="" />' } else { pp_typeMarkup = "" } toInject += '<div class="pp_pic_holder"><div class="pp_top"><div class="pp_left"></div><div class="pp_middle"></div><div class="pp_right"></div></div><div class="pp_content"><a href="#" class="pp_expand" title="Expand the image">Expand</a><div class="pp_loaderIcon"></div><div class="pp_hoverContainer"><a class="pp_next" href="#">next</a><a class="pp_previous" href="#">previous</a></div><div id="pp_full_res">' + pp_typeMarkup + '</div><div class="pp_details clearfix"><a class="pp_close" href="#">Close</a><p class="pp_description"></p><div class="pp_nav"><a href="#" class="pp_arrow_previous">Previous</a><p class="currentTextHolder">0' + W.counter_separator_label + '0</p><a href="#" class="pp_arrow_next">Next</a></div></div></div><div class="pp_bottom"><div class="pp_left"></div><div class="pp_middle"></div><div class="pp_right"></div></div></div>'; toInject += '<div class="ppt"></div>'; A("body").append(toInject); $pp_pic_holder = A(".pp_pic_holder"); $ppt = A(".ppt"); A("div.pp_overlay").css("height", A(document).height()).bind("click", function() { L() }); $pp_pic_holder.css({ opacity: 0 }).addClass(W.theme); A("a.pp_close").bind("click", function() { L(); return false }); A("a.pp_expand").bind("click", function() { $this = A(this); if ($this.hasClass("pp_expand")) { $this.removeClass("pp_expand").addClass("pp_contract"); E = false } else { $this.removeClass("pp_contract").addClass("pp_expand"); E = true } Q(); $pp_pic_holder.find(".pp_hoverContainer, #pp_full_res, .pp_details").fadeOut(W.animationSpeed, function() { a() }); return false }); $pp_pic_holder.find(".pp_previous, .pp_arrow_previous").bind("click", function() { N("previous"); return false }); $pp_pic_holder.find(".pp_next, .pp_arrow_next").bind("click", function() { N("next"); return false }); $pp_pic_holder.find(".pp_hoverContainer").css({ "margin-left": W.padding / 2 }); if (!isSet) { $pp_pic_holder.find(".pp_hoverContainer,.pp_nav").hide() } if (A.browser.msie && A.browser.version == 6) { A("body").addClass("ie6"); A("select").css("visibility", "hidden") } A("div.pp_overlay").css("opacity", 0).fadeTo(W.animationSpeed, W.opacity, function() { $pp_pic_holder.css("opacity", 0).fadeIn(W.animationSpeed, function() { $pp_pic_holder.attr("style", "left:" + $pp_pic_holder.css("left") + ";top:" + $pp_pic_holder.css("top") + ";"); a() }) }) } }; function B(E, D) { E = E.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); var C = "[\\?&]" + E + "=([^&#]*)"; var G = new RegExp(C); var F = G.exec(D); if (F == null) { return "" } else { return F[1] } } })(jQuery);
(function($) {var expr = (function() { var div = document.createElement('div'); try { div.style.setExpression('width', '0+0'); } catch (e) { return false; } return true; })();
function sz(el, p) {return parseInt($.css(el, p)) || 0;};
function hex2(s) {var s = parseInt(s).toString(16);return (s.length < 2) ? '0' + s : s;};
function gpc(node) { for (; node && node.nodeName.toLowerCase() != 'html'; node = node.parentNode) { var v = $.css(node, 'backgroundColor'); if (v.indexOf('rgb') >= 0) { if ($.browser.safari && v == 'rgba(0, 0, 0, 0)') continue; var rgb = v.match(/\d+/g); return '#' + hex2(rgb[0]) + hex2(rgb[1]) + hex2(rgb[2]); } if (v && v != 'transparent') return v; } return '#ffffff'; };
function getWidth(fx, i, width) {switch (fx) {case 'round': return Math.round(width * (1 - Math.cos(Math.asin(i / width))));case 'cool': return Math.round(width * (1 + Math.cos(Math.asin(i / width))));case 'sharp': return Math.round(width * (1 - Math.cos(Math.acos(i / width))));case 'bite': return Math.round(width * (Math.cos(Math.asin((width - i - 1) / width))));case 'slide': return Math.round(width * (Math.atan2(i, width / i)));case 'jut': return Math.round(width * (Math.atan2(width, (width - i - 1))));case 'curl': return Math.round(width * (Math.atan(i)));case 'tear': return Math.round(width * (Math.cos(i)));case 'wicked': return Math.round(width * (Math.tan(i)));case 'long': return Math.round(width * (Math.sqrt(i)));case 'sculpt': return Math.round(width * (Math.log((width - i - 1), width)));case 'dog': return (i & 1) ? (i + 1) : width;case 'dog2': return (i & 2) ? (i + 1) : width;case 'dog3': return (i & 3) ? (i + 1) : width;case 'fray': return (i % 2) * width;case 'notch': return width;case 'bevel': return i + 1;}};
$.fn.corner = function(o) {if (this.length == 0) {if (!$.isReady && this.selector) {var s = this.selector, c = this.context;$(function() {$(s, c).corner(o);});}return this;}o = (o || "").toLowerCase();var keep = /keep/.test(o);var cc = ((o.match(/cc:(#[0-9a-f]+)/) || [])[1]);var sc = ((o.match(/sc:(#[0-9a-f]+)/) || [])[1]);var width = parseInt((o.match(/(\d+)px/) || [])[1]) || 10;var re = /round|bevel|notch|bite|cool|sharp|slide|jut|curl|tear|fray|wicked|sculpt|long|dog3|dog2|dog/;var fx = ((o.match(re) || ['round'])[0]);var edges = { T: 0, B: 1 };var opts = {TL: /top|tl/.test(o), TR: /top|tr/.test(o),BL: /bottom|bl/.test(o), BR: /bottom|br/.test(o)};if (!opts.TL && !opts.TR && !opts.BL && !opts.BR)opts = { TL: 1, TR: 1, BL: 1, BR: 1 };var strip = document.createElement('div');strip.style.overflow = 'hidden';strip.style.height = '1px';strip.style.backgroundColor = sc || 'transparent';strip.style.borderStyle = 'solid';return this.each(function(index) {var pad = {T: parseInt($.css(this, 'paddingTop')) || 0, R: parseInt($.css(this, 'paddingRight')) || 0,B: parseInt($.css(this, 'paddingBottom')) || 0, L: parseInt($.css(this, 'paddingLeft')) || 0};if (typeof this.style.zoom != undefined) this.style.zoom = 1; if (!keep) this.style.border = 'none';strip.style.borderColor = cc || gpc(this.parentNode);var cssHeight = $.curCSS(this, 'height');for (var j in edges) {var bot = edges[j];if ((bot && (opts.BL || opts.BR)) || (!bot && (opts.TL || opts.TR))) {strip.style.borderStyle = 'none ' + (opts[j + 'R'] ? 'solid' : 'none') + ' none ' + (opts[j + 'L'] ? 'solid' : 'none');var d = document.createElement('div');$(d).addClass('jquery-corner');var ds = d.style;bot ? this.appendChild(d) : this.insertBefore(d, this.firstChild);if (bot && cssHeight != 'auto') {if ($.css(this, 'position') == 'static')this.style.position = 'relative';ds.position = 'absolute'; ds.bottom = ds.left = ds.padding = ds.margin = '0';if (expr)ds.setExpression('width', 'this.parentNode.offsetWidth');else ds.width = '100%'; } else if (!bot && $.browser.msie) {if ($.css(this, 'position') == 'static')this.style.position = 'relative'; ds.position = 'absolute'; ds.top = ds.left = ds.right = ds.padding = ds.margin = '0'; if (expr) {var bw = sz(this, 'borderLeftWidth') + sz(this, 'borderRightWidth');ds.setExpression('width', 'this.parentNode.offsetWidth - ' + bw + '+ "px"');}else ds.width = '100%';}else { ds.margin = !bot ? '-' + pad.T + 'px -' + pad.R + 'px ' + (pad.T - width) + 'px -' + pad.L + 'px' :(pad.B - width) + 'px -' + pad.R + 'px -' + pad.B + 'px -' + pad.L + 'px';}for (var i = 0; i < width; i++) {var w = Math.max(0, getWidth(fx, i, width));var e = strip.cloneNode(false);e.style.borderWidth = '0 ' + (opts[j + 'R'] ? w : 0) + 'px 0 ' + (opts[j + 'L'] ? w : 0) + 'px'; bot ? d.appendChild(e) : d.insertBefore(e, d.firstChild);}}}});}; $.fn.uncorner = function() { return $('.jquery-corner', this).remove(); };})(jQuery);





(function($) {

    var dropShadowZindex = 1;  //z-index counter

    $.fn.dropShadow = function(options) {
        // Default options
        var opt = $.extend({
            left: 4,
            top: 4,
            blur: 2,
            opacity: .5,
            color: "black",
            swap: false
        }, options);
        var jShadows = $([]);  //empty jQuery collection

        // Loop through original elements
        this.not(".dropShadow").each(function() {
            var jthis = $(this);
            var shadows = [];
            var blur = (opt.blur <= 0) ? 0 : opt.blur;
            var opacity = 0.05; //(blur == 0) ? opt.opacity : opt.opacity / (blur * 8);
            var zOriginal = (opt.swap) ? dropShadowZindex : dropShadowZindex + 1;
            var zShadow = (opt.swap) ? dropShadowZindex + 1 : dropShadowZindex;

            // Create ID for shadow
            var shadowId;
            if (this.id) {
                shadowId = this.id + "_dropShadow";
            }
            else {
                shadowId = "ds" + (1 + Math.floor(9999 * Math.random()));
            }

            // Modify original element
            $.data(this, "shadowId", shadowId); //store id in expando
            $.data(this, "shadowOptions", options); //store options in expando
            jthis
				.attr("shadowId", shadowId)
				.css("zIndex", zOriginal);
            if (jthis.css("position") != "absolute") {
                jthis.css({
                    position: "relative",
                    zoom: 1 //for IE layout
                });
            }

            // Create first shadow layer
            bgColor = jthis.css("backgroundColor");
            if (bgColor == "rgba(0, 0, 0, 0)") bgColor = "transparent";  //Safari
            if (bgColor != "transparent" || jthis.css("backgroundImage") != "none"
					|| this.nodeName == "SELECT"
					|| this.nodeName == "INPUT"
					|| this.nodeName == "TEXTAREA") {
                shadows[0] = $("<div></div>")
					.css("background", opt.color);
            }
            else {
                shadows[0] = jthis
					.clone()
					.removeAttr("id")
					.removeAttr("name")
					.removeAttr("shadowId")
					.css("color", opt.color);
            }
            shadows[0]
				.addClass("dropShadow")
				.css({
				    height: jthis.outerHeight(),
				    left: blur,
				    opacity: opacity,
				    position: "absolute",
				    top: blur,
				    width: jthis.outerWidth(),
				    zIndex: zShadow
				});

            // Create other shadow layers
            var layers = (8 * blur) + 1;
            for (i = 1; i < layers; i++) {
                shadows[i] = shadows[0].clone();
            }

            // Position layers
            var i = 1;
            var j = blur;
            while (j > 0) {
                shadows[i].css({ left: j * 2, top: 0 });           //top
                shadows[i + 1].css({ left: j * 4, top: j * 2 });   //right
                shadows[i + 2].css({ left: j * 2, top: j * 4 });   //bottom
                shadows[i + 3].css({ left: 0, top: j * 2 });       //left
                shadows[i + 4].css({ left: j * 3, top: j });       //top-right
                shadows[i + 5].css({ left: j * 3, top: j * 3 });   //bottom-right
                shadows[i + 6].css({ left: j, top: j * 3 });       //bottom-left
                shadows[i + 7].css({ left: j, top: j });           //top-left
                i += 8;
                j--;
            }

            // Create container
            var divShadow = $("<div></div>")
				.attr("id", shadowId)
				.addClass("dropShadow")
				.css({
				    left: jthis.position().left + opt.left - blur,
				    marginTop: jthis.css("marginTop"),
				    marginRight: jthis.css("marginRight"),
				    marginBottom: jthis.css("marginBottom"),
				    marginLeft: jthis.css("marginLeft"),
				    position: "absolute",
				    top: jthis.position().top + opt.top - blur,
				    zIndex: zShadow
				});

            // Add layers to container	
            for (i = 0; i < layers; i++) {
                divShadow.append(shadows[i]);
            }

            // Add container to DOM
            jthis.after(divShadow);

            // Add shadow to return set
            jShadows = jShadows.add(divShadow);

            // Re-align shadow on window resize
            $(window).resize(function() {
                try {
                    divShadow.css({
                        left: jthis.position().left + opt.left - blur,
                        top: jthis.position().top + opt.top - blur
                    });
                }
                catch (e) { }
            });

            // Increment z-index counter
            dropShadowZindex += 2;

        });  //end each

        return this.pushStack(jShadows);
    };


    $.fn.redrawShadow = function() {
        // Remove existing shadows
        this.removeShadow();

        // Draw new shadows
        return this.each(function() {
            var shadowOptions = $.data(this, "shadowOptions");
            $(this).dropShadow(shadowOptions);
        });
    };


    $.fn.removeShadow = function() {
        return this.each(function() {
            var shadowId = $(this).shadowId();
            $("div#" + shadowId).remove();
        });
    };


    $.fn.shadowId = function() {
        return $.data(this[0], "shadowId");
    };


    $(function() {
        // Suppress printing of shadows
        var noPrint = "<style type='text/css' media='print'>";
        noPrint += ".dropShadow{visibility:hidden;}</style>";
        $("head").append(noPrint);
    });

})(jQuery);


window.onerror = function(desc, page, line, chr) {
    /* alert('JavaScript error occurred! \n'
    +'\nError description: \t'+desc
    +'\nPage address:      \t'+page
    +'\nLine number:       \t'+line
    );*/
}
$(function() {
    $('a').focus(function() { this.blur(); });
    SI.Files.stylizeAll();
    slider.init();
    mc.init();
    $('input.text-default').each(function() {
        $(this).attr('default', $(this).val());
    }).focus(function() {
        if ($(this).val() == $(this).attr('default'))
            $(this).val('');
    }).blur(function() {
        if ($(this).val() == '')
            $(this).val($(this).attr('default'));
    });
    $('input.text,textarea.text').focus(function() {
        $(this).addClass('textfocus');
    }).blur(function() {
        $(this).removeClass('textfocus');
    });
    var popopenobj = 0, popopenaobj = null;
    $('a.popup').click(function() {
        var pid = $(this).attr('rel').split('|')[0], _os = parseInt($(this).attr('rel').split('|')[1]);
        var pobj = $('#' + pid);
        if (!pobj.length)
            return false;
        if (typeof popopenobj == 'object' && popopenobj.attr('id') != pid) {
            popopenobj.hide(50);
            $(popopenaobj).parent().removeClass(popopenobj.attr('id').split('-')[1] + '-open');
            popopenobj = null;
        }
        if (pobj.is(':hidden')) {
            var _o = $(this).offset();
            //var _l=parseInt(_o.left)-parseInt(_os)+parseInt($(this).width())/2;
            var _l = ($('.wrap', '#top').offset().left + $('.wrap', '#top').width()) - pobj.width();
            var _t = parseInt(_o.top) + parseInt($(this).height()) + 5;
            pobj.css({ left: _l, top: _t }).slideDown(function() {
                $('div.close a', pobj).click(function() {
                    pobj.slideUp();
                    $(popopenaobj).parent().removeClass(pobj.attr('id').split('-')[1] + '-open');
                    popopenobj = 0;
                });
                var fobj = $('form input.text:first', pobj);
                if (fobj.length)
                    fobj.get(0).focus();
            });
            $(this).parent().addClass(pid.split('-')[1] + '-open');
            popopenobj = pobj;
            popopenaobj = this;
        } else {
            pobj.slideUp();
            $(this).parent().removeClass(pid.split('-')[1] + '-open');
            popopenobj = 0;
        }
        return false;
    });

    $('p.images img').click(function() {
        var newbg = $(this).attr('src').split('bg/bg')[1].split('-thumb')[0];
        $(document.body).css('backgroundImage', 'url(' + _siteRoot + 'images/bg/bg' + newbg + '.jpg)');

        $(this).parent().find('img').removeClass('on');
        $(this).addClass('on');
        return false;
    });

    $(window).load(function() {
        var css_ims = ['']; //['bar-brand-bg.jpg','bar-brand.html','bar-cms-bg.html','bar-cms.html','bar-crm-bg.html','bar-crm.html',
        //   'bar-ecommerce-bg.html','bar-ecommerce.html','bar-email-bg.html','bar-email.html','bar-real-estate-bg.html',
        //   'bar-real-estate.html','bar-seo-bg.html','bar-seo.html','bar-video-bg.html','bar-video.html','bar-web-design-bg.html',
        //   'bar-web-design.html','blog-large-img-bg.html','blog-tiny-img-bg.html','bookmark.html','bookmarks.html','cal-arrl.html',
        //   'cal-arrr.html','cal-bg.html','cal-bl.html','cal-br.html','cal-tl.html','cal-tr.html','cal-year.html','close-map.html',
        //   'close-tabs.html','colours.html','column-third-bg.html','contact-reset.html','content-bg.html','down.html','error.html',
        //   'feedback-bg.html','feedback.html','file.html','find-out-more.html','footer-bg.html','google.html','h2-award-info.html',
        //   'h2-awards-and-features.html','h2-careers-form.html','h2-careers.html','h2-cms.html','h2-comment-on-this-video.html',
        //   'h2-current-positions.html','h2-enquiry-form.html','h2-latest-news.html','h2-london-office-map.html','h2-london-office.html',
        //   'h2-perth-office.html','h2-post-a-comment.html','h2-recent-posts.html','h4-blog-archive.html','h4-blog-categories.html',
        //   'h4-recent-posts.html','h4b-blog-archive.html','h4b-blog-categories.html','h4b-calendar.html','h4b-latest-comments.html',
        //   'h4b-recent-posts.html','header-bg.html','hr.html','li-arrow.html','media-centre-bg.html','media-centre-pulse.html',
        //   'media-centre-video-bg.html','media-centre-video-hover.html','media-centre.html','nav-bg.html','newsletter-text.html',
        //   'ontwerp-tag.html','ontwerp.html','popup-client-bg.html','popup-cms-bg.html','popup-toolbox-bg.html','post-your-comments.html',
        //   'sc-img-bg.html','search-bg.html','text-bg.html','text-small-bg.html','textarea-bg.html','textarea-blog-bg.html',
        //   'textarea-small-bg.html','toolbox-arrow.html','toolbox-arrow-2.html','toolbox-reset.html','toolbox-save.html','top-bg.html',
        //   'top.html','view-brand.html','view-cms.html','view-crm.html','view-ecommerce.html','view-email.html','view-real-estate.html',
        //   'view-seo.html','view-video.html','view-web-design.png'];
        $.each(css_ims, function() { (new Image()).src = _siteRoot + 'css/images/' + this; });
        var css_cims = ['']; //a2006.png','a2007.html','a2008.html','a2009.html','add-a-comment.html','all-services.html',
        //   'application-development.html','apps.html','archive.html','calendar.html','comment.html','comments-bg.html',
        //   'e-com.html','featured.html','feeback-submit.html','get-directions.html','go.html','h4-cms.html','h4-crm.html',
        //   'h4-otp.html','li-arrow.html','login.html','logo.html','misc.html','nav.html','noresult.html','online.html',
        //   'pagination-on.html','pagination.html','perma-bg.html','sign-up-now.html','sign-up.html','silde-nav.html',
        //   'submit-form.html','submit.html','tab-cms.html','tab-crm.html','tab-featured.html','tab-news.html','colour.html',
        //   'tab-otp.html','tab-video.html','testimonial-bg.html','testimonial.html','user-login.html','web-services.png'];
        $.each(css_cims, function() {
            var css_im = this;
            $.each(['blue', 'purple', 'pink', 'red', 'grey', 'green', 'yellow', 'orange'], function() {
                (new Image()).src = _siteRoot + 'css/' + this + '/' + css_im;
            });
        });
    });

    $('p.colours a').click(function() {
        var sheet = document.createElement('link');
        sheet.setAttribute('rel', 'stylesheet');
        sheet.setAttribute('type', 'text/css');
        sheet.setAttribute('media', 'all');
        sheet.setAttribute('href', _siteRoot + 'css/' + this.id + '/colour.css');

        if ($.browser.safari)
            $('head').append(sheet);
        else
            $(document.body).append(sheet);

        $(this).parent().find('a').removeClass('on');
        $(this).addClass('on');
        return false;
    });

    $('div.bar').slice(1).each(function() {
        $('h2', this).addClass('closed');
        $('div', this).hide();
    });
    $('div.bar h2').click(function() {
        scroll(this, -120);
        $(this).toggleClass('closed').parent().find('div').slideToggle();
    });
    $('#close-tabs').click(function() {
        $('div.bar div:visible').slideUp().parent().find('h2').addClass('closed');
        return false;
    });

    function h42h4(obj, t) {
        var aobjs = $('div.column-right>*'), sel = false;
        var len = aobjs.length;
        for (var i = 0; i < len; i++) {
            if (aobjs[i].tagName.toLowerCase() == 'h4') sel = false;
            if (sel) switch (t) {
                case 's': $(aobjs[i]).show(); break;
                case 'h': $(aobjs[i]).hide(); break;
                case 't': $(aobjs[i]).toggle(); break;
                default: $(aobjs[i]).slideToggle(500); break;
            }
            if (aobjs[i] == obj) sel = true;
        }
        switch (t) {
            case 's': $(obj).removeClass('closed'); break;
            case 'h': $(obj).addClass('closed'); break;
            default: $(obj).toggleClass('closed'); break;
        }
    }
    var h4rp = unescape(get_cookie('id_blog_pref') || '').split(' ');

    $('div.column-right h4').css({ cursor: 'pointer' }).each(function() {
        if ($(this).is('.blog-archive'))
            h42h4(this, 'h');

    }).click(function() {
        var rel = $(this).attr('class').replace(/\s?closed\s?/, '');

        if (!h4rp.in_array(rel))
            h4rp[h4rp.length] = rel;
        else if (h4rp.in_array(rel))
            h4rp.remove(rel);

        set_cookie('id_blog_pref', h4rp.join(' '), 365, 'index.html');

        h42h4(this);
    });
    for (var h = 0; h < h4rp.length; h42h4($('div.column-right h4.' + h4rp[h++]).get(0), 't'));

    var bopen = false, bobj = null;
    var bdhtml = '<div id="bkm-d">%links%</div>';
    var blhtml = '<a href="%link%" id="bkm-l-%n%">&nbsp;</a>';
    var burl = [
  'http://www.stumbleupon.com/submit?url=%url%&title=%title%&newcomment=&tagnames=',
  'http://del.icio.us/post/?url=%url%&amp;title=%title%&amp;notes=&amp;tags=,',
  'http://www.furl.net/savedialog.jsp?p=1&amp;t=%title%&amp;u=%url%&amp;r=&amp;v=1&amp;c=&amp;topics=&amp;description=&amp;keywords=,',
  'http://digg.com/submit?phase=2&amp;url=%url%&amp;title=%title%&amp;bodytext=&amp;topic=',
  'http://reddit.com/submit?url=%url%&amp;title=%title%',
  'http://www.facebook.com/share.php?src=bm&amp;u=%url%&amp;t=%title%&amp;sharer_popup_message=&amp;v=3',
  'http://technorati.com/faves/?add=%url%'
 ];
    $('p.bookmark a').click(function() {
        if (bopen)
            bclose();
        if (bobj && bobj == this) {
            bobj = null;
            return false;
        }
        bopen = true;
        bobj = this;
        $(this).addClass('on');
        tmp = $(this).attr('rel').split('|');
        var url = tmp[0], title = tmp[1], html = '';

        for (var n = 0; n < burl.length; n++)
            html += blhtml.replace(/%link%/g, burl[n].replace(/%url%/g, url).replace(/%title%/g, escape(title))).replace(/%n%/g, n);
        html = bdhtml.replace(/%links%/g, html);

        $(document.body).append(html);
        var _o = $(this).offset();
        var _l = parseInt(_o.left), _t = _o.top - 182;
        $('#bkm-d').css({ left: _l, top: _t });

        $(document).click(function(e) {
            var _obj = e.target, _id = [], close = true;
            while (_obj.parentNode) {
                _id[_id.length] = _obj.id;
                _obj = _obj.parentNode;
            }
            for (var q = 0; q < _id.length; q++)
                if (_id[q].indexOf('bkm') > -1)
                close = false;
            if (close) {
                bclose();
                bobj = null;
            }
        });
    });
    function bclose() {
        if ($(bobj).length)
            $(bobj).removeClass('on');
        $('#bkm-d').remove();
        bopen = false;
    }

    $('div.sc-large div.img:has(div.tml)').each(function() {
        $('div.tml', this).hide();
        $(this).append('<a href="#" class="tml_open">&nbsp;</a>').find('a').css({
            left: parseInt($(this).offset().left) + 864, top: parseInt($(this).offset().top) + 1
        }).click(function() {
            $(this).siblings('div.tml').slideToggle();
            return false;
        }).focus(function() { this.blur(); });
    });
});

// Other functions -->
function scroll(obj, offset) {
    if (typeof obj.pathname == 'undefined') {
        var $target = $(obj);
    } else if (location.pathname.replace(/^\//, '') == obj.pathname.replace(/^\//, '') && location.hostname == obj.hostname) {
        var $target = $(obj.hash);
        $target = $target.length && $target || $('[name=' + obj.hash.slice(1) + ']');
    }
    if ($target.length) {
        var targetOffset = $target.offset().top + offset;
        $('html,body').stop().animate({ scrollTop: targetOffset }, 500, 'swing');
        return false;
    }
}

var slider = {
    num: -1,
    cur: 0,
    cr: [],
    al: null,
    at: 10 * 1000,
    ar: true,
    init: function() {
        if (!slider.data || !slider.data.length)
            return false;

        var d = slider.data;
        slider.num = d.length;
        var pos = Math.floor(Math.random() * 1); //slider.num);
        for (var i = 0; i < slider.num; i++) {
            $('#' + d[i].id).css({ left: ((i - pos) * 1000) });
            $('#slide-nav').append('<a id="slide-link-' + i + '" href="#" onclick="slider.slide(' + i + ');return false;" onfocus="this.blur();">' + (i + 1) + '</a>');
        }

        $('img,div#slide-controls', $('div#slide-holder')).fadeIn();
        slider.text(d[pos]);
        slider.on(pos);
        slider.cur = pos;
        window.setTimeout('slider.auto();', slider.at);
    },
    auto: function() {
        if (!slider.ar)
            return false;

        var next = slider.cur + 1;
        if (next >= slider.num) next = 0;
        slider.slide(next);
    },
    slide: function(pos) {
        if (pos < 0 || pos >= slider.num || pos == slider.cur)
            return;

        window.clearTimeout(slider.al);
        slider.al = window.setTimeout('slider.auto();', slider.at);

        var d = slider.data;
        for (var i = 0; i < slider.num; i++)
            $('#' + d[i].id).stop().animate({ left: ((i - pos) * 1000) }, 1000, 'swing');

        slider.on(pos);
        slider.text(d[pos]);
        slider.cur = pos;
    },
    on: function(pos) {
        $('#slide-nav a').removeClass('on');
        $('#slide-nav a#slide-link-' + pos).addClass('on');
    },
    text: function(di) {
        slider.cr['a'] = di.client;
        slider.cr['b'] = di.desc;
        slider.ticker('#slide-client span', di.client, 0, 'a');
        slider.ticker('#slide-desc', di.desc, 0, 'b');
    },
    ticker: function(el, text, pos, unique) {
        if (slider.cr[unique] != text)
            return false;

        ctext = text.substring(0, pos) + (pos % 2 ? '-' : '_');
        $(el).html(ctext);

        if (pos == text.length)
            $(el).html(text);
        else
            window.setTimeout('slider.ticker("' + el + '","' + text + '",' + (pos + 1) + ',"' + unique + '");', 30);
    }
};

var mc = {
    flag: 0,
    auto_open: true,
    auto_play: true,
    pulse_go: false,
    hov_html: '<div id="mcdivhover"></div>',
    init: function() {
        if (!$('#media-centre').length)
            return;

        if (mc.auto_open && !get_cookie('id_visited')) {
            $(window).load(function() {
                setTimeout(function() { mc.toggle(0); }, 500);
            });
        }
        set_cookie('id_visited', 'true', 365, 'index.html');
        if (!get_cookie('id_pclicked')) {
            mc.pulse_go = true;
            mc.pulse(1);
        }
        $('#media-centre').css({ top: -419 });
        $('#media-centre-holder').css({ height: 0 }).show();
        $('#media-centre-tabs a:first').addClass('on');
        $('#' + $('#media-centre-tabs a:first').attr('rel')).show();

        $('#media-centre-tabs a').click(function() {
            $('#media-centre-tabs a').removeClass('on');
            $(this).addClass('on');

            $('div#media-centre-videos div').hide();
            $('#' + $(this).attr('rel')).show();
        });

        $('div#media-centre-videos div p.video').hover(function() {
            $(this).append(mc.hov_html);
            var o = $(this).find('img').offset();
            $('#mcdivhover').show();
        }, function() {
            $('#mcdivhover').remove();
        }).click(function() {
            $('div#media-centre-videos div p.video').removeClass('playing');
            $(this).addClass('playing');
            mc.play($(this).find('span.file').html());
            if ($(this).is('.ontwerp'))
                $('#ontwerp-tag').fadeIn();
            else
                $('#ontwerp-tag').fadeOut();
        });

        $('div#media-centre-videos div p.news').hover(function() {
            $(this).addClass('hover');
        }, function() {
            $(this).removeClass('hover');
        }).click(function() {
            location.href = $(this).find('span.url').html();
        });
    },
    toggle: function(pulse_set) {
        if (mc.flag) mc.pause();
        if (pulse_set && !get_cookie('id_pclicked')) {
            mc.pulse_go = false;
            set_cookie('id_pclicked', 'true', 365, 'index.html');
        }
        $('.mca').toggleClass('t');

        $('#media-centre-holder').stop().animate({ height: mc.flag ? 0 : 419 }, 1000, 'swing');
        $('#media-centre').stop().animate({ top: mc.flag ? -419 : 0 }, 1000, 'swing', function() {
            try {
                if (mc.flag && mc.auto_play) {
                    var f = $('div#media-centre-videos div p.video:first');
                    $('div#media-centre-videos div p.video').removeClass('playing');
                    f.addClass('playing');
                    mc.play($(this).find('span.file').html());
                    if (f.is('.ontwerp')) $('#ontwerp-tag').fadeIn();
                    else $('#ontwerp-tag').fadeOut();
                    mc.auto_play = false;
                }
            } catch (e) { } 
        });
        if ($('#pusher').length) {
            $('.tml_open').hide();
            $('#pusher div').stop().animate({ height: mc.flag ? 0 : 419 }, 1000, 'swing', function() {
                $('.tml_open').each(function() {
                    $(this).show().css({ top: $(this).offset().top + ((mc.flag ? 1 : -1) * 120) });
                });
            });
        }
        set_cookie('id_mc', mc.flag ? 'closed' : 'open', 30, 'index.html');
        mc.flag = !mc.flag;
    },
    play: function(src) {
        if (!document.getElementById || !document.getElementById('objectmc'))
            return false;
        document.getElementById('objectmc').playVideo(_siteRoot + src);
    },
    pause: function() {
        if (!document.getElementById || !document.getElementById('objectmc'))
            return false;
        document.getElementById('objectmc').pauseVideo();
    },
    pulse: function(s) {
        if (!mc.pulse_go)
            $('#mc-pulse').fadeOut(750);
        else if (s)
            $('#mc-pulse').fadeIn(750, function() { mc.pulse(0); });
        else
            $('#mc-pulse').fadeOut(750, function() { mc.pulse(1); });
    },
    checkHash: function() {
        if (!document.getElementById || !document.getElementById('objectvp'))
            return false;
        var id = location.hash.replace(/[^0-9]/, '');
        if (id != '') {
            setTimeout(function() {
                document.getElementById('objectvp').moveId(id);
                load_comments(id);
            }, 750);
        }
    },
    live: function() {
        mc.toggle(0);
        if (mc.flag) {
            window.setTimeout(function() { mc.play($('p.video:first').attr('rel')); }, 1100);
            window.setTimeout('mc.live();', 42 * 1000);
        } else
            window.setTimeout('mc.live();', 2.5 * 60 * 1000);
    }
};

var cmap = {
    is_open: false,
    gmap: false,
    form_id: 'contact-form',
    map_id: 'contact-map',
    time: 750,
    open: function() {
        if (cmap.is_open) return false;
        $('#' + cmap.form_id).fadeOut(cmap.time, function() {
            $('#' + cmap.map_id).fadeIn(cmap.time, function() {
                if (GBrowserIsCompatible() && !cmap.gmap) {
                    cmap.gmap = true;
                    var map = new GMap2(document.getElementById('gmap'));
                    var ll = new GLatLng(51.465772, -0.298347);
                    map.setCenter(ll, 13);
                    map.addOverlay(new GMarker(ll));
                    map.addControl(new GSmallMapControl());
                    map.addControl(new GMapTypeControl());
                    cmap.gdir = new GDirections(map, document.getElementById('cmap_dir'));
                    GEvent.addListener(cmap.gdir, 'error', cmap.handleErrors);
                }
            });
        });
        cmap.is_open = true;
    },
    close: function() {
        if (!cmap.is_open) return false;
        $('#' + cmap.map_id).fadeOut(cmap.time, function() { $('#' + cmap.form_id).fadeIn(cmap.time); });
        cmap.is_open = false;
    },
    directions: function(to) {
        cmap.gdir.load('from: Kew Road, Richmond, UK to: ' + to, { 'locale': 'en_UK' });
    },
    handleErrors: function() {
        if (cmap.gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
            alert("No corresponding geographic location could be found for one of the specified addresses. This may be due to the fact that the address is relatively new, or it may be incorrect.\nError code: " + cmap.gdir.getStatus().code);
        else if (cmap.gdir.getStatus().code == G_GEO_SERVER_ERROR)
            alert("A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.\n Error code: " + cmap.gdir.getStatus().code);
        else if (cmap.gdir.getStatus().code == G_GEO_MISSING_QUERY)
            alert("The HTTP q parameter was either missing or had no value. For geocoder requests, this means that an empty address was specified as input. For directions requests, this means that no query was specified in the input.\n Error code: " + cmap.gdir.getStatus().code);
        else if (cmap.gdir.getStatus().code == G_GEO_BAD_KEY)
            alert("The given key is either invalid or does not match the domain for which it was given. \n Error code: " + cmap.gdir.getStatus().code);
        else if (cmap.gdir.getStatus().code == G_GEO_BAD_REQUEST)
            alert("A directions request could not be successfully parsed.\n Error code: " + cmap.gdir.getStatus().code);
        else alert("An unknown error occurred.");
    }
};

function toolbox_save() {
    if ($('#popup-toolbox').length) {
        var bg = $('#popup-toolbox img.on').attr('src').split('bg/bg')[1].split('-thumb')[0];
        var colour = $('#popup-toolbox a.on').attr('id');

        if ($('#toolbox-remember').is(':checked')) {
            $.get(_root, { set_bg: bg, set_colour: colour }, function() { });
        }
        $('#popup-toolbox').fadeOut();
        $('li.toolbox').removeClass('toolbox-open');
    }
}

var client_root = _root + 'client/';
function client_login(form) {
    $.post(client_root, { user: form.client_user.value, pass: form.client_pass.value },
  function(data) {
      if (data == '0') $('#popup-client p.error').fadeIn();
      else location.href = client_root;
  }
 );
}
function cms_login(form) {
    $.post(_siteRoot + 'ajax-login.php', { user: form.cms_user.value, pass: form.cms_pass.value },
  function(data) {
      if (data == '0') $('#popup-cms p.error').fadeIn();
      else location.href = _root + 'wp-admin/';
  }
 );
}

Array.prototype.in_array = function(v) {
    for (var i in this)
        if (this[i] == v)
        return true;
    return false;
}
Array.prototype.remove = function(s) {
    for (i = 0; i < this.length; i++)
        if (s == this[i])
        this.splice(i, 1);
}

var star_off = _siteRoot + 'images/star-off.png', star_on = _siteRoot + 'images/star-on.png', star_html = '<p class="stars" rel="%s%">';
for (var i = 1; i < 6; i++) star_html += '<img src="' + star_off + '" alt="" id="star_%s%_' + i + '" onmouseover="feedback_stars(this,\'over\',\'%s%\',' + i + ');" onmouseout="feedback_stars(this,\'out\',\'%s%\',' + i + ');" onclick="feedback_stars(this,\'click\',\'%s%\',' + i + ');" width="15" height="15" />'; star_html += '<input type="hidden" id="rating_%s%" name="rating_%s%" value="-1" /></p>';

var fb_html = '<div id="feedback_div"><form action="' + _siteRoot + 'feedback.php" method="post"><a href="#" id="fb_close" onclick="feedback_close();return false;" onfocus="blur();">Close</a>' +
'<div class="rate"><p>This page</p><p class="indent">Design:</p>' + star_html.replace(/%s%/gi, 'page_design') + '<p class="indent">Content:</p>' + star_html.replace(/%s%/gi, 'page_content') + '<p class="indent">Ease of use:</p>' + star_html.replace(/%s%/gi, 'page_ease') + '<p class="indent">Overall:</p>' + star_html.replace(/%s%/gi, 'page_overall') + '</div>' +
'<div class="rate"><p>Whole site</p><p class="indent">Design:</p>' + star_html.replace(/%s%/gi, 'site_design') + '<p class="indent">Content:</p>' + star_html.replace(/%s%/gi, 'site_content') + '<p class="indent">Ease of use:</p>' + star_html.replace(/%s%/gi, 'site_ease') + '<p class="indent">Overall:</p>' + star_html.replace(/%s%/gi, 'site_overall') + '</div>' +
'<div class="form"><label>Name: <input type="text" name="name" value="" class="text" /></label><label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Email: <input type="text" name="email" value="" class="text" /></label><label class="ta">Comments:<br /><textarea name="comments" cols="10" rows="5"></textarea></label><br style="clear:both;" /><input type="submit" name="submit" class="button" value="" /></div>' +
'</form></div>';

function feedback(obj) {
    if (fb_html != '') {
        jQuery(document.body).append(fb_html);
        fb_html = '';
        _offset = jQuery(obj).offset();
        jQuery('#feedback_div').css({ 'left': _offset.left - jQuery('#feedback_div').width() + jQuery(obj).width() - 30, 'top': _offset.top - 240 });
    }
    if (jQuery('#feedback_div').is(':visible')) jQuery('#feedback_div').fadeOut(250);
    else jQuery('#feedback_div').fadeIn(250);
}
function feedback_close() {
    if (jQuery('#feedback_div').is(':visible'))
        jQuery('#feedback_div').fadeOut(250);
}
jQuery(document).click(function(e) {
    if (jQuery('#feedback_div').is(':visible')) {
        var obj = e.target, ids = [];
        while (obj.parentNode) {
            ids[ids.length] = obj.id;
            obj = obj.parentNode;
        }
        if (!ids.in_array('feedback_div') && !ids.in_array('feedback_a'))
            jQuery('#feedback_div').fadeOut(250);
    }
});
var fb_r = [];
function feedback_stars(obj, b, s, r) {
    switch (b) {
        case 'over':
            for (var i = 1; i < 6; i++) {
                if (i <= r) jQuery('#star_' + s + '_' + i).attr('src', star_on);
                else jQuery('#star_' + s + '_' + i).attr('src', star_off);
            }
            break;
        case 'out':
            for (var i = 1; i < 6; i++) {
                if (typeof fb_r[s] != 'undefined' && i <= fb_r[s]) jQuery('#star_' + s + '_' + i).attr('src', star_on);
                else jQuery('#star_' + s + '_' + i).attr('src', star_off);
            }
            break;
        case 'click':
            fb_r[s] = r;
            jQuery('#rating_' + s).val(r);
            break;
    }
}

function load_comments(id) {
    $('#comment_post_ID').val(id);
    $('#video-comments').html('<p>Loading comments&hellip;</p>');

    $.getJSON(_siteRoot + 'json-comments.php?id=' + id, function(data) {
        var html = '';
        $('#video-comments').html('<p>There are no comments for this video.</p>');
        $.each(data, function() {
            html += '<div class="comment"><p class="author colour">' + this.comment_author + ' says:</p><p class="date">' + this.date + '</p><p class="message">' + this.comment_content + '</p></div>';
            html += '<div class="hr"></div>';
        });
        if (html != '')
            $('#video-comments').html(html);
    });
}

// STYLING FILE INPUTS 1.0 | Shaun Inman <http://www.shauninman.com/> | 2007-09-07
if (!window.SI) { var SI = {}; };
SI.Files = {
    htmlClass: 'SI-FILES-STYLIZED',
    fileClass: 'file',
    wrapClass: 'cabinet',

    fini: false,
    able: false,
    init: function() {
        this.fini = true;

        var ie = 0//@cc_on + @_jscript_version
        if (window.opera || (ie && ie < 5.5) || !document.getElementsByTagName) { return; }
        this.able = true;

        var html = document.getElementsByTagName('html')[0];
        html.className += (html.className != '' ? ' ' : '') + this.htmlClass;
    },
    stylize: function(elem) {
        if (!this.fini) { this.init(); };
        if (!this.able) { return; };

        elem.parentNode.file = elem;
        elem.parentNode.onmousemove = function(e) {
            if (typeof e == 'undefined') e = window.event;
            if (typeof e.pageY == 'undefined' && typeof e.clientX == 'number' && document.documentElement) {
                e.pageX = e.clientX + document.documentElement.scrollLeft;
                e.pageY = e.clientY + document.documentElement.scrollTop;
            };
            var ox = oy = 0;
            var elem = this;
            if (elem.offsetParent) {
                ox = elem.offsetLeft;
                oy = elem.offsetTop;
                while (elem = elem.offsetParent) {
                    ox += elem.offsetLeft;
                    oy += elem.offsetTop;
                };
            };
            var x = e.pageX - ox;
            var y = e.pageY - oy;
            var w = this.file.offsetWidth;
            var h = this.file.offsetHeight;
            this.file.style.top = y - (h / 2) + 'px';
            this.file.style.left = x - (w - 30) + 'px';
        };
    },
    stylizeById: function(id) {
        this.stylize(document.getElementById(id));
    },
    stylizeAll: function() {
        if (!this.fini) { this.init(); };
        if (!this.able) { return; };

        var inputs = document.getElementsByTagName('input');
        for (var i = 0; i < inputs.length; i++) {
            var input = inputs[i];
            if (input.type == 'file' && input.className.indexOf(this.fileClass) != -1 && input.parentNode.className.indexOf(this.wrapClass) != -1)
                this.stylize(input);
        };
    }
};

function set_cookie(name, value, expires, path, domain, secure) {
    var today = new Date();
    today.setTime(today.getTime());
    if (expires) expires *= (1000 * 60 * 60 * 24);
    var expires_date = new Date(today.getTime() + expires);

    document.cookie = name + '=' + escape(value) +
  ((expires) ? ';expires=' + expires_date.toGMTString() : '') +
  ((path) ? ';path=' + path : '') +
  ((domain) ? ';domain=' + domain : '') +
  ((secure) ? ';secure' : '');
}

function get_cookie(check_name) {
    var a_all_cookies = document.cookie.split(';');
    var a_temp_cookie = '';
    var cookie_name = '';
    var cookie_value = '';
    var b_cookie_found = false;

    for (i = 0; i < a_all_cookies.length; i++) {
        a_temp_cookie = a_all_cookies[i].split('=');
        cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

        if (cookie_name == check_name) {
            b_cookie_found = true;
            if (a_temp_cookie.length > 1)
                cookie_value = unescape(a_temp_cookie[1].replace(/^\s+|\s+$/g, ''));
            return cookie_value;
            break;
        }
        a_temp_cookie = null;
        cookie_name = '';
    }
    if (!b_cookie_found)
        return null;
}

function delete_cookie(name, path, domain) {
    if (get_cookie(name))
        document.cookie = name + '=' + ((path) ? ';path=' + path : '') +
  ((domain) ? ';domain=' + domain : '') + ';expires=Thu,01-Jan-1970 00:00:01 GMT';
}








/**
* --------------------------------------------------------------------
* jQuery-Plugin "pngFix"
* Version: 1.1, 11.09.2007
* by Andreas Eberhard, andreas.eberhard@gmail.com
*                      http://jquery.andreaseberhard.de/
*
* Copyright (c) 2007 Andreas Eberhard
* Licensed under GPL (http://www.opensource.org/licenses/gpl-license.php)
*
* Changelog:
*    11.09.2007 Version 1.1
*    - removed noConflict
*    - added png-support for input type=image
*    - 01.08.2007 CSS background-image support extension added by Scott Jehl, scott@filamentgroup.com, http://www.filamentgroup.com
*    31.05.2007 initial Version 1.0
* --------------------------------------------------------------------
* @example $(function(){$(document).pngFix();});
* @desc Fixes all PNG's in the document on document.ready
*
* jQuery(function(){jQuery(document).pngFix();});
* @desc Fixes all PNG's in the document on document.ready when using noConflict
*
* @example $(function(){$('div.examples').pngFix();});
* @desc Fixes all PNG's within div with class examples
*
* @example $(function(){$('div.examples').pngFix( { blankgif:'ext.gif' } );});
* @desc Fixes all PNG's within div with class examples, provides blank gif for input with png
* --------------------------------------------------------------------
*/
(function($) {
    jQuery.fn.pngFix = function(settings) {
        settings = jQuery.extend({ blankgif: 'blank.gif' }, settings);
        var ie55 = (navigator.appName == 'Microsoft Internet Explorer' && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf('MSIE 5.5') != -1);
        var ie6 = (navigator.appName == 'Microsoft Internet Explorer' && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf('MSIE 6.0') != -1);

        if (jQuery.browser.msie && (ie55 || ie6)) {
            //fix images with png-source
            /*jQuery(this).find("img[@src$=.png]").each(function() {
            jQuery(this).attr('width',jQuery(this).width());
            jQuery(this).attr('height',jQuery(this).height());
            var prevStyle='';
            var strNewHTML='';
            var imgId=(jQuery(this).attr('id'))?'id="'+jQuery(this).attr('id')+'" ' : '';
            var imgClass=(jQuery(this).attr('class'))?'class="'+jQuery(this).attr('class')+'" ' : '';
            var imgTitle=(jQuery(this).attr('title'))?'title="'+jQuery(this).attr('title')+'" ' : '';
            var imgAlt=(jQuery(this).attr('alt'))?'alt="'+jQuery(this).attr('alt')+'" ' : '';
            var imgAlign=(jQuery(this).attr('align'))?'float:'+jQuery(this).attr('align')+';' : '';
            var imgHand=(jQuery(this).parent().attr('href'))?'cursor:hand;' : '';
            if (this.style.border) {
            prevStyle += 'border:'+this.style.border+';';
            this.style.border='';
            }
            if (this.style.padding) {
            prevStyle += 'padding:'+this.style.padding+';';
            this.style.padding='';
            }
            if (this.style.margin) {
            prevStyle += 'margin:'+this.style.margin+';';
            this.style.margin='';
            }
            var imgStyle=(this.style.cssText);
            strNewHTML += '<span '+imgId+imgClass+imgTitle+imgAlt;
            strNewHTML += 'style="position:relative;white-space:pre-line;display:inline-block;background:transparent;'+imgAlign+imgHand;
            strNewHTML += 'width:'+jQuery(this).width()+'px;'+'height:'+jQuery(this).height()+'px;';
            strNewHTML += 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader'+'(src=\''+jQuery(this).attr('src')+'\', sizingMethod=\'scale\');';
            strNewHTML += imgStyle+'"></span>';
            if (prevStyle != ''){
            strNewHTML='<span style="position:relative;display:inline-block;'+prevStyle+imgHand+'width:'+jQuery(this).width()+'px;'+'height:'+jQuery(this).height()+'px;'+'">'+strNewHTML+'</span>';
            }
            jQuery(this).hide();
            jQuery(this).after(strNewHTML);
            });*/
            // fix css background pngs
            //jQuery(this).find("*").each(function(){
            jQuery(this).each(function() {
                var bgIMG = jQuery(this).css('background-image');
                if (bgIMG.indexOf(".png") != -1) {
                    var iebg = bgIMG.split('url("')[1].split('")')[0];
                    jQuery(this).css('background-image', 'none');
                    jQuery(this).get(0).runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + iebg + "',sizingMethod='" + settings.sizingMethod + "')";
                }
            });
            //fix input with png-source
            /*jQuery(this).find("input[@src$=.png]").each(function() {
            var bgIMG=jQuery(this).attr('src');
            jQuery(this).get(0).runtimeStyle.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader'+'(src=\''+bgIMG+'\', sizingMethod=\'scale\');';
            jQuery(this).attr('src', settings.blankgif)
            });*/
        }
        return jQuery;
    };
})(jQuery);
$(function() {
    if (jQuery.browser.msie && jQuery.browser.version < 7) {
        // $('div#top h1 a,div#content h2,div.column-third h4,p.date,div#media-centre-tabs a,div.popup').pngFix({sizingMethod:'crop'});
        // $('div#top,div#content div.wrap').pngFix({sizingMethod:'scale'});
    } 
});




var $pp_pic_holder; var $ppt; (function(A) {
    A.fn.prettyPhoto = function(W) {
        var E = true; var K = false; var O = []; var D = 0; var R; var S; var V; var Y; var F = "image"; var Z; var M = G(); A(window).scroll(function() { M = G(); C() }); A(window).resize(function() { C(); U() }); A(document).keypress(function(c) { switch (c.keyCode) { case 37: if (D == 1) { return } N("previous"); break; case 39: if (D == setCount) { return } N("next"); break; case 27: L(); break } }); W = jQuery.extend({ animationSpeed: "normal", padding: 40, opacity: 0.8, showTitle: true, allowresize: true, counter_separator_label: "/", theme: "light_rounded", callback: function() { } }, W); if (A.browser.msie && A.browser.version == 6) { W.theme = "light_square" } A(this).each(function() { var e = false; var d = false; var f = 0; var c = 0; O[O.length] = this; A(this).bind("click", function() { J(this); return false }) }); function J(c) { Z = A(c); theRel = Z.attr("rel"); galleryRegExp = /\[(?:.*)\]/; theGallery = galleryRegExp.exec(theRel); isSet = false; setCount = 0; b(); for (i = 0; i < O.length; i++) { if (A(O[i]).attr("rel").indexOf(theGallery) != -1) { setCount++; if (setCount > 1) { isSet = true } if (A(O[i]).attr("href") == Z.attr("href")) { D = setCount; arrayPosition = i } } } X(); $pp_pic_holder.find("p.currentTextHolder").text(D + W.counter_separator_label + setCount); C(); A("#pp_full_res").hide(); $pp_pic_holder.find(".pp_loaderIcon").show() } showimage = function(f, c, j, h, g, d, e) { A(".pp_loaderIcon").hide(); if (A.browser.opera) { windowHeight = window.innerHeight; windowWidth = window.innerWidth } else { windowHeight = A(window).height(); windowWidth = A(window).width() } $pp_pic_holder.find(".pp_content").animate({ height: g }, W.animationSpeed); projectedTop = M.scrollTop + ((windowHeight / 2) - (h / 2)); if (projectedTop < 0) { projectedTop = 0 + $pp_pic_holder.find(".ppt").height() } $pp_pic_holder.animate({ top: projectedTop, left: ((windowWidth / 2) - (j / 2)), width: j }, W.animationSpeed, function() { $pp_pic_holder.width(j); $pp_pic_holder.find(".pp_hoverContainer,#fullResImage").height(c).width(f); $pp_pic_holder.find("#pp_full_res").fadeIn(W.animationSpeed, function() { A(this).find("object,embed").css("visibility", "visible") }); I(); if (e) { A("a.pp_expand,a.pp_contract").fadeIn(W.animationSpeed) } }) }; function I() { if (isSet && F == "image") { $pp_pic_holder.find(".pp_hoverContainer").fadeIn(W.animationSpeed) } else { $pp_pic_holder.find(".pp_hoverContainer").hide() } $pp_pic_holder.find(".pp_details").fadeIn(W.animationSpeed); if (W.showTitle && hasTitle) { $ppt.css({ top: $pp_pic_holder.offset().top - 22, left: $pp_pic_holder.offset().left + (W.padding / 2), display: "none" }); $ppt.fadeIn(W.animationSpeed) } } function Q() { $pp_pic_holder.find(".pp_hoverContainer,.pp_details").fadeOut(W.animationSpeed); $pp_pic_holder.find("#pp_full_res object,#pp_full_res embed").css("visibility", "hidden"); $pp_pic_holder.find("#pp_full_res").fadeOut(W.animationSpeed, function() { A(".pp_loaderIcon").show(); a() }); $ppt.fadeOut(W.animationSpeed) } function N(c) { if (c == "previous") { arrayPosition--; D-- } else { arrayPosition++; D++ } if (!E) { E = true } Q(); A("a.pp_expand,a.pp_contract").fadeOut(W.animationSpeed, function() { A(this).removeClass("pp_contract").addClass("pp_expand") }) } function L() { $pp_pic_holder.find("object,embed").css("visibility", "hidden"); A("div.pp_pic_holder,div.ppt").fadeOut(W.animationSpeed); A("div.pp_overlay").fadeOut(W.animationSpeed, function() { A("div.pp_overlay,div.pp_pic_holder,div.ppt").remove(); if (A.browser.msie && A.browser.version == 6) { A("select").css("visibility", "visible") } W.callback() }); E = true } function H() { if (D == setCount) { $pp_pic_holder.find("a.pp_next").css("visibility", "hidden"); $pp_pic_holder.find("a.pp_arrow_next").addClass("disabled").unbind("click") } else { $pp_pic_holder.find("a.pp_next").css("visibility", "visible"); $pp_pic_holder.find("a.pp_arrow_next.disabled").removeClass("disabled").bind("click", function() { N("next"); return false }) } if (D == 1) { $pp_pic_holder.find("a.pp_previous").css("visibility", "hidden"); $pp_pic_holder.find("a.pp_arrow_previous").addClass("disabled").unbind("click") } else { $pp_pic_holder.find("a.pp_previous").css("visibility", "visible"); $pp_pic_holder.find("a.pp_arrow_previous.disabled").removeClass("disabled").bind("click", function() { N("previous"); return false }) } $pp_pic_holder.find("p.currentTextHolder").text(D + W.counter_separator_label + setCount); Z = (isSet) ? A(O[arrayPosition]) : Z; b(); if (Z.attr("title")) { $pp_pic_holder.find(".pp_description").show().html(unescape(Z.attr("title"))) } else { $pp_pic_holder.find(".pp_description").hide().text("") } if (Z.find("img").attr("alt") && W.showTitle) { hasTitle = true; $ppt.html(unescape(Z.find("img").attr("alt"))) } else { hasTitle = false } } function P(d, c) { hasBeenResized = false; T(d, c); imageWidth = d; imageHeight = c; windowHeight = A(window).height(); windowWidth = A(window).width(); if (((Y > windowWidth) || (V > windowHeight)) && E && W.allowresize && !K) { hasBeenResized = true; notFitting = true; while (notFitting) { if ((Y > windowWidth)) { imageWidth = (windowWidth - 200); imageHeight = (c / d) * imageWidth } else { if ((V > windowHeight)) { imageHeight = (windowHeight - 200); imageWidth = (d / c) * imageHeight } else { notFitting = false } } V = imageHeight; Y = imageWidth } T(imageWidth, imageHeight) } return { width: imageWidth, height: imageHeight, containerHeight: V, containerWidth: Y, contentHeight: R, contentWidth: S, resized: hasBeenResized} } function T(d, c) { $pp_pic_holder.find(".pp_details").width(d).find(".pp_description").width(d - parseFloat($pp_pic_holder.find("a.pp_close").css("width"))); R = c + $pp_pic_holder.find(".pp_details").height() + parseFloat($pp_pic_holder.find(".pp_details").css("marginTop")) + parseFloat($pp_pic_holder.find(".pp_details").css("marginBottom")); S = d; V = R + $pp_pic_holder.find(".ppt").height() + $pp_pic_holder.find(".pp_top").height() + $pp_pic_holder.find(".pp_bottom").height(); Y = d + W.padding } function b() { if (Z.attr("href").match(/youtube\.com\/watch/i)) { F = "youtube" } else { if (Z.attr("href").indexOf(".mov") != -1) { F = "quicktime" } else { if (Z.attr("href").indexOf(".swf") != -1) { F = "flash" } else { if (Z.attr("href").indexOf("iframe") != -1) { F = "iframe" } else { F = "image" } } } } } function C() { if ($pp_pic_holder) { if ($pp_pic_holder.size() == 0) { return } } else { return } if (A.browser.opera) { windowHeight = window.innerHeight; windowWidth = window.innerWidth } else { windowHeight = A(window).height(); windowWidth = A(window).width() } if (E) { $pHeight = $pp_pic_holder.height(); $pWidth = $pp_pic_holder.width(); $tHeight = $ppt.height(); projectedTop = (windowHeight / 2) + M.scrollTop - ($pHeight / 2); if (projectedTop < 0) { projectedTop = 0 + $tHeight } $pp_pic_holder.css({ top: projectedTop, left: (windowWidth / 2) + M.scrollLeft - ($pWidth / 2) }); $ppt.css({ top: projectedTop - $tHeight, left: (windowWidth / 2) + M.scrollLeft - ($pWidth / 2) + (W.padding / 2) }) } } function a() { H(); if (F == "image") { imgPreloader = new Image(); nextImage = new Image(); if (isSet && D > setCount) { nextImage.src = A(O[arrayPosition + 1]).attr("href") } prevImage = new Image(); if (isSet && O[arrayPosition - 1]) { prevImage.src = A(O[arrayPosition - 1]).attr("href") } pp_typeMarkup = '<img id="fullResImage" src="" />'; $pp_pic_holder.find("#pp_full_res")[0].innerHTML = pp_typeMarkup; $pp_pic_holder.find(".pp_content").css("overflow", "hidden"); $pp_pic_holder.find("#fullResImage").attr("src", Z.attr("href")); imgPreloader.onload = function() { var c = P(imgPreloader.width, imgPreloader.height); imgPreloader.width = c.width; imgPreloader.height = c.height; showimage(imgPreloader.width, imgPreloader.height, c.containerWidth, c.containerHeight, c.contentHeight, c.contentWidth, c.resized) }; imgPreloader.src = Z.attr("href") } else { movie_width = (parseFloat(B("width", Z.attr("href")))) ? B("width", Z.attr("href")) : "425"; movie_height = (parseFloat(B("height", Z.attr("href")))) ? B("height", Z.attr("href")) : "344"; if (movie_width.indexOf("%") != -1 || movie_height.indexOf("%") != -1) { movie_height = (A(window).height() * parseFloat(movie_height) / 100) - 100; movie_width = (A(window).width() * parseFloat(movie_width) / 100) - 100; parsentBased = true } else { movie_height = parseFloat(movie_height); movie_width = parseFloat(movie_width) } if (F == "quicktime") { movie_height += 13 } correctSizes = P(movie_width, movie_height); if (F == "youtube") { pp_typeMarkup = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + correctSizes.width + '" height="' + correctSizes.height + '"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://www.youtube.com/v/' + B("v", Z.attr("href")) + '" /><embed src="http://www.youtube.com/v/' + B("v", Z.attr("href")) + '" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="' + correctSizes.width + '" height="' + correctSizes.height + '"></embed></object>' } else { if (F == "quicktime") { pp_typeMarkup = '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" height="' + correctSizes.height + '" width="' + correctSizes.width + '"><param name="src" value="' + Z.attr("href") + '"><param name="autoplay" value="true"><param name="type" value="video/quicktime"><embed src="' + Z.attr("href") + '" height="' + correctSizes.height + '" width="' + correctSizes.width + '" autoplay="true" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/"></embed></object>' } else { if (F == "flash") { flash_vars = Z.attr("href"); flash_vars = flash_vars.substring(Z.attr("href").indexOf("flashvars") + 10, Z.attr("href").length); filename = Z.attr("href"); filename = filename.substring(0, filename.indexOf("?")); pp_typeMarkup = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + correctSizes.width + '" height="' + correctSizes.height + '"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="' + filename + "?" + flash_vars + '" /><embed src="' + filename + "?" + flash_vars + '" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="' + correctSizes.width + '" height="' + correctSizes.height + '"></embed></object>' } else { if (F == "iframe") { movie_url = Z.attr("href"); movie_url = movie_url.substr(0, movie_url.indexOf("iframe") - 1); pp_typeMarkup = '<iframe src ="' + movie_url + '" width="' + (correctSizes.width - 10) + '" height="' + (correctSizes.height - 10) + '" frameborder="no"></iframe>' } } } } $pp_pic_holder.find("#pp_full_res")[0].innerHTML = pp_typeMarkup; showimage(correctSizes.width, correctSizes.height, correctSizes.containerWidth, correctSizes.containerHeight, correctSizes.contentHeight, correctSizes.contentWidth, correctSizes.resized) } } function G() { if (self.pageYOffset) { scrollTop = self.pageYOffset; scrollLeft = self.pageXOffset } else { if (document.documentElement && document.documentElement.scrollTop) { scrollTop = document.documentElement.scrollTop; scrollLeft = document.documentElement.scrollLeft } else { if (document.body) { scrollTop = document.body.scrollTop; scrollLeft = document.body.scrollLeft } } } return { scrollTop: scrollTop, scrollLeft: scrollLeft} } function U() { A("div.pp_overlay").css({ height: A(document).height(), width: A(window).width() }) } function X() {
            toInject = ""; toInject += "<div class='pp_overlay'></div>"; if (F == "image") { pp_typeMarkup = '<img id="fullResImage" src="" />' } else { pp_typeMarkup = "" } toInject += '<div class="pp_pic_holder"><div class="pp_top"><div class="pp_left"></div><div class="pp_middle"></div><div class="pp_right"></div></div><div class="pp_content"><a href="#" class="pp_expand" title="Expand the image">Expand</a><div class="pp_loaderIcon"></div><div class="pp_hoverContainer"><a class="pp_next" href="#">next</a><a class="pp_previous" href="#">previous</a></div><div id="pp_full_res">' + pp_typeMarkup + '</div><div class="pp_details clearfix"><a class="pp_close" href="#">Close</a><p class="pp_description"></p><div class="pp_nav"><a href="#" class="pp_arrow_previous">Previous</a><p class="currentTextHolder">0' + W.counter_separator_label + '0</p><a href="#" class="pp_arrow_next">Next</a></div></div></div><div class="pp_bottom"><div class="pp_left"></div><div class="pp_middle"></div><div class="pp_right"></div></div></div>'; toInject += '<div class="ppt"></div>'; A("body").append(toInject); $pp_pic_holder = A(".pp_pic_holder"); $ppt = A(".ppt"); A("div.pp_overlay").css("height", A(document).height()).bind("click", function() { L() }); $pp_pic_holder.css({ opacity: 0 }).addClass(W.theme); A("a.pp_close").bind("click", function() { L(); return false }); A("a.pp_expand"
).bind("click", function() { $this = A(this); if ($this.hasClass("pp_expand")) { $this.removeClass("pp_expand").addClass("pp_contract"); E = false } else { $this.removeClass("pp_contract").addClass("pp_expand"); E = true } Q(); $pp_pic_holder.find(".pp_hoverContainer, #pp_full_res, .pp_details").fadeOut(W.animationSpeed, function() { a() }); return false }); $pp_pic_holder.find(".pp_previous, .pp_arrow_previous").bind("click", function() { N("previous"); return false }); $pp_pic_holder.find(".pp_next, .pp_arrow_next").bind("click", function() { N("next"); return false }); $pp_pic_holder.find(".pp_hoverContainer").css({ "margin-left": W.padding / 2 }); if (!isSet) { $pp_pic_holder.find(".pp_hoverContainer,.pp_nav").hide() } if (A.browser.msie && A.browser.version == 6) { A("body").addClass("ie6"); A("select").css("visibility", "hidden") } A("div.pp_overlay").css("opacity", 0).fadeTo(W.animationSpeed, W.opacity, function() { $pp_pic_holder.css("opacity", 0).fadeIn(W.animationSpeed, function() { $pp_pic_holder.attr("style", "left:" + $pp_pic_holder.css("left") + ";top:" + $pp_pic_holder.css("top") + ";"); a() }) })
        }
    }; function B(E, D) { E = E.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); var C = "[\\?&]" + E + "=([^&#]*)"; var G = new RegExp(C); var F = G.exec(D); if (F == null) { return "" } else { return F[1] } }
})(jQuery);

