$(document).ready(function() {
	gallerij();
	bannersRandom();
	sideBannersRandom();
	eventList();
	jobsCatLink();
	DUALLvalidate("#frmContact");
	DUALLvalidateGame("#frmGame");
});

$.fn.extend({
	random: function(count){
		this.addClass('temporary_random');
		while((random_set = $('.temporary_random')).length > count){
			$(random_set[Math.floor(Math.random() * random_set.length)]).removeClass('temporary_random');
		}
		random_set.removeClass('temporary_random');
		return random_set;
	},
	shuffle: function(){
		var count = (this.length * 2);
		for(i = 0; i < count; i++){
			element = $(this[Math.floor(Math.random() * this.length)]);
			element.parent().append(element);
		}
		return this;
	}
});


function noSpam(user,domain){
	locationstring = "mailto:" + user + "@skynet.be?subject=Graag%20meer%20info%20ivm%20de%20Bakkersmolen";
	window.location = locationstring;
}


function gallerij() {
	$('.imageSlider').after('<ul id="nav">').cycle({
		fx:     'fade',
		speed:  'fast',
		timeout: 0,
		pager:  '#nav',
		pagerAnchorBuilder: function(idx, slide) {
			return '<li><a href="#"><img src="' + slide.src.replace("/normal/", "/tiny/") + '"  /></a></li>';
		}
	});
}

function bannersRandom(){
	var home_banners = $('div#home_banners ul.random').hide().find('li a').random(3).shuffle();
	var home_banner_containers = $('div#home_banners div');
	
	home_banners.each(function(index){
		$(home_banner_containers[index]).append(this);
	});
}

function sideBannersRandom(){
	var side_banners = $('div#bannerKol ul.random').hide().find('li a').random(3).shuffle();
	var side_banner_containers = $('div#bannerKol div');

	side_banners.each(function(index){
		$(side_banner_containers[index]).append(this);
	});
}

function eventList(){
	_closeAllEvents();
	
	$('body.events div#eventslist div.event').click(function(e){
		_closeAllEvents();
		_openEvent($(this).prev().attr('name'));
	});
	
	ayw_event = top.location.href.split('#');
	
	if(ayw_event.length == 2){
		_openEvent(ayw_event[1]);
	}
}

function _closeAllEvents(){
	$('body.events div#eventslist div.event div.article').hide();
	$('body.events div#eventslist div.event').removeClass('selected');
}

function _openEvent(element_name){
	$('a[name=' + element_name + ']').next().addClass('selected').find('div.article').show();
}

function jobsCatLink(){
$('body.jobs div.jobsCatLink').css('cursor','pointer');
	$('body.jobs div.jobsCatLink').click(function(e){
		top.location.href = $(this).find('a').attr('href');
		e.preventDefault();
	});
}

function DUALLvalidate(FORM) {
	if($(FORM).length){ // zijn de forms aanwezig op de pagina?
		$(FORM).validate(
			{
				rules:	{
					'voornaam': "required",
					'naam': "required",
					'geboortejaar': {
						required: true,
						minlength: 4,
						maxlength: 4,
						number:true
					},
					'email': {
						required: true,
						email: true
						}
					},

				messages:	{
					'voornaam': "&uarr; We hebben je voornaam nodig om je te kunnen contacteren",
					'naam': "&uarr; We hebben je naam nodig om je te kunnen contacteren",
					'geboortejaar': "&uarr; Geef uw geboortejaar op, vb. ####",
					'email': 	{
							required: "&uarr; We hebben je e-mailadres nodig om je te kunnen contacteren",
							email: "&uarr; Gebruik deze structuur: ---@---.--"
						}
					}
			
		});
	} 
}

function DUALLvalidateGame(FORM) {
	if($(FORM).length){ // zijn de forms aanwezig op de pagina?
		$(FORM).validate(
			{
				rules: {
					'vraag_1': "required",
					'vraag_2': "required",
					'vraag_3': {
						required: true,
						number: true
					},
					'voornaam': "required",
					'naam': "required",
					'straat': "required",
					'postcode':  "required",
					'geboortejaar': {
						required: true,
						minlength: 4,
						maxlength: 4,
						number: true
					},
					'email': {
						required: true, 
						email: true
						}
					},

				messages: {
					'vraag_1': "&uarr; Gelieve een antwoord in te geven",
					'vraag_2': "&uarr; Gelieve een antwoord in te geven",
					'vraag_3': "&uarr; Gelieve een antwoord (cijfer) in te geven",
					'voornaam': "&uarr; We hebben je voornaam nodig om je te kunnen contacteren",
					'naam': "&uarr; We hebben je naam nodig om je te kunnen contacteren",
					'straat': "&uarr; We hebben je straat + nr nodig om je te kunnen contacteren",
					'postcode': "&uarr; We hebben je postcode + woonplaats nodig om je te kunnen contacteren",
					'geboortejaar': "&uarr; Geef uw geboortejaar op, vb. ####",
					'email': {
						required: "&uarr; We hebben je e-mailadres nodig om je te kunnen contacteren",
						email: "&uarr; Gebruik deze structuur: ---@---.--"
					}
				}
			
		});
	} 
}
