var lockLoad = false;
var opacityNavigation;
var changeBackgroundAnimated = false; //On first load background is not changed
var prevPage = ''; //On first load there is no previous page
var iOS = false;
// Check for iOS
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
	iOS = true;
}
var imageSrcLoad = '/public/files/backgrounds/home.jpg'; //Default image
var darkColor = false; //Default color template
jQuery.fx.interval = 10; //Set jquery FX interval

// redirect page without #
var split = window.location.href.split(pageHost);
if ((split[1] != '') && (split[1].indexOf('#') == -1))  {
	window.location.replace(pageHost + '#/' + split[1]);
}

$(function(){
/******** navigation ********/

	if (navigator.appVersion.indexOf('Win')!=-1) {
		$('body').addClass('win');
	}
	
	// set initial links
	setLinks();
	// after each AJAX event set new links
	$(document).ajaxSuccess(function() {
		setLinks();
	});
	
	// mousenenter event dropdown
	$('ul#nav a.dropdown').mouseenter(
	 	function() {
	 		
	 		// reset others
	  		$('.nav-sub').hide();
	   		
	   		var nav = $('ul#nav');
        	var button = $(this);
        	var submenu = $(this).next('.nav-sub');
        	
        	// show submenu
        	button.addClass('hover');
	        submenu.css({
	            position: 'absolute',
	            top: nav.offset().top  + nav.outerHeight() + 'px', 
	            left: button.offset().left + 'px',
	            zIndex: 1000
	        }).show();
	        
	        // submenu mouseleave
        	submenu.mouseleave(function(ev){		
				if (!($(ev.relatedTarget).is('.dropdown.hover'))){
         			submenu.hide();
         			button.removeClass('hover');
				}
       		 });
       		 
       		// button mouseleave
        	button.mouseleave(function(ev){
				if (!($(ev.relatedTarget).hasClass('nav-sub') || $(ev.relatedTarget).parents().hasClass('nav-sub'))){
        			submenu.hide();
        			button.removeClass('hover');
				}
       		});	     
	}).click(function(){
		$(this).trigger('onmouseenter');
		return false;
	});
	
	// set starting opacity
	$('ul#nav > li > a').not('.active').css({
    	opacity: opacityNavigation
    });
    
    if (iOS) {
    	$('#bg-raster').hide();
    }
	// set hover action navigation
	$('ul#nav').hover(
		function(){	
			$(this).addClass('hover');
			$('ul#nav > li > a').stop().fadeTo(150, 1.0);
		},
		function(){	
			$(this).removeClass('hover');
			$('ul#nav > li > a').not('a.active').stop().fadeTo(150, opacityNavigation);
	});

/******** twitter ********/
	$('a#twitter').hover(	 	
		function() {
        	var button = $(this);
        	var submenu = $(this).next('div');		
		
			button.addClass('hover');
	        submenu.css({
	            position: 'absolute',
	            top: $(this).offset().top  + $(this).outerHeight() + 'px', 
	            left: $(this).offset().left + $(this).outerWidth() - $('div#twitter-list').outerWidth() +'px',
	            zIndex: 1000
	        }).show();//.stop(true, true).slideDown(200);
	        
       		submenu.mouseleave(function(ev){
				if (!($(ev.relatedTarget).hasClass('dropdown') || $(ev.relatedTarget).parents().hasClass('dropdown'))){
         			submenu.hide();
         			button.removeClass('hover')
				}
        	});
        	button.mouseleave(function(ev){
				if (!($(ev.relatedTarget).hasClass('nav-sub') || $(ev.relatedTarget).parents().hasClass('nav-sub'))){
        			submenu.hide();
        			button.removeClass('hover')
				}
       	 	});		        
	        
	        
	        
	}).click(function(){
		$(this).trigger('onmouseenter');
		return false;
	});

	$('a#view-background').hover(
		function() {
		//$('#container').slideUp(1000);
		$('#container').stop().animate({
			//marginTop: $(window).height() + 'px',
			opacity: 0
		},500);
	},  function() {
		$('#container').stop().animate({
			//marginTop: '65px',
			opacity:1
		},500);
	});		
		
	
	/******** history ********/
    $.history.init(function(hash){
		if (hash == "") { // homepage or direct link
			opacityNavigation = 1.0;
			LoadPage('',false);
        } else if (hash == "/") { // ajax event to homepage
            opacityNavigation = 1.0;
            LoadPage('/home', true); 
        } else { // all other ajax events
        	if (iOS) {
        		opacityNavigation = 1.0;
        	} else {
        		opacityNavigation = 0.4;
        	}
			LoadPage(hash, true);
        }
    
    },
    { unescape: ",/" });
    
    // set initial sizes
    $(window).resize();
});

