$(document).ready(function() {
	$('#language').selectbox();
	selectLanguages();
	submenu();
	clearFields();
	//fotoSlider();
});

function sfeerCycle() {
	$('#cycle')
		.after('<div id="nav">')
		.cycle({
			fx:     'fade',
			timeout: 6000,
			speed:	 900,
			pager: '#nav',
			after: function(curr,next,opts) {

			}
	});
}

function submenu() {
	$('.menu_item').hover(function(){
		$(this).children('.submenu').show();							   
	}, function(){
		$(this).children('.submenu').hide();							   
	});
	$('.submenu').hover(function(){
		$(this).parent('.menu_item').addClass('hover');							   
	}, function(){
		$(this).parent('.menu_item').removeClass('hover');							   
	});
}

var sValue = '';
function clearFields() {
	$('#search input, #vertel input').focus(function() {
		sValue = $(this).attr('value');
		$(this).val('');
		$(this).css('color','#666666');
	});
	$('#search input, #vertel input').blur(function() {
		if($(this).val() == '') {
			$(this).val(sValue);
			$(this).css('color','#acacac');
		} else {
			$(this).css('color','#666666');
		}
	});
}

function selectLanguages() {
	$('#language_input').addClass(sDefault);
	$('#language_container ul li').click(function() {
		var sLanguage = $(this).attr('id');
		if(sLanguage != sDefault) {
			switch(sLanguage) {
				case 'nederlands':
					window.location='';
				break;
				case 'english':
					window.location='../en/';
				break;
				case 'deutsch':
					window.location='../de/';
				break;
				case 'francais':
					window.location='../fr/';
				break;
			}
		}
		$(this).parents('#language_container').prev('input').addClass(sLanguage);
	});
}

function hoverFoto() {
	$('#fotos .foto .foto_wrapper').hover(function(){
		$(this).prev('.afbeelding').children('.vergrootglas').show();
	}, function(){
		$(this).prev('.afbeelding').children('.vergrootglas').hide();
	});
}

function showAll() {
	$('.toon_alles, .toon_nieuwsarchief').click(function() {
		var nAantal = $(this).parent('.alles').prev('.ul_wrapper').find('li').size();
		var nHeight = (nAantal * 25) + 15;
		$(this).parent('.alles').prev('.ul_wrapper').animate({ height: nHeight+'px' }, 250);
		if($(this).hasClass('toon_alles')) {
			$(this).parent('.alles').html('&laquo; <a href="javascript://" title="Toon minder evenementen" class="toon_minder">Toon minder evenementen</a>');
		} else {
			$(this).parent('.alles').html('&laquo; <a href="javascript://" title="Toon recent nieuws" class="toon_recent">Toon recent nieuws</a>');
		}
		showAll();
	});
	$('.toon_minder, .toon_recent').click(function() {
		$(this).parent('.alles').prev('.ul_wrapper').animate({ height: '140px' }, 250);
		if($(this).hasClass('toon_minder')) {
			$(this).parent('.alles').html('<a href="javascript://" title="Toon alle evenementen" class="toon_alles">Toon alle evenementen</a> &raquo;');
		} else {
			$(this).parent('.alles').html('<a href="javascript://" title="Toon recent nieuws" class="toon_nieuwsarchief">Toon nieuwsarchief</a> &raquo;');
		}
		showAll();
	});
}

function radioButtons() {
	$('.radio span').click(function() {
		$('.radio span').removeClass('checked');	
		$('.radio span input').attr("checked","");
		$(this).addClass('checked');
		$(this).children('input').attr("checked","checked");
	});
}

