diff --git a/themes/blueprint/js/vudl.js b/themes/blueprint/js/vudl.js index 9392667fc138ca2d34ca2f7fa925f3caaaea6b2b..e3746521f2c7de2744da0b740b3c646035f8bd01 100644 --- a/themes/blueprint/js/vudl.js +++ b/themes/blueprint/js/vudl.js @@ -1,3 +1,5 @@ +/*global documentID*/ + var currTab = 2; var loadingThumbs = true; var noHit; @@ -68,6 +70,25 @@ function showInfo() { // --- PAGE LINK ACTIONS --- // var pages; var currentPage = 0; +function setTabs(srcs) { + var tabs = '<a onClick="showOriginal(\''+srcs['original']+'\')">Original</a>'+ + '<a onClick="showPreview(\''+srcs['large']+'\',this)">Large</a>'+ + '<a onClick="showPreview(\''+srcs['medium']+'\',this)">Medium</a>'+ + '<a onClick="showZoom(\''+srcs['large']+'\',this)">Zoom</a>'+ + '<a onClick="showInfo()">Information</a>'; + $(".view .navigation").html(tabs); + // - Re-assign the click event handlers + $('.view .navigation a').each(function (index) { + $(this).click(function () { + $('.view .navigation a.selected').removeClass('selected'); + $(this).addClass('selected'); + currTab = index; + }); + if(index == currTab) { // SET THE MIDDLE TAB (medium) TO THE ACTIVE ONE + $(this).click(); + } + }); +} function loadPage(page) { currentPage = page; if(!pages[page]) { @@ -96,27 +117,24 @@ function setPageLinkClicks() { $('.page_list .page_link:first-child').addClass('selected'); } } -function firstPage() {selectPage(0);} -function prevPage() {selectPage(Math.max(0,currentPage-1));} -function nextPage() { - var newpage = Math.min(pages.length-1,currentPage+1); - if(!pages[newpage]) { - createPageLinks(); - } - selectPage(newpage); -} -function lastPage() { - // Load all thumbnails +function createPageLinks() { + loadingThumbs = true; var currEnd = $('.page_list .page_link').size(); - while(currEnd < pages.length) { + //console.log(currEnd); + if(currEnd >= pages.length) { + $('.side-loading').css({'display':'none'}); + } else if(pages[currEnd]) { $('<div class="page_link new"><img src="'+pages[currEnd]['thumbnail']+'">'+pages[currEnd]['label']+'</div>').insertBefore('.side-loading'); - currEnd++; + // Make sure we're clear so that this lock doesn't go balistic + var pageList = $('.page_list'); + if (pageList.scrollHeight-pageList.scrollTop-pageList.offsetHeight < 50) { + createPageLinks(); + } else { + loadingThumbs = false; + } } - $('.side-loading').css({'display':'none'}); setPageLinkClicks(); - selectPage(pages.length-1); } - function selectPage(newPage) { currentPage = newPage; loadPage(newPage); @@ -132,43 +150,25 @@ function selectPage(newPage) { } } } -function setTabs(srcs) { - var tabs = '<a onClick="showOriginal(\''+srcs['original']+'\')">Original</a>'+ - '<a onClick="showPreview(\''+srcs['large']+'\',this)">Large</a>'+ - '<a onClick="showPreview(\''+srcs['medium']+'\',this)">Medium</a>'+ - '<a onClick="showZoom(\''+srcs['large']+'\',this)">Zoom</a>'+ - '<a onClick="showInfo()">Information</a>'; - $(".view .navigation").html(tabs); - // - Re-assign the click event handlers - $('.view .navigation a').each(function (index) { - $(this).click(function () { - $('.view .navigation a.selected').removeClass('selected'); - $(this).addClass('selected'); - currTab = index; - }); - if(index == currTab) { // SET THE MIDDLE TAB (medium) TO THE ACTIVE ONE - $(this).click(); - } - }); +function firstPage() {selectPage(0);} +function prevPage() {selectPage(Math.max(0,currentPage-1));} +function nextPage() { + var newpage = Math.min(pages.length-1,currentPage+1); + if(!pages[newpage]) { + createPageLinks(); + } + selectPage(newpage); } - -function createPageLinks() { - loadingThumbs = true; +function lastPage() { + // Load all thumbnails var currEnd = $('.page_list .page_link').size(); - //console.log(currEnd); - if(currEnd >= pages.length) { - $('.side-loading').css({'display':'none'}); - } else if(pages[currEnd]) { + while(currEnd < pages.length) { $('<div class="page_link new"><img src="'+pages[currEnd]['thumbnail']+'">'+pages[currEnd]['label']+'</div>').insertBefore('.side-loading'); - // Make sure we're clear so that this lock doesn't go balistic - var pageList = $('.page_list'); - if (pageList.scrollHeight-pageList.scrollTop-pageList.offsetHeight < 50) { - createPageLinks(); - } else { - loadingThumbs = false; - } + currEnd++; } + $('.side-loading').css({'display':'none'}); setPageLinkClicks(); + selectPage(pages.length-1); } // fit preview to screen