function setLinks(){
	 //$('a').not('.dropdown').not('a[href^="http://"]').click(function() {
	 $('a[href^="' + pageHost +'"]').not('.dropdown').not('[rel="external"]').click(function() {
	  	if (lockLoad) {
			return false;
		}	
		
	  	//jQuery.history.load($(this).attr('href'));
	  	jQuery.history.load($(this).attr('href').replace(pageHost,'/'));
	  	$('.nav-sub').stop(false, true).fadeOut(150);
	  	return false;
	});
	
	// external links
	$('a[href^="http://"]').not('a[href^="' + pageHost + '"]').not('a[href^="http://www.youtube.com/watch?v="]').attr('target','_blank');
	$('a[rel="external"]').attr('target','_blank');
	
	// youtube links
	$('a[href^="http://www.youtube.com/watch?v="]').click(function() {
	  	if (lockLoad) {
			return false;
		}	
		loadYouTube($(this).attr('href'), $(this).attr('title'));	
		return false;	
	});
	
	//hover bij wijnen
	$('div.animate').hover(function(){
		$(this).addClass('hover');
	},function(){
		$(this).removeClass('hover');
	});	
	
	// form
	$('.form-validation').submit(function() {
		submitForm($(this));
		return false;
	});	
	
	// date picker
	$( ".datepicker" ).datepicker({ 
		minDate: 'd',
		maxDate: '+2y',
		beforeShowDay: function(date) {
			var disabledDays = ["12-5-2011", "12-8-2011", "12-27-2011", "12-28-2011", "12-29-2011", "12-30-2011", "12-31-2011", "1-1-2012", "1-2-2012", "1-3-2012", "1-4-2012", "1-5-2012", "1-6-2012", "1-7-2012", "1-8-2012", "1-9-2012", "1-10-2012", "1-11-2012", "7-22-2012", "7-23-2012", "7-24-2012", "7-25-2012", "7-26-2012", "7-27-2012", "7-28-2012", "7-29-2012", "7-30-2012", "7-31-2012", "8-1-2012", "8-2-2012", "8-2-2012", "8-3-2012", "8-4-2012", "8-5-2012", "8-6-2012", "8-7-2012", "8-8-2012", "12-27-2012", "12-28-2012", "12-29-2012", "12-30-2012", "12-31-2012", "1-1-2013", "1-2-2013", "1-3-2013", "1-4-2013", "1-5-2013", "1-6-2013", "1-7-2013", "1-8-2013", "1-9-2013"];
			var m = date.getMonth(), d = date.getDate(), y = date.getFullYear(), w = date.getDay();
			
			//kerst
			if (((m+1) + '-' + d + '-' + y) === "12-25-2011") {
				var ret = [true, '', 'Kerst bij het Nonnetje'];
				return ret;			
			}
			
			if (w === 0){
				var ret = [false, '', 'Zondag gesloten'];
				return ret;
			};
  			for (i = 0; i < disabledDays.length; i++) {
    			if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) !== -1) {
					var ret = [false, '', 'Gesloten wegens vakantie'];
					return ret;
    			}
  			}
			return [true, ''];
		}
	});

	// form validation
	$(".form-validation").validate();
	
	// stars
    $('.stars').stars({
        inputType: "select"
    });
    
    // clear default
	$('input.clear-default').clearDefault();
	
	// Set slideshow
    $('#slideshowHolder').nivoSlider({
        effect:'fade', // Specify sets like: 'fold,fade,sliceDown'
        animSpeed:500, // Slide transition speed
        pauseTime:4500, // How long each slide will show
        startSlide:0, // Set starting Slide (0 index)
        directionNav:true, // Next & Prev navigation
        directionNavHide:true, // Only show on hover
        controlNav:false, // 1,2,3... navigation
        keyboardNav:true, // Use left & right arrows
        pauseOnHover:true, // Stop animation while hovering
        prevText: 'Vorige', // Prev directionNav text
        nextText: 'Volgende', // Next directionNav text
    });
	
}