function validateForms(p_sForm) {
	var iconOK = {
		'background-position' : '0px 0px'
	}
	var iconError = {
		'background-position' : '-26px 0px'
	}
	
	var aMessage = new Array();
	aMessage[0] = 'Vul uw naam in.';
	aMessage[1] = 'Vul uw e-mailadres in.';
	aMessage[2] = 'Vul een geldig e-mailadres in.';
	
	$.validator.addMethod("telefoon", function(phone_number, element) {
    	phone_number = phone_number.replace(/\s+/g, ""); 
		return this.optional(element) || phone_number.length > 9 &&
			phone_number.match(/^(\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$/);
	}, "Vul a.u.b. een geldig telefoonnummer in.");
	
	$.validator.addMethod("geennummers", function(geennummers, element) {
		   var reg = /[0-9]/;
		   return this.optional(element) || !geennummers.match(reg);
	}, "Getallen zijn niet toegestaan.");

	$('#'+p_sForm).validate({
		rules: {
			sNaam: {
				required: true,
				geennummers: true
			},
			sVoorletters: {
				geennummers: true
			},
			sEmail: {
				required: true,
				email: true
			},
			sTelefoon: {
				telefoon: true	
			}
		},
		messages: {
			sNaam: {
				required: aMessage[0]
			},
			sEmail: {
				required: aMessage[1],
				email: aMessage[2]
			},
			sNaamOntvanger: {
				required: aMessage[3]
			},
			sEmailOntvanger: {
				required: aMessage[4],
				email: aMessage[2]
			}
		},
		errorPlacement: function(error, element) {
			element.parent().next('div.controle').css(iconError);
			error.insertAfter(element.parents('.field'));
		},
		success: function(label) {
			label.prev('.field').find('div.controle').css(iconOK);
			label.remove();
		},
		submitHandler: function(form) {
			var sDiv = '';
			var options = {
				url: sDomain+'/includes/contact.inc.php',
				type: 'POST',
				success: function(sData) {
					var aResponse = sData.split('|');
					if(aResponse[0] == 0){
						$('#'+p_sForm).fadeOut(500, function(){
							$(this).remove();						 
						});
						
						window.location = sDomain+"/contact-dank";
						
//						sDiv += '<div class="succes">';
//						sDiv += aResponse[1];
//						sDiv += '</div>';
						
					} else if(aResponse[0] == 1){

						sDiv += '<div class="succes">';
						sDiv += 'Er is iets mis gegaan tijdens het versturen<br/><br/>';
						sDiv += 'Gebruik het volgende e-mail adres om contact op te nemen:<br/>';
						sDiv += '<a href="mailto:info@klepperstee.com" title="info@klepperstee.com">info@klepperstee.com</a><br/><br/>';
						sDiv += 'Vermeld alstublieft dat u deze foutmelding kreeg.';
						sDiv += '</div>';
					}
					$('div.melding').html(sDiv);
		
					setTimeout("$('.melding').fadeIn(700)", 800);
					
				}
			}
			$(form).ajaxSubmit(options);
			return false;
		}
	});	
}

function validateVertel() {
	var iconOK = {
		'background-position' : '0px 0px'
	}
	var iconError = {
		'background-position' : '-26px 0px'
	}
	
	$.validator.addMethod("geennummers", function(geennummers, element) {
		   var reg = /[0-9]/;
		   return this.optional(element) || !geennummers.match(reg);
	}, "Getallen zijn niet toegestaan.");

	$('#vertel').validate({
		rules: {
			sNaam: {
				required: true,
				geennummers: true
			},
			sEmail: {
				required: true,
				email: true
			},
			sNaamOntvanger: {
				required: true,
				geennummers: true
			},
			sEmailOntvanger: {
				required: true,
				email: true
			}
		},
		errorPlacement: function(error, element) {
			element.parent().next('div.controle').css(iconError);
		},
		success: function(element) {
			$('input.valid').parent().next('.controle').css(iconOK);
		},
		validClass: 'valid',
		submitHandler: function(form) {
			var sDiv = '';
			var options = {
				url: sDomain+'/includes/vertelverder.inc.php',
				type: 'POST',
				success: function(sData) {
					var aResponse = sData.split('|');
					if(aResponse[0] == 0){
						$('#vertel').fadeOut(500, function(){
							$(this).remove();						 
						});
						
						sDiv += '<div class="succes">';
						sDiv += aResponse[1];
						sDiv += '</div>';
						
					} else if(aResponse[0] == 1){
						$('#vertel').fadeOut(500, function(){
							$(this).remove();						 
						});
						alert(aResponse[1]);
						sDiv += '<div class="succes">';
						sDiv += 'Er is iets mis gegaan tijdens het versturen<br/><br/>';
						sDiv += 'Gebruik het volgende e-mail adres om contact op te nemen:<br/>';
						sDiv += '<a href="mailto:info@klepperstee.com" title="info@klepperstee.com">info@klepperstee.com</a><br/><br/>';
						sDiv += 'Vermeld alstublieft dat u deze foutmelding kreeg.';
						sDiv += '</div>';
					}
					$('div.melding').html(sDiv);
		
					setTimeout("$('.melding').fadeIn(700)", 800);
					
				}
			}
			$(form).ajaxSubmit(options);
			return false;
		}
	});	
}

var bNext = true;
var bPrev = true;

var nVisible = 1; // Aantal zichtbare items
var nDefaultSlides = 1; // Aantal items per keer sliden
var obj; // Naam van de items 
var nSlides;
var nWidth;
var nTotal;
var nActive;
function fotoSlider() {
	obj = $('.slide'); // Naam van de items 
	nSlides = nDefaultSlides;
	nWidth = 641;
	nTotal = parseInt(obj.size());
	nActive = nVisible;
	
	if(nTotal < nVisible) {
		$('#previous').hide();
		$('#next').hide();
	}
	
	if(nActive < nTotal) {
		$('#next').show();
	}
	
	$('#next').click(function(){
		speed = 300;
		moveForward();										 
	});
	
	$('#previous').click(function(){
		speed = 300;
		moveBack();										 
	});
}

function moveForward() {
	if(bNext == true) {
		var nRemaining = nTotal - nActive;
		if(nRemaining < nSlides) {
			nSlides = nRemaining;
		} else {
			nSlides = nDefaultSlides;	
		}
		if(nActive == 1) {
			nActive = nDefaultSlides;	
		}
		var nLeft = parseInt($('#slider_container').css('left')) - (nWidth * nSlides);
		nActive = nActive + nSlides;
		if(nTotal == nActive) {
			$('#next').hide();
		} else {
			$('#next').show();
		}
		bNext = false;	
		$('#slider_container').animate({
			'left':nLeft
		},
		speed,
		"swing",
		function(){ 

			bNext = true;
		});
	}
	$('#previous').css('display','block');
}

function moveBack() {
	if(bPrev == true) {
		var nRemaining = nActive - nVisible;
		if(nRemaining < nSlides) {
			nSlides = nRemaining;
		} else {
			nSlides = nDefaultSlides;	
		}
		var nLeft = parseInt($('#slider_container').css('left')) + (nWidth * nSlides);
		if(nLeft == 0) {
			$('#previous').css('display','none');
		}
		bPrev = false;			
		$('#slider_container').animate({
			'left':nLeft
		},
		speed,
		"swing", 
		function(){ 
			bPrev = true;
		});
		nActive = nActive - nSlides;
		if(nTotal > nActive) {
			$('#next').show();
		} else {
			$('#next').hide();
		}
	}
}

function initialize() {
	var myLatlng = new google.maps.LatLng(51.816659,3.898513);
	var myOptions = {
	  zoom: 13,
	  center: myLatlng,
	  mapTypeId: google.maps.MapTypeId.ROADMAP
	}
	var map = new google.maps.Map(document.getElementById("google_maps"), myOptions);
	
	var image = new google.maps.MarkerImage('images/template/icon_klepperstee.png',
		// This marker is 20 pixels wide by 32 pixels tall.
		new google.maps.Size(103,71),
		// The origin for this image is 0,0.
		new google.maps.Point(0,0),
		// The anchor for this image is the base of the flagpole at 0,32.
		new google.maps.Point(54,71)
	);
	var marker = new google.maps.Marker({
		position: myLatlng, 
		map: map,
		icon: image
	});   
}

function plattegrond(){
	//open koenbox
	$('.koenbox').click(function(){
		$('#koenbox, #overlay').fadeIn(300);				   
	});
	//1024x768 fix
	var nWindowHeight = $(window).height();
	if(nWindowHeight < 728){
		$('#koenbox').css({'margin-top':-285,'position':'absolute'});	
	}
	//opacity fix overlay
	$('#overlay').css('opacity',0.9);
	//click handler
	$('a.eclipse').click(function(){
		//set active
		$('a.eclipse').each(function(){
			if($(this).hasClass('active')){
				$(this).removeClass('active');	
			}
		});
		$(this).addClass('active');
		//get info by ajax
		$.ajax({
			type: 'POST',
			url: 'inc/plattegrond.inc.php',
			data: 'nummer=' + $(this).text(),
			success: function(result){
				if($('#intro').length > 0){
					$('#intro').fadeOut(300, function(){
						$(this).remove();
						$('#info').html(result).fadeIn(300);								  
					});
				} else {
					$('#info').html(result);	
				}
			}
		});							  
	});
	//close koenbox
	$('#close, #overlay').click(function(){
		$('#koenbox, #overlay').fadeOut(300);				   
	});
}

function brochure() {
	$('.brochure').click(function(){
		if($(this).hasClass('checked')) {
			$(this).removeClass('checked');
			$(this).children('input').attr('value','0');
			$('.hidden_adres').hide();
			$('.addRequired').removeClass('required');
		} else {
			$(this).addClass('checked');
			$(this).children('input').attr('value','1');
			$('.hidden_adres').show();
			$('.addRequired').addClass('required');
		}
	});
}

function showActiviteiten() {
	$('.maand').click(function() {
		if($(this).hasClass('open')) {	
			$(this).next().slideUp(0, function(){
				$(this).prev().removeClass('open');
			});
		} else {
			$('.ul_wrapper').slideUp(0, function(){
				$(this).prev().removeClass('open');
			});
			$(this).addClass('open');
			$(this).next().slideDown(1500);
		}
	});
}

function validateInschrijven() {
	var iconOK = {
		'background-position' : '0px 0px'
	}
	var iconError = {
		'background-position' : '-26px 0px'
	}
	
	var aMessage = new Array();
	aMessage[0] = 'Vul uw naam in.';
	aMessage[1] = 'Vul een geldige naam in.';
	aMessage[2] = 'Vul uw e-mailadres in.';
	aMessage[3] = 'Vul een geldig e-mailadres in.';
	
	$.validator.addMethod("geennummers", function(geennummers, element) {
		   var reg = /[0-9]/;
		   return this.optional(element) || !geennummers.match(reg);
	}, "Getallen zijn niet toegestaan.");

	$('#inschrijfformulier').validate({
		rules: {
			v_name: {
				required: true,
				geennummers: true,
				minlength: 2
			},
			v_email: {
				required: true,
				email: true
			}
		},
		messages: {
			v_name: {
				required: aMessage[0],
				geennummers: aMessage[1],
				minlength: aMessage[1]
			},
			v_email: {
				required: aMessage[2],
				email: aMessage[3]
			}
		},
		errorPlacement: function(error, element) {
			element.parent().next('div.controle').css(iconError);
			error.insertAfter(element.parents('.field'));
		},
		success: function(label) {
			label.prev('.field').find('div.controle').css(iconOK);
			label.remove();
		},
		submitHandler: function(form) {
			var options = {
				url: sDomain+'/inc/inschrijven.inc.php',
				type: 'POST',
				success: function(sData) {
					aData = sData.split('|');
					if(aData[0] == '0') {
						$('.inschrijven_message').html(aData[1]).fadeIn(800);
					} else if(aData[0] == '1') {
						$('#inschrijfformulier').fadeOut(800, function() {
							$('.ingeschreven').html(aData[1]).fadeIn(800);										
						});
					}
				}
			}
			$(form).ajaxSubmit(options);
			return false;
		}
	});	
}
