/* ------------------------------------------------- */
/* On document ready
/* ------------------------------------------------- */
$(document).ready(function($) {
	if($('body.home').length) backstretch.init();
	if($('body.splash').length) backstretch.init();
	if($('#agenda table').length) agenda.init();
	if($('#agenda #daily').length) agenda_by_day.init();
	// Init scrollable
	if($('#photo-scroller div.scrollable .item').length > 1) $('#photo-scroller div.scrollable').scrollable({easing:'easeInOutCirc', speed:1200, circular:true}).autoscroll({autoplay:true, interval:4500, autopause:true});
	if($('#quick-links div.scrollable .item').length > 1) $('#quick-links div.scrollable').scrollable({easing:'easeInOutCirc', speed:1200, circular:true}).autoscroll({autoplay:true, interval:4500, autopause:true});
    if($('#agenda-links div.scrollable .item').length > 1) $('#agenda-links div.scrollable').scrollable({easing:'easeInOutCirc', speed:1400, circular:true}).autoscroll({autoplay:true, interval:6000, autopause:true});
	// Init colorbox
	$('a.colorbox').colorbox();
	// Init form validation
	$('form').validate();
	// Init stadsmuziek
	if($('#form-3').length) stadsmuziek.init(); // form abonnementen
	if($('#form-4').length) stadsmuziek.init(); // form festivalpas
	if($('#form-9').length) stadsmuziekfr.init(); // form abonnementen fr
	if($('#form-10').length) stadsmuziekfr.init(); // form festivalpas fr
	if($('#form-14').length) stadsmuzieken.init(); // form abonnementen en
	if($('#form-15').length) stadsmuzieken.init(); // form festivalpas en
});

/* ------------------------------------------------- */
/* Stadsmuziek: show/hide concerts
/* ------------------------------------------------- */
var stadsmuziek = {

		stadsmuziekToggle: $('input[id="Keuze-concertenStadsmuziek"]'),
		
		concert1: $('#field-stadsmuziek-14-00'),
		concert2: $('#field-stadsmuziek-15-00'),
		concert3: $('#field-stadsmuziek-16-00'),
		concert4: $('#field-stadsmuziek-17-00'),
		slotconcert: $('#stadsmuziek-slotconcert'),
		
		init: function() {
			var fn = this;
			// Hide unneeded form parts
			fn.toggleConcerts();
			// Init events
			fn.events();
		},
		
		events: function() {
			var fn = this;
			// stadsmuziek On/off
			fn.stadsmuziekToggle.click(function() {fn.toggleConcerts();});
		},
		
		toggleConcerts: function() {
			var fn = this;
			var value = $("input[id='Keuze-concertenStadsmuziek']:checked").val();
			if(value == 'Stadsmuziek') {
				fn.concert1.show();
				fn.concert2.show();
				fn.concert3.show();
				fn.concert4.show();
				fn.slotconcert.val('Seelenvoll');
			} else {
				fn.concert1.hide();
				fn.concert2.hide();
				fn.concert3.hide();
				fn.concert4.hide();
				$("input[name='data[stadsmuziek-14-00]']").removeAttr('checked');
				$("input[name='data[stadsmuziek-15-00]']").removeAttr('checked');
				$("input[name='data[stadsmuziek-16-00]']").removeAttr('checked');
				$("input[name='data[stadsmuziek-17-00]']").removeAttr('checked');
				fn.slotconcert.val('');
			}
		}
}
var stadsmuziekfr = {

		stadsmuziekToggle: $('input[id="Choix-des-concertsStadsmuziek"]'),
		
		concert1: $('#field-stadsmuziek-14-00'),
		concert2: $('#field-stadsmuziek-15-00'),
		concert3: $('#field-stadsmuziek-16-00'),
		concert4: $('#field-stadsmuziek-17-00'),
		slotconcert: $('#stadsmuziek-slotconcert'),
		
		init: function() {
			var fn = this;
			// Hide unneeded form parts
			fn.toggleConcerts();
			// Init events
			fn.events();
		},
		
		events: function() {
			var fn = this;
			// stadsmuziek On/off
			fn.stadsmuziekToggle.click(function() {fn.toggleConcerts();});
		},
		
		toggleConcerts: function() {
			var fn = this;
			var value = $("input[id='Choix-des-concertsStadsmuziek']:checked").val();
			if(value == 'Stadsmuziek') {
				fn.concert1.show();
				fn.concert2.show();
				fn.concert3.show();
				fn.concert4.show();
				fn.slotconcert.val('Seelenvoll');
			} else {
				fn.concert1.hide();
				fn.concert2.hide();
				fn.concert3.hide();
				fn.concert4.hide();
				$("input[name='data[stadsmuziek-14-00]']").removeAttr('checked');
				$("input[name='data[stadsmuziek-15-00]']").removeAttr('checked');
				$("input[name='data[stadsmuziek-16-00]']").removeAttr('checked');
				$("input[name='data[stadsmuziek-17-00]']").removeAttr('checked');
				fn.slotconcert.val('');
			}
		}
}
var stadsmuzieken = {

		stadsmuziekToggle: $('input[id="Choice-of-concertsStadsmuziek"]'),

		concert1: $('#field-stadsmuziek-2-pm'),
		concert2: $('#field-stadsmuziek-3-pm'),
		concert3: $('#field-stadsmuziek-4-pm'),
		concert4: $('#field-stadsmuziek-5-pm'),
		slotconcert: $('#stadsmuziek-slotconcert'),

		init: function() {
			var fn = this;
			// Hide unneeded form parts
			fn.toggleConcerts();
			// Init events
			fn.events();
		},

		events: function() {
			var fn = this;
			// stadsmuziek On/off
			fn.stadsmuziekToggle.click(function() {fn.toggleConcerts();});
		},

		toggleConcerts: function() {
			var fn = this;
			var value = $("input[id='Choice-of-concertsStadsmuziek']:checked").val();
			if(value == 'Stadsmuziek') {
				fn.concert1.show();
				fn.concert2.show();
				fn.concert3.show();
				fn.concert4.show();
				fn.slotconcert.val('Seelenvoll');
			} else {
				fn.concert1.hide();
				fn.concert2.hide();
				fn.concert3.hide();
				fn.concert4.hide();
				$("input[name='data[stadsmuziek-2-pm]']").removeAttr('checked');
				$("input[name='data[stadsmuziek-3-pm]']").removeAttr('checked');
				$("input[name='data[stadsmuziek-4-pm]']").removeAttr('checked');
				$("input[name='data[stadsmuziek-5-pm]']").removeAttr('checked');
				fn.slotconcert.val('');
			}
		}
}

