/*
 * Subject to copyright.
 *
 * Web Development - LOOKsystems Limited
 * mailto:info@looksystems.ltd.uk
 * http://www.looksystems.ltd.uk
 *
 */

/* SITE PREFIX */

var site_prefix;

/* STAGE ANIMATIONS */

var stage;
var stage_delay;
var stage_interval;

jQuery.fn.slideshow = function(slides, delay, interval) {


	if (!delay) delay = 3000;
	if (!interval) interval = 3000;
	return this.each(function() {

		if (!this.parentNode) return;

		var index = 0;
		var images = slides;
		var callback = false;
		var $target = $(this);
		var $source = $target.clone()
				.css('position', 'absolute')
				.insertAfter($target);

		function slideshow_preload(imgsrc, wait) {
			jQuery("<img>")
				.bind('load', function () {
					if (!callback) callback = setTimeout(slideshow_crossfade, wait);
				})
				.attr("src", imgsrc);
		}

		function slideshow_crossfade() {

			// crossfade images...

			++index;
			if (index >= images.length) index = 0;

			var imgcss = 'url('+images[index]+')';
			$target.css('background-image', imgcss);
			$source.animate({opacity: 0}, 1000, function() {
				$source
					.css('background-image', imgcss)
					.css('opacity', 1);
			});
			var next = index + 1;
			if (next >= images.length) next = 0;
			callback = false;

			// preload next image

			slideshow_preload(images[next], interval);

		}

		if (images.length > 1) slideshow_preload(images[1], delay);
		else callback = setTimeout(slideshow_crossfade, delay);

	});

}

/* INITIALISE DOCUMENT */

$(document).ready(function(){

	// set-up slideshows
	var delay = (typeof(stage_delay) != 'undefined') ? stage_delay : 3000;
	var step = (typeof(stage_interval) != 'undefined') ? stage_interval : 3000;
	var interval = stage.length ? stage.length * step : step;

	var wh = $('#wrapper').height()-35;
	var ch = $('#content').height();
	
	$('#wrapper .sideimage')
		.css('height',(wh > ch) ? wh : ch);

	for (e = 0; e < stage.length; ++e) {
		var element = stage[e];
		var $element = $(element[0]);
		$element
			.css('background-image', 'url('+element[1][0]+')')
			.css('width', $element.width())
			.css('height', $element.height());
		$element.empty();
		$element.slideshow(element[1], delay, interval);
		delay += step;
	}

	// initialise legacy script
	if (typeof(init) == 'function') init();

	// initialise lightbox

	if (typeof($.fn.prettyPhoto) == 'function') {
		$("a[rel^='lightbox']").prettyPhoto({theme: 'light_square', showTitle: false});
		$(".lightbox-start").click(function() {
			$("a[rel^='lightbox']:first").click();
			return false;
		});
	}

	// flash
	if (!$.fn.flash.hasFlash(7.0)) return;

	// saving this for video

});