META-INF.resources.scripts.vendor.plugins.ui.jquery.prettyPhoto.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lightadmin Show documentation
Show all versions of lightadmin Show documentation
Pluggable data management solution for Java web applications developed in a "Rapid" manner
/* ------------------------------------------------------------------------
Class: prettyPhoto
Use: Lightbox clone for jQuery
Author: Stephane Caron (http://www.no-margin-for-errors.com)
Version: 3.1.3
------------------------------------------------------------------------- */
(function ( $ ) {
$.prettyPhoto = {version: '3.1.3'};
$.fn.prettyPhoto = function ( pp_settings ) {
pp_settings = jQuery.extend( {animation_speed: 'fast', slideshow: 5000, autoplay_slideshow: false, opacity: 0.80, 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, deeplinking: true, overlay_gallery: true, keyboard_shortcuts: true, changepicturecallback: function () {
}, callback: function () {
}, ie6_fallback: true, markup: ' \
\
\
\
\
\
\
\
\
\
\
\
\
\
', gallery_markup: '', image_markup: '
', flash_markup: '', quicktime_markup: '', iframe_markup: '', inline_markup: '{content}', custom_markup: '', social_tools: ''}, pp_settings );
var matchedObjects = this, percentBased = false, pp_dimensions, pp_open, pp_contentHeight, pp_contentWidth, pp_containerHeight, pp_containerWidth, windowHeight = $( window ).height(), windowWidth = $( window ).width(), pp_slideshow;
doresize = true, scroll_pos = _get_scroll();
$( window ).unbind( 'resize.prettyphoto' ).bind( 'resize.prettyphoto', function () {
_center_overlay();
_resize_overlay();
} );
if ( pp_settings.keyboard_shortcuts ) {
$( document ).unbind( 'keydown.prettyphoto' ).bind( 'keydown.prettyphoto', function ( e ) {
if ( typeof $pp_pic_holder != 'undefined' ) {
if ( $pp_pic_holder.is( ':visible' ) ) {
switch ( e.keyCode ) {
case 37:
$.prettyPhoto.changePage( 'previous' );
e.preventDefault();
break;
case 39:
$.prettyPhoto.changePage( 'next' );
e.preventDefault();
break;
case 27:
if ( !settings.modal ) {
$.prettyPhoto.close();
}
e.preventDefault();
break;
}
;
}
;
}
;
} );
}
;
$.prettyPhoto.initialize = function () {
settings = pp_settings;
if ( settings.theme == 'pp_default' ) {
settings.horizontal_padding = 16;
}
if ( settings.ie6_fallback && $.browser.msie && parseInt( $.browser.version ) == 6 ) {
settings.theme = "light_square";
}
theRel = $( this ).attr( 'rel' );
galleryRegExp = /\[(?:.*)\]/;
isSet = (galleryRegExp.exec( theRel )) ? true : false;
pp_images = (isSet) ? jQuery.map( matchedObjects, function ( n, i ) {
if ( $( n ).attr( 'rel' ).indexOf( theRel ) != -1 ) {
return $( n ).attr( 'href' );
}
} ) : $.makeArray( $( this ).attr( 'href' ) );
pp_titles = (isSet) ? jQuery.map( matchedObjects, function ( n, i ) {
if ( $( n ).attr( 'rel' ).indexOf( theRel ) != -1 ) {
return($( n ).find( 'img' ).attr( 'alt' )) ? $( n ).find( 'img' ).attr( 'alt' ) : "";
}
} ) : $.makeArray( $( this ).find( 'img' ).attr( 'alt' ) );
pp_descriptions = (isSet) ? jQuery.map( matchedObjects, function ( n, i ) {
if ( $( n ).attr( 'rel' ).indexOf( theRel ) != -1 ) {
return($( n ).attr( 'title' )) ? $( n ).attr( 'title' ) : "";
}
} ) : $.makeArray( $( this ).attr( 'title' ) );
if ( pp_images.length > 30 ) {
settings.overlay_gallery = false;
}
set_position = jQuery.inArray( $( this ).attr( 'href' ), pp_images );
rel_index = (isSet) ? set_position : $( "a[rel^='" + theRel + "']" ).index( $( this ) );
_build_overlay( this );
if ( settings.allow_resize ) {
$( window ).bind( 'scroll.prettyphoto', function () {
_center_overlay();
} );
}
$.prettyPhoto.open();
return false;
}
$.prettyPhoto.open = function ( event ) {
if ( typeof settings == "undefined" ) {
settings = pp_settings;
if ( $.browser.msie && $.browser.version == 6 ) {
settings.theme = "light_square";
}
pp_images = $.makeArray( arguments[0] );
pp_titles = (arguments[1]) ? $.makeArray( arguments[1] ) : $.makeArray( "" );
pp_descriptions = (arguments[2]) ? $.makeArray( arguments[2] ) : $.makeArray( "" );
isSet = (pp_images.length > 1) ? true : false;
set_position = 0;
_build_overlay( event.target );
}
if ( $.browser.msie && $.browser.version == 6 ) {
$( 'select' ).css( 'visibility', 'hidden' );
}
if ( settings.hideflash ) {
$( 'object,embed,iframe[src*=youtube],iframe[src*=vimeo]' ).css( 'visibility', 'hidden' );
}
_checkPosition( $( pp_images ).size() );
$( '.pp_loaderIcon' ).show();
if ( settings.deeplinking ) {
setHashtag();
}
if ( settings.social_tools ) {
facebook_like_link = settings.social_tools.replace( '{location_href}', encodeURIComponent( location.href ) );
$pp_pic_holder.find( '.pp_social' ).html( facebook_like_link );
}
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 + $( pp_images ).size() );
if ( pp_descriptions[set_position] != "" ) {
$pp_pic_holder.find( '.pp_description' ).show().html( unescape( pp_descriptions[set_position] ) );
} else {
$pp_pic_holder.find( '.pp_description' ).hide();
}
movie_width = (parseFloat( getParam( 'width', pp_images[set_position] ) )) ? getParam( 'width', pp_images[set_position] ) : settings.default_width.toString();
movie_height = (parseFloat( getParam( 'height', pp_images[set_position] ) )) ? getParam( 'height', pp_images[set_position] ) : settings.default_height.toString();
percentBased = false;
if ( movie_height.indexOf( '%' ) != -1 ) {
movie_height = parseFloat( ($( window ).height() * parseFloat( movie_height ) / 100) - 150 );
percentBased = true;
}
if ( movie_width.indexOf( '%' ) != -1 ) {
movie_width = parseFloat( ($( window ).width() * parseFloat( movie_width ) / 100) - 150 );
percentBased = 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 ( _getFileType( pp_images[set_position] ) ) {
case'image':
imgPreloader = new Image();
nextImage = new Image();
if ( isSet && set_position < $( 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 () {
pp_dimensions = _fitToViewport( imgPreloader.width, imgPreloader.height );
_showContent();
};
imgPreloader.onerror = function () {
alert( 'Image cannot be loaded. Make sure the path is correct and image exist.' );
$.prettyPhoto.close();
};
imgPreloader.src = pp_images[set_position];
break;
case'youtube':
pp_dimensions = _fitToViewport( movie_width, movie_height );
movie_id = getParam( 'v', pp_images[set_position] );
if ( movie_id == "" ) {
movie_id = pp_images[set_position].split( 'youtu.be/' );
movie_id = movie_id[1];
if ( movie_id.indexOf( '?' ) > 0 ) {
movie_id = movie_id.substr( 0, movie_id.indexOf( '?' ) );
}
if ( movie_id.indexOf( '&' ) > 0 ) {
movie_id = movie_id.substr( 0, movie_id.indexOf( '&' ) );
}
}
movie = 'http://www.youtube.com/embed/' + movie_id;
(getParam( 'rel', pp_images[set_position] )) ? movie += "?rel=" + getParam( 'rel', pp_images[set_position] ) : movie += "?rel=1";
if ( settings.autoplay ) {
movie += "&autoplay=1";
}
toInject = settings.iframe_markup.replace( /{width}/g, pp_dimensions['width'] ).replace( /{height}/g, pp_dimensions['height'] ).replace( /{wmode}/g, settings.wmode ).replace( /{path}/g, movie );
break;
case'vimeo':
pp_dimensions = _fitToViewport( movie_width, movie_height );
movie_id = pp_images[set_position];
var regExp = /http:\/\/(www\.)?vimeo.com\/(\d+)/;
var match = movie_id.match( regExp );
movie = 'http://player.vimeo.com/video/' + match[2] + '?title=0&byline=0&portrait=0';
if ( settings.autoplay ) {
movie += "&autoplay=1;";
}
vimeo_width = pp_dimensions['width'] + '/embed/?moog_width=' + pp_dimensions['width'];
toInject = settings.iframe_markup.replace( /{width}/g, vimeo_width ).replace( /{height}/g, pp_dimensions['height'] ).replace( /{path}/g, movie );
break;
case'quicktime':
pp_dimensions = _fitToViewport( movie_width, movie_height );
pp_dimensions['height'] += 15;
pp_dimensions['contentHeight'] += 15;
pp_dimensions['containerHeight'] += 15;
toInject = settings.quicktime_markup.replace( /{width}/g, pp_dimensions['width'] ).replace( /{height}/g, pp_dimensions['height'] ).replace( /{wmode}/g, settings.wmode ).replace( /{path}/g, pp_images[set_position] ).replace( /{autoplay}/g, settings.autoplay );
break;
case'flash':
pp_dimensions = _fitToViewport( 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, pp_dimensions['width'] ).replace( /{height}/g, pp_dimensions['height'] ).replace( /{wmode}/g, settings.wmode ).replace( /{path}/g, filename + '?' + flash_vars );
break;
case'iframe':
pp_dimensions = _fitToViewport( 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, pp_dimensions['width'] ).replace( /{height}/g, pp_dimensions['height'] ).replace( /{path}/g, frame_url );
break;
case'ajax':
doresize = false;
pp_dimensions = _fitToViewport( movie_width, movie_height );
doresize = true;
skipInjection = true;
$.get( pp_images[set_position], function ( responseHTML ) {
toInject = settings.inline_markup.replace( /{content}/g, responseHTML );
$pp_pic_holder.find( '#pp_full_res' )[0].innerHTML = toInject;
_showContent();
} );
break;
case'custom':
pp_dimensions = _fitToViewport( movie_width, movie_height );
toInject = settings.custom_markup;
break;
case'inline':
myClone = $( pp_images[set_position] ).clone().append( '
' ).css( {'width': settings.default_width} ).wrapInner( '' ).appendTo( $( 'body' ) ).show();
doresize = false;
pp_dimensions = _fitToViewport( $( myClone ).width(), $( myClone ).height() );
doresize = true;
$( myClone ).remove();
toInject = settings.inline_markup.replace( /{content}/g, $( pp_images[set_position] ).html() );
break;
}
;
if ( !imgPreloader && !skipInjection ) {
$pp_pic_holder.find( '#pp_full_res' )[0].innerHTML = toInject;
_showContent();
}
;
} );
return false;
};
$.prettyPhoto.changePage = function ( direction ) {
currentGalleryPage = 0;
if ( direction == 'previous' ) {
set_position--;
if ( set_position < 0 ) {
set_position = $( pp_images ).size() - 1;
}
} else if ( direction == 'next' ) {
set_position++;
if ( set_position > $( pp_images ).size() - 1 ) {
set_position = 0;
}
} else {
set_position = direction;
}
;
rel_index = set_position;
if ( !doresize ) {
doresize = true;
}
$( '.pp_contract' ).removeClass( 'pp_contract' ).addClass( 'pp_expand' );
_hideContent( function () {
$.prettyPhoto.open();
} );
};
$.prettyPhoto.changeGalleryPage = function ( direction ) {
if ( direction == 'next' ) {
currentGalleryPage++;
if ( currentGalleryPage > totalPage ) {
currentGalleryPage = 0;
}
} else if ( direction == 'previous' ) {
currentGalleryPage--;
if ( currentGalleryPage < 0 ) {
currentGalleryPage = totalPage;
}
} else {
currentGalleryPage = direction;
}
;
slide_speed = (direction == 'next' || direction == 'previous') ? settings.animation_speed : 0;
slide_to = currentGalleryPage * (itemsPerPage * itemWidth);
$pp_gallery.find( 'ul' ).animate( {left: -slide_to}, slide_speed );
};
$.prettyPhoto.startSlideshow = function () {
if ( typeof pp_slideshow == 'undefined' ) {
$pp_pic_holder.find( '.pp_play' ).unbind( 'click' ).removeClass( 'pp_play' ).addClass( 'pp_pause' ).click( function () {
$.prettyPhoto.stopSlideshow();
return false;
} );
pp_slideshow = setInterval( $.prettyPhoto.startSlideshow, settings.slideshow );
} else {
$.prettyPhoto.changePage( 'next' );
}
;
}
$.prettyPhoto.stopSlideshow = function () {
$pp_pic_holder.find( '.pp_pause' ).unbind( 'click' ).removeClass( 'pp_pause' ).addClass( 'pp_play' ).click( function () {
$.prettyPhoto.startSlideshow();
return false;
} );
clearInterval( pp_slideshow );
pp_slideshow = undefined;
}
$.prettyPhoto.close = function () {
if ( $pp_overlay.is( ":animated" ) ) {
return;
}
$.prettyPhoto.stopSlideshow();
$pp_pic_holder.stop().find( 'object,embed' ).css( 'visibility', 'hidden' );
$( 'div.pp_pic_holder,div.ppt,.pp_fade' ).fadeOut( settings.animation_speed, function () {
$( this ).remove();
} );
$pp_overlay.fadeOut( settings.animation_speed, function () {
if ( $.browser.msie && $.browser.version == 6 ) {
$( 'select' ).css( 'visibility', 'visible' );
}
if ( settings.hideflash ) {
$( 'object,embed,iframe[src*=youtube],iframe[src*=vimeo]' ).css( 'visibility', 'visible' );
}
$( this ).remove();
$( window ).unbind( 'scroll.prettyphoto' );
clearHashtag();
settings.callback();
doresize = true;
pp_open = false;
delete settings;
} );
};
function _showContent() {
$( '.pp_loaderIcon' ).hide();
projectedTop = scroll_pos['scrollTop'] + ((windowHeight / 2) - (pp_dimensions['containerHeight'] / 2));
if ( projectedTop < 0 ) {
projectedTop = 0;
}
$ppt.fadeTo( settings.animation_speed, 1 );
$pp_pic_holder.find( '.pp_content' ).animate( {height: pp_dimensions['contentHeight'], width: pp_dimensions['contentWidth']}, settings.animation_speed );
$pp_pic_holder.animate( {'top': projectedTop, 'left': (windowWidth / 2) - (pp_dimensions['containerWidth'] / 2), width: pp_dimensions['containerWidth']}, settings.animation_speed, function () {
$pp_pic_holder.find( '.pp_hoverContainer,#fullResImage' ).height( pp_dimensions['height'] ).width( pp_dimensions['width'] );
$pp_pic_holder.find( '.pp_fade' ).fadeIn( settings.animation_speed );
if ( isSet && _getFileType( pp_images[set_position] ) == "image" ) {
$pp_pic_holder.find( '.pp_hoverContainer' ).show();
} else {
$pp_pic_holder.find( '.pp_hoverContainer' ).hide();
}
if ( pp_dimensions['resized'] ) {
$( 'a.pp_expand,a.pp_contract' ).show();
} else {
$( 'a.pp_expand' ).hide();
}
if ( settings.autoplay_slideshow && !pp_slideshow && !pp_open ) {
$.prettyPhoto.startSlideshow();
}
settings.changepicturecallback();
pp_open = true;
} );
_insert_gallery();
};
function _hideContent( callback ) {
$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 () {
$( '.pp_loaderIcon' ).show();
callback();
} );
};
function _checkPosition( setCount ) {
(setCount > 1) ? $( '.pp_nav' ).show() : $( '.pp_nav' ).hide();
};
function _fitToViewport( width, height ) {
resized = false;
_getDimensions( width, height );
imageWidth = width, imageHeight = height;
if ( ((pp_containerWidth > windowWidth) || (pp_containerHeight > windowHeight)) && doresize && settings.allow_resize && !percentBased ) {
resized = true, fitting = false;
while ( !fitting ) {
if ( (pp_containerWidth > windowWidth) ) {
imageWidth = (windowWidth - 200);
imageHeight = (height / width) * imageWidth;
} else if ( (pp_containerHeight > windowHeight) ) {
imageHeight = (windowHeight - 200);
imageWidth = (width / height) * imageHeight;
} else {
fitting = true;
}
;
pp_containerHeight = imageHeight, pp_containerWidth = imageWidth;
}
;
_getDimensions( imageWidth, imageHeight );
if ( (pp_containerWidth > windowWidth) || (pp_containerHeight > windowHeight) ) {
_fitToViewport( pp_containerWidth, pp_containerHeight )
}
;
}
;
return{width: Math.floor( imageWidth ), height: Math.floor( imageHeight ), containerHeight: Math.floor( pp_containerHeight ), containerWidth: Math.floor( pp_containerWidth ) + (settings.horizontal_padding * 2), contentHeight: Math.floor( pp_contentHeight ), contentWidth: Math.floor( pp_contentWidth ), resized: resized};
};
function _getDimensions( width, height ) {
width = parseFloat( width );
height = parseFloat( height );
$pp_details = $pp_pic_holder.find( '.pp_details' );
$pp_details.width( width );
detailsHeight = parseFloat( $pp_details.css( 'marginTop' ) ) + parseFloat( $pp_details.css( 'marginBottom' ) );
$pp_details = $pp_details.clone().addClass( settings.theme ).width( width ).appendTo( $( 'body' ) ).css( {'position': 'absolute', 'top': -10000} );
detailsHeight += $pp_details.height();
detailsHeight = (detailsHeight <= 34) ? 36 : detailsHeight;
if ( $.browser.msie && $.browser.version == 7 ) {
detailsHeight += 8;
}
$pp_details.remove();
$pp_title = $pp_pic_holder.find( '.ppt' );
$pp_title.width( width );
titleHeight = parseFloat( $pp_title.css( 'marginTop' ) ) + parseFloat( $pp_title.css( 'marginBottom' ) );
$pp_title = $pp_title.clone().appendTo( $( 'body' ) ).css( {'position': 'absolute', 'top': -10000} );
titleHeight += $pp_title.height();
$pp_title.remove();
pp_contentHeight = height + detailsHeight;
pp_contentWidth = width;
pp_containerHeight = pp_contentHeight + titleHeight + $pp_pic_holder.find( '.pp_top' ).height() + $pp_pic_holder.find( '.pp_bottom' ).height();
pp_containerWidth = width;
}
function _getFileType( itemSrc ) {
if ( itemSrc.match( /youtube\.com\/watch/i ) || itemSrc.match( /youtu\.be/i ) ) {
return'youtube';
} else if ( itemSrc.match( /vimeo\.com/i ) ) {
return'vimeo';
} else if ( itemSrc.match( /\b.mov\b/i ) ) {
return'quicktime';
} else if ( itemSrc.match( /\b.swf\b/i ) ) {
return'flash';
} else if ( itemSrc.match( /\biframe=true\b/i ) ) {
return'iframe';
} else if ( itemSrc.match( /\bajax=true\b/i ) ) {
return'ajax';
} else if ( itemSrc.match( /\bcustom=true\b/i ) ) {
return'custom';
} else if ( itemSrc.substr( 0, 1 ) == '#' ) {
return'inline';
} else {
return'image';
}
;
};
function _center_overlay() {
if ( doresize && typeof $pp_pic_holder != 'undefined' ) {
scroll_pos = _get_scroll();
contentHeight = $pp_pic_holder.height(), contentwidth = $pp_pic_holder.width();
projectedTop = (windowHeight / 2) + scroll_pos['scrollTop'] - (contentHeight / 2);
if ( projectedTop < 0 ) {
projectedTop = 0;
}
if ( contentHeight > windowHeight ) {
return;
}
$pp_pic_holder.css( {'top': projectedTop, 'left': (windowWidth / 2) + scroll_pos['scrollLeft'] - (contentwidth / 2)} );
}
;
};
function _get_scroll() {
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 _resize_overlay() {
windowHeight = $( window ).height(), windowWidth = $( window ).width();
if ( typeof $pp_overlay != "undefined" ) {
$pp_overlay.height( $( document ).height() ).width( windowWidth );
}
};
function _insert_gallery() {
if ( isSet && settings.overlay_gallery && _getFileType( pp_images[set_position] ) == "image" && (settings.ie6_fallback && !($.browser.msie && parseInt( $.browser.version ) == 6)) ) {
itemWidth = 52 + 5;
navWidth = (settings.theme == "facebook" || settings.theme == "pp_default") ? 50 : 30;
itemsPerPage = Math.floor( (pp_dimensions['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;
$.prettyPhoto.changeGalleryPage( goToPage );
$pp_gallery_li.filter( ':eq(' + set_position + ')' ).addClass( 'selected' );
} else {
$pp_pic_holder.find( '.pp_content' ).unbind( 'mouseenter mouseleave' );
}
}
function _build_overlay( caller ) {
if ( settings.social_tools ) {
facebook_like_link = settings.social_tools.replace( '{location_href}', encodeURIComponent( location.href ) );
}
settings.markup = settings.markup.replace( '{pp_social}', (settings.social_tools) ? facebook_like_link : '' );
$( 'body' ).append( settings.markup );
$pp_pic_holder = $( '.pp_pic_holder' ), $ppt = $( '.ppt' ), $pp_overlay = $( 'div.pp_overlay' );
if ( isSet && settings.overlay_gallery ) {
currentGalleryPage = 0;
toInject = "";
for ( var i = 0; i < pp_images.length; i++ ) {
if ( !pp_images[i].match( /\b(jpg|jpeg|png|gif)\b/gi ) ) {
classname = 'default';
img_src = '';
} else {
classname = '';
img_src = pp_images[i];
}
toInject += "![](" + img_src + ")
";
}
;
toInject = settings.gallery_markup.replace( /{gallery}/g, toInject );
$pp_pic_holder.find( '#pp_full_res' ).after( toInject );
$pp_gallery = $( '.pp_pic_holder .pp_gallery' ), $pp_gallery_li = $pp_gallery.find( 'li' );
$pp_gallery.find( '.pp_arrow_next' ).click( function () {
$.prettyPhoto.changeGalleryPage( 'next' );
$.prettyPhoto.stopSlideshow();
return false;
} );
$pp_gallery.find( '.pp_arrow_previous' ).click( function () {
$.prettyPhoto.changeGalleryPage( 'previous' );
$.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 ( i ) {
$( this ).find( 'a' ).click( function () {
$.prettyPhoto.changePage( i );
$.prettyPhoto.stopSlideshow();
return false;
} );
} );
}
;
if ( settings.slideshow ) {
$pp_pic_holder.find( '.pp_nav' ).prepend( 'Play' )
$pp_pic_holder.find( '.pp_nav .pp_play' ).click( function () {
$.prettyPhoto.startSlideshow();
return false;
} );
}
$pp_pic_holder.attr( 'class', 'pp_pic_holder ' + settings.theme );
$pp_overlay.css( {'opacity': 0, 'height': $( document ).height(), 'width': $( window ).width()} ).bind( 'click', function () {
if ( !settings.modal ) {
$.prettyPhoto.close();
}
} );
$( 'a.pp_close' ).bind( 'click', function () {
$.prettyPhoto.close();
return false;
} );
$( 'a.pp_expand' ).bind( 'click', function ( e ) {
if ( $( this ).hasClass( 'pp_expand' ) ) {
$( this ).removeClass( 'pp_expand' ).addClass( 'pp_contract' );
doresize = false;
} else {
$( this ).removeClass( 'pp_contract' ).addClass( 'pp_expand' );
doresize = true;
}
;
_hideContent( function () {
$.prettyPhoto.open();
} );
return false;
} );
$pp_pic_holder.find( '.pp_previous, .pp_nav .pp_arrow_previous' ).bind( 'click', function () {
$.prettyPhoto.changePage( 'previous' );
$.prettyPhoto.stopSlideshow();
return false;
} );
$pp_pic_holder.find( '.pp_next, .pp_nav .pp_arrow_next' ).bind( 'click', function () {
$.prettyPhoto.changePage( 'next' );
$.prettyPhoto.stopSlideshow();
return false;
} );
_center_overlay();
};
if ( !pp_alreadyInitialized && getHashtag() ) {
pp_alreadyInitialized = true;
hashIndex = getHashtag();
hashRel = hashIndex;
hashIndex = hashIndex.substring( hashIndex.indexOf( '/' ) + 1, hashIndex.length - 1 );
hashRel = hashRel.substring( 0, hashRel.indexOf( '/' ) );
setTimeout( function () {
$( "a[rel^='" + hashRel + "']:eq(" + hashIndex + ")" ).trigger( 'click' );
}, 50 );
}
return this.unbind( 'click.prettyphoto' ).bind( 'click.prettyphoto', $.prettyPhoto.initialize );
};
function getHashtag() {
url = location.href;
hashtag = (url.indexOf( '#!' ) != -1) ? decodeURI( url.substring( url.indexOf( '#!' ) + 2, url.length ) ) : false;
return hashtag;
};
function setHashtag() {
if ( typeof theRel == 'undefined' ) {
return;
}
location.hash = '!' + theRel + '/' + rel_index + '/';
};
function clearHashtag() {
url = location.href;
hashtag = (url.indexOf( '#!prettyPhoto' )) ? true : false;
if ( hashtag ) {
location.hash = "!prettyPhoto";
}
}
function getParam( name, url ) {
name = name.replace( /[\[]/, "\\\[" ).replace( /[\]]/, "\\\]" );
var regexS = "[\\?&]" + name + "=([^]*)";
var regex = new RegExp( regexS );
var results = regex.exec( url );
return(results == null) ? "" : results[1];
}
})( jQuery );
var pp_alreadyInitialized = false;