(function(a){function b(a,b){a=a.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var c="[\\?&]"+a+"=([^&#]*)";var d=new RegExp(c);var e=d.exec(b);return e==null?"":e[1]}a.prettyPhoto={version:"3.1"};a.fn.prettyPhoto=function(c){function y(b){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 c=0;c<pp_images.length;c++){if(!pp_images[c].match(/\b(jpg|jpeg|png|gif)\b/gi)){classname="default";img_src=""}else{classname="";img_src=pp_images[c]}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=52+5;$pp_gallery_li.each(function(b){a(this).find("a").click(function(){a.prettyPhoto.changePage(b);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(){if(!settings.modal)a.prettyPhoto.close()});a("a.pp_close").bind("click",function(){a.prettyPhoto.close();return false});a("a.pp_expand").bind("click",function(b){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}p(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});u()}function x(){if(isSet&&settings.overlay_gallery&&t(pp_images[set_position])=="image"&&settings.ie6_fallback&&!(a.browser.msie&&parseInt(a.browser.version)==6)){itemWidth=52+5;navWidth=settings.theme=="facebook"||settings.theme=="pp_default"?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;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 w(){l=a(window).height(),m=a(window).width();if(typeof $pp_overlay!="undefined")$pp_overlay.height(a(document).height()).width(m)}function v(){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 u(){if(doresize&&typeof $pp_pic_holder!="undefined"){scroll_pos=v();contentHeight=$pp_pic_holder.height(),contentwidth=$pp_pic_holder.width();projectedTop=l/2+scroll_pos["scrollTop"]-contentHeight/2;if(projectedTop<0)projectedTop=0;if(contentHeight>l)return;$pp_pic_holder.css({top:projectedTop,left:m/2+scroll_pos["scrollLeft"]-contentwidth/2})}}function t(a){if(a.match(/youtube\.com\/watch/i)){return"youtube"}else if(a.match(/vimeo\.com/i)){return"vimeo"}else if(a.match(/\b.mov\b/i)){return"quicktime"}else if(a.match(/\b.swf\b/i)){return"flash"}else if(a.match(/\biframe=true\b/i)){return"iframe"}else if(a.match(/\bajax=true\b/i)){return"ajax"}else if(a.match(/\bcustom=true\b/i)){return"custom"}else if(a.substr(0,1)=="#"){return"inline"}else{return"image"}}function s(b,c){b=parseFloat(b);c=parseFloat(c);$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();h=c+detailsHeight;i=b;j=h+titleHeight+$pp_pic_holder.find(".pp_top").height()+$pp_pic_holder.find(".pp_bottom").height();k=b}function r(a,b){resized=false;s(a,b);imageWidth=a,imageHeight=b;if((k>m||j>l)&&doresize&&settings.allow_resize&&!e){resized=true,fitting=false;while(!fitting){if(k>m){imageWidth=m-200;imageHeight=b/a*imageWidth}else if(j>l){imageHeight=l-200;imageWidth=a/b*imageHeight}else{fitting=true}j=imageHeight,k=imageWidth}s(imageWidth,imageHeight);if(k>m||j>l){r(k,j)}}return{width:Math.floor(imageWidth),height:Math.floor(imageHeight),containerHeight:Math.floor(j),containerWidth:Math.floor(k)+settings.horizontal_padding*2,contentHeight:Math.floor(h),contentWidth:Math.floor(i),resized:resized}}function q(b){b>1?a(".pp_nav").show():a(".pp_nav").hide()}function p(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 o(){a(".pp_loaderIcon").hide();$ppt.fadeTo(settings.animation_speed,1);projectedTop=scroll_pos["scrollTop"]+(l/2-f["containerHeight"]/2);if(projectedTop<0)projectedTop=0;$pp_pic_holder.find(".pp_content").animate({height:f["contentHeight"],width:f["contentWidth"]},settings.animation_speed);$pp_pic_holder.animate({top:projectedTop,left:m/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);if(isSet&&t(pp_images[set_position])=="image"){$pp_pic_holder.find(".pp_hoverContainer").show()}else{$pp_pic_holder.find(".pp_hoverContainer").hide()}if(f["resized"]){a("a.pp_expand,a.pp_contract").show()}else{a("a.pp_expand").hide()}if(settings.autoplay_slideshow&&!n&&!g)a.prettyPhoto.startSlideshow();settings.changepicturecallback();g=true});x()}c=jQuery.extend({animation_speed:"normal",slideshow:1e4,autoplay_slideshow:false,opacity:.6,show_title:false,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:false,keyboard_shortcuts:true,changepicturecallback:function(){},callback:function(){},ie6_fallback:true,markup:'<div class="pp_pic_holder"> \n      <div class="ppt"> </div> \n      <div class="pp_top"> \n       <div class="pp_left"></div> \n       <div class="pp_middle"></div> \n       <div class="pp_right"></div> \n      </div> \n      <div class="pp_content_container"> \n       <div class="pp_left"> \n       <div class="pp_right"> \n        <div class="pp_content"> \n         <div class="pp_loaderIcon"></div> \n         <div class="pp_fade"> \n          <a href="#" class="pp_expand" title="Expand the image">Expand</a> \n          <div class="pp_hoverContainer"> \n           <a class="pp_next" href="#">next</a> \n           <a class="pp_previous" href="#">previous</a> \n          </div> \n          <div id="pp_full_res"></div> \n          <div class="pp_details"> \n           <div class="pp_nav"> \n            <a href="#" class="pp_arrow_previous">Previous</a> \n            <p class="currentTextHolder">0/0</p> \n            <a href="#" class="pp_arrow_next">Next</a> \n           </div> \n           <p class="pp_description"></p> \n           <a class="pp_close" href="#">Close</a> \n          </div> \n         </div> \n        </div> \n       </div> \n       </div> \n      </div> \n      <div class="pp_bottom"> \n       <div class="pp_left"></div> \n       <div class="pp_middle"></div> \n       <div class="pp_right"></div> \n      </div> \n     </div> \n     <div class="pp_overlay"></div>',gallery_markup:'<div class="pp_gallery"> \n        <a href="#" class="pp_arrow_previous">Previous</a> \n        <div> \n         <ul> \n          {gallery} \n         </ul> \n        </div> \n        <a href="#" class="pp_arrow_next">Next</a> \n       </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:""},c);var d=this,e=false,f,g,h,i,j,k,l=a(window).height(),m=a(window).width(),n;doresize=true,scroll_pos=v();a(window).unbind("resize.prettyphoto").bind("resize.prettyphoto",function(){u();w()});if(c.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:if(!settings.modal)a.prettyPhoto.close();b.preventDefault();break}}}})}a.prettyPhoto.initialize=function(){settings=c;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=/\[(?:.*)\]/;isSet=galleryRegExp.exec(theRel)?true:false;pp_images=isSet?jQuery.map(d,function(b,c){if(a(b).attr("rel").indexOf(theRel)!=-1)return a(b).attr("href")}):a.makeArray(a(this).attr("href"));pp_titles=isSet?jQuery.map(d,function(b,c){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(d,function(b,c){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);y(this);if(settings.allow_resize)a(window).bind("scroll.prettyphoto",function(){u()});a.prettyPhoto.open();return false};a.prettyPhoto.open=function(d){if(typeof settings=="undefined"){settings=c;if(a.browser.msie&&a.browser.version==6)settings.theme="light_square";pp_images=a.makeArray(arguments[0]);pp_titles=arguments[1]?a.makeArray(arguments[1]):a.makeArray("");pp_descriptions=arguments[2]?a.makeArray(arguments[2]):a.makeArray("");isSet=pp_images.length>1?true:false;set_position=0;y(d.target)}if(a.browser.msie&&a.browser.version==6)a("select").css("visibility","hidden");if(settings.hideflash)a("object,embed").css("visibility","hidden");q(a(pp_images).size());a(".pp_loaderIcon").show();if($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(b("width",pp_images[set_position]))?b("width",pp_images[set_position]):settings.default_width.toString();movie_height=parseFloat(b("height",pp_images[set_position]))?b("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);e=true}if(movie_width.indexOf("%")!=-1){movie_width=parseFloat(a(window).width()*parseFloat(movie_width)/100-150);e=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(" ");imgPreloader="";skipInjection=false;switch(t(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(){f=r(imgPreloader.width,imgPreloader.height);o()};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":f=r(movie_width,movie_height);movie="http://www.youtube.com/embed/"+b("v",pp_images[set_position]);if(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=r(movie_width,movie_height);movie_id=pp_images[set_position];var c=/http:\/\/(www\.)?vimeo.com\/(\d+)/;var d=movie_id.match(c);movie="http://player.vimeo.com/video/"+d[2]+"?title=0&byline=0&portrait=0";if(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=r(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=r(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=r(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=false;f=r(movie_width,movie_height);doresize=true;skipInjection=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;o()});break;case"custom":f=r(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;f=r(a(myClone).width(),a(myClone).height());doresize=true;a(myClone).remove();toInject=settings.inline_markup.replace(/{content}/g,a(pp_images[set_position]).html());break}if(!imgPreloader&&!skipInjection){$pp_pic_holder.find("#pp_full_res")[0].innerHTML=toInject;o()}});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}if(!doresize)doresize=true;a(".pp_contract").removeClass("pp_contract").addClass("pp_expand");p(function(){a.prettyPhoto.open()})};a.prettyPhoto.changeGalleryPage=function(a){if(a=="next"){currentGalleryPage++;if(currentGalleryPage>totalPage){currentGalleryPage=0}slide_speed=settings.animation_speed}else if(a=="previous"){currentGalleryPage--;if(currentGalleryPage<0){currentGalleryPage=totalPage}slide_speed=settings.animation_speed}else{currentGalleryPage=a;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"))return;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(){if(a.browser.msie&&a.browser.version==6)a("select").css("visibility","visible");if(settings.hideflash)a("object,embed").css("visibility","visible");a(this).remove();a(window).unbind("scroll.prettyphoto");settings.callback();doresize=true;g=false;delete settings})};return this.unbind("click.prettyphoto").bind("click.prettyphoto",a.prettyPhoto.initialize)}})(jQuery)
