$(document).ready(function() {
	calendarWidget();
	expandableBoxes();
	readMore();
	toolbox();
	generalArchive();
	multiFilters();
	slideDown();
	tabs();
	twitter();
	tntIsNowPostNLBox();
	getJWPlayer();

	//Slideshow
	var isIE6 = /msie|MSIE 6/.test(navigator.userAgent);
	if ($('#slideshow').attr('rel') && isIE6 == false){
		var settingsValue = $('#slideshow').attr('rel');
		var settingsValueArray = settingsValue.split(',');
		var width = settingsValueArray[0];//numeric value
		var height  = settingsValueArray[1];//numeric value
		var slideType = settingsValueArray[2];//0 or 1
		slideShow(width, height, slideType);
	}
	if (isIE6 == true){
		mainNavHover();
	}
	//Lightbox
	$("a.lb").fancybox({'scrolling' : 'no'});
});

function nextSlide(numberOfSlides, slideWidth, slideType){
	if (slideType == 0){//When displaying icons for each slide
		$('#'+window.slideShowCurrentPosition).removeClass('active');
	}
	
	//Updating current slide number
	if (numberOfSlides == window.slideShowCurrentPosition + 1){//if at end of slideshow restart the slideshow
		window.slideShowCurrentPosition = 0;	
	} else {
		window.slideShowCurrentPosition++;
	}
	
	//Updating the page output
	if (slideType == '0'){//When displaying icons for each slide
		$('#'+window.slideShowCurrentPosition).addClass('active');
	} else if (slideType == '1'){
		$('span.slideShowCurrentSlide').html((window.slideShowCurrentPosition+1)+'/'+numberOfSlides);
	}
	
	$('#slideInner').animate({
	  'marginLeft' : slideWidth*(-window.slideShowCurrentPosition)
	});
}

function slideShow(slideWidth, slideHeight, slideType){
	window.slideShowCurrentPosition = 0;
	var slides = $('.slide');
	var numberOfSlides = slides.length;
	
	$('#slidesContainer').css('overflow','hidden');
	$('#slidesContainer').css('height', slideHeight);
	$('#slideshow').css('height', slideHeight);
	$('#slidesContainer').css('width', slideWidth);
	$('.slide').css('height', slideHeight);
	
	// Wrap all .slides with #slideInner div
  	slides
    .wrapAll('<div id="slideInner"></div>')
    // Float left to display horizontally, readjust .slides width
	.css({
      'float' : 'left',
      'width' : slideWidth
    });
	
	// Set #slideInner width equal to total width of all slides
	$('#slideInner').css('width', slideWidth * numberOfSlides);

	// Create a button for every single slide
	//Slide control type 0:Round buttons for each slide
	if (slideType == '1'){
		$('#slidesContainer').append('<div id="slideControls" class="type1">');
		$('#slideControls').append('<a href="#" class="controlArrow previousSlide">&lt;</a><span class="slideShowCurrentSlide">'+(window.slideShowCurrentPosition+1)+'/'+numberOfSlides+'</span><a href="#" class="controlArrow nextSlide">&gt;</a>');
		
		//Click on previous slide button
		$('a.previousSlide').click(function(event){
			if (window.slideShowCurrentPosition == 0){
				window.slideShowCurrentPosition = numberOfSlides - 1;
			} else {
				window.slideShowCurrentPosition--;
			}
		});
		
		//Click on next slide button
		$('a.nextSlide').click(function(event){
			if (window.slideShowCurrentPosition == (numberOfSlides-1)){
				window.slideShowCurrentPosition = 0;
			} else {
				window.slideShowCurrentPosition++;
			}
			
		});
		
		$('a.controlArrow').click(function(event){
			event.preventDefault();
			$('#slideInner').animate({
			  'marginLeft' : slideWidth*(-window.slideShowCurrentPosition)
			});
			$('span.slideShowCurrentSlide').html((window.slideShowCurrentPosition+1)+'/'+numberOfSlides);
			clearInterval(slideShowIntervalId);
		});
		
	} else {
		$('#slidesContainer').append('<div id="slideControlsContainer"><div id="slideControls">');
		$('#slideControlsContainer').css('width', slideWidth);
		//add an icon for every slide available
		for(i=0;i<numberOfSlides;i++){
			if (i==0){
				var addClass = 'control active';	
			} else {
				var addClass = 'control';
			}
			$('#slideControls').append('<a href="#" class="'+addClass+'" id="'+(i)+'"><span class="hide">'+(i+1)+'</span></a>')	;
		}
		
		//on click funtionality
		$('a.control').click(function(event){
			$('#'+slideShowCurrentPosition).removeClass('active');
			event.preventDefault();
			
			// Determine new position
			slideShowCurrentPosition = parseInt($(this).attr('id'));
			$('#'+slideShowCurrentPosition).addClass('active');
			
			// Move slideInner using margin-left
			$('#slideInner').animate({
			  'marginLeft' : slideWidth*(-slideShowCurrentPosition)
			});
			clearInterval(slideShowIntervalId)
		});
	}
	slideShowIntervalId = setInterval("nextSlide("+numberOfSlides+", "+slideWidth+", "+slideType+")", 5000);
}

