/* ------------------------------------------------------------------------
	Class: prettyPhoto
	Use: Lightbox clone for jQuery
	Author: Stephane Caron (http://www.no-margin-for-errors.com)
	Version: 3.0
------------------------------------------------------------------------- */
(function(a){function b(a,b){a=a.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var c="[\\?&]"+a+"=([^&#]*)",d=new RegExp(c),e=d.exec(b);return e==null?"":e[1]}a.prettyPhoto={version:"3.0"},a.fn.prettyPhoto=function(c){function n(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(b){set_position==b-1?($pp_pic_holder.find("a.pp_next").css("visibility","hidden"),$pp_pic_holder.find("a.pp_next").addClass("disabled").unbind("click")):($pp_pic_holder.find("a.pp_next").css("visibility","visible"),$pp_pic_holder.find("a.pp_next.disabled").removeClass("disabled").bind("click",function(){return a.prettyPhoto.changePage("next"),!1})),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(){return a.prettyPhoto.changePage("previous"),!1}),b>1?a(".pp_nav").show():a(".pp_nav").hide()}function p(a,b){resized=!1,q(a,b),imageWidth=a,imageHeight=b;if((j>l||i>k)&&doresize&&settings.allow_resize&&!e){resized=!0,fitting=!1;while(!fitting)j>l?(imageWidth=l-200,imageHeight=b/a*imageWidth):i>k?(imageHeight=k-200,imageWidth=a/b*imageHeight):fitting=!0,i=imageHeight,j=imageWidth;q(imageWidth,imageHeight)}return{width:Math.floor(imageWidth),height:Math.floor(imageHeight),containerHeight:Math.floor(i),containerWidth:Math.floor(j)+40,contentHeight:Math.floor(g),contentWidth:Math.floor(h),resized:resized}}function q(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().appendTo(a("body")).css({position:"absolute",top:-1e4}),detailsHeight+=$pp_details.height(),detailsHeight=detailsHeight<=34?36:detailsHeight,a.browser.msie&&a.browser.version==7&&(detailsHeight+=8),$pp_details.remove(),g=c+detailsHeight,h=b,i=g+$ppt.height()+$pp_pic_holder.find(".pp_top").height()+$pp_pic_holder.find(".pp_bottom").height(),j=b}function r(a){return a.match(/youtube\.com\/watch/i)?"youtube":a.match(/vimeo\.com/i)?"vimeo":a.indexOf(".mov")!=-1?"quicktime":a.indexOf(".swf")!=-1?"flash":a.indexOf("iframe")!=-1?"iframe":a.substr(0,1)=="#"?"inline":"image"}function s(){doresize&&typeof $pp_pic_holder!="undefined"&&(scroll_pos=t(),titleHeight=$ppt.height(),contentHeight=$pp_pic_holder.height(),contentwidth=$pp_pic_holder.width(),projectedTop=k/2+scroll_pos.scrollTop-contentHeight/2,$pp_pic_holder.css({top:projectedTop,left:l/2+scroll_pos.scrollLeft-contentwidth/2}))}function t(){if(self.pageYOffset)return{scrollTop:self.pageYOffset,scrollLeft:self.pageXOffset};if(document.documentElement&&document.documentElement.scrollTop)return{scrollTop:document.documentElement.scrollTop,scrollLeft:document.documentElement.scrollLeft};if(document.body)return{scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft}}function u(){k=a(window).height(),l=a(window).width(),typeof $pp_overlay!="undefined"&&$pp_overlay.height(a(document).height())}function v(b){theRel=a(b).attr("rel"),galleryRegExp=/\[(?:.*)\]/,isSet=galleryRegExp.exec(theRel)?!0:!1,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(b).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(b).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(b).attr("title")),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++){var e=new RegExp("(.*?).(jpg|jpeg|png|gif)$"),f=e.exec(pp_images[c]);f?classname="":classname="default",toInject+="<li class='"+classname+"'><a href='#'><img src='"+pp_images[c]+"' width='50' alt='' /></a></li>"}toInject=settings.gallery_markup.replace(/{gallery}/g,toInject),$pp_pic_holder.find("#pp_full_res").after(toInject),$pp_pic_holder.find(".pp_gallery .pp_arrow_next").click(function(){return a.prettyPhoto.changeGalleryPage("next"),a.prettyPhoto.stopSlideshow(),!1}),$pp_pic_holder.find(".pp_gallery .pp_arrow_previous").click(function(){return a.prettyPhoto.changeGalleryPage("previous"),a.prettyPhoto.stopSlideshow(),!1}),$pp_pic_holder.find(".pp_content").hover(function(){$pp_pic_holder.find(".pp_gallery").fadeIn()},function(){$pp_pic_holder.find(".pp_gallery").fadeOut()}),itemWidth=57,$pp_pic_holder.find(".pp_gallery ul li").each(function(b){a(this).css({position:"absolute",left:b*itemWidth}),a(this).find("a").unbind("click").click(function(){return a.prettyPhoto.changePage(b),a.prettyPhoto.stopSlideshow(),!1})})}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(){return a.prettyPhoto.startSlideshow(),!1})),$pp_pic_holder.attr("class","pp_pic_holder "+settings.theme),$pp_overlay.css({opacity:0,height:a(document).height(),width:a(document).width()}).bind("click",function(){settings.modal||a.prettyPhoto.close()}),a("a.pp_close").bind("click",function(){return a.prettyPhoto.close(),!1}),a("a.pp_expand").bind("click",function(b){return a(this).hasClass("pp_expand")?(a(this).removeClass("pp_expand").addClass("pp_contract"),doresize=!1):(a(this).removeClass("pp_contract").addClass("pp_expand"),doresize=!0),n(function(){a.prettyPhoto.open()}),!1}),$pp_pic_holder.find(".pp_previous, .pp_nav .pp_arrow_previous").bind("click",function(){return a.prettyPhoto.changePage("previous"),a.prettyPhoto.stopSlideshow(),!1}),$pp_pic_holder.find(".pp_next, .pp_nav .pp_arrow_next").bind("click",function(){return a.prettyPhoto.changePage("next"),a.prettyPhoto.stopSlideshow(),!1}),s()}c=jQuery.extend({animation_speed:"fast",slideshow:!1,autoplay_slideshow:!1,opacity:.8,show_title:!1,allow_resize:!1,default_width:500,default_height:344,counter_separator_label:"/",theme:"facebook",hideflash:!1,wmode:"opaque",autoplay:!0,modal:!1,overlay_gallery:!0,keyboard_shortcuts:!1,changepicturecallback:function(){},callback:function(){},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 clearfix"> \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\t<p class="pp_description"></p> \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</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<ul> \t\t\t\t\t\t\t\t\t{gallery} \t\t\t\t\t\t\t\t</ul> \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="" />',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>'},c);var d=this,e=!1,f,g,h,i,j,k=a(window).height(),l=a(window).width(),m;return doresize=!0,scroll_pos=t(),a(window).unbind("resize").resize(function(){s(),u()}),c.keyboard_shortcuts&&a(document).unbind("keydown").keydown(function(b){if(typeof $pp_pic_holder!="undefined"&&$pp_pic_holder.is(":visible")){switch(b.keyCode){case 37:a.prettyPhoto.changePage("previous");break;case 39:a.prettyPhoto.changePage("next");break;case 27:settings.modal||a.prettyPhoto.close()}return!1}}),a.prettyPhoto.initialize=function(){return settings=c,a.browser.msie&&parseInt(a.browser.version)==6&&(settings.theme="light_square"),v(this),settings.allow_resize&&a(window).scroll(function(){s()}),s(),set_position=jQuery.inArray(a(this).attr("href"),pp_images),a.prettyPhoto.open(),!1},a.prettyPhoto.open=function(){return typeof settings=="undefined"&&(settings=c,v(this),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?!0:!1,set_position=0),a.browser.msie&&a.browser.version==6&&a("select").css("visibility","hidden"),settings.hideflash&&a("object,embed").css("visibility","hidden"),o(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])),settings.show_title&&pp_titles[set_position]!=""?$ppt.html(unescape(pp_titles[set_position])):$ppt.html("&nbsp;"),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(),movie_width.indexOf("%")!=-1||movie_height.indexOf("%")!=-1?(movie_height=parseFloat(a(window).height()*parseFloat(movie_height)/100-100),movie_width=parseFloat(a(window).width()*parseFloat(movie_width)/100-100),e=!0):e=!1,$pp_pic_holder.fadeIn(function(){imgPreloader="";switch(r(pp_images[set_position])){case"image":imgPreloader=new Image,nextImage=new Image,isSet&&set_position>a(pp_images).size()&&(nextImage.src=pp_images[set_position+1]),prevImage=new Image,isSet&&pp_images[set_position-1]&&(prevImage.src=pp_images[set_position-1]),$pp_pic_holder.find("#pp_full_res")[0].innerHTML=settings.image_markup,$pp_pic_holder.find("#fullResImage").attr("src",pp_images[set_position]),imgPreloader.onload=function(){f=p(imgPreloader.width,imgPreloader.height),_showContent()},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=p(movie_width,movie_height),movie="http://www.youtube.com/v/"+b("v",pp_images[set_position]),settings.autoplay&&(movie+="&autoplay=1"),toInject=settings.flash_markup.replace(/{width}/g,f.width).replace(/{height}/g,f.height).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,movie);break;case"vimeo":f=p(movie_width,movie_height),movie_id=pp_images[set_position],movie="http://player.vimeo.com/video/"+movie_id.replace("http://vimeo.com/","")+"?title=0&amp;byline=0&amp;portrait=0",settings.autoplay&&(movie+="&autoplay=1;"),vimeo_width=f.width+"/embed/?moog_width="+f.width,toInject=settings.iframe_markup.replace(/{width}/g,vimeo_width).replace(/{height}/g,f.height).replace(/{path}/g,movie);break;case"quicktime":f=p(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=p(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=p(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"inline":myClone=a(pp_images[set_position]).clone().css({width:settings.default_width}).wrapInner('<div id="pp_full_res"><div class="pp_inline clearfix"></div></div>').appendTo(a("body")),f=p(a(myClone).width(),a(myClone).height()),a(myClone).remove(),toInject=settings.inline_markup.replace(/{content}/g,a(pp_images[set_position]).html())}imgPreloader||($pp_pic_holder.find("#pp_full_res")[0].innerHTML=toInject,_showContent())}),!1},a.prettyPhoto.changePage=function(b){currentGalleryPage=0;if(b=="previous"){set_position--;if(set_position<0){set_position=0;return}}else b=="next"?(set_position++,set_position>a(pp_images).size()-1&&(set_position=0)):set_position=b;doresize||(doresize=!0),a(".pp_contract").removeClass("pp_contract").addClass("pp_expand"),n(function(){a.prettyPhoto.open()})},a.prettyPhoto.changeGalleryPage=function(b){b=="next"?(currentGalleryPage++,currentGalleryPage>totalPage&&(currentGalleryPage=0)):b=="previous"?(currentGalleryPage--,currentGalleryPage<0&&(currentGalleryPage=totalPage)):currentGalleryPage=b,$pp_pic_holder.find(".pp_gallery li").each(function(b){a(this).animate({left:b*itemWidth-itemsPerPage*itemWidth*currentGalleryPage})})},a.prettyPhoto.startSlideshow=function(){typeof m=="undefined"?($pp_pic_holder.find(".pp_play").unbind("click").removeClass("pp_play").addClass("pp_pause").click(function(){return a.prettyPhoto.stopSlideshow(),!1}),m=setInterval(a.prettyPhoto.startSlideshow,settings.slideshow)):a.prettyPhoto.changePage("next")},a.prettyPhoto.stopSlideshow=function(){$pp_pic_holder.find(".pp_pause").unbind("click").removeClass("pp_pause").addClass("pp_play").click(function(){return a.prettyPhoto.startSlideshow(),!1}),clearInterval(m),m=undefined},a.prettyPhoto.close=function(){clearInterval(m),$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"),settings.callback(),doresize=!0,delete settings})},_showContent=function(){a(".pp_loaderIcon").hide(),$ppt.fadeTo(settings.animation_speed,1),projectedTop=scroll_pos.scrollTop+(k/2-f.containerHeight/2),projectedTop<0&&(projectedTop=0),$pp_pic_holder.find(".pp_content").animate({height:f.contentHeight},settings.animation_speed),$pp_pic_holder.animate({top:projectedTop,left:l/2-f.containerWidth/2,width:f.containerWidth},settings.animation_speed,function(){$pp_pic_holder.find(".pp_hoverContainer,#fullResImage").height(f.height).width(f.width),$pp_pic_holder.find(".pp_fade").fadeIn(settings.animation_speed),isSet&&r(pp_images[set_position])=="image"?$pp_pic_holder.find(".pp_hoverContainer").show():$pp_pic_holder.find(".pp_hoverContainer").hide(),f.resized&&a("a.pp_expand,a.pp_contract").fadeIn(settings.animation_speed),settings.autoplay_slideshow&&!m&&a.prettyPhoto.startSlideshow(),settings.changepicturecallback()}),isSet&&settings.overlay_gallery&&r(pp_images[set_position])=="image"?(itemWidth=57,navWidth=settings.theme=="facebook"?58:38,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,totalPage==0?(navWidth=0,$pp_pic_holder.find(".pp_gallery .pp_arrow_next,.pp_gallery .pp_arrow_previous").hide()):(navWidth=settings.theme=="facebook"?58:38,$pp_pic_holder.find(".pp_gallery .pp_arrow_next,.pp_gallery .pp_arrow_previous").show()),galleryWidth=itemsPerPage*itemWidth+navWidth,$pp_pic_holder.find(".pp_gallery").width(galleryWidth).css("margin-left",-(galleryWidth/2)),$pp_pic_holder.find(".pp_gallery ul").width(itemsPerPage*itemWidth).find("li.selected").removeClass("selected"),goToPage=Math.floor(set_position/itemsPerPage)<=totalPage?Math.floor(set_position/itemsPerPage):totalPage,$pp_pic_holder.find(".pp_gallery").hide().show(),a.prettyPhoto.changeGalleryPage(goToPage),$pp_pic_holder.find(".pp_gallery ul li:eq("+set_position+")").addClass("selected")):($pp_pic_holder.find(".pp_content").unbind("mouseenter mouseleave"),$pp_pic_holder.find(".pp_gallery").hide())},this.unbind("click").click(a.prettyPhoto.initialize)}})(jQuery)
