/* Shutter Reloaded for NextGEN Gallery http://www.laptoptips.ca/javascripts/shutter-reloaded/ Version: 1.3.3 Copyright (C) 2007-2008 Andrew Ozz (Modification by Alex Rabe) Released under the GPL, http://www.gnu.org/copyleft/gpl.html Acknowledgement: some ideas are from: Shutter by Andrew Sutherland - http://code.jalenack.com, WordPress - http://wordpress.org, Lightbox by Lokesh Dhakar - http://www.huddletogether.com, the icons are from Crystal Project Icons, Everaldo Coelho, http://www.everaldo.com */ shutterOnload = function(){shutterReloaded.init('sh');} if (typeof shutterOnload == 'function') { if ('undefined' != typeof jQuery) jQuery(document).ready(function(){shutterOnload();}); else if( typeof window.onload != 'function' ) window.onload = shutterOnload; else {oldonld = window.onload;window.onload = function(){if(oldonld){oldonld();};shutterOnload();}}; } shutterReloaded = { I : function (a) { return document.getElementById(a); }, settings : function() { var t = this, s = shutterSettings; t.imageCount = s.imageCount || 0; t.msgLoading = s.msgLoading || 'L O A D I N G'; t.msgClose = s.msgClose || 'Click to Close'; }, init : function (a) { var t = this, L, T, ext, i, m, setid, inset, shfile, shMenuPre, k, img; shutterLinks = {}, shutterSets = {}; if ( 'object' != typeof shutterSettings ) shutterSettings = {}; // If the screen orientation is defined we are in a modern mobile OS t.mobileOS = typeof orientation != 'undefined' ? true : false; for ( i = 0; i < document.links.length; i++ ) { L = document.links[i]; ext = ( L.href.indexOf('?') == -1 ) ? L.href.slice(-4).toLowerCase() : L.href.substring( 0, L.href.indexOf('?') ).slice(-4).toLowerCase(); if ( ext != '.jpg' && ext != '.png' && ext != '.gif' && ext != 'jpeg' ) continue; if ( a == 'sh' && L.className.toLowerCase().indexOf('shutter') == -1 ) continue; if ( a == 'lb' && L.rel.toLowerCase().indexOf('lightbox') == -1 ) continue; if ( L.className.toLowerCase().indexOf('shutterset') != -1 ) setid = L.className.replace(/\s/g, '_'); else if ( L.rel.toLowerCase().indexOf('lightbox[') != -1 ) setid = L.rel.replace(/\s/g, '_'); else setid = 0, inset = -1; if( setid ) { if ( ! shutterSets[setid] ) shutterSets[setid] = []; inset = shutterSets[setid].push(i); } shfile = L.href.slice(L.href.lastIndexOf('/')+1); T = ( L.title && L.title != shfile ) ? L.title : ''; shutterLinks[i] = {link:L.href,num:inset,set:setid,title:T} L.onclick = new Function('shutterReloaded.make("' + i + '");return false;'); } t.settings(); }, make : function(ln,fs) { var t = this, prev, next, prevlink = '', nextlink = '', previmg, nextimg, D, S, W, fsarg = -1, imgNum, NavBar; if ( ! t.Top ) { if ( typeof window.pageYOffset != 'undefined' ) t.Top = window.pageYOffset; else t.Top = (document.documentElement.scrollTop > 0) ? document.documentElement.scrollTop : document.body.scrollTop; } if ( typeof t.pgHeight == 'undefined' ) t.pgHeight = Math.max(document.documentElement.scrollHeight,document.body.scrollHeight); if ( fs ) t.FS = ( fs > 0 ) ? 1 : 0; else t.FS = shutterSettings.FS || 0; if ( t.resizing ) t.resizing = null; // resize event if window or orientation changed (i.e. iOS) if(t.mobileOS == true) window.onorientationchange = new Function('shutterReloaded.resize("'+ln+'");'); else window.onresize = new Function('shutterReloaded.resize("'+ln+'");'); document.documentElement.style.overflowX = 'hidden'; if ( ! t.VP ) { t._viewPort(); t.VP = true; } if ( ! (S = t.I('shShutter')) ) { S = document.createElement('div'); S.setAttribute('id','shShutter'); document.getElementsByTagName('body')[0].appendChild(S); t.hideTags(); } if ( ! (D = t.I('shDisplay')) ) { D = document.createElement('div'); D.setAttribute('id','shDisplay'); D.style.top = t.Top + 'px'; document.getElementsByTagName('body')[0].appendChild(D); } S.style.height = t.pgHeight + 'px'; var dv = t.textBtns ? ' | ' : ''; if ( shutterLinks[ln].num > 1 ) { prev = shutterSets[shutterLinks[ln].set][shutterLinks[ln].num - 2]; prevlink = '<<'+dv; previmg = new Image(); previmg.src = shutterLinks[prev].link; } else { prevlink = ''; } if ( shutterLinks[ln].num != -1 && shutterLinks[ln].num < (shutterSets[shutterLinks[ln].set].length) ) { next = shutterSets[shutterLinks[ln].set][shutterLinks[ln].num]; nextlink = '>>'+dv; nextimg = new Image(); nextimg.src = shutterLinks[next].link; } else { nextlink = ''; } imgNum = ( (shutterLinks[ln].num > 0) && t.imageCount ) ? '