var agenda = {
		
		tr: $('#agenda table tr'),
		
		init: function() {
			
			var fn = this;

	        fn.tr.mouseover(function () {
	            $(this).addClass("hover");
	        });

	        fn.tr.mouseout(function () {
	            $(this).removeClass("hover");
	        });

	        fn.tr.click(function (e) {
	            document.location.href = $('a:first', this).attr('href');
	        });
		}
}

var agenda_by_day = {
		
		el: $('#daily div.event'),
		
		init: function() {
			
			var fn = this;

	        fn.el.click(function (e) {
	            document.location.href = $('a:first', this).attr('href');
	        });
		}
}

/* ------------------------------------------------- */
/* Home backstretch functions
/* ------------------------------------------------- */
var backstretch = {
	
	images: $.data(document.body, 'images'),
	position: 0,
	
	init: function() {
		ho = this;
		if(ho.images.length > 0) {
			$.backstretch(ho.images[ho.position], {speed:500});
			$('#backstretch img').css({'cursor':'pointer'});
		}
		ho.events();
	},
	
	events: function() {
		ho = this;
		if(ho.images.length > 1) {
			setInterval('ho.nextSlide()', 15000);
		}
	},
	
	nextSlide: function() {
		ho = this;
		pos = ho.position++;
		if(pos >= (ho.images.length - 1)) ho.position = 0;
		$('#backstretch img').fadeOut(500, function() {
			$('#backstretch img').attr("src", ho.images[ho.position]).fadeIn(500);
		})
		$(window).trigger("resize");
	}
	
}

/* ------------------------------------------------- */
/* Default IE Fixes for 6/7/8
/* Fixes for last/first child
/* ...
/* ------------------------------------------------- */
var defaultIEFixes = {
	
	init: function() {
		ie = this;
		// First determine if we have IE
		if($.browser.msie && ($.browser.version < 9)) {
			// Last/first-child hack
			// Add elements to your discretion
			ie.firstLastChildHack('#main-menu ul li');
			// Here comes the following hack
		}
	},
	
	firstLastChildHack: function(el) {
		$(el).first().addClass('first-child');
		$(el).last().addClass('last-child');
	}
}

/* ------------------------------------------------- */
/* Commen log functions avoids pesky alerts in FF
/* if FireBug isn't enabled!
/* http://paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
/* ------------------------------------------------- */
window.log = function(){
	log.history = log.history || [];   // store logs to an array for reference
	log.history.push(arguments);
	if(this.console) { console.log(Array.prototype.slice.call(arguments)); }
};
