// Indicate demo video playback status
var videoPlaying = false;

function pad (number, length, padChar) {
		var padChar = padChar || '0';
		var str = '' + number;
		while (str.length < length) {
				str = padChar + str;
		}
		return str;
}

// Callback made by Flash when the video is done
function videoDone () {
	videoPlaying = false;
}


jQuery(function ($) {

	/** CONFIGURATION *********************************************************/

	// Default values for jQuery.Tools.Expose
	$.extend($.tools.expose.conf, {
		color: '#333',
		loadSpeed: 200,
		opacity: 0.9
	});

	// Default values for jQuery.Tools.Overlay
	$.extend($.tools.overlay.conf, {
		// api: true,
		expose: $.tools.expose.conf,
		oneInstance: false,
		target: '#gallery'
	});
	
	// Default values for jQuery.Tools.Overlay.Gallery
	$.extend($.tools.overlay.plugins.gallery.conf, {
		template: '<span>Image ${index} of ${total}</span>'
	});


	/** INITIALIZE ************************************************************/
	
	// Register Flash components with SWFObject
	swfobject.registerObject("countdownFl", "9.0.0");
	
	// Thanks Robert Penner: http://www.robertpenner.com/easing/
	$.easing.easeInCirc = function (x, t, b, c, d) { return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; };
	
  // Initialize feature rotator
	$('body')
		.append('<div id="gallery"><a class="prev">prev</a><a class="next">next</a><div class="info"></div><img class="progress" src="/img/overlay/loading.gif" /></div>')
		.append('<div id="galleryContainer"><div id="galleryFl"></div></div>');
	var slider = $('#slider');
	if (slider.find('.panel').length > 1) {
		slider.before('<a class="prev"></a>').after('<a class="next"></a>');
		window.scrollableApi = slider.scrollable({ clickable: false, easing: 'easeInCirc', items: '.panels', keyboard: false, loop: true, size: 1, speed: 1000 }).navigator().autoscroll({ interval: 8000, api: true });

		// Disable rotation if video is playing
		if (scrollableApi) { scrollableApi.onBeforeSeek(function () { if (videoPlaying) { return false; } }); }
	}

	// Activate Flash photo gallery
		var galPics = $('div#photoLine a.modal');
		if (galPics.length > 0) {
			galPics.overlay().gallery();
		}
		
		$('a.modal-gallery').overlay({
			target: '#galleryContainer',
			onLoad: function (evt) {
				var att = { data: '/swf/slideshowpro2.swf', height: 322, width: 432 };
				var par = { allowfullscreen: true, bgcolor: '#000000', flashvars: 'paramXMLPath=/swf/param.xml', wmode: 'transparent' };
				swfobject.createSWF(att, par, 'galleryFl');
			},
			onClose: function (evt) { $('#galleryFl').remove(); $('#galleryContainer').append('<div id="galleryFl"></div>'); }
		});

	// Demo video playback
	$('a.takeALook').live('click', function (evt) {
		evt.preventDefault();
		
		// Initialize Flash video playback
		videoPlaying = true;
		var videoShell = $(this).closest('.panel').find('#videoShell');
		var oldShell = videoShell.html();
		videoShell.html('<div id="videoFl"></div>');
		var att = { data: '/swf/in_site_player.swf', height: 342, width: 511 };
		var par = { wmode: 'transparent' };
		swfobject.createSWF(att, par, 'videoFl');

		// Periodically check if video is still playing
		var interval = setInterval(function () {
			if (videoPlaying == false) {
				clearInterval(interval);
				swfobject.removeSWF('videoFl');
				videoShell.html(oldShell);
			}
		}, 1000);
	});

});
