(function(jQuery){jQuery.prettyPhoto={version:"2.5.6"};jQuery.fn.prettyPhoto=function(settings){settings=jQuery.extend({animationSpeed:"normal",opacity:0.8,showTitle:true,allowresize:true,default_width:500,default_height:344,counter_separator_label:"/",theme:"light_rounded",hideflash:false,wmode:"opaque",autoplay:true,modal:false,changepicturecallback:function(){},callback:function(){},markup:'<div class="pp_pic_holder">       <div class="pp_top">        <div class="pp_left"></div>        <div class="pp_middle"></div>        <div class="pp_right"></div>       </div>       <div class="pp_content_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">            <a class="pp_close" href="#">Close</a>            <p class="pp_description"></p>            <div class="pp_nav">             <a href="#" class="pp_arrow_previous">Previous</a>             <p class="currentTextHolder">0/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>      <div class="ppt"></div>',image_markup:'<img id="fullResImage" src="" />',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 clearfix">{content}</div>'},settings);if(jQuery.browser.msie&&parseInt(jQuery.browser.version)==6){settings.theme="light_square";}if(jQuery(".pp_overlay").size()==0){_buildOverlay();}var doresize=true,percentBased=false,correctSizes,jQuerypp_pic_holder,jQueryppt,jQuerypp_overlay,pp_contentHeight,pp_contentWidth,pp_containerHeight,pp_containerWidth,windowHeight=jQuery(window).height(),windowWidth=jQuery(window).width(),setPosition=0,scrollPos=_getScroll();jQuery(window).scroll(function(){scrollPos=_getScroll();_centerOverlay();_resizeOverlay();});jQuery(window).resize(function(){_centerOverlay();_resizeOverlay();});jQuery(document).keydown(function(e){if(jQuerypp_pic_holder.is(":visible")){switch(e.keyCode){case 37:jQuery.prettyPhoto.changePage("previous");break;case 39:jQuery.prettyPhoto.changePage("next");break;case 27:if(!settings.modal){jQuery.prettyPhoto.close();}break;}}});jQuery(this).each(function(){jQuery(this).bind("click",function(){_self=this;theRel=jQuery(this).attr("rel");galleryRegExp=/\[(?:.*)\]/;theGallery=galleryRegExp.exec(theRel);var images=new Array(),titles=new Array(),descriptions=new Array();if(theGallery){jQuery("a[rel*="+theGallery+"]").each(function(i){if(jQuery(this)[0]===jQuery(_self)[0]){setPosition=i;}images.push(jQuery(this).attr("href"));titles.push(jQuery(this).find("img").attr("alt"));descriptions.push(jQuery(this).attr("title"));});}else{images=jQuery(this).attr("href");titles=(jQuery(this).find("img").attr("alt"))?jQuery(this).find("img").attr("alt"):"";descriptions=(jQuery(this).attr("title"))?jQuery(this).attr("title"):"";}jQuery.prettyPhoto.open(images,titles,descriptions);return false;});});jQuery.prettyPhoto.open=function(gallery_images,gallery_titles,gallery_descriptions){if(jQuery.browser.msie&&jQuery.browser.version==6){jQuery("select").css("visibility","hidden");}if(settings.hideflash){jQuery("object,embed").css("visibility","hidden");}images=jQuery.makeArray(gallery_images);titles=jQuery.makeArray(gallery_titles);descriptions=jQuery.makeArray(gallery_descriptions);image_set=(jQuery(images).size()>0)?true:false;_checkPosition(jQuery(images).size());jQuery(".pp_loaderIcon").show();jQuerypp_overlay.show().fadeTo(settings.animationSpeed,settings.opacity);jQuerypp_pic_holder.find(".currentTextHolder").text((setPosition+1)+settings.counter_separator_label+jQuery(images).size());if(descriptions[setPosition]){jQuerypp_pic_holder.find(".pp_description").show().html(unescape(descriptions[setPosition]));}else{jQuerypp_pic_holder.find(".pp_description").hide().text("");}if(titles[setPosition]&&settings.showTitle){hasTitle=true;jQueryppt.html(unescape(titles[setPosition]));}else{hasTitle=false;}movie_width=(parseFloat(grab_param("width",images[setPosition])))?grab_param("width",images[setPosition]):settings.default_width.toString();movie_height=(parseFloat(grab_param("height",images[setPosition])))?grab_param("height",images[setPosition]):settings.default_height.toString();if(movie_width.indexOf("%")!=-1||movie_height.indexOf("%")!=-1){movie_height=parseFloat((jQuery(window).height()*parseFloat(movie_height)/100)-100);movie_width=parseFloat((jQuery(window).width()*parseFloat(movie_width)/100)-100);percentBased=true;}jQuerypp_pic_holder.fadeIn(function(){imgPreloader="";switch(_getFileType(images[setPosition])){case"image":imgPreloader=new Image();nextImage=new Image();if(image_set&&setPosition>jQuery(images).size()){nextImage.src=images[setPosition+1];}prevImage=new Image();if(image_set&&images[setPosition-1]){prevImage.src=images[setPosition-1];}jQuerypp_pic_holder.find("#pp_full_res")[0].innerHTML=settings.image_markup;jQuerypp_pic_holder.find("#fullResImage").attr("src",images[setPosition]);imgPreloader.onload=function(){correctSizes=_fitToViewport(imgPreloader.width,imgPreloader.height);_showContent();};imgPreloader.onerror=function(){alert("Image cannot be loaded. Make sure the path is correct and image exist.");jQuery.prettyPhoto.close();};imgPreloader.src=images[setPosition];break;case"youtube":correctSizes=_fitToViewport(movie_width,movie_height);movie="http://www.youtube.com/v/"+grab_param("v",images[setPosition]);if(settings.autoplay){movie+="&autoplay=1";}toInject=settings.flash_markup.replace(/{width}/g,correctSizes.width).replace(/{height}/g,correctSizes.height).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,movie);break;case"vimeo":correctSizes=_fitToViewport(movie_width,movie_height);movie_id=images[setPosition];movie="http://vimeo.com/moogaloop.swf?clip_id="+movie_id.replace("http://vimeo.com/","");if(settings.autoplay){movie+="&autoplay=1";}toInject=settings.flash_markup.replace(/{width}/g,correctSizes.width).replace(/{height}/g,correctSizes.height).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,movie);break;case"quicktime":correctSizes=_fitToViewport(movie_width,movie_height);correctSizes.height+=15;correctSizes.contentHeight+=15;correctSizes.containerHeight+=15;toInject=settings.quicktime_markup.replace(/{width}/g,correctSizes.width).replace(/{height}/g,correctSizes.height).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,images[setPosition]).replace(/{autoplay}/g,settings.autoplay);break;case"flash":correctSizes=_fitToViewport(movie_width,movie_height);flash_vars=images[setPosition];flash_vars=flash_vars.substring(images[setPosition].indexOf("flashvars")+10,images[setPosition].length);filename=images[setPosition];filename=filename.substring(0,filename.indexOf("?"));toInject=settings.flash_markup.replace(/{width}/g,correctSizes.width).replace(/{height}/g,correctSizes.height).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,filename+"?"+flash_vars);break;case"iframe":correctSizes=_fitToViewport(movie_width,movie_height);frame_url=images[setPosition];frame_url=frame_url.substr(0,frame_url.indexOf("iframe")-1);toInject=settings.iframe_markup.replace(/{width}/g,correctSizes.width).replace(/{height}/g,correctSizes.height).replace(/{path}/g,frame_url);break;case"inline":myClone=jQuery(images[setPosition]).clone().css({width:settings.default_width}).wrapInner('<div id="pp_full_res"><div class="pp_inline clearfix"></div></div>').appendTo(jQuery("body"));correctSizes=_fitToViewport(jQuery(myClone).width(),jQuery(myClone).height());jQuery(myClone).remove();toInject=settings.inline_markup.replace(/{content}/g,jQuery(images[setPosition]).html());break;}if(!imgPreloader){jQuerypp_pic_holder.find("#pp_full_res")[0].innerHTML=toInject;_showContent();}});};jQuery.prettyPhoto.changePage=function(direction){if(direction=="previous"){setPosition--;if(setPosition<0){setPosition=0;return;}}else{if(jQuery(".pp_arrow_next").is(".disabled")){return;}setPosition++;}if(!doresize){doresize=true;}_hideContent(function(){jQuery.prettyPhoto.open(images,titles,descriptions);});jQuery("a.pp_expand,a.pp_contract").fadeOut(settings.animationSpeed);};jQuery.prettyPhoto.close=function(){jQuerypp_pic_holder.find("object,embed").css("visibility","hidden");jQuery("div.pp_pic_holder,div.ppt,.pp_fade").fadeOut(settings.animationSpeed);jQuerypp_overlay.fadeOut(settings.animationSpeed,function(){jQuery("#pp_full_res").html("");jQuerypp_pic_holder.attr("style","").find("div:not(.pp_hoverContainer)").attr("style","");_centerOverlay();if(jQuery.browser.msie&&jQuery.browser.version==6){jQuery("select").css("visibility","visible");}if(settings.hideflash){jQuery("object,embed").css("visibility","visible");}setPosition=0;settings.callback();});doresize=true;};_showContent=function(){jQuery(".pp_loaderIcon").hide();projectedTop=scrollPos.scrollTop+((windowHeight/2)-(correctSizes.containerHeight/2));if(projectedTop<0){projectedTop=0+jQueryppt.height();}jQuerypp_pic_holder.find(".pp_content").animate({height:correctSizes.contentHeight},settings.animationSpeed);jQuerypp_pic_holder.animate({top:projectedTop,left:(windowWidth/2)-(correctSizes.containerWidth/2),width:correctSizes.containerWidth},settings.animationSpeed,function(){jQuerypp_pic_holder.find(".pp_hoverContainer,#fullResImage").height(correctSizes.height).width(correctSizes.width);jQuerypp_pic_holder.find(".pp_fade").fadeIn(settings.animationSpeed);if(image_set&&_getFileType(images[setPosition])=="image"){jQuerypp_pic_holder.find(".pp_hoverContainer").show();}else{jQuerypp_pic_holder.find(".pp_hoverContainer").hide();}if(settings.showTitle&&hasTitle){jQueryppt.css({top:jQuerypp_pic_holder.offset().top-25,left:jQuerypp_pic_holder.offset().left+20,display:"none"});jQueryppt.fadeIn(settings.animationSpeed);}if(correctSizes.resized){jQuery("a.pp_expand,a.pp_contract").fadeIn(settings.animationSpeed);}settings.changepicturecallback();});};function _hideContent(callback){jQuerypp_pic_holder.find("#pp_full_res object,#pp_full_res embed").css("visibility","hidden");jQuerypp_pic_holder.find(".pp_fade").fadeOut(settings.animationSpeed,function(){jQuery(".pp_loaderIcon").show();if(callback){callback();}});jQueryppt.fadeOut(settings.animationSpeed);}function _checkPosition(setCount){if(setPosition==setCount-1){jQuerypp_pic_holder.find("a.pp_next").css("visibility","hidden");jQuerypp_pic_holder.find("a.pp_arrow_next").addClass("disabled").unbind("click");}else{jQuerypp_pic_holder.find("a.pp_next").css("visibility","visible");jQuerypp_pic_holder.find("a.pp_arrow_next.disabled").removeClass("disabled").bind("click",function(){jQuery.prettyPhoto.changePage("next");return false;});}if(setPosition==0){jQuerypp_pic_holder.find("a.pp_previous").css("visibility","hidden");jQuerypp_pic_holder.find("a.pp_arrow_previous").addClass("disabled").unbind("click");}else{jQuerypp_pic_holder.find("a.pp_previous").css("visibility","visible");jQuerypp_pic_holder.find("a.pp_arrow_previous.disabled").removeClass("disabled").bind("click",function(){jQuery.prettyPhoto.changePage("previous");return false;});}if(setCount>1){jQuery(".pp_nav").show();}else{jQuery(".pp_nav").hide();}}function _fitToViewport(width,height){hasBeenResized=false;_getDimensions(width,height);imageWidth=width;imageHeight=height;if(((pp_containerWidth>windowWidth)||(pp_containerHeight>windowHeight))&&doresize&&settings.allowresize&&!percentBased){hasBeenResized=true;notFitting=true;while(notFitting){if((pp_containerWidth>windowWidth)){imageWidth=(windowWidth-200);imageHeight=(height/width)*imageWidth;}else{if((pp_containerHeight>windowHeight)){imageHeight=(windowHeight-200);imageWidth=(width/height)*imageHeight;}else{notFitting=false;}}pp_containerHeight=imageHeight;pp_containerWidth=imageWidth;}_getDimensions(imageWidth,imageHeight);}return{width:Math.floor(imageWidth),height:Math.floor(imageHeight),containerHeight:Math.floor(pp_containerHeight),containerWidth:Math.floor(pp_containerWidth)+40,contentHeight:Math.floor(pp_contentHeight),contentWidth:Math.floor(pp_contentWidth),resized:hasBeenResized};}function _getDimensions(width,height){width=parseFloat(width);height=parseFloat(height);jQuerypp_details=jQuerypp_pic_holder.find(".pp_details");jQuerypp_details.width(width);detailsHeight=parseFloat(jQuerypp_details.css("marginTop"))+parseFloat(jQuerypp_details.css("marginBottom"));jQuerypp_details=jQuerypp_details.clone().appendTo(jQuery("body")).css({position:"absolute",top:-10000});detailsHeight+=jQuerypp_details.height();detailsHeight=(detailsHeight<=34)?36:detailsHeight;if(jQuery.browser.msie&&jQuery.browser.version==7){detailsHeight+=8;}jQuerypp_details.remove();pp_contentHeight=height+detailsHeight;pp_contentWidth=width;pp_containerHeight=pp_contentHeight+jQueryppt.height()+jQuerypp_pic_holder.find(".pp_top").height()+jQuerypp_pic_holder.find(".pp_bottom").height();pp_containerWidth=width;}function _getFileType(itemSrc){if(itemSrc.match(/youtube\.com\/watch/i)){return"youtube";}else{if(itemSrc.match(/vimeo\.com/i)){return"vimeo";}else{if(itemSrc.indexOf(".mov")!=-1){return"quicktime";}else{if(itemSrc.indexOf(".swf")!=-1){return"flash";}else{if(itemSrc.indexOf("iframe")!=-1){return"iframe";}else{if(itemSrc.substr(0,1)=="#"){return"inline";}else{return"image";}}}}}}}function _centerOverlay(){if(doresize){titleHeight=jQueryppt.height();contentHeight=jQuerypp_pic_holder.height();contentwidth=jQuerypp_pic_holder.width();projectedTop=(windowHeight/2)+scrollPos.scrollTop-((contentHeight+titleHeight)/2);jQuerypp_pic_holder.css({top:projectedTop,left:(windowWidth/2)+scrollPos.scrollLeft-(contentwidth/2)});jQueryppt.css({top:projectedTop-titleHeight,left:(windowWidth/2)+scrollPos.scrollLeft-(contentwidth/2)+20});}}function _getScroll(){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 _resizeOverlay(){windowHeight=jQuery(window).height();windowWidth=jQuery(window).width();jQuerypp_overlay.css({height:jQuery(document).height()});}function _buildOverlay(){jQuery("body").append(settings.markup);jQuerypp_pic_holder=jQuery(".pp_pic_holder");jQueryppt=jQuery(".ppt");jQuerypp_overlay=jQuery("div.pp_overlay");jQuerypp_pic_holder.attr("class","pp_pic_holder "+settings.theme);jQuerypp_overlay.css({opacity:0,height:jQuery(document).height()}).bind("click",function(){if(!settings.modal){jQuery.prettyPhoto.close();}});jQuery("a.pp_close").bind("click",function(){jQuery.prettyPhoto.close();return false;});jQuery("a.pp_expand").bind("click",function(){jQuerythis=jQuery(this);if(jQuerythis.hasClass("pp_expand")){jQuerythis.removeClass("pp_expand").addClass("pp_contract");doresize=false;}else{jQuerythis.removeClass("pp_contract").addClass("pp_expand");doresize=true;}_hideContent(function(){jQuery.prettyPhoto.open(images,titles,descriptions);});jQuerypp_pic_holder.find(".pp_fade").fadeOut(settings.animationSpeed);return false;});jQuerypp_pic_holder.find(".pp_previous, .pp_arrow_previous").bind("click",function(){jQuery.prettyPhoto.changePage("previous");return false;});jQuerypp_pic_holder.find(".pp_next, .pp_arrow_next").bind("click",function(){jQuery.prettyPhoto.changePage("next");return false;});}_centerOverlay();};function grab_param(name,url){name=name.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var regexS="[\\?&]"+name+"=([^&#]*)";var regex=new RegExp(regexS);var results=regex.exec(url);if(results==null){return"";}else{return results[1];}}})(jQuery);