Guest User

jqPrettyPhoto Yii extension update 02-2013

a guest
Feb 22nd, 2013
115
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (function(a) {
  2.    
  3.     function j(e, m) {
  4.         e = e.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
  5.         var n = RegExp("[\\?&]" + e + "=([^&#]*)").exec(m);
  6.         return n == null ? "" : n[1]
  7.     }
  8.     a.prettyPhoto = {
  9.         version : "3.0"
  10.     };
  11.     a.fn.prettyPhoto = function(e) {
  12.         function m(b) {
  13.             $pp_pic_holder.find("#pp_full_res object,#pp_full_res embed").css("visibility", "hidden");
  14.             $pp_pic_holder.find(".pp_fade").fadeOut(settings.animation_speed, function() {
  15.                 a(".pp_loaderIcon").show();
  16.                 b()
  17.             })
  18.         }
  19.  
  20.         function n(b) {
  21.             if(set_position == b - 1) {
  22.                 $pp_pic_holder.find("a.pp_next").css("visibility", "hidden");
  23.                 $pp_pic_holder.find("a.pp_next").addClass("disabled").unbind("click")
  24.             } else {
  25.                 $pp_pic_holder.find("a.pp_next").css("visibility", "visible");
  26.                 $pp_pic_holder.find("a.pp_next.disabled").removeClass("disabled").bind("click", function() {
  27.                     a.prettyPhoto.changePage("next");
  28.                     return false
  29.                 })
  30.             }set_position == 0 ? $pp_pic_holder.find("a.pp_previous").css("visibility", "hidden").addClass("disabled").unbind("click") : $pp_pic_holder.find("a.pp_previous.disabled").css("visibility", "visible").removeClass("disabled").bind("click", function() {
  31.                 a.prettyPhoto.changePage("previous");
  32.                 return false
  33.             });
  34.             b > 1 ? a(".pp_nav").show() : a(".pp_nav").hide()
  35.         }
  36.  
  37.         function f(b, d) {
  38.             resized = false;
  39.             u(b, d);
  40.             imageWidth = b;
  41.             imageHeight = d;
  42.             if((k > g || l > h) && doresize && settings.allow_resize && !p) {
  43.                 resized = true;
  44.                 for( fitting = false; !fitting; ) {
  45.                     if(k > g) {
  46.                         imageWidth = g - 200;
  47.                         imageHeight = d / b * imageWidth
  48.                     } else if(l > h) {
  49.                         imageHeight = h - 200;
  50.                         imageWidth = b / d * imageHeight
  51.                     } else
  52.                         fitting = true;
  53.                     l = imageHeight;
  54.                     k = imageWidth
  55.                 }
  56.                 u(imageWidth, imageHeight)
  57.             }
  58.             return {
  59.                 width : Math.floor(imageWidth),
  60.                 height : Math.floor(imageHeight),
  61.                 containerHeight : Math.floor(l),
  62.                 containerWidth : Math.floor(k) + 40,
  63.                 contentHeight : Math.floor(q),
  64.                 contentWidth : Math.floor(v),
  65.                 resized : resized
  66.             }
  67.         }
  68.  
  69.         function u(b, d) {
  70.             b = parseFloat(b);
  71.             d = parseFloat(d);
  72.             $pp_details = $pp_pic_holder.find(".pp_details");
  73.             $pp_details.width(b);
  74.             detailsHeight = parseFloat($pp_details.css("marginTop")) + parseFloat($pp_details.css("marginBottom"));
  75.             $pp_details = $pp_details.clone().appendTo(a("body")).css({
  76.                 position : "absolute",
  77.                 top : -1E4
  78.             });
  79.             detailsHeight += $pp_details.height();
  80.             detailsHeight = detailsHeight <= 34 ? 36 : detailsHeight;
  81.             if(a.browser.msie && a.browser.version == 7)
  82.                 detailsHeight += 8;
  83.             $pp_details.remove();
  84.             q = d + detailsHeight;
  85.             v = b;
  86.             l = q + $ppt.height() + $pp_pic_holder.find(".pp_top").height() + $pp_pic_holder.find(".pp_bottom").height();
  87.             k = b
  88.         }
  89.  
  90.         function r(b) {
  91.             return b.match(/youtube\.com\/watch/i) ? "youtube" : b.match(/vimeo\.com/i) ? "vimeo" : b.indexOf(".mov") != -1 ? "quicktime" : b.indexOf(".swf") != -1 ? "flash" : b.indexOf("iframe") != -1 ? "iframe" : b.indexOf("custom") != -1 ? "custom" : b.substr(0, 1) == "#" ? "inline" : "image"
  92.         }
  93.  
  94.         function o() {
  95.             if(doresize && typeof $pp_pic_holder != "undefined") {
  96.                 scroll_pos = w();
  97.                 titleHeight = $ppt.height();
  98.                 contentHeight = $pp_pic_holder.height();
  99.                 contentwidth = $pp_pic_holder.width();
  100.                 projectedTop = h / 2 + scroll_pos.scrollTop - contentHeight / 2;
  101.                 $pp_pic_holder.css({
  102.                     top : projectedTop,
  103.                     left : g / 2 + scroll_pos.scrollLeft - contentwidth / 2
  104.                 })
  105.             }
  106.         }
  107.  
  108.         function w() {
  109.             if(self.pageYOffset)
  110.                 return {
  111.                     scrollTop : self.pageYOffset,
  112.                     scrollLeft : self.pageXOffset
  113.                 };
  114.             else if(document.documentElement && document.documentElement.scrollTop)
  115.                 return {
  116.                     scrollTop : document.documentElement.scrollTop,
  117.                     scrollLeft : document.documentElement.scrollLeft
  118.                 };
  119.             else if(document.body)
  120.                 return {
  121.                     scrollTop : document.body.scrollTop,
  122.                     scrollLeft : document.body.scrollLeft
  123.                 }
  124.         }
  125.  
  126.         function x(b) {
  127.             theRel = a(b).attr("rel");
  128.             galleryRegExp = /\[(?:.*)\]/;
  129.             pp_images = ( isSet = galleryRegExp.exec(theRel) ? true : false) ? jQuery.map(s, function(d) {
  130.                 if(a(d).attr("rel").indexOf(theRel) != -1)
  131.                     return a(d).attr("href")
  132.             }) : a.makeArray(a(b).attr("href"));
  133.             pp_titles = isSet ? jQuery.map(s, function(d) {
  134.                 if(a(d).attr("rel").indexOf(theRel) != -1)
  135.                     return a(d).find("img").attr("alt") ? a(d).find("img").attr("alt") : ""
  136.             }) : a.makeArray(a(b).find("img").attr("alt"));
  137.             pp_descriptions = isSet ? jQuery.map(s, function(d) {
  138.                 if(a(d).attr("rel").indexOf(theRel) != -1)
  139.                     return a(d).attr("title") ? a(d).attr("title") : ""
  140.             }) : a.makeArray(a(b).attr("title"));
  141.             a("body").append(settings.markup);
  142.             $pp_pic_holder = a(".pp_pic_holder");
  143.             $ppt = a(".ppt");
  144.             $pp_overlay = a("div.pp_overlay");
  145.             if(isSet && settings.overlay_gallery) {
  146.                 currentGalleryPage = 0;
  147.                 toInject = "";
  148.                 for( b = 0; b < pp_images.length; b++) {
  149.                     classname = /(.*?).(jpg|jpeg|png|gif)$/.exec(pp_images[b]) ? "" : "default";
  150.                     toInject += "<li class='" + classname + "'><a href='#'><img src='" + pp_images[b] + "' width='50' alt='' /></a></li>"
  151.                 }
  152.                 toInject = settings.gallery_markup.replace(/{gallery}/g, toInject);
  153.                 $pp_pic_holder.find("#pp_full_res").after(toInject);
  154.                 $pp_pic_holder.find(".pp_gallery .pp_arrow_next").click(function() {
  155.                     a.prettyPhoto.changeGalleryPage("next");
  156.                     a.prettyPhoto.stopSlideshow();
  157.                     return false
  158.                 });
  159.                 $pp_pic_holder.find(".pp_gallery .pp_arrow_previous").click(function() {
  160.                     a.prettyPhoto.changeGalleryPage("previous");
  161.                     a.prettyPhoto.stopSlideshow();
  162.                     return false
  163.                 });
  164.                 $pp_pic_holder.find(".pp_content").hover(function() {
  165.                     $pp_pic_holder.find(".pp_gallery:not(.disabled)").fadeIn()
  166.                 }, function() {
  167.                     $pp_pic_holder.find(".pp_gallery:not(.disabled)").fadeOut()
  168.                 });
  169.                 itemWidth = 57;
  170.                 $pp_pic_holder.find(".pp_gallery ul li").each(function(d) {
  171.                     a(this).css({
  172.                         position : "absolute",
  173.                         left : d * itemWidth
  174.                     });
  175.                     a(this).find("a").unbind("click").click(function() {
  176.                         a.prettyPhoto.changePage(d);
  177.                         a.prettyPhoto.stopSlideshow();
  178.                         return false
  179.                     })
  180.                 })
  181.             }
  182.             if(settings.slideshow) {
  183.                 $pp_pic_holder.find(".pp_nav").prepend('<a href="#" class="pp_play">Play</a>');
  184.                 $pp_pic_holder.find(".pp_nav .pp_play").click(function() {
  185.                     a.prettyPhoto.startSlideshow();
  186.                     return false
  187.                 })
  188.             }
  189.             $pp_pic_holder.attr("class", "pp_pic_holder " + settings.theme);
  190.             $pp_overlay.css({
  191.                 opacity : 0,
  192.                 height : a(document).height(),
  193.                 width : a(document).width()
  194.             }).bind("click", function() {
  195.                 settings.modal || a.prettyPhoto.close()
  196.             });
  197.             a("a.pp_close").bind("click", function() {
  198.                 a.prettyPhoto.close();
  199.                 return false
  200.             });
  201.             a("a.pp_expand").bind("click", function() {
  202.                 if(a(this).hasClass("pp_expand")) {
  203.                     a(this).removeClass("pp_expand").addClass("pp_contract");
  204.                     doresize = false
  205.                 } else {
  206.                     a(this).removeClass("pp_contract").addClass("pp_expand");
  207.                     doresize = true
  208.                 }
  209.                 m(function() {
  210.                     a.prettyPhoto.open()
  211.                 });
  212.                 return false
  213.             });
  214.             $pp_pic_holder.find(".pp_previous, .pp_nav .pp_arrow_previous").bind("click", function() {
  215.                 a.prettyPhoto.changePage("previous");
  216.                 a.prettyPhoto.stopSlideshow();
  217.                 return false
  218.             });
  219.             $pp_pic_holder.find(".pp_next, .pp_nav .pp_arrow_next").bind("click", function() {
  220.                 a.prettyPhoto.changePage("next");
  221.                 a.prettyPhoto.stopSlideshow();
  222.                 return false
  223.             });
  224.             o()
  225.         }
  226.  
  227.         e = jQuery.extend({
  228.             animation_speed : "fast",
  229.             slideshow : false,
  230.             autoplay_slideshow : false,
  231.             opacity : 0.8,
  232.             show_title : true,
  233.             allow_resize : true,
  234.             default_width : 500,
  235.             default_height : 344,
  236.             counter_separator_label : "/",
  237.             theme : "facebook",
  238.             hideflash : false,
  239.             wmode : "opaque",
  240.             autoplay : true,
  241.             modal : false,
  242.             overlay_gallery : true,
  243.             keyboard_shortcuts : false,
  244.             changepicturecallback : function() {
  245.             },
  246.             callback : function() {
  247.             },
  248.             markup : '<div class="pp_pic_holder"> <div class="ppt">&nbsp;</div>  <div class="pp_top"> <div class="pp_left"></div> <div class="pp_middle"></div> <div class="pp_right"></div> </div> <div class="pp_content_container"> <div class="pp_left"> <div class="pp_right"> <div class="pp_content"> <div class="pp_loaderIcon"></div> <div class="pp_fade"> <a href="#" class="pp_expand" title="Expand the image">Expand</a> <div class="pp_hoverContainer"> <a class="pp_next" href="#">next</a> <a class="pp_previous" href="#">previous</a> </div> <div id="pp_full_res"></div> <div class="pp_details clearfix">  <p class="pp_description"></p> <a class="pp_close" href="#">Close</a> <div class="pp_nav"> <a href="#" class="pp_arrow_previous">Previous</a> <p class="currentTextHolder">0/0</p> <a href="#" class="pp_arrow_next">Next</a> </div> </div> </div> </div> </div> </div> </div> <div class="pp_bottom"> <div class="pp_left"></div> <div class="pp_middle"></div> <div class="pp_right"></div> </div> </div> <div class="pp_overlay"></div>',
  249.             gallery_markup : '<div class="pp_gallery"> <a href="#" class="pp_arrow_previous">Previous</a> <ul> {gallery} </ul> <a href="#" class="pp_arrow_next">Next</a> </div>',
  250.             image_markup : '<img id="fullResImage" src="" />',
  251.             flash_markup : '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="{width}" height="{height}"><param name="wmode" value="{wmode}" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="{path}" /><embed src="{path}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="{width}" height="{height}" wmode="{wmode}"></embed></object>',
  252.             quicktime_markup : '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" height="{height}" width="{width}"><param name="src" value="{path}"><param name="autoplay" value="{autoplay}"><param name="type" value="video/quicktime"><embed src="{path}" height="{height}" width="{width}" autoplay="{autoplay}" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/"></embed></object>',
  253.             iframe_markup : '<iframe src ="{path}" width="{width}" height="{height}" frameborder="no"></iframe>',
  254.             inline_markup : '<div class="pp_inline clearfix">{content}</div>',
  255.             custom_markup : ""
  256.         }, e);
  257.            
  258.    
  259.        
  260.         var s = this, p = false, c, t, q, v, l, k, h = a(window).height(), g = a(window).width(), i;
  261.         doresize = true;
  262.         scroll_pos = w();
  263.         a(window).unbind("resize").resize(function() {
  264.             o();
  265.             h = a(window).height();
  266.             g = a(window).width();
  267.             typeof $pp_overlay != "undefined" && $pp_overlay.height(a(document).height())
  268.         });
  269.         e.keyboard_shortcuts && a(document).unbind("keydown").keydown(function(b) {
  270.             if( typeof $pp_pic_holder != "undefined")
  271.                 if($pp_pic_holder.is(":visible")) {
  272.                     switch(b.keyCode) {
  273.                         case 37:
  274.                             a.prettyPhoto.changePage("previous");
  275.                             break;
  276.                         case 39:
  277.                             a.prettyPhoto.changePage("next");
  278.                             break;
  279.                         case 27:
  280.                             settings.modal || a.prettyPhoto.close()
  281.                     }
  282.                     return false
  283.                 }
  284.         });
  285.         a.prettyPhoto.initialize = function() {
  286.             settings = e;
  287.             if(a.browser.msie && parseInt(a.browser.version) == 6)
  288.                 settings.theme = "light_square";
  289.             x(this);
  290.             settings.allow_resize && a(window).scroll(function() {
  291.                 o()
  292.             });
  293.             o();
  294.             set_position = jQuery.inArray(a(this).attr("href"), pp_images);
  295.             a.prettyPhoto.open();
  296.             return false
  297.         };
  298.         a.prettyPhoto.open = function(b, d, y) {
  299.             if( typeof settings == "undefined") {
  300.                 settings = e;
  301.                 if(a.browser.msie && a.browser.version == 6)
  302.                     settings.theme = "light_square";
  303.                 x(this);
  304.                 pp_images = a.makeArray(b);
  305.                 pp_titles = d ? a.makeArray(d) : a.makeArray("");
  306.                 pp_descriptions = y ? a.makeArray(y) : a.makeArray("");
  307.                 isSet = pp_images.length > 1 ? true : false;
  308.                 set_position = 0
  309.             }a.browser.msie && a.browser.version == 6 && a("select").css("visibility", "hidden");
  310.             settings.hideflash && a("object,embed").css("visibility", "hidden");
  311.             n(a(pp_images).size());
  312.             a(".pp_loaderIcon").show();
  313.             $ppt.is(":hidden") && $ppt.css("opacity", 0).show();
  314.             $pp_overlay.show().fadeTo(settings.animation_speed, settings.opacity);
  315.             $pp_pic_holder.find(".currentTextHolder").text(set_position + 1 + settings.counter_separator_label + a(pp_images).size());
  316.             $pp_pic_holder.find(".pp_description").show().html(unescape(pp_descriptions[set_position]));
  317.             settings.show_title && pp_titles[set_position] != "" ? $ppt.html(unescape(pp_titles[set_position])) : $ppt.html("&nbsp;");
  318.             movie_width = parseFloat(j("width", pp_images[set_position])) ? j("width", pp_images[set_position]) : settings.default_width.toString();
  319.             movie_height = parseFloat(j("height", pp_images[set_position])) ? j("height", pp_images[set_position]) : settings.default_height.toString();
  320.             if(movie_width.indexOf("%") != -1 || movie_height.indexOf("%") != -1) {
  321.                 movie_height = parseFloat(a(window).height() * parseFloat(movie_height) / 100 - 150);
  322.                 movie_width = parseFloat(a(window).width() * parseFloat(movie_width) / 100 - 150);
  323.                 p = true
  324.             } else
  325.                 p = false;
  326.             $pp_pic_holder.fadeIn(function() {
  327.                 imgPreloader = "";
  328.                 switch(r(pp_images[set_position])) {
  329.                     case "image":
  330.                         imgPreloader = new Image;
  331.                         nextImage = new Image;
  332.                         if(isSet && set_position > a(pp_images).size())
  333.                             nextImage.src = pp_images[set_position + 1];
  334.                         prevImage = new Image;
  335.                         if(isSet && pp_images[set_position - 1])
  336.                             prevImage.src = pp_images[set_position - 1];
  337.                         $pp_pic_holder.find("#pp_full_res")[0].innerHTML = settings.image_markup;
  338.                         $pp_pic_holder.find("#fullResImage").attr("src", pp_images[set_position]);
  339.                         imgPreloader.onload = function() {
  340.                             window.c = f(imgPreloader.width, imgPreloader.height);
  341.                             _showContent()
  342.                         };
  343.                         imgPreloader.onerror = function() {
  344.                             alert("Image cannot be loaded. Make sure the path is correct and image exist.");
  345.                             a.prettyPhoto.close()
  346.                         };
  347.                         imgPreloader.src = pp_images[set_position];
  348.                         break;
  349.                     case "youtube":
  350.                         window.c = f(movie_width, movie_height);
  351.                         movie = "http://www.youtube.com/v/" + j("v", pp_images[set_position]);
  352.                         if(settings.autoplay)
  353.                             movie += "&autoplay=1";
  354.                         toInject = settings.flash_markup.replace(/{width}/g, window.c.width).replace(/{height}/g, window.c.height).replace(/{wmode}/g, settings.wmode).replace(/{path}/g, movie);
  355.                         break;
  356.                     case "vimeo":
  357.                         window.c = f(movie_width, movie_height);
  358.                         movie_id = pp_images[set_position];
  359.                         movie = "http://player.vimeo.com/video/" + movie_id.match(/http:\/\/(www\.)?vimeo.com\/(\d+)/)[2] + "?title=0&amp;byline=0&amp;portrait=0";
  360.                         if(settings.autoplay)
  361.                             movie += "&autoplay=1;";
  362.                         vimeo_width = window.c.width + "/embed/?moog_width=" + window.c.width;
  363.                         toInject = settings.iframe_markup.replace(/{width}/g, vimeo_width).replace(/{height}/g, window.c.height).replace(/{path}/g, movie);
  364.                         break;
  365.                     case "quicktime":
  366.                         window.c = f(movie_width, movie_height);
  367.                         window.c.height += 15;
  368.                         window.c.contentHeight += 15;
  369.                         window.c.containerHeight += 15;
  370.                         toInject = settings.quicktime_markup.replace(/{width}/g, window.c.width).replace(/{height}/g, window.c.height).replace(/{wmode}/g, settings.wmode).replace(/{path}/g, pp_images[set_position]).replace(/{autoplay}/g, settings.autoplay);
  371.                         break;
  372.                     case "flash":
  373.                         window.c = f(movie_width, movie_height);
  374.                         flash_vars = pp_images[set_position];
  375.                         flash_vars = flash_vars.substring(pp_images[set_position].indexOf("flashvars") + 10, pp_images[set_position].length);
  376.                         filename = pp_images[set_position];
  377.                         filename = filename.substring(0, filename.indexOf("?"));
  378.                         toInject = settings.flash_markup.replace(/{width}/g, window.c.width).replace(/{height}/g, window.c.height).replace(/{wmode}/g, settings.wmode).replace(/{path}/g, filename + "?" + flash_vars);
  379.                         break;
  380.                     case "iframe":
  381.                         window.c = f(movie_width, movie_height);
  382.                         frame_url = pp_images[set_position];
  383.                         frame_url = frame_url.substr(0, frame_url.indexOf("iframe") - 1);
  384.                         toInject = settings.iframe_markup.replace(/{width}/g, window.c.width).replace(/{height}/g, window.c.height).replace(/{path}/g, frame_url);
  385.                         break;
  386.                     case "custom":
  387.                         window.c = f(movie_width, movie_height);
  388.                         toInject = settings.custom_markup;
  389.                         break;
  390.                     case "inline":
  391.                         myClone = a(pp_images[set_position]).clone().css({
  392.                             width : settings.default_width
  393.                         }).wrapInner('<div id="pp_full_res"><div class="pp_inline clearfix"></div></div>').appendTo(a("body"));
  394.                         window.c = f(a(myClone).width(), a(myClone).height());
  395.                         a(myClone).remove();
  396.                         toInject = settings.inline_markup.replace(/{content}/g, a(pp_images[set_position]).html())
  397.                 }
  398.                 if(!imgPreloader) {
  399.                     $pp_pic_holder.find("#pp_full_res")[0].innerHTML = toInject;
  400.                     _showContent()
  401.                 }
  402.             });
  403.             return false
  404.         };
  405.         a.prettyPhoto.changePage = function(b) {
  406.             currentGalleryPage = 0;
  407.             if(b == "previous") {
  408.                 set_position--;
  409.                 if(set_position < 0) {
  410.                     set_position = 0;
  411.                     return
  412.                 }
  413.             } else if(b == "next") {
  414.                 set_position++;
  415.                 if(set_position > a(pp_images).size() - 1)
  416.                     set_position = 0
  417.             } else
  418.                 set_position = b;
  419.             doresize || ( doresize = true);
  420.             a(".pp_contract").removeClass("pp_contract").addClass("pp_expand");
  421.             m(function() {
  422.                 a.prettyPhoto.open()
  423.             })
  424.         };
  425.         a.prettyPhoto.changeGalleryPage = function(b) {
  426.             if(b == "next") {
  427.                 currentGalleryPage++;
  428.                 if(currentGalleryPage > totalPage)
  429.                     currentGalleryPage = 0
  430.             } else if(b == "previous") {
  431.                 currentGalleryPage--;
  432.                 if(currentGalleryPage < 0)
  433.                     currentGalleryPage = totalPage
  434.             } else
  435.                 currentGalleryPage = b;
  436.             itemsToSlide = currentGalleryPage == totalPage ? pp_images.length - totalPage * itemsPerPage : itemsPerPage;
  437.             $pp_pic_holder.find(".pp_gallery li").each(function(d) {
  438.                 a(this).animate({
  439.                     left : d * itemWidth - itemsToSlide * itemWidth * currentGalleryPage
  440.                 })
  441.             })
  442.         };
  443.         a.prettyPhoto.startSlideshow = function() {
  444.             if( typeof i == "undefined") {
  445.                 $pp_pic_holder.find(".pp_play").unbind("click").removeClass("pp_play").addClass("pp_pause").click(function() {
  446.                     a.prettyPhoto.stopSlideshow();
  447.                     return false
  448.                 });
  449.                 i = setInterval(a.prettyPhoto.startSlideshow, settings.slideshow)
  450.             } else
  451.                 a.prettyPhoto.changePage("next")
  452.         };
  453.         a.prettyPhoto.stopSlideshow = function() {
  454.             $pp_pic_holder.find(".pp_pause").unbind("click").removeClass("pp_pause").addClass("pp_play").click(function() {
  455.                 a.prettyPhoto.startSlideshow();
  456.                 return false
  457.             });
  458.             clearInterval(i);
  459.             i = undefined
  460.         };
  461.         a.prettyPhoto.close = function() {
  462.             clearInterval(i);
  463.             $pp_pic_holder.stop().find("object,embed").css("visibility", "hidden");
  464.             a("div.pp_pic_holder,div.ppt,.pp_fade").fadeOut(settings.animation_speed, function() {
  465.                 a(this).remove()
  466.             });
  467.             $pp_overlay.fadeOut(settings.animation_speed, function() {a.browser.msie && a.browser.version == 6 && a("select").css("visibility", "visible");
  468.                 settings.hideflash && a("object,embed").css("visibility", "visible");
  469.                 a(this).remove();
  470.                 a(window).unbind("scroll");
  471.                 settings.callback();
  472.                 doresize = true;
  473.                 t = false;
  474.                 delete settings
  475.             })
  476.         };
  477.         _showContent = function() {
  478.             a(".pp_loaderIcon").hide();
  479.             $ppt.fadeTo(settings.animation_speed, 1);
  480.             projectedTop = scroll_pos.scrollTop + (h / 2 - window.c.containerHeight / 2);
  481.             if(projectedTop < 0)
  482.                 projectedTop = 0;
  483.             $pp_pic_holder.find(".pp_content").animate({
  484.                 height : window.c.contentHeight
  485.             }, settings.animation_speed);
  486.             $pp_pic_holder.animate({
  487.                 top : projectedTop,
  488.                 left : g / 2 - window.c.containerWidth / 2,
  489.                 width : window.c.containerWidth
  490.             }, settings.animation_speed, function() {
  491.                 $pp_pic_holder.find(".pp_hoverContainer,#fullResImage").height(window.c.height).width(window.c.width);
  492.                 $pp_pic_holder.find(".pp_fade").fadeIn(settings.animation_speed);
  493.                 isSet && r(pp_images[set_position]) == "image" ? $pp_pic_holder.find(".pp_hoverContainer").show() : $pp_pic_holder.find(".pp_hoverContainer").hide();
  494.                 window.c.resized && a("a.pp_expand,a.pp_contract").fadeIn(settings.animation_speed);
  495.                 settings.autoplay_slideshow && !i && !t && a.prettyPhoto.startSlideshow();
  496.                 settings.changepicturecallback();
  497.                 t = true
  498.             });
  499.             if(isSet && settings.overlay_gallery && r(pp_images[set_position]) == "image") {
  500.                 itemWidth = 57;
  501.                 navWidth = settings.theme == "facebook" ? 58 : 38;
  502.                 itemsPerPage = Math.floor((window.c.containerWidth - 100 - navWidth) / itemWidth);
  503.                 itemsPerPage = itemsPerPage < pp_images.length ? itemsPerPage : pp_images.length;
  504.                 totalPage = Math.ceil(pp_images.length / itemsPerPage) - 1;
  505.                 if(totalPage == 0) {
  506.                     navWidth = 0;
  507.                     $pp_pic_holder.find(".pp_gallery .pp_arrow_next,.pp_gallery .pp_arrow_previous").hide()
  508.                 } else
  509.                     $pp_pic_holder.find(".pp_gallery .pp_arrow_next,.pp_gallery .pp_arrow_previous").show();
  510.                 galleryWidth = itemsPerPage * itemWidth + navWidth;
  511.                 $pp_pic_holder.find(".pp_gallery").width(galleryWidth).css("margin-left", -(galleryWidth / 2));
  512.                 $pp_pic_holder.find(".pp_gallery ul").width(itemsPerPage * itemWidth).find("li.selected").removeClass("selected");
  513.                 goToPage = Math.floor(set_position / itemsPerPage) <= totalPage ? Math.floor(set_position / itemsPerPage) : totalPage;
  514.                 itemsPerPage ? $pp_pic_holder.find(".pp_gallery").hide().show().removeClass("disabled") : $pp_pic_holder.find(".pp_gallery").hide().addClass("disabled");
  515.                 a.prettyPhoto.changeGalleryPage(goToPage);
  516.                 $pp_pic_holder.find(".pp_gallery ul li:eq(" + set_position + ")").addClass("selected")
  517.             } else {
  518.                 $pp_pic_holder.find(".pp_content").unbind("mouseenter mouseleave");
  519.                 $pp_pic_holder.find(".pp_gallery").hide()
  520.             }
  521.         };
  522.         return this.unbind("click").click(a.prettyPhoto.initialize)
  523.     }
  524. })(jQuery);
RAW Paste Data