$(function(){
	$.historyInit(pageload);		   
	$("a.ajax").live('click', function() { // ajax links
		loading('show');		
		$('.backgroundImage:first').stop();//Imageslider-stoppen
		setHistory(this.href, this.target);
		return false;
	});
	slider();
	$('#footerButtons img').each(function(){
		$(this).fadeTo('slow', 0.9).hover(function(){$(this).fadeTo('normal', 1);},function(){$(this).fadeTo('slow', 0.9);});
	});
});


function slider(){
	start = 0;
	counter = -1;
	bgImages= new Array();	
	fadeBackground('imageSlider');
	hideToggle();	
}

var start = 0;
var pauze = 4000;
var speed = 2000;
var counter = -1;
var bgImages= new Array();
var fadeTimer;

function fadeBackground(_id){
	counter++;	
	if(start<1){   
		start++;
		imagecntr=0;
		$('#'+_id).find('img').each(function(){
			bgImages[imagecntr]=$(this).attr('src');
			imagecntr++;
		});

		$('#'+_id).html('<div class="backgroundImage"></div>');
		$('.backgroundImage:first').stop().css('background','#fff url('+bgImages[0]+') top center no-repeat').fadeIn('normal',function(){
			if(imagecntr>1){	
				var $next = $('<div class="backgroundImage" style="background:#ffffff url('+bgImages[1]+') top left no-repeat;z-index:2;"></div>');																																		
				$next.insertAfter($('.backgroundImage:first'));
				counter++;
				if(fadeTimer) clearTimeout(fadeTimer);
				fadeTimer=setTimeout(function(){fadeBackground(_id)},pauze);	
			}
		});
	}else{ 
		if(imagecntr>1){
			$('.backgroundImage:first').stop().fadeOut(speed, function(){
				$('.backgroundImage:first').remove();
				$('.backgroundImage:first').css("z-index","3");				
				if(!bgImages[counter]){ counter=0; }
	
				var $next = $('<div class="backgroundImage" style="background:#ffffff url('+bgImages[counter]+') top left no-repeat;z-index:2;"></div>');																																		
				$next.insertAfter($('.backgroundImage:first'));	
				if(fadeTimer) clearTimeout(fadeTimer);
				fadeTimer=setTimeout(function(){fadeBackground(_id)},pauze);	
			});	
		}
	}
}

function hideToggle(){
	$('#content .toggle').find('div').hide();
	$('#content .toggle').click(function(){
		$(this).find('div').slideToggle();											  
	});
}


function loading(_elem){
	if(_elem=='show') $('#loading').html('Bezig met laden...').animate({"left":0},500);
	if(_elem=='hide') $('#loading').stop(true).animate({"left":-300},500);	
}

function mailer(_class, user,domain){
	emailAdres=user+'@'+domain;
	$("."+_class).html('<a href="mailto:'+emailAdres+ '">' + emailAdres + '</a>');
}

function gotoUrl(url, ajax){
	if(ajax){
		loading('show');		
		setHistory(url, 'container');	
	}else{
		window.location.href=baseurl()+url;
	}
}

function baseurl(){
	return document.getElementsByTagName('base')[0].href;	
}

function pageload(hash) {
	if(hash) {
		if($.browser.msie){}
		
		var url = baseurl()+hash;

		if (url.indexOf("?")>0){
			var browserUrl =url+'&isajax=true';
		}else{
			var browserUrl =url+'?isajax=true';
		}				
		
		$('#container').load(browserUrl, function(){
			loading('hide');
			slider();
		});
		
	} else {
		$('#container').load(baseurl()+'?isajax=true', function(){		
			loading('hide');	
			slider();
		});
	}
}

function setHistory(url, target){
	var hash = url.replace(baseurl(),"");
	hash = hash.replace(/^.*#/, '');
	$.historyLoad(hash);		
}

function checkemail(adres){
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(adres))
		return true;
	else{
		return false;
	}
}

function formValidate(formID){
	var clear=false;
	var emailError='';
	$('.required').css("background-color","transparent");
	
	$("#"+formID+" .required").each(function(){
		if($(this).attr('type')=="checkbox"){
			if(!$(this).attr('checked')){
				$(this).parent().css("background-color","#ff0000");
				$(this).click(function(){$(this).parent().css("background-color","")});	
				clear=true;
			}else{
				$(this).parent().css("background-color","#f9f9f9");
			}
		}else{
			if($(this).hasClass('email')){
				if(!checkemail($(this).val())){
					$(this).css("background-color","red").click(function(){$(this).css("background-color","")});
					$(this).blur(function(){$(this).css("background-color","")});		
					emailError="Er is een ongeldig e-mailadres ingevoerd. ";		
					clear=true;
				}
			}			
			else if($(this).val()==""){
				$(this).css("background-color","red").click(function(){$(this).css("background-color","")});
				$(this).blur(function(){$(this).css("background-color","")});
				clear=true;
			}else{
				$(this).css("background-color","transparent");
			}
		}
	});

	if(clear){
		$('#formReturn').html('<div style="color:red;font-weight:bold;">'+emailError+'Vul alle rood gemarkeerde velden in!</div>').fadeIn();
		setTimeout(function(){$('#formReturn').fadeOut();},2500);
		return false;
	}else{
		return true;
	}
}




