/*! * Written by Mark Davies * www.markdavies.com.au * * Requires jQuery! * */ (function (){ var window = this, windowName = Math.random(1000).toString().slice(3), doc = document, loc = location, enc = encodeURIComponent, now = new Date().getTime(), gallery; // Default settings var galleryOps = { // id and filenames of available gallery videos videosArray:[], // debugging debug: false } function isUndefined(variable) { return typeof variable === 'undefined'; } function openGallery(){ if(galleryOps.debug) console.log('gallery.js: showGallery'); // Check that jQuery exists if (isUndefined(jQuery)) { alert('jQuery object not found!'); return; } $("#gallery").css("display", "none"); $("#gallery_bg").css("display", "block"); $("#gallery_bg").animate({ opacity:0 }, 0); $("#gallery_bg").animate({ opacity:.9 }, 300, galleryOpenedHandler); $("#gallery_bg").click(closeGallery); $(window).resize(windowResizeHandler); $(window).scroll(windowScrollHandler); windowResizeHandler(); windowScrollHandler(); } function getVideoFromId(id){ for(var i=0; i' +'' +'' +'' +'' +'' +''; $("#video").html(quicktime); $("#galleryDirector").html(video.director); $("#galleryDescription").html(video.description); openGallery(); Cufon.replace('h2'); } function closeGallery(){ if(galleryOps.debug) console.log('gallery.js: closeGallery'); $(window).unbind('resize', windowResizeHandler); $(window).unbind('scroll', windowScrollHandler); $("#gallery").css("display", "none"); $("#gallery_bg").animate({ opacity:0 }, 300, galleryFadedHandler); } function galleryOpenedHandler(){ $("#gallery").css("display", "block"); placeGallery(); } function galleryFadedHandler(){ $("#gallery_bg").css("display", "none"); } function windowResizeHandler(){ $("#gallery").width($(document).width()); $("#gallery").height($(document).height()); $("#gallery_bg").width($("html").width()); $("#gallery_bg").height($(document).height()); placeGallery(); } function windowScrollHandler(){ placeGallery(); } function placeGallery(){ var posy = $(window).scrollTop() + ($(window).height()/2) - ($("#viewpanel").height()/2); var posx = ($(window).width()/2) - ($("#gallery #viewpanel").width()/2); $("#gallery #viewpanel").offset({top:posy, left:posx}); } // This sets up the actual object window.gallery = gallery = { setOptions: function (options) { for (var i in options) { if (options.hasOwnProperty(i)) { galleryOps[i] = options[i]; } } }, open: function () { openGallery(); }, openAndShow: function (id) { openAndShowGallery(id); }, close: function () { closeGallery(); } }; })();