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

var site_prefix;
var stage_images;
var stage_delay;
var stage_interval;

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

	if (!delay) delay = 5000;
	if (!interval) interval = 7500;
	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);

	});

}

function label2value(){

	var inactive = "inactive";
	var active = "active";
	var focused = "focused";

	$("form.waiform label").each(function(){
		obj = document.getElementById($(this).attr("for"));
		if(($(obj).attr("type") == "text") || (obj.tagName.toLowerCase() == "textarea") || (obj.tagName.toLowerCase() == "select")){
			var text = $(this).text();
			$(this).css("display","none");
			if ($(obj).val() != "" && $(obj).val() != text) $(obj).addClass(active);
			else {
				$(obj).val(text);
				$(obj).addClass(inactive);
			}
			$(obj).focus(function(){
				$(this).addClass(focused);
				$(this).removeClass(inactive);
				$(this).removeClass(active);
				if($(this).val() == text) $(this).val("");
			});
			$(obj).blur(function(){
				$(this).removeClass(focused);
				if($(this).val() == "") {
					$(this).val(text);
					$(this).addClass(inactive);
				} else {
					$(this).addClass(active);
				};
			});
		};
	});

	$("form.waiform").submit(function() {
		$(this).children('label').each(function() {
			if ($(this).css('display') != 'none') return;
			var text = $(this).text();
			var obj = document.getElementById($(this).attr("for"));
			if ($(obj).val() == text) $(obj).val('');
		});
	});

};

$(document).ready(function(){

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

	// hide form labels
	label2value();

	// initialise legacy script
	if (typeof(init) == 'function') {
		init();
		// tariff actions
		$('.tariff_actions').change(function(e) {
			  var $this = $(this);
			  var $parent = $this.parent().parent().find('.a').val($this.val());
		});
	}

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

		$("a[rel^='lightbox']").prettyPhoto({theme: 'light_square'});

		$(".lightwindow").prettyPhoto({
			width: 760,
			height: 600,
			theme: 'light_square',
			iframe: true
		});

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

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

	if ($('#stage span').length) {
		if (typeof(stage_images) != 'undefined' && stage_images.length > 1) {
			$('#stage span').slideshow(stage_images, delay, interval);
			delay += step;
		}
	}

	// property list & area guide
	$('.listing li,.guide li')
		.click(
			function() {
				var href = $(this).find('a').attr('href');
				if (href) document.location = href;
			}
		)
		.css({cursor: 'pointer'});


	// property slideshow
	$('.propertypreview').each(function() {
		
		var scroll = 450;
		var $this = $(this);
		var $propertylist = $this.find('.viewport ul');
		var end = scroll - parseInt($propertylist.css('width'));
		$this.find('.prevpic').click(function(e) {
			e.preventDefault();
			var offset = parseInt($propertylist.css('left'));
			offset += scroll;
			if (offset > 0) offset = 0;
			$propertylist.animate({left: offset+'px'}, 'fast');

		});
		$this.find('.nextpic').click(function(e) {
			e.preventDefault();
			var offset = parseInt($propertylist.css('left'));
			offset -= scroll;
			if (offset < end) offset = end;
			$propertylist.animate({left: offset+'px'}, 'fast');
		});

	});

	// guest list
	$('.canhide').addClass('hidden').hide();
	$('.addguest').show();
	$('.addguest a').click(function(e) {
		e.preventDefault();
		$('.hidden').eq(0).removeClass('hidden').show();
		if (!$('.hidden').length) $('.addguest').hide();
	});

	// date picker
	$(".date-pick").datepicker({
		minDate: new Date,
		dateFormat: 'dd/mm/yy',
		duration: '',
		firstDay: 1,
		showOn: 'button',
		buttonImage: 'img/calendar.gif',
		numberOfMonths: 2,
		buttonImageOnly: true
	});

	// print page
	$(".print-start").click(function() {
		window.print();
		return false;
	});


});