function submitForm(form) {
	// submit form using ajax
	if (form.hasClass('loading')) {
		return;
	}
	var serialize = form.serialize();
	if (form.valid()) {
		$('input[type=submit]', this).attr('disabled', 'disabled');
		form.addClass('loading');

		$.post(form.attr('action'), serialize ,function(data) {
			
  			if ($('#message',data).length == 1) {
				var action = form.attr('id') + '/submit';
				_gaq.push(['_trackPageview', action]);
    			form.hide();
				form.next('.confirmation').fadeIn();			
  			} else {
				var action = form.attr('id') + '/error';
				_gaq.push(['_trackPageview', action]);
  				alert('De reservering is mislukt, probeer het nog een keer of neem telefonisch contact op!');
  				$('input[type=submit]', this).attr('disabled', '');
  				form.removeClass('loading');
  			}
		});
	}
}

function addemailhrefs (){
	
	var atExp = new RegExp ('\\\[at\\\]', 'gi') ;
	var nameExp = '\\\[name\\\=';
	
	$('span.email').each(function(){
		
		var title = $(this).attr('title').replace(atExp,'@');
		var email = $(this).text().replace(atExp,'@');
		
		if (email.match(nameExp)) {
			var name = email.split('[name=');
			email = name['0']
			name = name['1'].split(']');
			name = name['0'];
		} else {
			var name = email;
		}
		
		email = 'mailto:' + email;
				
		$(this).after('<a>');
		
		var emailTag = $(this).next('a'); 
		emailTag.attr({
			'title': title,
			'href': email
		}).text(name);
		
		$(this).remove();
	});
}

function postLoad() {
	addemailhrefs();
	//home
	$('#content-home .box-container .box.small.dark').each(function(index, Element){
		if (((index+1) % 3) == 0) $(this).addClass('last');
	});
    
	//team
    $('#content-onsteam .box-container .box.duo.dark').each(function(index, Element){
		if (((index+1) % 2) == 0) $(this).addClass('last');
	});

    //kookstijl
    $('#content-kookstijl .box-container .box.small.dark').each(function(index, Element){
		if (((index+1) % 3) == 0) $(this).addClass('last');
	});
    
    //dranken
    $('#content-dranken .box-container .box.duo').each(function(index, Element){
		if (((index+1) % 2) == 0) $(this).addClass('last');
	});
}

