$.fn.reverse = Array.prototype.reverse;
$(document).ready(function(){
	//$('.content .entry').columnize({columns: 2});
	$('.content').find('div, p, span, a').attr('style','');
	$('body:not(.deelnemers, .deelnemers-2010, .routes, .forms) .content').masonry();
	
   
	
$('body.routes').each(function(){
	$('.sub-nav h2').click(function(){

		$(this).parent().toggleClass('active');
	});
	$(window).scroll(function(){              
		
		if ($(window).scrollTop()>($('.sub-nav').height()+164)) {
		 if (!$('body').hasClass('fixme')) {
			var offset = $('.lijst').offset();
		 	$('body').addClass('fixme');     

			$('.lijst').css({
				left: offset['left']+13,
				top:  18
			});
		}
		
		  
		}
		else {
		 			 if ($('body').hasClass('fixme')) {  
			$('body').removeClass('fixme');    
			$('.lijst').css({left: 0, top: 0});
		}
		}
	});  
	
	                                         
	        var currentMarker;
	
	$('.participants-div > div').click(function(){
                                   
		var div = $(this);
		$('.participant.active').removeClass('active');      
  

		$(this).addClass('active');
		$(window).scrollTo($('h4', div).offset()['top']-70,500);  
		var marker = $('ul.participants > li#point_'+$(this).find('h4').attr('id')).data('marker');
		if (currentMarker) {
				var highlight = iconOptions;
				highlight.primaryColor = currentColor;

				currentMarker.setImage(MapIconMaker.createMarkerIcon(highlight).image);
				
		}
		if (marker) {
            currentMarker = marker;
			if (map.getZoom()<15) map.setZoom(15);	
			map.panTo(marker.getLatLng());                     

			   
			var highlight = iconOptions;
			highlight.primaryColor = '#D12329';
			                      
			marker.setImage(MapIconMaker.createMarkerIcon(highlight).image);
			
		}
	});
});
	
	
	$('.sponsors ul').each(function(){
		var ul = $(this);
		var width = ul.width();
		ul.css({width: (3*width)});
		var lis = ul.find('li').clone();
		for (var k = 0; k<3; k++) {
			ul.append(lis.clone());
		}
		function moveSponsors(){
			var left = ul.position()['left'];
			ul.animate({left: -width},(width+left)*30,'linear',function(){
				ul.css({left: 0});
				moveSponsors();
			});
		}
		moveSponsors();
		
		ul.hover(function(){
			ul.stop();
		},function(){
			moveSponsors();
		});
	});
	
	
	
	$('.navigation a, .navigation form').hover(function(){
		$(this).stop().animate({height: 60},200);
	},function(){
		$(this).stop().animate({height: 50});
	});
	
	
		
		$('body:not(.routes) .sub-nav a').click(function(){
			var id = this.href.split('#')[1];
			$('body').scrollTo($('h2#'+id),500);
			
		});
		$('a.back-to-top').click(function(){
			$('body').scrollTo(0,500);
		});
	
	
	
	$('body.deelnemers').each(function(){
		
		getFlickr($('.participant h2').attr('data-tag'));
		
		
		$('.pictures ul a').live('click',function(){
			return false;
		});
		$('.prev-next a').live('click',function(e){
			
			
			var active = $('.pictures li.active');
			
			if ($(this).hasClass('next')) {
				// next
				$('.pictures ul').animate({left: '-=373px'});
				active.next().addClass('active');
				active.next().find('img').each(function(){
					var img = $(this);
					var height = img.height();
				
					if (height > 0) {
						img.css({marginTop: (10+(241-height)/2)});
					}
				});
			}
			else {
				// prev
				$('.pictures ul').animate({left: '+=373px'});
				active.prev().addClass('active');
				active.prev().find('img').each(function(){
					var img = $(this);
					var height = img.height();
				
					if (height > 0) {
						img.css({marginTop: (10+(241-height)/2)});
					}
				});
			}
			active.removeClass('active');
			active = $('.pictures li.active');
			
			$('.pictures .prev-next').html('');
			active.prev().find('a').clone().addClass('prev').appendTo('.prev-next');
			active.next().find('a').clone().addClass('next').appendTo('.prev-next');
			$('.pictures .prev-next img').css({margin: 0});
			
			return false;
			
		});
		$('.pictures').live('mouseover',function(){
			$('.prev-next a.prev').stop().animate({left: -10});
			$('.prev-next a.next').stop().animate({right: -10});
		});
		$('.pictures').live('mouseout',function(){
			$('.prev-next a.prev').stop().animate({left: -100});
			$('.prev-next a.next').stop().animate({right: -100});
		});
		
		//if ($('.participants li.active').size())$('.participants').scrollTo($('.participants li.active'),500);
	});
	
	//prev next
	/*
	$('.participants-container ul').each(function(){
		var perpage = 20;
		var ul = $(this);
		var lis = $('> li', this).size();
		var pages = Math.ceil(lis/perpage);
		var p = $('<p class="pagination"/>');
		for (var k=1; k<pages+1; k++) {
			var a = $('<a data-page="'+((k-1)*perpage)+'" href="#_p'+k+'">'+k+'</a>');
			p.append(a);
		}
		p.prepend('<a href="#prev" class="prev">&laquo;</a>');
		p.append('<a href="#next" class="next">&raquo;</a>');
		$('.participants-container').prepend(p);
		$('p.pagination a').click(function(){
			if ($(this).hasClass('prev')) {
				$('p.pagination a.active').prev('a:not(.prev, .next)').click();
			}
			else if ($(this).hasClass('next')) {
				$('p.pagination a.active').next('a:not(.prev, .next)').click();
			}
			else {
				$('p.pagination a.active').removeClass('active');
				$(this).addClass('active');
				var page = parseInt($(this).attr('data-page'),10);
				ul.find('> li').hide();
				for (var k = page; k<(page+perpage); k++) ul.find('> li:eq('+k+')').show();
				
			}
			
			
			
		});
		ul.show();
		
		$('p.pagination a:not(.prev, .next):eq('+Math.max(0,(Math.ceil(($('.level2 .participants ul li[data-url-title='+$('h2[data-tag]').attr('data-tag')+']').index()+1)/perpage)-1))+')').click();
	});
	  */
	$('.participants-container ul li a').hover(function(){
		$('.participants-container ul li a em').hide();
		$('em', this).fadeTo(1000,1);
	},function(){
		$('em', this).fadeTo(100,0,function(){
			$(this).hide();
		});
	}).attr('title','');
	// maps     
	
	
	       var map;
	
			var colors = {'gouden-bewustzijn':'#339900',	
			'bling-bling':'#970a99',	
		   'gouden-handjes':'#136299',
			'gouden-kansen':'#b21e06',
			'goudlokje':'#ff3300',
			'gouden-delft':'#a09e00',
	      	'gouden-bergen':'#08b6d0'
			}
			var iconOptions = {};
			iconOptions.width = 32;
			iconOptions.height = 32;

			iconOptions.cornerColor = "#FFFFFF";
			iconOptions.strokeColor = "#000000";
	
	$('body.routes, body.map').each(function(){
		var myLatlng = new GLatLng(52.011216741881626,4.359469413757324);
		
	        
	   
	   
		$('<div id="map"/>').appendTo('#lijst');
	   // var map = new google.maps.Map(document.getElementById("map"), myOptions);    
	  
		 
		   map = new GMap2(document.getElementById("map"));

		    map.setCenter(myLatlng, 14);  
		 	map.addControl(new GLargeMapControl3D());
		    //updateImage();
		  //}
		 
		
		
		function createMarker(point, icon, title, ownerid, li) {
		  var marker = new GMarker(point, {icon: icon, title: title});
			marker.ownerid = ownerid;        
			
			GEvent.addListener(marker, 'click', function(){                 
				$('.participant.active').removeClass('active');
				$('h4#'+ownerid).closest('.participant').click();
			   
			});
			li.data('marker',marker);
		  return marker;
		}
		
		$('.participants li').each(function(){   
			var color = '#333333';
			var  li = $(this);
			var coords = li.attr('data-coords');
			if (coords) {
				var point = coords.split(',');
				
				var participant = new GLatLng(point[0],point[1]);
			   
				
				//var participant = new google.maps.LatLng(point[0],point[1]);
				if (li.attr('class')!='' && colors[li.attr('class')]) color = colors[li.attr('class')];
				iconOptions.primaryColor = color;            
				currentColor = color;                                    
			   
				var icon = MapIconMaker.createMarkerIcon(iconOptions);
				 
			    map.addOverlay(createMarker(participant, icon, li.text().replace(/•/g,''), li.attr('data-url-title'), li)); 
			   
			}
			
			
		})
	});
	   var currentColor;
	$('body.forms').each(function(){
		$('label.required').each(function(){
			$(this).append('<span class="rq">*</span>');
		});
		
		
		$('input[name=etalagevulling-regel-zelf]').change(function(){
			if (this.checked) {
				$(this).parents('label:first').next('label').slideDown();
			}
			else {
				$(this).parents('label:first').next('label').slideUp();
			}
		});
		
		$('input[name=are-you-human-alive-and-kicking]').val('yes').parent().hide();
		
		$('.content form').submit(function(){
			$('.content .error').removeClass('error');
			var allok = true;
			$('label.required input').each(function(){
				if ($(this).val()=='') {
					$(this).parents('label:first').addClass('error');
					allok = false;
				}
			});
			if (!allok) alert('Niet alle verplichte velden zijn ingevuld!');
			return allok;

		});
	});
	
	
});

