var homeImageOffset = 0;
var totalImages = 0;
var homeEvents = new Array();

function cycleHomePageImages() {
	homeImageOffset++;
	if (homeImageOffset == totalImages) { homeImageOffset = 0; }
	$('#featured_event_title').html(homeEvents[homeImageOffset]['title']);
	$('#featured_event_subtitle').html(homeEvents[homeImageOffset]['subtitle']);
	$('#featured_event_book_ticket').html(homeEvents[homeImageOffset]['book_ticket']);
	$('#featured_event_image li a').attr('href', homeEvents[homeImageOffset]['link_url']);
	$('#featured_event_image li img').fadeOut(0, function() {
		$(this).attr('src', homeEvents[homeImageOffset]['image_large']);
		$(this).fadeIn(300);
	});
	$('#featured_event_image li img').attr('alt', homeEvents[homeImageOffset]['title']);
	for (var i = 1; i < totalImages; i++) {
		idx = (homeImageOffset + i < totalImages) ? homeImageOffset + i : (homeImageOffset + i) - totalImages;
		$('#pic_link_' + i + ' div:nth-child(2) a').html(homeEvents[idx]['title']);
		$('#pic_link_' + i + ' div:nth-child(1) img').attr('src', homeEvents[idx]['image_small']);
		$('#pic_link_' + i + ' div:nth-child(1) img').attr('alt', homeEvents[idx]['title']);
		$('#pic_link_' + i + ' div:nth-child(1) a').attr('href', homeEvents[idx]['link_url']);
		$('#pic_link_' + i + ' div:nth-child(1) a').attr('title', homeEvents[idx]['title']);
		$('#pic_link_' + i + ' div:nth-child(2) a').attr('href', homeEvents[idx]['link_url']);
	}
}

