YUI({combine: true, timeout: 10000}).use('node', function(Y){
	
	function $(elem){
		return Y.one(elem);
	};
	
	// Images & Overlay
	
	function mw_hideOverlay(){
		$('#overlay').setStyle('left', '-3000px');
		if(activeSlideshow != ''){
			slideshowTimer.cancel();
			activeSlideshow.addClass('hidden').all('img').setStyles({opacity: 0, zIndex: '1020'});
			activeSlideshow = '';
		}
	};

	function mw_showOverlay(){
		var ht, pos;
		ht = (Y.DOM.winHeight() - 500) / 2;
		pos = Y.DOM.docScrollY() + ht;
		$('#overlay').setStyle('left', '0px');
		$('#holder').setStyle('top', pos + 'px');
	};
	
	function mw_resizeOverlay(){
		$('#screen').setStyles({'width': Y.DOM.docWidth() + 'px', 'height': Y.DOM.docHeight() + 'px'});
		$('#holder').setStyles({'left': ((Y.DOM.winWidth() - 660) / 2) + 'px', 'top': ((Y.DOM.winHeight() - 500) / 2) + 'px'});
	};
	
	function mw_createOverlay(){
		$('#screen').setStyle('opacity', '.75');
		$('#caption').setStyle('opacity', '.75');
		mw_resizeOverlay();
		Y.on('click', mw_hideOverlay, '#overlay');
		Y.on('resize', mw_resizeOverlay, window);
	};
	
	// Containers act as links when clicked
	
	function mw_handleContainerClick(e){
		e.preventDefault();
		var btn = e.currentTarget,
			id = btn.get('id');
		id = id.substring(1, id.length);
		mw_startGallery(id);
	};
	
	function mw_handleContainerRollover(e){
		var btn = e.currentTarget,
			panel = btn.one('.panel');
		panel.setStyles({background: '#fff', border: '1px solid #060'});	
	};
	
	function mw_handleContainerRolloff(e){
		var btn = e.currentTarget,
			panel = btn.one('.panel');
		panel.setStyles({background: '#eee', border: '1px solid #eee'});	
	};
	
	// Gallery
	
	var firstImage, 
		slideshowTimer, 
		activeSlideshow = '';
		
	function mw_startGallery(id){
		var ssid = '#ss' + id;
		firstImage = $(ssid + ' img');
		activeSlideshow = $(ssid);
		activeSlideshow.removeClass('hidden');
		mw_setImages(firstImage);
		mw_showOverlay();
	};
	
	function mw_setImages(image){
		var caption = image.get('alt'), 
			nextimage = image.next('img')||firstImage;
		image.setStyles({opacity: 1, zIndex: '1028'});
		nextimage.setStyles({opacity: 1, zIndex: '1024'});
		if(caption !== ''){
			$('#caption').set('text', caption).removeClass('hidden');
		}else{
			$('#caption').addClass('hidden');
		};
		slideshowTimer = Y.later(3000, null, mw_fadeImage, [image, 100], false);
	};
	
	function mw_fadeImage(image, opac){
		opac = opac - 5;
		if (opac >= 0) {
			image.setStyle('opacity', opac/100);
			slideshowTimer = Y.later(50, null, mw_fadeImage, [image, opac], false);
		}else{
			nextimage = image.next('img')||firstImage;
			slideshowTimer = Y.later(50, null, mw_setImages, [nextimage], false);
		};
	};
	
	// Initialisation
	
	function init(){
		var containers = Y.all('div.three-col div.col');
		swfobject.embedSWF(headerMovie, "noflash", "930", "212", "10", "images/interface/expressInstall.swf", 0, {wmode:"transparent",menu:"false"},0);
		if(containers.size() > 0){
			mw_createOverlay();
			Y.on('click', mw_handleContainerClick, containers);
			Y.on('mouseover', mw_handleContainerRollover, containers);
			Y.on('mouseout', mw_handleContainerRolloff, containers);
		};
		Y.all('.external').setAttribute('target', '_blank');
	};
	
	Y.on("domready", init);
});