function getFlickr(str, alternative) {
	$('#lijst span').remove();
	$('#lijst').append('<span class="searching">zoeken</span>');
	var url = '';
	if ($('body').hasClass('level2')) url = "&tagmode=all&tags="+str.replace(/-/g,(alternative)?'':',');  
	else url = "&tagmode=all&tags=dled2010shortlist";
	$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?id=37122119@N02"+url+"&lang=en-us&format=json&jsoncallback=?", function(data){
		var pictures = $('<ul/>');
		var found = false;
		     if (!$('body').hasClass('level2') && data && data.items) data.items = $.shuffle(data.items);
			$.each(data.items, function(i,item){
				found = true;
				$("<img/>").attr("src", item.media.m.replace('_m.','.')).appendTo(pictures).wrap("<li><a class='img' data-thumb='"+item.media.m+"' data-img='"+item.media.m.replace('_m.','.')+"' href='" + item.link + "'></a></li>");
			});
			
		$('div.pictures').append(pictures);
		if (found) {
			$('#lijst .searching').remove();
			$('.pictures ul').fadeIn();
		}
		else {
			if (!alternative) {
				getFlickr(str,true);
			}
			else {
				$('#lijst .searching').css({backgroundImage: 'none'}).html('geen beelden gevonden.');
				var timer = setTimeout(function(){
					$('#lijst .searching').fadeOut(function(){
						$(this).remove();
					})	
				},2000);
			}
		}
		
		
		
		$('<div class="prev-next"/>').appendTo('.pictures');
		$('.pictures img:first').each(function(){
			var img = $(this);
			img.parents('li:first').addClass('active');
			
			img.parents('li:first').prev().find('a').clone().addClass('prev').appendTo('.prev-next');
			img.parents('li:first').next().find('a').clone().addClass('next').appendTo('.prev-next');
			var timer = setTimeout(function(){
				$('.prev-next a.prev').stop().animate({left: -100});
				$('.prev-next a.next').stop().animate({right: -100});
				
			},2000);
			
		});
	});	
}          

(function($){

	$.fn.shuffle = function() {
		return this.each(function(){
			var items = $(this).children().clone(true);
			return (items.length) ? $(this).html($.shuffle(items)) : this;
		});
	}
	
	$.shuffle = function(arr) {
		for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x);
		return arr;
	}
	
})(jQuery);
