
if (window['Shadowbox']) {
	Shadowbox.init({
		skipSetup: true,
		language: 'nl',
		players: ['iframe']
	});
}

// shuffle mugs
$(function(){

	var teamStartPos = [1,2,3,4,5,8,9,10,11,12,15,16,17,18,19];
	var greys = ['ccc','e0e0e0','e0e0e0','ececec','f7f7f7'];

	$('div#mugs div.mugsoverview').each(function(){
		var allPos = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28];
		var mugteam = $(this).find('img.mugteam');
		var mugshots = $(this).find('img.mugshot');

		if (mugteam.length) {
			var teamPos = teamStartPos[Math.floor(Math.random()*teamStartPos.length)];
			var teamFilter = [teamPos, teamPos+1, teamPos+2, teamPos+7, teamPos+8, teamPos+9];

			var allPos = $.grep(allPos, function(n,i){
				return ($.inArray(n, teamFilter) == -1)
			});
		
			mugteam.addClass('square'+teamPos);
		}

		mugshots.each(function(){
			var randPos = allPos[Math.floor(Math.random()*allPos.length)];
			$(this).addClass('square'+randPos);
			allPos = $.grep(allPos, function(n,i){
				return (n != randPos);
			});
		});
		
		for (var i=0; i<greys.length; i++) {
			var randPos = allPos[Math.floor(Math.random()*allPos.length)];
			$('<div class="square_colored square'+randPos+'"></div>')
				.css('backgroundColor','#'+greys[i])
				.appendTo(this);

			allPos = $.grep(allPos, function(n,i){
				return (n != randPos);
			});
		}

	});

	$('div#mugs').paging();

	$('div#mugs img').hover(function(){
		$(this).addClass('hover');
	},function(){
		$(this).removeClass('hover');
	}).tooltip({
		showBody: '|',
		showURL: false,
		track: true,
		delay: 0,
		id: 'mugtip'
	});

	$('div#mugs a').click(function(){
		var href = $(this).attr('href');
		var team = $(this).find('img').hasClass('mugteam');
		Shadowbox.open({
			content: href + '&stripped=1',
			player: 'iframe',
			height: team ? 440 : 334,
			width: 530
		});
		return false;
	});

});


/*
	jQuery Paging plugin
	2008, Paul van Dam

	modified for Zuidema [medewerkerspage]
*/

(function($){
$.fn.paging = function (options) {
	
	var opt = {
		itemsPerPage: 1,
		elementType: 'div',
		prevText: '',
		nextText: '',
		selectedClass: 'selected',
		navClass: 'pagenav',
		prevClass: 'prev',
		nextClass: 'next',
		nrClass: 'nr',
		disabledClass: 'disabled',
		addNav: 'after',
		showPageNumbers: true,
		trimPageNumbers: false
	};

	if (options) $.extend(opt, options);

	if (opt.elementType == 'tr') opt.elementType = 'tbody>tr';

	return this.each (function () {

		var self = this;
		var pages = Math.ceil($('>'+opt.elementType,$(this)).length/opt.itemsPerPage);
		var currentPage = 1;
		
		if (pages > 1) {
			var html = '';
			if (opt.showPageNumbers) {
				for (var i=1; i<=pages; i++)
					html += '<a href="" class="'+opt.nrClass+'" rel="'+i+'">'+i+'</a>';
			}			
			html += '<a href="" class="'+opt.prevClass+'" rel="prev">'+opt.prevText+'</a>';
			html += '<a href="" class="'+opt.nextClass+'" rel="next">'+opt.nextText+'</a>';
			var pagenav = $('<div class="pagenav_container"><div class="'+opt.navClass+'">'+html+'</div></div>');
			
			if (opt.addNav == 'before')
				pagenav.insertBefore($(this));
			else
				pagenav.insertAfter($(this));

			$('a',pagenav).click(function(){
				showPage($(this).attr('rel'));
				$(this).blur();
				return false;
			});

			showPage(currentPage);
		}

		function showPage(nr) {
			$(self).triggerHandler('pagingBeforePageChange');

			if (nr == 'next') {
				if (currentPage == pages) return;
				currentPage ++;
			} else if (nr == 'prev') {
				if (currentPage == 1) return;
				currentPage --;
			} else
				currentPage = parseInt(nr);
			
			if (currentPage == 1)
				$('a[rel=prev]',pagenav).addClass(opt.disabledClass);
			else
				$('a[rel=prev]',pagenav).removeClass(opt.disabledClass);

			if (currentPage == pages)
				$('a[rel=next]',pagenav).addClass(opt.disabledClass);
			else
				$('a[rel=next]',pagenav).removeClass(opt.disabledClass);

			$('>'+opt.elementType,self).hide();

			// Fix for jQuery 1.3
			var selector = '>'+opt.elementType;
			if (currentPage != 1)
				selector += ':gt('+(((currentPage-1)*opt.itemsPerPage)-1)+')';
			selector += ':lt('+opt.itemsPerPage+')';
			$(selector,self).show();

			$('a',pagenav).removeClass(opt.selectedClass);
			$('a[rel='+currentPage+']',pagenav).addClass(opt.selectedClass);


			// Trim page numbers if more than 5 (TODO: make option)
			if (opt.trimPageNumbers && pages > 5) {
				var p = [1,pages];
				if (currentPage!=1 && currentPage!=pages) p.push(currentPage);
				if (currentPage-1>1) p.push(currentPage-1);
				if (currentPage+1<pages) p.push(currentPage+1);

				// Edge cases
				if (currentPage == 1) { p.push(3); p.push(4); }
				if (currentPage == 2) { p.push(4); }
				if (currentPage == pages) { p.push(pages-3); p.push(pages-2); }
				if (currentPage == pages-1) { p.push(pages-3); }

				// Show only selected page numbers
				var s = [];
				$(p).each(function(i,e){
					s.push('a[rel='+e+']');
				});

				pagenav.find('a:not(.prev):not(.next)').hide();
				pagenav.find(s.join(',')).show();
			}

			$(self).triggerHandler('pagingAfterPageChange');
		};

	});
};
})(jQuery);
