/**
 * Javascript for Highslide slideshow, Central Pages News/Events
 *
 * Created 19 June 2009
 * Updated 22 June 2010
 *
 * @author Allan A Beattie <allan.beattie@abdn.ac.uk>
 * @version 1.1
 */


hs.graphicsDir = '/highslide/graphics/';
hs.transitions = ['expand', 'crossfade']; 
hs.restoreCursor = null; 
hs.lang.restoreTitle = '';
hs.captionOverlay.fade = 0;
hs.showCredits = false;
hs.allowMultipleInstances = false;

// Add the slideshow providing the controlbar and the thumbstrip 
hs.addSlideshow({ 
slideshowGroup: 'group1', 
interval: 5000, 
repeat: true, 
useControls: true,
overlayOptions: { 
position: 'bottom center',
opacity: .8,
hideOnMouseOut: true
}, 
thumbstrip: { 
position: 'above', 
mode: 'horizontal', 
relativeTo: 'expander'
}
});

// Options for the in-page items 
var inPageOptions = { 
slideshowGroup: 'group1', 
outlineType: 'glossy-dark', 
allowSizeReduction: true, 
wrapperClassName: 'in-page dark', 
useBox: true, 
width: 300, 
height: 300, 
targetX: 'news_highslide 10px', 
targetY: 'news_highslide 10px', 
captionEval: 'this.thumb.alt' 
} 

// Open the first thumb on page load
hs.addEventListener(window, 'load', function() {
	if (document.getElementById('thumb1')) {
		document.getElementById('thumb1').onclick(); 
	}
}); 


// Cancel the default action for image click and do next instead 
hs.Expander.prototype.onImageClick = function() { 
if (/in-page/.test(this.wrapper.className)) return hs.next(); 
} 

// Under no circumstances should the static popup be closed 
hs.Expander.prototype.onBeforeClose = function() { 
if (/in-page/.test(this.wrapper.className)) return false; 
} 
// ... nor dragged 
hs.Expander.prototype.onDrag = function() { 
if (/in-page/.test(this.wrapper.className)) return false; 
} 

// Keep the position after window resize 
hs.addEventListener(window, 'resize', function() { 
var i, exp; 
hs.page = hs.getPageSize(); 

for (i = 0; i < hs.expanders.length; i++) { 
exp = hs.expanders[i]; 
if (exp) { 
var x = exp.x, 
y = exp.y; 

// get new thumb positions 
exp.tpos = hs.getPosition(exp.el); 
x.calcThumb(); 
y.calcThumb(); 

// calculate new popup position 
x.pos = x.tpos - x.cb + x.tb; 
x.scroll = hs.page.scrollLeft; 
x.clientSize = hs.page.width; 
y.pos = y.tpos - y.cb + y.tb; 
y.scroll = hs.page.scrollTop; 
y.clientSize = hs.page.height; 
exp.justify(x, true); 
exp.justify(y, true); 

// set new left and top to wrapper and outline 
exp.moveTo(x.pos, y.pos); 
} 
} 
}); 

// Stop slideshow when viewing large image 
function stopSlideshowAndExpand(element, config) { 
var exp = hs.getExpander(element); 
if (exp.slideshow) exp.slideshow.pause(); 
return hs.expand(element, config); 
} 

// Options for large images 
var largeImage = { 
slideshowGroup: 'large', 
allowSizeReduction: true, 
align: 'center' 
} 

// Closebutton for large images 
hs.registerOverlay({ 
html: '<div class="closebutton" onclick="return hs.close(this)" title="Close"><\/div>', 
position: 'top right', 
fade: 2, 
slideshowGroup: 'large' 
}); 

// Inserting link to large image in caption 
hs.Expander.prototype.onAfterGetCaption = function (sender) { 
if (sender.caption) { 
sender.caption.innerHTML += '<br /><a href="'+ sender.content.src +'" class="highslide zoom" onclick="return stopSlideshowAndExpand(this, largeImage)">View large image<\/a>'; 
} 
} 

// Close large image instead of change focus 
hs.Expander.prototype.onBlur = function() { 
if (this.slideshowGroup == 'large') this.close(); 
}

