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


if (typeof site_prefix == 'undefined') var site_prefix;
if (typeof stage_left == 'undefined') var stage_left;
if (typeof stage_middle == 'undefined') var stage_middle;
if (typeof stage_right == 'undefined') var stage_right;
if (typeof stage_delay == 'undefined') var stage_delay;
if (typeof stage_interval == 'undefined') var stage_interval;

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

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

		var index = 0;
		var images = slides;
		var callback = false;
		var $target = $(this);
		var $source = $target.clone().css({margin: 0, left: 0, top: 0}).prependTo($target);
		$source.empty();

		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);

	});

}

$(document).ready(function(){

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

	if (typeof(stage_left) != 'undefined') {
		if (typeof(stage_middle) != 'undefined') interval += step;
		if (typeof(stage_right) != 'undefined') interval += step;
		$('#stage .s0 span').slideshow(stage_left, delay, interval);
		delay += step;
	}
	if (typeof(stage_middle) != 'undefined' && stage_middle.length) {
		$('#stage .s1 span').slideshow(stage_middle, delay, interval);
		delay += step;
	}
	if (typeof(stage_right) != 'undefined' && stage_right.length) {
		$('#stage .s2 span').slideshow(stage_right, delay, interval);
	}

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

	// initialise lightwindow
	$("a[class^='lightwindow']").prettyPhoto({
		width: 760,
		height: 600,
		theme: 'light_square',
		iframe: true
	});

	// tabs
	var $tabs =$('.tablist dt');
	var $tabcontents =$('.tablist dd');
	if ($tabs.length) {
		$('.tablist').addClass('jsenabled');
		$('.tablist dt a').click(function(e) {
			e.preventDefault();
			var s = $tabs.index($(this).parent());
			$tabs.removeClass('selected');
			$tabcontents.removeClass('selected');
			$tabs.eq(s).addClass('selected');
			$tabcontents.eq(s).addClass('selected');
		});
	}

	// booking form
	if ($('.bookingform').length && !$('.bookingform').hasClass('active')) {
		$('.bookingform').before('<a class="booknow"><!-- --></a>').hide();
		$('a.booknow').click(function(e) {
			e.preventDefault();
			$(this).hide();
			$('.bookingform').slideDown();
		});
	}

});
