/* ------------------------------------------------------------------------ Class: prettyPhoto Use: Lightbox clone for jQuery Author: Stephane Caron (http://www.no-margin-for-errors.com) Version: 3.1.6 ------------------------------------------------------------------------- */ !function(e){function t(){var e = location.href; return hashtag = - 1 !== e.indexOf("#prettyPhoto")?decodeURI(e.substring(e.indexOf("#prettyPhoto") + 1, e.length)):!1, hashtag && (hashtag = hashtag.replace(/<|>/g, "")), hashtag}function i(){"undefined" != typeof theRel && (location.hash = theRel + "/" + rel_index + "/")}function p(){ - 1 !== location.href.indexOf("#prettyPhoto") && (location.hash = "prettyPhoto")}function o(e, t){e = e.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); var i = "[\\?&]" + e + "=([^&#]*)", p = new RegExp(i), o = p.exec(t); return null == o?"":o[1]}e.prettyPhoto = {version:"3.1.6"}, e.fn.prettyPhoto = function(a){function s(){e(".pp_loaderIcon").hide(), projectedTop = scroll_pos.scrollTop + (I / 2 - f.containerHeight / 2), projectedTop < 0 && (projectedTop = 0), $ppt.fadeTo(settings.animation_speed, 1), $pp_pic_holder.find(".pp_content").animate({height:f.contentHeight, width:f.contentWidth}, settings.animation_speed), $pp_pic_holder.animate({top:projectedTop, left:j / 2 - f.containerWidth / 2 < 0?0:j / 2 - f.containerWidth / 2, width:f.containerWidth}, settings.animation_speed, function(){$pp_pic_holder.find(".pp_hoverContainer,#fullResImage").height(f.height).width(f.width), $pp_pic_holder.find(".pp_fade").fadeIn(settings.animation_speed), isSet && "image" == h(pp_images[set_position])?$pp_pic_holder.find(".pp_hoverContainer").show():$pp_pic_holder.find(".pp_hoverContainer").hide(), settings.allow_expand && (f.resized?e("a.pp_expand,a.pp_contract").show():e("a.pp_expand").hide()), !settings.autoplay_slideshow || P || v || e.prettyPhoto.startSlideshow(), settings.changepicturecallback(), v = !0}), m(), a.ajaxcallback()}function n(t){$pp_pic_holder.find("#pp_full_res object,#pp_full_res embed").css("visibility", "hidden"), $pp_pic_holder.find(".pp_fade").fadeOut(settings.animation_speed, function(){e(".pp_loaderIcon").show(), t()})}function r(t){t > 1?e(".pp_nav").show():e(".pp_nav").hide()}function l(e, t){if (resized = !1, d(e, t), imageWidth = e, imageHeight = t, (k > j || b > I) && doresize && settings.allow_resize && !$){for (resized = !0, fitting = !1; !fitting; )k > j?(imageWidth = j - 30, imageHeight = t / e * imageWidth):b > I?(imageHeight = I - 200, imageWidth = e / t * imageHeight):fitting = !0, b = imageHeight, k = imageWidth; (k > j || b > I) && l(k, b), d(imageWidth, imageHeight)}return{width:Math.floor(imageWidth), height:Math.floor(imageHeight), containerHeight:Math.floor(b), containerWidth:Math.floor(k) + 2 * settings.horizontal_padding, contentHeight:Math.floor(y), contentWidth:Math.floor(w), resized:resized}}function d(t, i){t = parseFloat(t), i = parseFloat(i), $pp_details = $pp_pic_holder.find(".pp_details"), $pp_details.width(t), detailsHeight = parseFloat($pp_details.css("marginTop")) + parseFloat($pp_details.css("marginBottom")), $pp_details = $pp_details.clone().addClass(settings.theme).width(t).appendTo(e("body")).css({position:"absolute", top: - 1e4}), detailsHeight += $pp_details.height(), detailsHeight = detailsHeight <= 34?36:detailsHeight, $pp_details.remove(), $pp_title = $pp_pic_holder.find(".ppt"), $pp_title.width(t), titleHeight = parseFloat($pp_title.css("marginTop")) + parseFloat($pp_title.css("marginBottom")), $pp_title = $pp_title.clone().appendTo(e("body")).css({position:"absolute", top: - 1e4}), titleHeight += $pp_title.height(), $pp_title.remove(), y = i + detailsHeight, w = t, b = y + titleHeight + $pp_pic_holder.find(".pp_top").height() + $pp_pic_holder.find(".pp_bottom").height(), k = t}function h(e){return e.match(/youtube\.com\/watch/i) || e.match(/youtu\.be/i)?"youtube":e.match(/vimeo\.com/i)?"vimeo":e.match(/\b.mov\b/i)?"quicktime":e.match(/\b.swf\b/i)?"flash":e.match(/\biframe=true\b/i)?"iframe":e.match(/\bajax=true\b/i)?"ajax":e.match(/\bcustom=true\b/i)?"custom":"#" == e.substr(0, 1)?"inline":"image"}function c(){if (doresize && "undefined" != typeof $pp_pic_holder){if (scroll_pos = _(), contentHeight = $pp_pic_holder.height(), contentwidth = $pp_pic_holder.width(), projectedTop = I / 2 + scroll_pos.scrollTop - contentHeight / 2, projectedTop < 0 && (projectedTop = 0), contentHeight > I)return; $pp_pic_holder.css({top:projectedTop, left:j / 2 + scroll_pos.scrollLeft - contentwidth / 2})}}function _(){return self.pageYOffset?{scrollTop:self.pageYOffset, scrollLeft:self.pageXOffset}:document.documentElement && document.documentElement.scrollTop?{scrollTop:document.documentElement.scrollTop, scrollLeft:document.documentElement.scrollLeft}:document.body?{scrollTop:document.body.scrollTop, scrollLeft:document.body.scrollLeft}:void 0}function g(){I = e(window).height(), j = e(window).width(), "undefined" != typeof $pp_overlay && $pp_overlay.height(e(document).height()).width(j)}function m(){isSet && settings.overlay_gallery && "image" == h(pp_images[set_position])?(itemWidth = 57, navWidth = "facebook" == settings.theme || "pp_default" == settings.theme?50:30, itemsPerPage = Math.floor((f.containerWidth - 100 - navWidth) / itemWidth), itemsPerPage = itemsPerPage < pp_images.length?itemsPerPage:pp_images.length, totalPage = Math.ceil(pp_images.length / itemsPerPage) - 1, 0 == totalPage?(navWidth = 0, $pp_gallery.find(".pp_arrow_next,.pp_arrow_previous").hide()):$pp_gallery.find(".pp_arrow_next,.pp_arrow_previous").show(), galleryWidth = itemsPerPage * itemWidth, fullGalleryWidth = pp_images.length * itemWidth, $pp_gallery.css("margin-left", - (galleryWidth / 2 + navWidth / 2)).find("div:first").width(galleryWidth + 5).find("ul").width(fullGalleryWidth).find("li.selected").removeClass("selected"), goToPage = Math.floor(set_position / itemsPerPage) < totalPage?Math.floor(set_position / itemsPerPage):totalPage, e.prettyPhoto.changeGalleryPage(goToPage), $pp_gallery_li.filter(":eq(" + set_position + ")").addClass("selected")):$pp_pic_holder.find(".pp_content").unbind("mouseenter mouseleave")}function u(){if (settings.social_tools && (facebook_like_link = settings.social_tools.replace("{location_href}", encodeURIComponent(location.href))), settings.markup = settings.markup.replace("{pp_social}", ""), e("body").append(settings.markup), $pp_pic_holder = e(".pp_pic_holder"), $ppt = e(".ppt"), $pp_overlay = e("div.pp_overlay"), isSet && settings.overlay_gallery){currentGalleryPage = 0, toInject = ""; for (var t = 0; t < pp_images.length; t++)pp_images[t].match(/\b(jpg|jpeg|png|gif)\b/gi)?(classname = "", img_src = pp_images[t]):(classname = "default", img_src = ""), toInject += "
  • "; toInject = settings.gallery_markup.replace(/{gallery}/g, toInject), $pp_pic_holder.find("#pp_full_res").after(toInject), $pp_gallery = e(".pp_pic_holder .pp_gallery"), $pp_gallery_li = $pp_gallery.find("li"), $pp_gallery.find(".pp_arrow_next").click(function(){return e.prettyPhoto.changeGalleryPage("next"), e.prettyPhoto.stopSlideshow(), !1}), $pp_gallery.find(".pp_arrow_previous").click(function(){return e.prettyPhoto.changeGalleryPage("previous"), e.prettyPhoto.stopSlideshow(), !1}), $pp_pic_holder.find(".pp_content").hover(function(){$pp_pic_holder.find(".pp_gallery:not(.disabled)").fadeIn()}, function(){$pp_pic_holder.find(".pp_gallery:not(.disabled)").fadeOut()}), itemWidth = 57, $pp_gallery_li.each(function(t){e(this).find("a").click(function(){return e.prettyPhoto.changePage(t), e.prettyPhoto.stopSlideshow(), !1})})}settings.slideshow && ($pp_pic_holder.find(".pp_nav").prepend('Play'), $pp_pic_holder.find(".pp_nav .pp_play").click(function(){return e.prettyPhoto.startSlideshow(), !1})), $pp_pic_holder.attr("class", "pp_pic_holder " + settings.theme), $pp_overlay.css({opacity:0, height:e(document).height(), width:e(window).width()}).bind("click", function(){settings.modal || e.prettyPhoto.close()}), e("a.pp_close").bind("click", function(){return e.prettyPhoto.close(), !1}), settings.allow_expand && e("a.pp_expand").bind("click", function(){return e(this).hasClass("pp_expand")?(e(this).removeClass("pp_expand").addClass("pp_contract"), doresize = !1):(e(this).removeClass("pp_contract").addClass("pp_expand"), doresize = !0), n(function(){e.prettyPhoto.open()}), !1}), $pp_pic_holder.find(".pp_previous, .pp_nav .pp_arrow_previous").bind("click", function(){return e.prettyPhoto.changePage("previous"), e.prettyPhoto.stopSlideshow(), !1}), $pp_pic_holder.find(".pp_next, .pp_nav .pp_arrow_next").bind("click", function(){return e.prettyPhoto.changePage("next"), e.prettyPhoto.stopSlideshow(), !1}), c()}a = jQuery.extend({hook:"rel", animation_speed:"fast", ajaxcallback:function(){}, slideshow:5e3, autoplay_slideshow:!1, opacity:.8, show_title:!0, allow_resize:!0, allow_expand:!0, default_width:500, default_height:344, counter_separator_label:"/", theme:"pp_default", horizontal_padding:20, hideflash:!1, wmode:"opaque", autoplay:!0, modal:!1, deeplinking:!0, overlay_gallery:!0, overlay_gallery_max:30, keyboard_shortcuts:!0, changepicturecallback:function(){}, callback:function(){}, ie6_fallback:!0, markup:'
     
    ', gallery_markup:'', image_markup:'', flash_markup:'', quicktime_markup:'', iframe_markup:'', inline_markup:'
    {content}
    ', custom_markup:"", social_tools:'
    Tweet
    '}, a); var f, v, y, w, b, k, P, x = this, $ = !1, I = e(window).height(), j = e(window).width(); return doresize = !0, scroll_pos = _(), e(window).unbind("resize.prettyphoto").bind("resize.prettyphoto", function(){c(), g()}), a.keyboard_shortcuts && e(document).unbind("keydown.prettyphoto").bind("keydown.prettyphoto", function(t){if ("undefined" != typeof $pp_pic_holder && $pp_pic_holder.is(":visible"))switch (t.keyCode){case 37:e.prettyPhoto.changePage("previous"), t.preventDefault(); break; case 39:e.prettyPhoto.changePage("next"), t.preventDefault(); break; case 27:settings.modal || e.prettyPhoto.close(), t.preventDefault()}}), e.prettyPhoto.initialize = function(){return settings = a, "pp_default" == settings.theme && (settings.horizontal_padding = 16), theRel = e(this).attr(settings.hook), galleryRegExp = /\[(?:.*)\]/, isSet = galleryRegExp.exec(theRel)?!0:!1, pp_images = isSet?jQuery.map(x, function(t){return - 1 != e(t).attr(settings.hook).indexOf(theRel)?e(t).attr("href"):void 0}):e.makeArray(e(this).attr("href")), pp_titles = isSet?jQuery.map(x, function(t){return - 1 != e(t).attr(settings.hook).indexOf(theRel)?e(t).find("img").attr("alt")?e(t).find("img").attr("alt"):"":void 0}):e.makeArray(e(this).find("img").attr("alt")), pp_descriptions = isSet?jQuery.map(x, function(t){return - 1 != e(t).attr(settings.hook).indexOf(theRel)?e(t).attr("title")?e(t).attr("title"):"":void 0}):e.makeArray(e(this).attr("title")), pp_images.length > settings.overlay_gallery_max && (settings.overlay_gallery = !1), set_position = jQuery.inArray(e(this).attr("href"), pp_images), rel_index = isSet?set_position:e("a[" + settings.hook + "^='" + theRel + "']").index(e(this)), u(this), settings.allow_resize && e(window).bind("scroll.prettyphoto", function(){c()}), e.prettyPhoto.open(), !1}, e.prettyPhoto.open = function(t){return"undefined" == typeof settings && (settings = a, pp_images = e.makeArray(arguments[0]), pp_titles = e.makeArray(arguments[1]?arguments[1]:""), pp_descriptions = e.makeArray(arguments[2]?arguments[2]:""), isSet = pp_images.length > 1?!0:!1, set_position = arguments[3]?arguments[3]:0, u(t.target)), settings.hideflash && e("object,embed,iframe[src*=youtube],iframe[src*=vimeo]").css("visibility", "hidden"), r(e(pp_images).size()), e(".pp_loaderIcon").show(), settings.deeplinking && i(), settings.social_tools && (facebook_like_link = settings.social_tools.replace("{location_href}", encodeURIComponent(location.href)), $pp_pic_holder.find(".pp_social").html(facebook_like_link)), $ppt.is(":hidden") && $ppt.css("opacity", 0).show(), $pp_overlay.show().fadeTo(settings.animation_speed, settings.opacity), $pp_pic_holder.find(".currentTextHolder").text(set_position + 1 + settings.counter_separator_label + e(pp_images).size()), "undefined" != typeof pp_descriptions[set_position] && "" != pp_descriptions[set_position]?$pp_pic_holder.find(".pp_description").show().html(unescape(pp_descriptions[set_position])):$pp_pic_holder.find(".pp_description").hide(), movie_width = parseFloat(o("width", pp_images[set_position]))?o("width", pp_images[set_position]):settings.default_width.toString(), movie_height = parseFloat(o("height", pp_images[set_position]))?o("height", pp_images[set_position]):settings.default_height.toString(), $ = !1, - 1 != movie_height.indexOf("%") && (movie_height = parseFloat(e(window).height() * parseFloat(movie_height) / 100 - 150), $ = !0), - 1 != movie_width.indexOf("%") && (movie_width = parseFloat(e(window).width() * parseFloat(movie_width) / 100 - 150), $ = !0), $pp_pic_holder.fadeIn(function(){switch ($ppt.html(settings.show_title && "" != pp_titles[set_position] && "undefined" != typeof pp_titles[set_position]?unescape(pp_titles[set_position]):" "), imgPreloader = "", skipInjection = !1, h(pp_images[set_position])){case"image":imgPreloader = new Image, nextImage = new Image, isSet && set_position < e(pp_images).size() - 1 && (nextImage.src = pp_images[set_position + 1]), prevImage = new Image, isSet && pp_images[set_position - 1] && (prevImage.src = pp_images[set_position - 1]), $pp_pic_holder.find("#pp_full_res")[0].innerHTML = settings.image_markup.replace(/{path}/g, pp_images[set_position]), imgPreloader.onload = function(){f = l(imgPreloader.width, imgPreloader.height), s()}, imgPreloader.onerror = function(){alert("Image cannot be loaded. Make sure the path is correct and image exist."), e.prettyPhoto.close()}, imgPreloader.src = pp_images[set_position]; break; case"youtube":f = l(movie_width, movie_height), movie_id = o("v", pp_images[set_position]), "" == movie_id && (movie_id = pp_images[set_position].split("youtu.be/"), movie_id = movie_id[1], movie_id.indexOf("?") > 0 && (movie_id = movie_id.substr(0, movie_id.indexOf("?"))), movie_id.indexOf("&") > 0 && (movie_id = movie_id.substr(0, movie_id.indexOf("&")))), movie = "http://www.youtube.com/embed/" + movie_id, movie += o("rel", pp_images[set_position])?"?rel=" + o("rel", pp_images[set_position]):"?rel=1", settings.autoplay && (movie += "&autoplay=1"), toInject = settings.iframe_markup.replace(/{width}/g, f.width).replace(/{height}/g, f.height).replace(/{wmode}/g, settings.wmode).replace(/{path}/g, movie); break; case"vimeo":f = l(movie_width, movie_height), movie_id = pp_images[set_position]; var t = /http(s?):\/\/(www\.)?vimeo.com\/(\d+)/, i = movie_id.match(t); movie = "http://player.vimeo.com/video/" + i[3] + "?title=0&byline=0&portrait=0", settings.autoplay && (movie += "&autoplay=1;"), vimeo_width = f.width + "/embed/?moog_width=" + f.width, toInject = settings.iframe_markup.replace(/{width}/g, vimeo_width).replace(/{height}/g, f.height).replace(/{path}/g, movie); break; case"quicktime":f = l(movie_width, movie_height), f.height += 15, f.contentHeight += 15, f.containerHeight += 15, toInject = settings.quicktime_markup.replace(/{width}/g, f.width).replace(/{height}/g, f.height).replace(/{wmode}/g, settings.wmode).replace(/{path}/g, pp_images[set_position]).replace(/{autoplay}/g, settings.autoplay); break; case"flash":f = l(movie_width, movie_height), flash_vars = pp_images[set_position], flash_vars = flash_vars.substring(pp_images[set_position].indexOf("flashvars") + 10, pp_images[set_position].length), filename = pp_images[set_position], filename = filename.substring(0, filename.indexOf("?")), toInject = settings.flash_markup.replace(/{width}/g, f.width).replace(/{height}/g, f.height).replace(/{wmode}/g, settings.wmode).replace(/{path}/g, filename + "?" + flash_vars); break; case"iframe":f = l(movie_width, movie_height), frame_url = pp_images[set_position], frame_url = frame_url.substr(0, frame_url.indexOf("iframe") - 1), toInject = settings.iframe_markup.replace(/{width}/g, f.width).replace(/{height}/g, f.height).replace(/{path}/g, frame_url); break; case"ajax":doresize = !1, f = l(movie_width, movie_height), doresize = !0, skipInjection = !0, e.get(pp_images[set_position], function(e){toInject = settings.inline_markup.replace(/{content}/g, e), $pp_pic_holder.find("#pp_full_res")[0].innerHTML = toInject, s()}); break; case"custom":f = l(movie_width, movie_height), toInject = settings.custom_markup; break; case"inline":myClone = e(pp_images[set_position]).clone().append('
    ').css({width:settings.default_width}).wrapInner('
    ').appendTo(e("body")).show(), doresize = !1, f = l(e(myClone).width(), e(myClone).height()), doresize = !0, e(myClone).remove(), toInject = settings.inline_markup.replace(/{content}/g, e(pp_images[set_position]).html())}imgPreloader || skipInjection || ($pp_pic_holder.find("#pp_full_res")[0].innerHTML = toInject, s())}), !1}, e.prettyPhoto.changePage = function(t){currentGalleryPage = 0, "previous" == t?(set_position--, set_position < 0 && (set_position = e(pp_images).size() - 1)):"next" == t?(set_position++, set_position > e(pp_images).size() - 1 && (set_position = 0)):set_position = t, rel_index = set_position, doresize || (doresize = !0), settings.allow_expand && e(".pp_contract").removeClass("pp_contract").addClass("pp_expand"), n(function(){e.prettyPhoto.open()})}, e.prettyPhoto.changeGalleryPage = function(e){"next" == e?(currentGalleryPage++, currentGalleryPage > totalPage && (currentGalleryPage = 0)):"previous" == e?(currentGalleryPage--, currentGalleryPage < 0 && (currentGalleryPage = totalPage)):currentGalleryPage = e, slide_speed = "next" == e || "previous" == e?settings.animation_speed:0, slide_to = currentGalleryPage * itemsPerPage * itemWidth, $pp_gallery.find("ul").animate({left: - slide_to}, slide_speed)}, e.prettyPhoto.startSlideshow = function(){"undefined" == typeof P?($pp_pic_holder.find(".pp_play").unbind("click").removeClass("pp_play").addClass("pp_pause").click(function(){return e.prettyPhoto.stopSlideshow(), !1}), P = setInterval(e.prettyPhoto.startSlideshow, settings.slideshow)):e.prettyPhoto.changePage("next")}, e.prettyPhoto.stopSlideshow = function(){$pp_pic_holder.find(".pp_pause").unbind("click").removeClass("pp_pause").addClass("pp_play").click(function(){return e.prettyPhoto.startSlideshow(), !1}), clearInterval(P), P = void 0}, e.prettyPhoto.close = function(){$pp_overlay.is(":animated") || (e.prettyPhoto.stopSlideshow(), $pp_pic_holder.stop().find("object,embed").css("visibility", "hidden"), e("div.pp_pic_holder,div.ppt,.pp_fade").fadeOut(settings.animation_speed, function(){e(this).remove()}), $pp_overlay.fadeOut(settings.animation_speed, function(){settings.hideflash && e("object,embed,iframe[src*=youtube],iframe[src*=vimeo]").css("visibility", "visible"), e(this).remove(), e(window).unbind("scroll.prettyphoto"), p(), settings.callback(), doresize = !0, v = !1, delete settings}))}, !pp_alreadyInitialized && t() && (pp_alreadyInitialized = !0, hashIndex = t(), hashRel = hashIndex, hashIndex = hashIndex.substring(hashIndex.indexOf("/") + 1, hashIndex.length - 1), hashRel = hashRel.substring(0, hashRel.indexOf("/")), setTimeout(function(){e("a[" + a.hook + "^='" + hashRel + "']:eq(" + hashIndex + ")").trigger("click")}, 50)), this.unbind("click.prettyphoto").bind("click.prettyphoto", e.prettyPhoto.initialize)}}(jQuery); var pp_alreadyInitialized = !1;