
(function($){$.fn.prettyPhoto=function(settings){var caller=0;var doresize=true;var imagesArray=[];var setPosition=0;$(window).scroll(function(){_centerPicture();});$(window).resize(function(){_centerPicture();_resizeOverlay();});$(document).keyup(function(e){switch(e.keyCode){case 37:if(setPosition==1)return;changePicture('previous');break;case 39:if(setPosition==setCount)return;changePicture('next');break;case 27:close();break;};});settings=jQuery.extend({animationSpeed:'normal',padding:40,opacity:0.35,showTitle:true,allowresize:true,counter_separator_label:'/',theme:'light_rounded'},settings);$(this).each(function(){var hasTitle=false;var isSet=false;var setCount=0;var arrayPosition=0;imagesArray[imagesArray.length]=this;$(this).bind('click',function(){open(this);return false;});});function open(el){caller=$(el);theRel=$(caller).attr('rel');galleryRegExp=/\[(?:.*)\]/;theGallery=galleryRegExp.exec(theRel);isSet=false;setCount=0;for(i=0;i<imagesArray.length;i++){if($(imagesArray[i]).attr('rel').indexOf(theGallery)!=-1){setCount++;if(setCount>1)isSet=true;if($(imagesArray[i]).attr('href')==$(el).attr('href')){setPosition=setCount;arrayPosition=i;};};};_buildOverlay(isSet);$('div.pp_pic_holder p.currentTextHolder').text(setPosition+settings.counter_separator_label+setCount);_centerPicture();$('div.pp_pic_holder #full_res').hide();$('.pp_loaderIcon').show();_preload();};showimage=function(width,height,containerWidth,containerHeight,contentHeight,contentWidth,resized){$('.pp_loaderIcon').hide();var scrollPos=_getScroll();if($.browser.opera){windowHeight=window.innerHeight;windowWidth=window.innerWidth;}else{windowHeight=$(window).height();windowWidth=$(window).width();};$('div.pp_pic_holder .pp_content').animate({'height':contentHeight,'width':containerWidth},settings.animationSpeed);projectedTop=scrollPos['scrollTop']+((windowHeight/2)-(containerHeight/2));if(projectedTop<0)projectedTop=0+$('div.ppt').height();$('div.pp_pic_holder').animate({'top':projectedTop,'left':((windowWidth/2)-(containerWidth/2)),'width':containerWidth},settings.animationSpeed,function(){$('#fullResImage').attr({'width':width,'height':height});$('div.pp_pic_holder').width(containerWidth);$('div.pp_pic_holder .hoverContainer').height(height).width(width);$('div.pp_pic_holder #full_res').fadeIn(settings.animationSpeed);_shownav();if(resized)$('a.pp_expand,a.pp_contract').fadeIn(settings.animationSpeed);});};function changePicture(direction){if(direction=='previous'){arrayPosition--;setPosition--;}else{arrayPosition++;setPosition++;};if(!doresize)doresize=true;$('div.pp_pic_holder .hoverContainer,div.pp_pic_holder .pp_details').fadeOut(settings.animationSpeed);$('div.pp_pic_holder #full_res').fadeOut(settings.animationSpeed,function(){$('.pp_loaderIcon').show();_preload();});_hideTitle();$('a.pp_expand,a.pp_contract').fadeOut(settings.animationSpeed,function(){$(this).removeClass('pp_contract').addClass('pp_expand');});};function close(){$('div.pp_pic_holder,div.ppt').fadeOut(settings.animationSpeed,function(){$('div.pp_overlay').fadeOut(settings.animationSpeed,function(){$('div.pp_overlay,div.pp_pic_holder,div.ppt').remove();if($.browser.msie&&$.browser.version==6){$('select').css('visibility','visible');};});});doresize=true;};function _checkPosition(){if(setPosition==setCount){$('div.pp_pic_holder a.pp_next').css('visibility','hidden');$('div.pp_pic_holder a.pp_arrow_next').addClass('disabled').unbind('click');}else{$('div.pp_pic_holder a.pp_next').css('visibility','visible');$('div.pp_pic_holder a.pp_arrow_next.disabled').removeClass('disabled').bind('click',function(){changePicture('next');return false;});};if(setPosition==1){$('div.pp_pic_holder a.pp_previous').css('visibility','hidden');$('div.pp_pic_holder a.pp_arrow_previous').addClass('disabled').unbind('click');}else{$('div.pp_pic_holder a.pp_previous').css('visibility','visible');$('div.pp_pic_holder a.pp_arrow_previous.disabled').removeClass('disabled').bind('click',function(){changePicture('previous');return false;});};$('div.pp_pic_holder p.currentTextHolder').text(setPosition+settings.counter_separator_label+setCount);var $c=(isSet)?$(imagesArray[arrayPosition]):$(caller);if($c.attr('title')){$('div.pp_pic_holder .pp_description').show().html(unescape($c.attr('title')));}else{$('div.pp_pic_holder .pp_description').hide().text('');};if($c.find('img').attr('alt')&&settings.showTitle){hasTitle=true;$('div.ppt .ppt_content').html(unescape($c.find('img').attr('alt')));}else{hasTitle=false;};};function _fitToViewport(width,height){hasBeenResized=false;$('div.pp_pic_holder .pp_details').width(width);$('div.pp_pic_holder .pp_details p.pp_description').width(width-parseFloat($('div.pp_pic_holder a.pp_close').css('width')));contentHeight=height+parseFloat($('div.pp_pic_holder .pp_details').height())+parseFloat($('div.pp_pic_holder .pp_details').css('margin-top'))+parseFloat($('div.pp_pic_holder .pp_details').css('margin-bottom'));contentWidth=width;containerHeight=height+parseFloat($('div.ppt').height())+parseFloat($('div.pp_pic_holder .pp_top').height())+parseFloat($('div.pp_pic_holder .pp_bottom').height());containerWidth=width+settings.padding;imageWidth=width;imageHeight=height;windowHeight=$(window).height();windowWidth=$(window).width();if(((containerWidth>windowWidth)||(containerHeight>windowHeight))&&doresize&&settings.allowresize){hasBeenResized=true;notFitting=true;while(notFitting){if((containerWidth>windowWidth)){imageWidth=(windowWidth-200);imageHeight=(height/width)*imageWidth;}else if((containerHeight>windowHeight)){imageHeight=(windowHeight-200);imageWidth=(width/height)*imageHeight;}else{notFitting=false;};containerHeight=imageHeight;containerWidth=imageWidth;};contentHeight=imageHeight+parseFloat($('div.pp_pic_holder .pp_details').height())+parseFloat($('div.pp_pic_holder .pp_details').css('margin-top'))+parseFloat($('div.pp_pic_holder .pp_details').css('margin-bottom'));contentWidth=imageWidth;containerHeight=imageHeight+parseFloat($('div.ppt').height())+parseFloat($('div.pp_pic_holder .pp_top').height())+parseFloat($('div.pp_pic_holder .pp_bottom').height());containerWidth=imageWidth+settings.padding;$('div.pp_pic_holder .pp_details').width(contentWidth);$('div.pp_pic_holder .pp_details p.pp_description').width(contentWidth-parseFloat($('div.pp_pic_holder a.pp_close').css('width')));};return{width:imageWidth,height:imageHeight,containerHeight:containerHeight,containerWidth:containerWidth,contentHeight:contentHeight,contentWidth:contentWidth,resized:hasBeenResized};};function _centerPicture(){if($('div.pp_pic_holder').size()>0){var scrollPos=_getScroll();if($.browser.opera){windowHeight=window.innerHeight;windowWidth=window.innerWidth;}else{windowHeight=$(window).height();windowWidth=$(window).width();};if(doresize){projectedTop=(windowHeight/2)+scrollPos['scrollTop']-($('div.pp_pic_holder').height()/2);if(projectedTop<0)projectedTop=0+$('div.ppt').height();$('div.pp_pic_holder').css({'top':projectedTop,'left':(windowWidth/2)+scrollPos['scrollLeft']-($('div.pp_pic_holder').width()/2)});$('div.ppt').css({'top':$('div.pp_pic_holder').offset().top-$('div.ppt').height(),'left':$('div.pp_pic_holder').offset().left+(settings.padding/2)});};};};function _shownav(){if(isSet)$('div.pp_pic_holder .hoverContainer').fadeIn(settings.animationSpeed);$('div.pp_pic_holder .pp_details').fadeIn(settings.animationSpeed);_showTitle();};function _showTitle(){if(settings.showTitle&&hasTitle){$('div.ppt').css({'top':$('div.pp_pic_holder').offset().top-22,'left':$('div.pp_pic_holder').offset().left+(settings.padding/2),'display':'none'});$('div.ppt div.ppt_content').css('width','auto');if($('div.ppt').width()>$('div.pp_pic_holder').width()){$('div.ppt div.ppt_content').css('width',$('div.pp_pic_holder').width()-(settings.padding*2));}else{$('div.ppt div.ppt_content').css('width','');};$('div.ppt').fadeIn(settings.animationSpeed);};};function _hideTitle(){$('div.ppt').fadeOut(settings.animationSpeed);};function _preload(){_checkPosition();imgPreloader=new Image();nextImage=new Image();if(isSet&&setPosition>setCount)nextImage.src=$(imagesArray[arrayPosition+1]).attr('href');prevImage=new Image();if(isSet&&imagesArray[arrayPosition-1])prevImage.src=$(imagesArray[arrayPosition-1]).attr('href');$('div.pp_pic_holder .pp_content').css('overflow','hidden');if(isSet){$('div.pp_pic_holder #fullResImage').attr('src',$(imagesArray[arrayPosition]).attr('href'));}else{$('div.pp_pic_holder #fullResImage').attr('src',$(caller).attr('href'));};imgPreloader.onload=function(){var correctSizes=_fitToViewport(imgPreloader.width,imgPreloader.height);imgPreloader.width=correctSizes['width'];imgPreloader.height=correctSizes['height'];setTimeout('showimage(imgPreloader.width,imgPreloader.height,'+correctSizes["containerWidth"]+','+correctSizes["containerHeight"]+','+correctSizes["contentHeight"]+','+correctSizes["contentWidth"]+','+correctSizes["resized"]+')',500);};(isSet)?imgPreloader.src=$(imagesArray[arrayPosition]).attr('href'):imgPreloader.src=$(caller).attr('href');};function _getScroll(){scrollTop=window.pageYOffset||document.documentElement.scrollTop||0;scrollLeft=window.pageXOffset||document.documentElement.scrollLeft||0;return{scrollTop:scrollTop,scrollLeft:scrollLeft};};function _resizeOverlay(){$('div.pp_overlay').css({'height':$(document).height(),'width':$(window).width()});};function _buildOverlay(){backgroundDiv="<div class='pp_overlay'></div>";$('body').append(backgroundDiv);$('div.pp_overlay').css('height',$(document).height()).bind('click',function(){close();});pictureHolder='<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"><a href="#" class="pp_expand" title="Expand the image">Expand</a><div class="pp_loaderIcon"></div><div class="hoverContainer"><a class="pp_next" href="#">next</a><a class="pp_previous" href="#">previous</a></div><div id="full_res"><img id="fullResImage" src="" /></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'+settings.counter_separator_label+'0</p><a href="#" class="pp_arrow_next">Next</a></div></div></div><div class="pp_bottom"><div class="pp_left"></div><div class="pp_middle"></div><div class="pp_right"></div></div></div>';titleHolder='<div class="ppt"><div class="ppt_left"></div><div class="ppt_content"></div><div class="ppt_right"></div></div>';$('body').append(pictureHolder).append(titleHolder);$('.pp_pic_holder,.titleHolder').css({'opacity':0});$('.pp_pic_holder,.ppt').addClass(settings.theme);$('a.pp_close').bind('click',function(){close();return false;});$('a.pp_expand').bind('click',function(){if($(this).hasClass('pp_expand')){$(this).removeClass('pp_expand').addClass('pp_contract');doresize=false;}else{$(this).removeClass('pp_contract').addClass('pp_expand');doresize=true;};_hideTitle();$('div.pp_pic_holder .hoverContainer,div.pp_pic_holder #full_res').fadeOut(settings.animationSpeed);$('div.pp_pic_holder .pp_details').fadeOut(settings.animationSpeed,function(){_preload();});return false;});$('.pp_pic_holder .pp_previous,.pp_pic_holder .pp_arrow_previous').bind('click',function(){changePicture('previous');return false;});$('.pp_pic_holder .pp_next,.pp_pic_holder .pp_arrow_next').bind('click',function(){changePicture('next');return false;});$('.hoverContainer').css({'margin-left':settings.padding/2});if(!isSet){$('.hoverContainer,.pp_nav').hide();};if($.browser.msie&&$.browser.version==6){$('body').addClass('ie6');$('select').css('visibility','hidden');};$('div.pp_overlay').css('opacity',0).fadeTo(settings.animationSpeed,settings.opacity,function(){$('div.pp_pic_holder').css('opacity',0).fadeIn(settings.animationSpeed,function(){$('div.pp_pic_holder').attr('style','left:'+$('div.pp_pic_holder').css('left')+';top:'+$('div.pp_pic_holder').css('top')+';');});});};};})(jQuery);