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

/* STAGE ANIMATIONS */

var site_prefix;
var stage_left;
var stage_center;
var stage_right;
var stage_delay;
var stage_interval;

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

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

		var index = 0;
		var images = slides;
		var callback = false;
		var $target = $(this);
		var $source = $target.clone().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);

	});

}

/* WAI FORMS */

var waiForms = new Object;
waiForms['upper_search'] = new Object;
waiForms['upper_search']['siteSearch'] = 'Enter your search here...';

function waiform(objForm) {
	if (typeof(objForm) != 'object') objForm = document.getElementById(objForm);
	if (!objForm || !objForm.id || !waiForms[objForm.id]) return;
	objForm.onsubmit = function() { return waiform_onsubmit(this); }
	for (var e = 0; e < objForm.elements.length; ++e) {
		var element = objForm.elements[e];
		if (element.type != "text" && element.type != "textarea") continue;
		if (!waiForms[objForm.id][element.id]) continue;
		element.onfocus = function() { return waiform_onfocus(this); }
		element.onblur = function() { return waiform_onblur(this); }
		if (element.value == '') element.value = waiForms[objForm.id][element.id];
	}
}

function waiform_onfocus(objInput) {
	if (!objInput) return;
	var objForm = objInput.form;
	if (!objForm || !waiForms[objForm.id]) return;
	if (objInput.value == waiForms[objForm.id][objInput.id]) objInput.value = '';
}

function waiform_onblur(objInput) {
	if (!objInput) return;
	var objForm = objInput.form;
	if (!objForm || !waiForms[objForm.id]) return;
	if (objInput.value == '') objInput.value = waiForms[objForm.id][objInput.id];
}

function waiform_onsubmit(objForm) {
	if (!objForm || !waiForms[objForm.id]) return;
	for (var e = 0; e < objForm.elements.length; ++e) {
		var element = objForm.elements[e];
		if (element.type != "text" && element.type != "textarea") continue;
		if (!waiForms[objForm.id][element.id]) continue;
		if (element.value == waiForms[objForm.id][element.id]) element.value = '';
	}
	return true;
}

/* INITIALISE JS */

$(document).ready(function(){

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

	if (typeof(stagecenter) != 'undefined') interval += step;
	if (typeof(stageright) != 'undefined') interval += step;

	if (!$('#indexnav').length) {
		if (typeof(stageleft) != 'undefined' && stageleft.length > 1) {
			$('#stage .stageleft').empty();
			$('#stage .stageleft').slideshow(stageleft, delay, interval);
			delay += step;
		}
		if (typeof(stageright) != 'undefined' && stageright.length) {
			$('#stage .stageright').empty();
			$('#stage .stageright').slideshow(stageright, delay, interval);
		}
	} else {
		if (typeof(stageleft) != 'undefined' && stageleft.length > 1) {
			$('#indexnav .lakes .navimg').slideshow(stageleft, delay, interval);
			delay += step;
		}
		if (typeof(stagecenter) != 'undefined' && stagecenter.length) {
			$('#indexnav .leisure .navimg').slideshow(stagecenter, delay, interval);
			delay += step;
		}
		if (typeof(stageright) != 'undefined' && stageright.length) {
			$('#indexnav .conservation .navimg').slideshow(stageright, delay, interval);
		}
	}

	// initialise lightbox
	if (typeof($.fn.prettyPhoto) == 'function') {

		$("a[rel^='lightbox']").prettyPhoto({
				animationSpeed: 'fast',
				padding: 40,
				opacity: 0.70,
				showTitle: false,
				allowresize: true,
				counter_separator_label: '/',
				theme: 'light_square'

		});

		$(".lightwindow").prettyPhoto({
			width: 800,
			height: 600,
			iframe: true
		});

		$(".lightbox-start").click(function() {
			$("a[rel^='lightbox']:first").click();
			return false;
		});
	}

	// pretty tables
	$('.textblock tr:even').addClass('hi');

	// set focus
	//var $input = $("input[type='text'],input[type='password'],textarea");
	//if ($input.length > 1) $input.get(1).focus();

	// click blocks
	$('.indexblock')
		.click(
			function() {
				var href = $(this).find('h2 a').attr('href');
				if (href) document.location = href;
			}
		)
		.css({cursor: 'pointer'});

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

	// initialise wai forms
	waiform('upper_search');

});