function LoadPage(hash, ajax){
	
	if (lockLoad) {
		return false;
	}	
	loading(true);
	lockLoad = true;
	
	$('ul#nav a').removeClass('active');
	var href = hash.replace(/\//, pageHost);
	$('a[href="' + href + '"]').addClass('active').parents('ul.nav-sub').prev('a').addClass('active');
	$('ul#nav > li > a.active').stop(true, false).animate({
		opacity: 1.0
	},0);
	$('ul#nav').not('.hover').find('li > a.top').not('.active').stop(true, false).animate({
		opacity: opacityNavigation
	},0);

	var back = isBack(href);
	
	if (!changeBackgroundAnimated){
		$('#container').hide();
	}
	
	if (ajax) {
		$('#container').fadeOut(500, function(){
		
			$('#container').removeClass('loaded');
			$.ajax({
			  type: "GET",
			  url: href,
			  dataType: "html",
			  contentType: "application/x-www-form-urlencoded;charset=ISO-8859-2",
			  success: function(response) {
				html = $(response);
				$('#container').addClass('loaded');
				$('#container').html($('#container',html).html());
				if ($('#backgroundInfoColor',html).html() == 'false') setColorBlack(false);
				else setColorBlack(true);
				imageSrcLoad = $('#backgroundInfoImg',html).html();
			  	changeBackground(imageSrcLoad, back);
				_gaq.push(['_trackPageview', hash]);		
				postLoad();
			  },
			  error: function(){
			  	loading(false);
			  	lockLoad = false;
			  }
			});
		});
	} else {
		$('#bg-image div.active').hide();
		$('#container').hide();
		$('#nav, #footer, #twitter').hide();
		
		changeBackground(imageSrcLoad, back);
	}
	
	$('#content-home .box-container .box.small.dark').each(function(index, Element){
		if (((index+1) % 3) == 0) $(this).addClass('last');
	});
}

function loadYouTube(url, title){
	
	if ($('#content-context').hasClass('text')) {
		$('h2#title-kookstijl').html('Kookstijl: <span class="sub">' + title + '</span>');
		$('a.video').removeClass('active');
		$('a[href="' + url + '"]').addClass('active');
		$('#close').click(function(){
			closeYouTube()
		});
		$('#content-context').removeClass('text');
		$('#content-context').height($('#content-text').outerHeight(true));
		$('#content-text').fadeOut(function(){
			$('#content-context').animate({
				height: 453
			}, function(){
				$('#content-movie').fadeIn(function(){
					$('#content-context').addClass('movie');
						jwplayer("movie-placeholder").setup({
							flashplayer: "/public/js/jwplayer/player.swf",
							//file: url,
							"controlbar.idlehide": true,
							skin: "/public/js/jwplayer/bekle.zip",
							width: 736,
							height:413,
							stretching: 'fill',
							autostart: true
						});
					jwplayer().load(url);
				});
			});
		});
	} else if ($('#content-context').hasClass('movie')) {
		$('h2#title-kookstijl').html('Kookstijl: <span class="sub">' + title + '</span>');
		$('a.video').removeClass('active');
		$('a[href="' + url + '"]').addClass('active');
		jwplayer().load(url);
	}
}

function closeYouTube(){
	if ($('#content-context').hasClass('movie')) {
		$('a.video').removeClass('active');
		$('h2#title-kookstijl').html('Kookstijl');
		$('#content-context').removeClass('movie');
		jwplayer().stop();
		$('#content-movie').fadeOut(function(){
			$('#content-context').animate({
				height: $('#content-text').outerHeight(true)
			}, function(){
				$('#content-text').fadeIn(function(){
					$('#content-context').addClass('text');
				});
			});
		});
	}
}

function isBack(href){
	var elements = $('ul#nav a');
	var len = elements.length;
	
	if (href == 'home') {
		prevPage = href;
		return true;
	}
	if (prevPage == 'home') {
		prevPage = href;
		return false;
	}	
	if (prevPage == '') {
		prevPage = href;
		return false;
	}
	for(var i=0; i<len; i++) {
		var value = elements[i];
		if ($(elements[i]).attr('href') == href) {
			prevPage = href;
			return true;
		}
		if ($(elements[i]).attr('href') == prevPage) {
			prevPage = href;
			return false;
		}
	}
}

function loading(start) {
	if (start){
		$('#loader').fadeIn(100);
	} else {
		$('#loader').stop(true, true).hide();
		changeColor();
	}
}

function changeBackground(imageSrc, back){
	/******** change background ********/	
	var oldBg = $('#bg-image div.active');	
	var newBg = $('#bg-image div').not('.active');
	var newBgImage = $(newBg).children('img');
	var oldBgImage = $(oldBg).children('img');
	
	if ((imageSrc) === oldBgImage.attr('src')) {
		lockLoad = false;
		loading(false);
		$('#container').fadeIn(400);
		return false;
	}
	
	if (!changeBackgroundAnimated){
		// execute when page is first loaded
		changeBackgroundAnimated = true;
		var activeBg = $('#bg-image div.active');
		var newBgImage = $(activeBg).children('img');

	    var newImage = new Image();
	    $(newImage).attr('src', imageSrc).error(function(){
	    	lockLoad = false;
	    	loading(false);
	    });	
	    if (IsImageOk(newImage)){			
			$(newBgImage).attr('src', imageSrc).width((1299)).height(866).fullscreenImage();
			loading(false);
			$(activeBg).fadeIn(1000, function(){
				$('#container').fadeIn(600)
				$('#nav, #footer, #twitter').fadeIn(600);
				
				lockLoad = false; 			
			}); 
	    } else {
			$(newImage).load(function(){
				$(newBgImage).attr('src', imageSrc).width((1299)).height(866).fullscreenImage();
				loading(false);
				(activeBg).fadeIn(1000, function(){
				$('#container').fadeIn(600)
				$('#nav, #footer, #twitter').fadeIn(600);
					lockLoad = false; 			
				});
	    	})	    
	    };	
		return false;
	}
	
	//if (iOS) {
		//alert('Speciale foto voor de ipad');
	//}
	// load image
    var newImage = new Image();
    $(newImage).attr('src', imageSrc);	
    if (IsImageOk(newImage)) {
		$(newBgImage).attr('src', imageSrc).width((1299)).height(866).fullscreenImage();
		animateBackground(newBg, oldBg, back);    
    } else {
   		$(newImage).load(function(){
			$(newBgImage).attr('src', imageSrc).width((1299)).height(866).fullscreenImage();
			animateBackground(newBg, oldBg, back);
    	}).error(function(){
    		lockLoad = false;
    		loading(false);
   		});	    
    
    }

}

function animateBackground(newBg, oldBg, back) {
	loading(false);
	var duration = 1200; //1200
	var easing = ''; //'easeOutQuint'; //'easeOutExpo'
	
	$(newBg).show();
	
	if (back) {
		$(newBg).css({
			top: 2*($(window).height()),
			marginTop:  '-' + $(window).height() + 'px',
			height: $(window).height()
		}).animate({
			top: $(window).height()
		}, duration, easing, function(){
			$('#bg-image div').removeClass('active');
			$(newBg).addClass('active');
			$(newBg).css({
				top: 0,
				marginTop: 0,
				height: $(window).height()
			})	
		});
		$(oldBg).css({
			top: $(window).height(),
			marginTop: '-' + $(window).height() + 'px',
			height: $(window).height()			
		}).animate({
			top: 0
		}, duration, easing, function(){	
			lockLoad = false;
			$('#container').fadeIn(400);
			$(oldBg).hide();
			$(oldBg).find('img').attr('src', '');
		});
	}
	else {
		$(newBg).css({
			top: 0,
			marginTop: '-' + $(window).height() + 'px',
			height: $(window).height()
		}).animate({
			top: $(window).height()
		}, duration, easing, function(){
			$('#bg-image div').removeClass('active');
			$(newBg).addClass('active');
			$(newBg).css({
				top: 0,
				marginTop: 0,
				height: $(window).height()
			})			
		});
		$(oldBg).css({
			top: $(window).height(),
			marginTop: '-' + $(window).height() + 'px',
			height: $(window).height()			
		}).animate({
			top: 2*($(window).height())
		}, duration, easing, function(){
			lockLoad = false;
			$('#container').fadeIn(400);
			$(oldBg).hide();
			$(oldBg).find('img').attr('src', '');
		});
	}
}

function changeColor(){

	if (darkColor) {
		$('span#logo_black').fadeIn(500);
		$('li#alliance span, li#brightworks span').fadeIn(500);
		$('body').addClass('dark');
	} else {
		$('span#logo_black').fadeOut(500);
		$('li#alliance span, li#brightworks span').fadeOut(500);
		$('body').removeClass('dark');
	}
}
function setColorBlack(dark){
	if (dark) {
		darkColor = true;
	} else {
		darkColor = false;
	}
}
(function($){
    $.fn.extend({
		fullscreenImage: function(){
			return this.each(function() {
				var winWidth=$(window).width()+30;
				var winHeight=$(window).height();
				var imageWidth=$(this).width();
				var imageHeight=$(this).height();
				var picHeight = imageHeight / imageWidth;
				var picWidth = imageWidth / imageHeight;
				
				if ((winHeight / winWidth) < picHeight) {
					$(this).css("width",winWidth);
					$(this).css("height",picHeight*winWidth);
				} else {
					$(this).css("height",winHeight);
					$(this).css("width",picWidth*winHeight);
				};
				$(this).css("margin-left",winWidth / 2 - $(this).width() / 2);
				$(this).css("margin-top",winHeight / 2 - $(this).height() / 2);	
			});	
		},
		fullscreen: function(){
			return this.each(function() {
				$(this).css("height",$(window).height());
			});	
		},
        clearDefault: function(){
            return this.each(function(){
                var default_value = $(this).val();
                $(this).focus(function(){
                    if ($(this).val() == default_value) {
                        $(this).val("");
                        $(this).removeClass('default');
                    }
                    
                });
                $(this).blur(function(){
                   if ($(this).val() == "") {
                        $(this).val(default_value);
                        $(this).addClass('default');
                   }
                });
                $(this).change(function(){
                   if ($(this).val() == "") {
                        $(this).val(default_value);
                        $(this).addClass('default');
                   } else if ($(this).val() == default_value) {
                        $(this).val(default_value);
                        $(this).addClass('default');                  		
                   } else {
                   		$(this).removeClass('default'); 
                   }
                });
            });
            
        }
    }); 
    
})(jQuery);

$(window).resize(function() {
	$('#bg-image div img').fullscreenImage();
	$('#bg-image div').fullscreen();
	$('#bg-raster').fullscreen();
	$('#scroll').css('minHeight', $(window).height());
});

function IsImageOk(img) {
    if (!img.complete) {
        return false;
    }
    if (typeof img.naturalWidth != 'undefined' && img.naturalWidth == 0) {
        return false;
    }
    return true;
}

/*
 * Localization
 */
jQuery(function($){
	$.datepicker.regional['nl'] = {
		closeText: 'Sluiten',
		prevText: 'Vorige',
		nextText: 'Volgende',
		currentText: 'Vandaag',
		monthNames: ['januari', 'februari', 'maart', 'april', 'mei', 'juni',
		'juli', 'augustus', 'september', 'oktober', 'november', 'december'],
		monthNamesShort: ['jan', 'feb', 'maa', 'apr', 'mei', 'jun',
		'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],
		dayNames: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],
		dayNamesShort: ['zon', 'maa', 'din', 'woe', 'don', 'vri', 'zat'],
		dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
		weekHeader: 'Wk',
		dateFormat: 'dd-mm-yy',
		firstDay: 1,
		isRTL: false,
		showMonthAfterYear: false,
		yearSuffix: ''};
	$.datepicker.setDefaults($.datepicker.regional['nl']);
});

jQuery.extend(jQuery.validator.messages, {
        required: "Dit is een verplicht veld.",
        remote: "Controleer dit veld.",
        email: "Vul hier een geldig e-mailadres in.",
        url: "Vul hier een geldige URL in.",
        date: "Vul hier een geldige datum in.",
        dateISO: "Vul hier een geldige datum in (ISO-formaat).",
        number: "Vul hier een geldig getal in.",
        digits: "Vul hier alleen getallen in.",
        creditcard: "Vul hier een geldig creditcardnummer in.",
        equalTo: "Vul hier dezelfde waarde in.",
        accept: "Vul hier een waarde in met een geldige extensie.",
        maxlength: jQuery.validator.format("Vul hier maximaal {0} tekens in."),
        minlength: jQuery.validator.format("Vul hier minimaal {0} tekens in."),
        rangelength: jQuery.validator.format("Vul hier een waarde in van minimaal {0} en maximaal {1} tekens."),
        range: jQuery.validator.format("Vul hier een waarde in van minimaal {0} en maximaal {1}."),
        max: jQuery.validator.format("Vul hier een waarde in kleiner dan of gelijk aan {0}."),
        min: jQuery.validator.format("Vul hier een waarde in groter dan of gelijk aan {0}.")
});
jQuery.validator.addMethod("dateNL", function(value, element) {
			
			var test = /^\d\d?[\.\/-]\d\d?[\.\/-]\d\d\d?\d?$/.test(value);
			if (test === false) {
				return this.optional(element) || false;
			}
			
			 var dateSplit = value.split('-');
			var date = new Date(dateSplit[2], (dateSplit[1] -1), dateSplit[0]);
			var m = date.getMonth(), d = date.getDate(), y = date.getFullYear(), w = date.getDay();
			var disabledDays = ["12-5-2011", "12-8-2011", "12-27-2011", "12-28-2011", "12-29-2011", "12-30-2011", "12-31-2011", "1-1-2012", "1-2-2012", "1-3-2012", "1-4-2012", "1-5-2012", "1-6-2012", "1-7-2012", "1-8-2012", "1-9-2012", "1-10-2012", "1-11-2012", "7-22-2012", "7-23-2012", "7-24-2012", "7-25-2012", "7-26-2012", "7-27-2012", "7-28-2012", "7-29-2012", "7-30-2012", "7-31-2012", "8-1-2012", "8-2-2012", "8-2-2012", "8-3-2012", "8-4-2012", "8-5-2012", "8-6-2012", "8-7-2012", "8-8-2012", "12-27-2012", "12-28-2012", "12-29-2012", "12-30-2012", "12-31-2012", "1-1-2013", "1-2-2013", "1-3-2013", "1-4-2013", "1-5-2013", "1-6-2013", "1-7-2013", "1-8-2013", "1-9-2013"];

			//kerst
			if (((m+1) + '-' + d + '-' + y) === "12-25-2011") {
				return true;			
			}

			if (w === 0){
				return this.optional(element) || false;
			};
  			for (i = 0; i < disabledDays.length; i++) {
    			if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) !== -1) {
      				return this.optional(element) || false;
    			}
  			}
			return true;
	}, "Vul hier een geldige datum in."
);
