(function (a) {
    function k(e, l) {
        e = e.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
        var m = RegExp("[\\?&]" + e + "=([^&#]*)").exec(l);
        return m == null ? "" : m[1]
    }
    a.prettyPhoto = {
        version: "3.1"
    };
    a.fn.prettyPhoto = function (e) {
        function l() {
            a(".pp_loaderIcon").hide();
            $ppt.fadeTo(settings.animation_speed, 1);
            projectedTop = scroll_pos.scrollTop + (g / 2 - c.containerHeight / 2);
            if (projectedTop < 0) projectedTop = 0;
            $pp_pic_holder.find(".pp_content").animate({
                height: c.contentHeight,
                width: c.contentWidth
            }, settings.animation_speed);
            $pp_pic_holder.animate({
                top: projectedTop,
                left: h / 2 - c.containerWidth / 2,
                width: c.containerWidth
            }, settings.animation_speed, function () {
                $pp_pic_holder.find(".pp_hoverContainer,#fullResImage").height(c.height).width(c.width);
                $pp_pic_holder.find(".pp_fade").fadeIn(settings.animation_speed);
                isSet && o(pp_images[set_position]) == "image" ? $pp_pic_holder.find(".pp_hoverContainer").show() : $pp_pic_holder.find(".pp_hoverContainer").hide();
                c.resized ? a("a.pp_expand,a.pp_contract").show() : a("a.pp_expand").hide();
                settings.autoplay_slideshow && !n && !p && a.prettyPhoto.startSlideshow();
                settings.changepicturecallback();
                p = true
            });
            if (isSet && settings.overlay_gallery && o(pp_images[set_position]) == "image" && settings.ie6_fallback && !(a.browser.msie && parseInt(a.browser.version) == 6)) {
                itemWidth = 57;
                navWidth = settings.theme == "facebook" || settings.theme == "pp_default" ? 50 : 30;
                itemsPerPage = Math.floor((c.containerWidth - 100 - navWidth) / itemWidth);
                itemsPerPage = itemsPerPage < pp_images.length ? itemsPerPage : pp_images.length;
                totalPage = Math.ceil(pp_images.length / itemsPerPage) - 1;
                if (totalPage == 0) {
                    navWidth = 0;
                    $pp_gallery.find(".pp_arrow_next,.pp_arrow_previous").hide()
                } else $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;
                a.prettyPhoto.changeGalleryPage(goToPage);
                $pp_gallery_li.filter(":eq(" + set_position + ")").addClass("selected")
            } else $pp_pic_holder.find(".pp_content").unbind("mouseenter mouseleave")
        }

        function m(b) {
            $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 () {
                a(".pp_loaderIcon").show();
                b()
            })
        }
        function z(b) {
            b > 1 ? a(".pp_nav").show() : a(".pp_nav").hide()
        }
        function f(b, d) {
            resized = false;
            u(b, d);
            imageWidth = b;
            imageHeight = d;
            if ((i > h || j > g) && doresize && settings.allow_resize && !q) {
                resized = true;
                for (fitting = false; !fitting;) {
                    if (i > h) {
                        imageWidth = h - 200;
                        imageHeight = d / b * imageWidth
                    } else if (j > g) {
                        imageHeight = g - 200;
                        imageWidth = b / d * imageHeight
                    } else fitting = true;
                    j = imageHeight;
                    i = imageWidth
                }
                u(imageWidth, imageHeight);
                if (i > h || j > g) f(i, j)
            }
            return {
                width: Math.floor(imageWidth),
                height: Math.floor(imageHeight),
                containerHeight: Math.floor(j),
                containerWidth: Math.floor(i) + settings.horizontal_padding * 2,
                contentHeight: Math.floor(r),
                contentWidth: Math.floor(v),
                resized: resized
            }
        }
        function u(b, d) {
            b = parseFloat(b);
            d = parseFloat(d);
            $pp_details = $pp_pic_holder.find(".pp_details");
            $pp_details.width(b);
            detailsHeight = parseFloat($pp_details.css("marginTop")) + parseFloat($pp_details.css("marginBottom"));
            $pp_details = $pp_details.clone().addClass(settings.theme).width(b).appendTo(a("body")).css({
                position: "absolute",
                top: -1E4
            });
            detailsHeight += $pp_details.height();
            detailsHeight = detailsHeight <= 34 ? 36 : detailsHeight;
            if (a.browser.msie && a.browser.version == 7) detailsHeight += 8;
            $pp_details.remove();
            $pp_title = $pp_pic_holder.find(".ppt");
            $pp_title.width(b);
            titleHeight = parseFloat($pp_title.css("marginTop")) + parseFloat($pp_title.css("marginBottom"));
            $pp_title = $pp_title.clone().appendTo(a("body")).css({
                position: "absolute",
                top: -1E4
            });
            titleHeight += $pp_title.height();
            $pp_title.remove();
            r = d + detailsHeight;
            v = b;
            j = r + titleHeight + $pp_pic_holder.find(".pp_top").height() + $pp_pic_holder.find(".pp_bottom").height();
            i = b
        }
        function o(b) {
            return b.match(/youtube\.com\/watch/i) ? "youtube" : b.match(/vimeo\.com/i) ? "vimeo" : b.match(/\b.mov\b/i) ? "quicktime" : b.match(/\b.mp4\b/i) ? "quicktime" : b.match(/\b.avi\b/i) ? "quicktime" : b.match(/\b.swf\b/i) ? "flash" : b.match(/\biframe=true\b/i) ? "iframe" : b.match(/\bajax=true\b/i) ? "ajax" : b.match(/\bcustom=true\b/i) ? "custom" : b.substr(0, 1) == "#" ? "inline" : "image"
        }
        function s() {
            if (doresize && typeof $pp_pic_holder != "undefined") {
                scroll_pos = w();
                contentHeight = $pp_pic_holder.height();
                contentwidth = $pp_pic_holder.width();
                projectedTop = g / 2 + scroll_pos.scrollTop - contentHeight / 2;
                if (projectedTop < 0) projectedTop = 0;
                contentHeight > g || $pp_pic_holder.css({
                    top: projectedTop,
                    left: h / 2 + scroll_pos.scrollLeft - contentwidth / 2
                })
            }
        }
        function w() {
            if (self.pageYOffset) return {
                scrollTop: self.pageYOffset,
                scrollLeft: self.pageXOffset
            };
            else if (document.documentElement && document.documentElement.scrollTop) return {
                scrollTop: document.documentElement.scrollTop,
                scrollLeft: document.documentElement.scrollLeft
            };
            else if (document.body) return {
                scrollTop: document.body.scrollTop,
                scrollLeft: document.body.scrollLeft
            }
        }
        function x() {
            a("body").append(settings.markup);
            $pp_pic_holder = a(".pp_pic_holder");
            $ppt = a(".ppt");
            $pp_overlay = a("div.pp_overlay");
            if (isSet && settings.overlay_gallery) {
                currentGalleryPage = 0;
                toInject = "";
                for (var b = 0; b < pp_images.length; b++) {
                    if (pp_images[b].match(/\b(jpg|jpeg|png|gif)\b/gi)) {
                        classname = "";
                        img_src = pp_images[b]
                    } else {
                        classname = "default";
                        img_src = ""
                    }
                    toInject += "<li class='" + classname + "'><a href='#'><img src='" + img_src + "' width='50' alt='' /></a></li>"
                }
                toInject = settings.gallery_markup.replace(/{gallery}/g, toInject);
                $pp_pic_holder.find("#pp_full_res").after(toInject);
                $pp_gallery = a(".pp_pic_holder .pp_gallery");
                $pp_gallery_li = $pp_gallery.find("li");
                $pp_gallery.find(".pp_arrow_next").click(function () {
                    a.prettyPhoto.changeGalleryPage("next");
                    a.prettyPhoto.stopSlideshow();
                    return false
                });
                $pp_gallery.find(".pp_arrow_previous").click(function () {
                    a.prettyPhoto.changeGalleryPage("previous");
                    a.prettyPhoto.stopSlideshow();
                    return false
                });
                $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 (d) {
                    a(this).find("a").click(function () {
                        a.prettyPhoto.changePage(d);
                        a.prettyPhoto.stopSlideshow();
                        return false
                    })
                })
            }
            if (settings.slideshow) {
                $pp_pic_holder.find(".pp_nav").prepend('<a href="#" class="pp_play">Play</a>');
                $pp_pic_holder.find(".pp_nav .pp_play").click(function () {
                    a.prettyPhoto.startSlideshow();
                    return false
                })
            }
            $pp_pic_holder.attr("class", "pp_pic_holder " + settings.theme);
            $pp_overlay.css({
                opacity: 0,
                height: a(document).height(),
                width: a(window).width()
            }).bind("click", function () {
                settings.modal || a.prettyPhoto.close()
            });
            a("a.pp_close").bind("click", function () {
                a.prettyPhoto.close();
                return false
            });
            a("a.pp_expand").bind("click", function () {
                if (a(this).hasClass("pp_expand")) {
                    a(this).removeClass("pp_expand").addClass("pp_contract");
                    doresize = false
                } else {
                    a(this).removeClass("pp_contract").addClass("pp_expand");
                    doresize = true
                }
                m(function () {
                    a.prettyPhoto.open()
                });
                return false
            });
            $pp_pic_holder.find(".pp_previous, .pp_nav .pp_arrow_previous").bind("click", function () {
                a.prettyPhoto.changePage("previous");
                a.prettyPhoto.stopSlideshow();
                return false
            });
            $pp_pic_holder.find(".pp_next, .pp_nav .pp_arrow_next").bind("click", function () {
                a.prettyPhoto.changePage("next");
                a.prettyPhoto.stopSlideshow();
                return false
            });
            s()
        }
        e = jQuery.extend({
            animation_speed: "fast",
            slideshow: 5E3,
            autoplay_slideshow: false,
            opacity: 0.8,
            show_title: true,
            allow_resize: true,
            default_width: 500,
            default_height: 344,
            counter_separator_label: "/",
            theme: "pp_default",
            horizontal_padding: 20,
            hideflash: false,
            wmode: "opaque",
            autoplay: true,
            modal: false,
            overlay_gallery: true,
            keyboard_shortcuts: true,
            changepicturecallback: function () {},
            callback: function () {},
            ie6_fallback: true,
            current_position: -1,
            markup: '<div class="pp_pic_holder"> \t\t\t\t\t\t<div class="ppt">&nbsp;</div> \t\t\t\t\t\t<div class="pp_top"> \t\t\t\t\t\t\t<div class="pp_left"></div> \t\t\t\t\t\t\t<div class="pp_middle"></div> \t\t\t\t\t\t\t<div class="pp_right"></div> \t\t\t\t\t\t</div> \t\t\t\t\t\t<div class="pp_content_container"> \t\t\t\t\t\t\t<div class="pp_left"> \t\t\t\t\t\t\t<div class="pp_right"> \t\t\t\t\t\t\t\t<div class="pp_content"> \t\t\t\t\t\t\t\t\t<div class="pp_loaderIcon"></div> \t\t\t\t\t\t\t\t\t<div class="pp_fade"> \t\t\t\t\t\t\t\t\t\t<a href="#" class="pp_expand" title="Expand the image">Expand</a> \t\t\t\t\t\t\t\t\t\t<div class="pp_hoverContainer"> \t\t\t\t\t\t\t\t\t\t\t<a class="pp_next" href="#">next</a> \t\t\t\t\t\t\t\t\t\t\t<a class="pp_previous" href="#">previous</a> \t\t\t\t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t\t\t\t<div id="pp_full_res"></div> \t\t\t\t\t\t\t\t\t\t<div class="pp_details"> \t\t\t\t\t\t\t\t\t\t\t<div class="pp_nav"> \t\t\t\t\t\t\t\t\t\t\t\t<a href="#" class="pp_arrow_previous">Previous</a> \t\t\t\t\t\t\t\t\t\t\t\t<p class="currentTextHolder">0/0</p> \t\t\t\t\t\t\t\t\t\t\t\t<a href="#" class="pp_arrow_next">Next</a> \t\t\t\t\t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t\t\t\t\t<p class="pp_description"></p> \t\t\t\t\t\t\t\t\t\t\t<a class="pp_close" href="#">Close</a> \t\t\t\t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t</div> \t\t\t\t\t\t</div> \t\t\t\t\t\t<div class="pp_bottom"> \t\t\t\t\t\t\t<div class="pp_left"></div> \t\t\t\t\t\t\t<div class="pp_middle"></div> \t\t\t\t\t\t\t<div class="pp_right"></div> \t\t\t\t\t\t</div> \t\t\t\t\t</div> \t\t\t\t\t<div class="pp_overlay"></div>',
            gallery_markup: '<div class="pp_gallery"> \t\t\t\t\t\t\t\t<a href="#" class="pp_arrow_previous">Previous</a> \t\t\t\t\t\t\t\t<div> \t\t\t\t\t\t\t\t\t<ul> \t\t\t\t\t\t\t\t\t\t{gallery} \t\t\t\t\t\t\t\t\t</ul> \t\t\t\t\t\t\t\t</div> \t\t\t\t\t\t\t\t<a href="#" class="pp_arrow_next">Next</a> \t\t\t\t\t\t\t</div>',
            image_markup: '<img id="fullResImage" src="{path}" />',
            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>',
            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>',
            iframe_markup: '<iframe src ="{path}" width="{width}" height="{height}" frameborder="no"></iframe>',
            inline_markup: '<div class="pp_inline">{content}</div>',
            custom_markup: ""
        }, e);
        var t = this,
            q = false,
            c, p, r, v, j, i, g = a(window).height(),
            h = a(window).width(),
            n;
        doresize = true;
        scroll_pos = w();
        a(window).unbind("resize.prettyphoto").bind("resize.prettyphoto", function () {
            s();
            g = a(window).height();
            h = a(window).width();
            typeof $pp_overlay != "undefined" && $pp_overlay.height(a(document).height()).width(h)
        });
        e.keyboard_shortcuts && a(document).unbind("keydown.prettyphoto").bind("keydown.prettyphoto", function (b) {
            if (typeof $pp_pic_holder != "undefined") if ($pp_pic_holder.is(":visible")) switch (b.keyCode) {
            case 37:
                a.prettyPhoto.changePage("previous");
                b.preventDefault();
                break;
            case 39:
                a.prettyPhoto.changePage("next");
                b.preventDefault();
                break;
            case 27:
                settings.modal || a.prettyPhoto.close();
                b.preventDefault()
            }
        });
        a.prettyPhoto.changeSettings = function (b) {
            e = jQuery.extend({}, e, b)
        };
        a.prettyPhoto.initialize = function () {
            settings = e;
            if (settings.theme == "pp_default") settings.horizontal_padding = 16;
            if (settings.ie6_fallback && a.browser.msie && parseInt(a.browser.version) == 6) settings.theme = "light_square";
            theRel = a(this).attr("rel");
            galleryRegExp = /\[(?:.*)\]/;
            pp_images = (isSet = galleryRegExp.exec(theRel) ? true : false) ? jQuery.map(t, function (b) {
                if (a(b).attr("rel").indexOf(theRel) != -1) return a(b).attr("href")
            }) : a.makeArray(a(this).attr("href"));
            pp_titles = isSet ? jQuery.map(t, function (b) {
                if (a(b).attr("rel").indexOf(theRel) != -1) return a(b).find("img").attr("alt") ? a(b).find("img").attr("alt") : ""
            }) : a.makeArray(a(this).find("img").attr("alt"));
            pp_descriptions = isSet ? jQuery.map(t, function (b) {
                if (a(b).attr("rel").indexOf(theRel) != -1) return a(b).attr("title") ? a(b).attr("title") : ""
            }) : a.makeArray(a(this).attr("title"));
            set_position = jQuery.inArray(a(this).attr("href"), pp_images);
            x(this);
            settings.allow_resize && a(window).bind("scroll.prettyphoto", function () {
                s()
            });
            a.prettyPhoto.open();
            return false
        };
        a.prettyPhoto.open = function (b, d, y) {
            if (typeof settings == "undefined") {
                settings = e;
                if (a.browser.msie && a.browser.version == 6) settings.theme = "light_square";
                pp_images = a.makeArray(b);
                pp_titles = d ? a.makeArray(d) : a.makeArray("");
                pp_descriptions = y ? a.makeArray(y) : a.makeArray("");
                isSet = pp_images.length > 1 ? true : false;
                set_position = settings.current_position != -1 ? settings.current_position : 0;
                x(b.target)
            }
            a.browser.msie && a.browser.version == 6 && a("select").css("visibility", "hidden");
            settings.hideflash && a("object,embed").css("visibility", "hidden");
            z(a(pp_images).size());
            a(".pp_loaderIcon").show();
            $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 + a(pp_images).size());
            $pp_pic_holder.find(".pp_description").show().html(unescape(pp_descriptions[set_position]));
            movie_width = parseFloat(k("width", pp_images[set_position])) ? k("width", pp_images[set_position]) : settings.default_width.toString();
            movie_height = parseFloat(k("height", pp_images[set_position])) ? k("height", pp_images[set_position]) : settings.default_height.toString();
            if (movie_height.indexOf("%") != -1) {
                movie_height = parseFloat(a(window).height() * parseFloat(movie_height) / 100 - 150);
                q = true
            }
            if (movie_width.indexOf("%") != -1) {
                movie_width = parseFloat(a(window).width() * parseFloat(movie_width) / 100 - 150);
                q = true
            }
            $pp_pic_holder.fadeIn(function () {
                settings.show_title && pp_titles[set_position] != "" && typeof pp_titles[set_position] != "undefined" ? $ppt.html(unescape(pp_titles[set_position])) : $ppt.html("&nbsp;");
                imgPreloader = "";
                skipInjection = false;
                switch (o(pp_images[set_position])) {
                case "image":
                    imgPreloader = new Image;
                    nextImage = new Image;
                    if (isSet && set_position < a(pp_images).size() - 1) nextImage.src = pp_images[set_position + 1];
                    prevImage = new Image;
                    if (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 () {
                        c = f(imgPreloader.width, imgPreloader.height);
                        l()
                    };
                    imgPreloader.onerror = function () {
                        alert("Image cannot be loaded. Make sure the path is correct and image exist.");
                        a.prettyPhoto.close()
                    };
                    imgPreloader.src = pp_images[set_position];
                    break;
                case "youtube":
                    c = f(movie_width, movie_height);
                    movie = "http://www.youtube.com/embed/" + k("v", pp_images[set_position]);
                    if (settings.autoplay) movie += "?autoplay=1";
                    toInject = settings.iframe_markup.replace(/{width}/g, c.width).replace(/{height}/g, c.height).replace(/{wmode}/g, settings.wmode).replace(/{path}/g, movie);
                    break;
                case "vimeo":
                    c = f(movie_width, movie_height);
                    movie_id = pp_images[set_position];
                    movie = "http://player.vimeo.com/video/" + movie_id.match(/http:\/\/(www\.)?vimeo.com\/(\d+)/)[2] + "?title=0&amp;byline=0&amp;portrait=0";
                    if (settings.autoplay) movie += "&autoplay=1;";
                    vimeo_width = c.width + "/embed/?moog_width=" + c.width;
                    toInject = settings.iframe_markup.replace(/{width}/g, vimeo_width).replace(/{height}/g, c.height).replace(/{path}/g, movie);
                    break;
                case "quicktime":
                    c = f(movie_width, movie_height);
                    c.height += 80;
                    c.contentHeight += 80;
                    c.containerHeight += 80;
                    toInject = settings.quicktime_markup.replace(/{width}/g, c.width).replace(/{height}/g, c.height).replace(/{wmode}/g, settings.wmode).replace(/{path}/g, pp_images[set_position]).replace(/{autoplay}/g, settings.autoplay);
                    break;
                case "flash":
                    c = f(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, c.width).replace(/{height}/g, c.height).replace(/{wmode}/g, settings.wmode).replace(/{path}/g, filename + "?" + flash_vars);
                    break;
                case "iframe":
                    c = f(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, c.width).replace(/{height}/g, c.height).replace(/{path}/g, frame_url);
                    break;
                case "ajax":
                    doresize = false;
                    c = f(movie_width, movie_height);
                    skipInjection = doresize = true;
                    a.get(pp_images[set_position], function (A) {
                        toInject = settings.inline_markup.replace(/{content}/g, A);
                        $pp_pic_holder.find("#pp_full_res")[0].innerHTML = toInject;
                        l()
                    });
                    break;
                case "custom":
                    c = f(movie_width, movie_height);
                    toInject = settings.custom_markup;
                    break;
                case "inline":
                    myClone = a(pp_images[set_position]).clone().append('<br clear="all" />').css({
                        width: settings.default_width
                    }).wrapInner('<div id="pp_full_res"><div class="pp_inline"></div></div>').appendTo(a("body")).show();
                    doresize = false;
                    c = f(a(myClone).width(), a(myClone).height());
                    doresize = true;
                    a(myClone).remove();
                    toInject = settings.inline_markup.replace(/{content}/g, a(pp_images[set_position]).html())
                }
                if (!imgPreloader && !skipInjection) {
                    $pp_pic_holder.find("#pp_full_res")[0].innerHTML = toInject;
                    l()
                }
            });
            return false
        };
        a.prettyPhoto.changePage = function (b) {
            currentGalleryPage = 0;
            if (b == "previous") {
                set_position--;
                if (set_position < 0) set_position = a(pp_images).size() - 1
            } else if (b == "next") {
                set_position++;
                if (set_position > a(pp_images).size() - 1) set_position = 0
            } else set_position = b;
            doresize || (doresize = true);
            a(".pp_contract").removeClass("pp_contract").addClass("pp_expand");
            m(function () {
                a.prettyPhoto.open()
            })
        };
        a.prettyPhoto.changeGalleryPage = function (b) {
            if (b == "next") {
                currentGalleryPage++;
                if (currentGalleryPage > totalPage) currentGalleryPage = 0;
                slide_speed = settings.animation_speed
            } else if (b == "previous") {
                currentGalleryPage--;
                if (currentGalleryPage < 0) currentGalleryPage = totalPage;
                slide_speed = settings.animation_speed
            } else {
                currentGalleryPage = b;
                slide_speed = 0
            }
            slide_to = currentGalleryPage * itemsPerPage * itemWidth;
            itemsToSlide = currentGalleryPage == totalPage ? pp_images.length - totalPage * itemsPerPage : itemsPerPage;
            $pp_gallery.find("ul").animate({
                left: -slide_to
            }, slide_speed)
        };
        a.prettyPhoto.startSlideshow = function () {
            if (typeof n == "undefined") {
                $pp_pic_holder.find(".pp_play").unbind("click").removeClass("pp_play").addClass("pp_pause").click(function () {
                    a.prettyPhoto.stopSlideshow();
                    return false
                });
                n = setInterval(a.prettyPhoto.startSlideshow, settings.slideshow)
            } else a.prettyPhoto.changePage("next")
        };
        a.prettyPhoto.stopSlideshow = function () {
            $pp_pic_holder.find(".pp_pause").unbind("click").removeClass("pp_pause").addClass("pp_play").click(function () {
                a.prettyPhoto.startSlideshow();
                return false
            });
            clearInterval(n);
            n = undefined
        };
        a.prettyPhoto.close = function () {
            if (!$pp_overlay.is(":animated")) {
                a.prettyPhoto.stopSlideshow();
                $pp_pic_holder.stop().find("object,embed").css("visibility", "hidden");
                a("div.pp_pic_holder,div.ppt,.pp_fade").fadeOut(settings.animation_speed, function () {
                    a(this).remove()
                });
                $pp_overlay.fadeOut(settings.animation_speed, function () {
                    a.browser.msie && a.browser.version == 6 && a("select").css("visibility", "visible");
                    settings.hideflash && a("object,embed").css("visibility", "visible");
                    a(this).remove();
                    a(window).unbind("scroll.prettyphoto");
                    settings.callback();
                    doresize = true;
                    p = false;
                    delete settings
                })
            }
        };
        return this.unbind("click.prettyphoto").bind("click.prettyphoto", a.prettyPhoto.initialize)
    }
})(jQuery);