$(document).ready(function() {
	// Home page image cycling
	if ($('#featured_event_image li').length && typeof(homeEventImageLarge) != "undefined" && typeof(homeEventImageSmall) != "undefined") {
		totalImages = homeEventImageSmall.length;
		if (homeEventImageLarge.length == totalImages) {
			homeEvents[0] = new Array();
			homeEvents[0]['title'] = $('#featured_event_title').html();
			homeEvents[0]['subtitle'] = $('#featured_event_subtitle').html();
			homeEvents[0]['book_ticket'] = $('#featured_event_book_ticket').html();
			homeEvents[0]['image_large'] = homeEventImageLarge[0];
			homeEvents[0]['image_small'] = homeEventImageSmall[0];
			homeEvents[0]['link_url'] = $('#featured_event_image li a').attr('href');
			for (var i = 1; i < totalImages; i++) {
				homeEvents[i] = new Array();
				homeEvents[i]['title'] = $('#pic_link_' + i + ' div:nth-child(2) a').html();
				homeEvents[i]['subtitle'] = '';
				homeEvents[i]['book_ticket'] = '';
				homeEvents[i]['image_large'] = homeEventImageLarge[i];
				homeEvents[i]['image_small'] = homeEventImageSmall[i];
				homeEvents[i]['link_url'] = $('#pic_link_' + i + ' div:nth-child(2) a').attr('href');
			}
			var myInterval = setInterval("cycleHomePageImages()", 8000);
		}
	}
	
	// ------------------
	// Facebook FBML comment replacement (to allow W3C validation of page)
	// Copyright 2010 Kevin Lieser, kleaserarts - Mediendesign
	// info@ka-mediendesign.de, www.ka-mediendesign.de
	// ------------------
	var fbVObject = $('.fbreplace');
	$.each(fbVObject, function(index, value) {
	    var fbRObject = fbVObject[index].innerHTML;
	    var fbRObject = fbRObject.replace(/<!-- FBML /g, "");
	    var fbRObject = fbRObject.replace(/ FBML -->/g, "");
	    fbVObject[index].innerHTML = fbRObject;
	});
	
	if (typeof get_fb_event_feed == 'function') {
		get_fb_event_feed();
	}
	
	var yourNameEN = 'Your name';
	var yourNameES = 'Su nombre';
	var yourEmailEN = 'Your email';
	var yourEmailES = 'Su email';
	
	/* Placeholder text switcher for input boxes */
	if (window.location.href.substr((window.location.protocol + '//' + window.location.host).length + 1, 2) == 'es') { // Spanish
		$('.homepage input#cm-name').val(yourNameES);
		$('.homepage input#cm-uuiuyk-uuiuyk').val(yourEmailES);
	} else { // English
		$('.homepage input#cm-name').val(yourNameEN);
		$('.homepage input#cm-uuiuyk-uuiuyk').val(yourEmailEN);
	}
	switchText($('.homepage input#cm-name'));
	switchText($('.homepage input#cm-uuiuyk-uuiuyk'));
	
	/* Hide extra fields on home page newsletter box until focus on text box */
	$('.homepage #newsletter_frm .textfield').focus(function() {
		$('#slider_panel').slideDown('fast', function() {
			// Animation complete.
		});
	});
	
	/* Form validation*/
	var container = $('div#errors');
	if (jQuery.isFunction(jQuery.fn.validate)) {
		$.validator.addMethod("valueNotEquals", function(value, element, arg) {
			var notEqual = true;
			var names = arg.split('|');
			jQuery.each(names, function() {
				if (this == value) notEqual = false;
			});
			if (notEqual) return true;
		}, "Value must not equal arg.");

		// Validate the newsletter signup form when submitted
		var validatorNewsletterForm = $("#newsletter_frm").validate({
			errorContainer: container,
			errorLabelContainer: $("ul", container),
			wrapper: 'li',
			meta: "validate",
			rules: {
				"cm-name": {
					required: true,
					valueNotEquals: yourNameEN + "|" + yourNameES
				},
				"cm-uuiuyk-uuiuyk": {
					required: true,
					email: true
				}
			}
		});
		// Validate the contact form when submitted
		var validatorContactForm = $("#contact_frm").validate({
			errorContainer: container,
			errorLabelContainer: $("ul", container),
			wrapper: 'li',
			meta: "validate",
			rules: {
				name: "required",
				email: {
					required: true,
					email: true
				},
				phone: "required",
				enquiry_type: "required",
				message: {
					required: true,
					minlength: 2
				},
				captcha: "required"
			}
		});
		// Validate the registration form when submitted
		var validatorRegisterForm = $("#register_frm").validate({
			errorContainer: container,
			errorLabelContainer: $("ul", container),
			wrapper: 'li',
			meta: "validate",
			rules: {
				username: {
					required: true,
					minlength: 4,
					equalTo: "#username"
				},
				password: {
					required: true,
					minlength: 5
				},
				password_confirm: {
					required: true,
					minlength: 5,
					equalTo: "#password"
				},
				name: "required",
				email: {
					required: true,
					email: true
				},
				email_confirm: {
					required: true,
					email: true,
					equalTo: "#email"
				},
				captcha: "required"
			}
		});
	}
	
	if (jQuery.isFunction(jQuery.fn.cycle)) {
		$('.image_cycler,.event_image_cycler').cycle({
			fx: 'fade',
			timeout: 4000,
			speed: 1000,
			pause: 1
		});
	}
	
	$("form[id='midweek_frm']").submit(function() {
		if (!$('#departure_from').attr("disabled")) {
		    var d = $("#arrival").val().split('/');
		    var a = $("#departure").val().split('/');
		    //var u = 'http://reporting.flymonarch.com/cgi-bin/rr/nobook:368990/http://bookflights.monarch.co.uk/SearchSelect.aspx?roundtrip=True&amp;origin=' + $('#departure_from').val() + '&amp;destination=IBZ&amp;outbounddate=' + (new Date).getFullYear() + padout(d[1]) + padout(d[0]) + '&amp;inbounddate=' + (new Date).getFullYear() + padout(a[1]) + padout(a[0]) + '&amp;adult=1&amp;child=0&amp;infant=0&amp;lff=false&amp;offer=false';
		    if ($('#language').val() == 'es') {
				var u = 'http://www.skyscanner.es/vuelos/' + $('#departure_from').val().toLowerCase() + '/' + $('#arrival_mid').val().toLowerCase() + '/' + padout(d[2]).slice(2) + padout(d[1]) + padout(d[0]) + '/' + padout(a[2]).slice(2) + padout(a[1]) + padout(a[0]) + '/';
			} else {
				var u = 'http://www.skyscanner.net/flights/' + $('#departure_from').val().toLowerCase() + '/' + $('#arrival_mid').val().toLowerCase() + '/' + padout(d[2]).slice(2) + padout(d[1]) + padout(d[0]) + '/' + padout(a[2]).slice(2) + padout(a[1]) + padout(a[0]) + '/';
			}
	        window.open(u);
	    }
	});
	
	$('input#arrival').datepicker({
		onSelect: function() {
			var depart = $.datepicker.parseDate('dd/mm/yy', $('input#arrival').val());
			depart.setDate(depart.getDate() + 7);
			var d = padout((depart.getDate()).toString());
			var m = padout((depart.getMonth() + 1).toString());
			var y = depart.getFullYear();
			$('input#departure').val(d + '/' + m + '/' + y);
		}
	});
	$(function() {
		$('input#departure').datepicker();
	});
	
	$('#departure_from').attr('disabled', 'disabled');

	$("#checked_departure").click(function() {
		var checked_status = this.checked;
		if (checked_status) {
            $('#departure_from').attr('disabled', '');
		} else {
		    $('#departure_from').attr('disabled', 'disabled');
		}
	});
	
	if ($.fn.fancybox) {
		$("a[rel=gallery]").fancybox({
			'transitionIn'		: 'none',
			'transitionOut'		: 'none',
			'titlePosition' 	: 'outside',
			'type'				: 'image',
			'padding'			: 5,
			'overlayOpacity'	: 0.8,
			'overlayColor'		: '#000',
			'titleFormat'		: function(title, currentArray, currentIndex, currentOpts) {
				return '<span class="fancybox-title-desc">' + (title.length ? ' &nbsp; ' + title : '') + ' <span style="float: right;">' + (currentIndex + 1) + ' / ' + currentArray.length + '</span></span>';
			}
		});
	}
});

function padout(number) {
	return (number < 10 && number.length < 2) ? '0' + number : number;
}

function switchText(txtBox) {
	var prevText = txtBox.val();
	txtBox.focus(function() {
		if ($.trim(txtBox.val()) == prevText) {
			txtBox.val('');
		}
	});
	txtBox.blur(function() {
		if ($.trim(txtBox.val()) == '') {
			txtBox.val(prevText);
		}
	});
}