function calendarWidget(){
	calendarWidgetRefresh(0,0);
}
function calendarWidgetHoverOut(){
	$('div.calendarInfoBox').removeClass('calendarShow');
}

function calendarWidgetRefresh(month, year){
       if ($('div#calendar')){
       		if (month==0 && year==0)
       		{
               $.get('/calendar/calendar.aspx', 
			   function(data) {
                       $('div#calendar').html(data);
               		setCalendarHovers();
               }
               ,"html");
       		
       		}
       		else
       		{
               $.get('/calendar/calendar.aspx?month='+month+'&year='+year, 
			   function(data) {
                       $('div#calendar').html(data);
               		setCalendarHovers();
               }
               ,"html");
		}
       }
 }
 
 function setCalendarHovers()
 {
	//Add the correct dates to the infobox
	var monthYear = $('span.calendarCurrentMY').html();
	   var day = 1;
            $('td.hover').hover(
            function (){
				//Get the day
				var day = $('>div.hoverEvent',this).html();
				day = day.substr(0,2);
				day = day.replace("<","");
				
				//Add date to hoverBox
				if ($('> .hoverEvent > .calendarInfoBox > span', this).attr('class') != 'infoDate' ){
					$('> .hoverEvent > .calendarInfoBox > ul', this).before('<span class="infoDate">'+day+' '+monthYear+'</span>');
				}
				$('> .hoverEvent > .calendarInfoBox', this).addClass('calendarShow');
				/*calendarWidgetHoverOut();
				if (t){clearTimeout(t);}
				var day = $(this).html();
				day = day.substr(0,2);
				day = day.replace("<","");
				$('>div.hide',this).addClass('infoBox');
				$('>div.hide',this).removeClass('hide');
				$('div.infoBox > :first').before('<span class="infoBoxBar">'+day+''+month+'<img src="images/layout/calendar-info-box-close-button.gif"alt="close" /></span>')
				var infoBoxHeight = $('div.infoBox').height();
				$('div.infoBox').css('margin-top',(infoBoxHeight*-1)-20);
				$('span.infoBoxBar > img').click(function(event){
					   $('.infoBoxBar').remove();
					   $('div.infoBox').addClass('hide');
					   $('div.infoBox').removeClass('infoBox');
				});*/
			},
			function (){
				calendarWidgetHoverOut(this);
			}
       );
}

