/** * Copyright (c) 2009-2010, As Is Software, dba Media Lab Inc. * http://www.medialab.com */ // Shadowbox.loadSkin('classic', '../jsclasses/sg_gallery_plugins/bigbox/shadowbox/skin'); // use the "classic" skin // Shadowbox.loadLanguage('en', 'http://michaeljackson.googlecode.com/svn/trunk/shadowbox/src/lang'); // use the English language // Shadowbox.loadPlayer(['img'], 'http://michaeljackson.googlecode.com/svn/trunk/shadowbox/src/player'); // use img and qt players var com; if(!com) { com = {}; } else if(typeof(com) != "object") { throw new Error("can't initialize...com is not an object."); } if(!com.medialab) { com.medialab = {}; } else if(typeof(com.medialab) != "object") { throw new Error("can't initialize...com.medialab is not an object."); } if(!com.medialab.sg) { com.medialab.sg = {}; } if (!com.medialab.sg.gallery1) { com.medialab.sg.gallery1 = {};} com.medialab.sg.gallery1.bigboxShadowbox = function(thumbSheetXMLIn, docentIn){ var that = this; var debug = false; var sgalert = function(msg){ if (debug) { alert(msg); } }; var docent = docentIn; var shadowBoxGallery = null; var useAllViews = true; var titleMetaField = ""; var showControls = true; //alert(docentIn); var xml = thumbSheetXMLIn; function init(){ docent.sgconsole("Bigbox shadowbox Init()"); showControls = docent.getBigboxOption('showcontrols'); titleMetaField = docent.getBigboxOption('titlemetafield'); shadowBoxGallery = makeShadowboxGallery(); Shadowbox.init({ skipSetup: true, displayNav:showControls }); } function makeShadowboxGallery(mode, curExhibit){ var gal = new Array(); if (!curExhibit) { curExhibit=0; } if (!mode) { mode = 'exhibit'; } docent.sgconsole('makeShadowboxGallery, mode: ' + mode); if (mode == 'exhibit') { $ml('exhibit', xml).each(function(n){ //console.log('processing bigbox exhibit: ' + n); var myUrl = $ml('views > view > bigbox > url', this).eq(0).text(); //console.log('bigbox url for gallery: '+myUrl); if (!myUrl || myUrl == "") { myUrl = $ml('views > view > picturebox > url', this).eq(0).text(); } if (myUrl && myUrl != "") { var myGalEntry = makeShadowboxEntry(myUrl); //addMetadata($ml('views view:eq(0)',this), myGalEntry); addMetadata(myGalEntry,n); gal.push(myGalEntry); } }) } else { $ml('exhibit:eq('+curExhibit+') view', xml).each(function(n){ var myUrl = $ml('bigbox > url', this).text(); if (!myUrl || myUrl == "") { myUrl = $ml('picturebox > url', this).text(); } if (myUrl && myUrl != "") { var myGalEntry = makeShadowboxEntry(myUrl); //addMetadata(this, myGalEntry); addMetadata(myGalEntry); gal.push(myGalEntry); } }) } return gal; } function addMetadata(entry,n) { if(typeof(entry) == 'object') { var md = docent.getMetadata(titleMetaField,n); entry.title = md; } } /* function addMetadata(provider,entry){ if(typeof(titleMetaField)!='undefined' && titleMetaField != null && titleMetaField != "") { var metaVal = $ml('metadataentries metadata[name="'+titleMetaField+'"]',provider).text(); if (typeof metaVal != 'undefined') { docent.sgconsole('metaval:'+metaVal); entry.title = metaVal; } } } */ function makeShadowboxEntry(url) { return {player: 'img', content: url}; } this.openByURL = function (url) { // open a welcome message docent.sgconsole("open shadowbox with " + url); Shadowbox.open([ { player: 'img', // title: 'Welcome', content: url } ]); } this.openByView = function(mode, exhibitnum, viewnum) { docent.sgconsole("bigbox: openByView trying to start " + exhibitnum + " " + viewnum); shadowBoxGallery = makeShadowboxGallery(mode, exhibitnum); var current = exhibitnum; if (mode == 'view') { current = viewnum; } Shadowbox.open(shadowBoxGallery, current); docent.sgconsole("shadowbox current B " + current); } //Shadowbox.loadSkin('classic', '../jsclasses/sg_gallery_plugins/bigbox/shadowbox/skin'); init(); }