var caseStudyArray = new Array(); var currentCaseStudyNumber; var currentCaseStudySlide; var isInitialized = false; function startSlideshow() { if (!isInitialized) { initialize(); } function initialize() { caseStudyArray = populateCaseStudyArray($(".caseStudy")); // Set Next Button $("#ss_nextButton").click(function() { advanceSlide(); return false; } ); $("#ss_prevButton").click(function() { reverseSlide(); return false; } ); $(window).resize(function() { // Get page sizes var arrPageSizes = ___getPageSize(); // Style overlay and show it $('#jquery-overlay').css({ width: arrPageSizes[0], height: arrPageSizes[1], }); // Get page scroll var arrPageScroll = ___getPageScroll(); // Calculate top and left offset for the jquery-lightbox div object and show it $('#jquery-lightbox').css({ top: arrPageScroll[1] + (arrPageSizes[3] / 10), left: arrPageScroll[0] }); }); isInitialized = true; } currentCaseStudyNumber = 0; currentCaseStudySlide = $(caseStudyArray[currentCaseStudyNumber]); showSlide(currentCaseStudySlide); // Apply the HTML markup into body tag $('body').append('
'); // Get page sizes var arrPageSizes = ___getPageSize(); // Style overlay and show it $('#jquery-overlay').css({ backgroundColor: '#000', opacity: '0.8', width: arrPageSizes[0], height: arrPageSizes[1] }).fadeIn(); $('#caseStudies').fadeIn(); $('#ss_controls').css({display:'block'}); showButtons(); // Assigning click events in elements to close overlay $('#jquery-overlay').click(function() { _finish(); }); $('#ss_closeButton').click(function() { _finish(); return false; }); } function showButtons() { if(!isLastSlide()) { $("#ss_nextButton").css({display:"block"}); } else { $("#ss_nextButton").css({display:"none"}); } if(!isFirstSlide()) { $("#ss_prevButton").css({display:"block"}); } else { $("#ss_prevButton").css({display:"none"}); } } function advanceSlide() { hideSlide(currentCaseStudySlide); ++currentCaseStudyNumber; var nextSlide = $(caseStudyArray[currentCaseStudyNumber]); showSlide(nextSlide); currentCaseStudySlide = nextSlide; showButtons(); } function reverseSlide() { hideSlide(currentCaseStudySlide); --currentCaseStudyNumber; var nextSlide = $(caseStudyArray[currentCaseStudyNumber]); showSlide(nextSlide); currentCaseStudySlide = nextSlide; showButtons(); } function showSlide(slide) { slide.fadeIn(); } function hideSlide(slide) { slide.fadeOut(); } function isLastSlide() { var isLastSlide = false; if ((currentCaseStudyNumber + 1)>=caseStudyArray.length) { isLastSlide = true; } return isLastSlide; } function isFirstSlide() { var isFirstSlide = false; if (currentCaseStudyNumber==0) { isFirstSlide = true; } return isFirstSlide; } /** * Remove jQuery lightBox plugin HTML markup * */ function _finish() { //$('#jquery-lightbox').remove(); hideSlide(currentCaseStudySlide); $('#jquery-overlay').fadeOut(function() { $('#jquery-overlay').remove(); }); $('#ss_controls').fadeOut(); $('#caseStudies').fadeOut(); // Show some elements to avoid conflict with overlay in IE. These elements appear above the overlay. //$('embed, object, select').css({ 'visibility' : 'visible' }); } function populateCaseStudyArray(resultSet) { var caseStudyArray = new Array(); resultSet.each(function(){caseStudyArray.push(this);}); return caseStudyArray; } // * getPageSize() by quirksmode.com // * // * @return Array Return an array with page width, height and window width, height // */ function ___getPageSize() { var xScroll, yScroll; if (window.innerHeight && window.scrollMaxY) { xScroll = window.innerWidth + window.scrollMaxX; yScroll = window.innerHeight + window.scrollMaxY; } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac xScroll = document.body.scrollWidth; yScroll = document.body.scrollHeight; } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari xScroll = document.body.offsetWidth; yScroll = document.body.offsetHeight; } var windowWidth, windowHeight; if (self.innerHeight) { // all except Explorer if(document.documentElement.clientWidth){ windowWidth = document.documentElement.clientWidth; } else { windowWidth = self.innerWidth; } windowHeight = self.innerHeight; } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode windowWidth = document.documentElement.clientWidth; windowHeight = document.documentElement.clientHeight; } else if (document.body) { // other Explorers windowWidth = document.body.clientWidth; windowHeight = document.body.clientHeight; } // for small pages with total height less then height of the viewport if(yScroll < windowHeight){ pageHeight = windowHeight; } else { pageHeight = yScroll; } // for small pages with total width less then width of the viewport if(xScroll < windowWidth){ pageWidth = xScroll; } else { pageWidth = windowWidth; } arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight); return arrayPageSize; }; // * getPageScroll() by quirksmode.com // * // * @return Array Return an array with x,y page scroll values. // */ function ___getPageScroll() { var xScroll, yScroll; if (self.pageYOffset) { yScroll = self.pageYOffset; xScroll = self.pageXOffset; } else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict yScroll = document.documentElement.scrollTop; xScroll = document.documentElement.scrollLeft; } else if (document.body) {// all other Explorers yScroll = document.body.scrollTop; xScroll = document.body.scrollLeft; } arrayPageScroll = new Array(xScroll,yScroll); return arrayPageScroll; };