function expandableBoxes(){
	$('div.preview').addClass('show');
	$('div.expandable').hide();
	$('.box .preview h4 a.expandableLink').click(function(event){
		event.preventDefault();
		var boxContainer = $(this).parent().parent().parent();
		if ($(boxContainer).attr('class') == 'box open' || $(boxContainer).attr('class') == 'box last open'){
			$('>div.expandable', boxContainer).slideUp(300);
			$(boxContainer).removeClass('open');	
		} else {
			$('>div.expandable', boxContainer).slideDown(300);
			$(boxContainer).addClass('open');
		}
	});
}
function readMore(){
	$('div.readMoreContent').hide();
	$('a.readMore').click(function(event){
		event.preventDefault();
		var readMoreContent = $(this).parent().next()
		if ($(this).attr('class') == 'readMore open'){
			$(readMoreContent).slideUp(150);
			$(this).removeClass('open');
		} else {
			$(readMoreContent).slideDown(150);
			$(this).addClass('open');
		}
	});	
}
function toolbox(){
	$('div#toolbox ul li a.category').click(function(event){
		event.preventDefault();
		if ($(this).parent().attr('class') == 'open' || $(this).parent().attr('class') == 'last open'){
			$('div#toolbox li').removeClass('open');
			$('div#toolbox>ul').removeClass('open');
		} else {
			$('div#toolbox li').removeClass('open');
			$('div#toolbox>ul').addClass('open');
			$(this).parent().addClass('open');
		}
	});
}
function tabs(){
	$('div.tabContainer > div.tabContent').hide();
	
	var activeTabID = $('ul.tabs > li.active > a').attr('href');
	$(activeTabID).show();
	$('ul.tabs > li > a').click(function(event){
		event.preventDefault();
		var activeTabID = $(this).attr('href');
		$('div.tabContainer > div.tabContent').hide();
		$(activeTabID).show();
		var thisParent = $(this).parent();
		$('ul.tabs > li').removeClass('active');
		$(thisParent).addClass('active');
	});	
}
function generalArchive(){
	$('ul.groupedDownloads').hide();
	$('a.archiveGroupName').click(function(event){
		event.preventDefault();
		var groupedDownloads = $(this).parent();
		if ($('>ul.groupedDownloads',groupedDownloads).attr('class') == 'groupedDownloads open'){
			$('>ul.groupedDownloads',groupedDownloads).slideUp(200);
			$('>ul.groupedDownloads',groupedDownloads).removeClass('open');	
		} else {
			$('>ul.groupedDownloads',groupedDownloads).slideDown(200);
			$('>ul.groupedDownloads',groupedDownloads).addClass('open');
		}
	});
}
function multiFilters(){
	$('ul.filters > li.extra').hide();
	$('dl.multiFilters ul.expandable').append('<a href="#" class="expandButton"></a>');
	$('a.expandButton').click(function(event){
		event.preventDefault();
		var buttonParent = $(this).parent();
		if ($(this).attr('class') == 'expandButton open'){
			$('> li.extra',buttonParent).hide();
			$(this).removeClass('open');
		} else {
			$('> li.extra',buttonParent).show();
			$(this).addClass('open');
		}
	});
	$('ul.filters li').click(function(event){
		var filtersParent = $(this).parent();
		$('> li',filtersParent).removeClass('active');
		$(this).addClass('active');
	})
}
function slideDown(){
	$('div#wrapper').before('<div id="slideDown"></div>');
	$('#slideDown').hide();
	$('li#sitemapSlideDown > a').click(function(event){
		slideDownButton('sitemap', 'contact');
	});
	$('li#contactSlideDown > a').click(function(event){
		slideDownButton('contact', 'sitemap');
	});
}
function slideDownButton(toOpen, toClose){
	if ($('#slideDown').attr('class') == toClose){
		$('#slideDown').hide();
		$('#slideDown').removeClass(toClose);
		$('li#'+toClose+'SlideDown').removeClass('open');
	}

	if ($('li#'+toOpen+'SlideDown').attr('class') == 'open'){
		$('li#'+toOpen+'SlideDown').removeClass('open');
		$('#slideDown').slideUp(800);
		
	} else {
		$('#slideDown').addClass(toOpen);	
		$.get("/"+toOpen+'.aspx #slideDownWrapper', function(data) {
			$('#slideDown').html(data);
			$('#slideDown').slideDown(1000);
			$('a#closeSlideDown').click(function(event){
				event.preventDefault();
				$('a#closeSlideDown').hide(200);
				$('#slideDown').slideUp(800);
				$('li#'+toOpen+'SlideDown').removeClass('open');
				$('#slideDown').removeClass(toOpen);
			});
		} ,"html");
		$('li#'+toOpen+'SlideDown').addClass('open');
	}	
}
function mainNavHover(){//for IE6
	$('ul#mainNavigation > li').hover(function(event){
		$(this).addClass('open');
	}, function(event){
		$(this).removeClass('open');
	});
}
function twitter()
{
	var twitterurl=$("a#twitterurl").attr("href");
	if (twitterurl!=undefined)
	{
		var username=twitterurl.substring(twitterurl.lastIndexOf("/")+1);

		$("#twitterfeed").getTwitter({
			userName: username,
			numTweets: 5,
			loaderText: "Loading tweets",
			slideIn: true,
			slideDuration: 750,
			showHeading: true,
			headingText: "Latest Tweets",
			showProfileLink: true,
			showTimestamp: true
		});
	}
}

function checkPageForm(myForm) 
{
	var errorMessage = 'The form could not be send because of the following reason(s)::\n\n';
	var errorFound = false;
	var status = false;     
	var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	
	if (myForm.name=='PageUpdateForm')
	{
		if (myForm.email != null) {
			if (myForm.email.value == '') {
				errorMessage = errorMessage + '- No email address\n';
				errorFound = true;
			} else {
				emailAddress = myForm.email.value;
				if (emailAddress.search(emailRegEx) == -1) {
					errorMessage = errorMessage + '- Not a valid email address.\n';
				}
			}
		}
		if (errorFound) {
			alert(errorMessage);
			return false;
		}
		else
			return true;		
	}

	if (myForm.name=='SendToAFriendForm')
	{
		if (myForm.toEmail != null) {
			if (myForm.toEmail.value == '') {
				errorMessage = errorMessage + '- No email address\n';
				errorFound = true;
			} else {
				emailAddress = myForm.toEmail.value;
				if (emailAddress.search(emailRegEx) == -1) {
					errorMessage = errorMessage + '- Not a valid email address.\n';
				}
			}
		}
		if (errorFound) {
			alert(errorMessage);
			return false;
		}
		else
			return true;		
	}
	return false;
}
//COOKIES
function setCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function getCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}


/* Videoplayer */
function getJWPlayer(){
	jQuery.each(jQuery("a[class='videoplayer']"), function(index, item){
		new VideoPlayer(jQuery(item), {
			playerurl: '../flash/swf/player-licensed.swf',
			controlbarheight: 50
		}, index);
	});
}


function deleteCookie(name) {
    setCookie(name,"",-1);
}

//POSTNL NAAR TNT POP-OUT BOX
function tntIsNowPostNLBox(){
    var koekje = getCookie('tntpnl_st');
    if (koekje){
    } else {
        $.fancybox({
            'height': 420,
            'autoScale': true,
            'transitionIn': 'fade',
            'transitionOut': 'fade',
            'scrolling': 'no',
            'type': 'ajax',
            'href': '/sitewide/temp-corp.html'
        });
        setCookie('tntpnl_st', 'true', 365);
    } 
}
