$(document).ready(function()
{
	
	/**
	 * onUnload
	 * Voer de GUnload() functie uit bij het unloaden van de pagina.
	 * Dit om memory leaks te voorkomen.
	 */
	$(window).unload(function()
	{
		GUnload();
	});
	
	
	$('#reloadRandom').click(function() {
		$.post(
			'/php/ajax/getRandomStatues.php',
			'',
			function(data) {
					if(data.statues) {
						var j = 0;
						var ul	= $('ul#randomList');
						ul.empty();
						for(i in data.statues) {
							j++;
							var statue	= data.statues[i];
							var li		= $('<li />');
							var a		= $('<a />');
							var img		= $('<img />');
							img.addClass('avatar');
							img.addClass('smallImage');
							img.width(60);
							img.height(60);
							img.attr('src','/upload/standbeelden/small_'+statue.fotoid+'.jpg');
							img.attr('title',statue.titel);
							img.attr('alt',statue.titel);
							a.attr('title',statue.titel);
							a.attr('href','/standbeeld/'+statue.beeldid);
							a.append(img);
							li.append(a);
							if(j%5==0){li.addClass('last');}
							ul.append(li);
						}
					}
			},
			'json'
		);
	});
	
	
	/**
	* 
	*/
	if($('#map').length) {
		map = new GMap2(document.getElementById("map"));
		map.addControl(new GMapTypeControl());
		map.enableScrollWheelZoom();
		map.setCenter(new GLatLng(coordinaten[0],coordinaten[1]),14);
	
		/**
		* markers plaatsen
		*/
		for (var i = 0; i < markers.length; i++) {
			var point	= new GLatLng(parseFloat(markers[i][2]),parseFloat(markers[i][3]));
			var marker	= createMarker(point,markers[i][0],markers[i][1],markers[i][4]);
			map.addOverlay(marker);
		}
	
		// actie bij verplaatsen van de map
		GEvent.addListener(map, "moveend", function() {
			var center = map.getCenter();
			$.post(path+'php/ajax/getStatuesAroundPoint.php','lat='+center.lat()+'&lng='+center.lng(),function(data) {
				if(data.markers) {
					// clear markers
					map.clearOverlays();
					// add markers
					var markers = data.markers;
					for (var i = 0; i < markers.length; i++) {
						var point	= new GLatLng(parseFloat(markers[i].lat),parseFloat(markers[i].lng));
						var marker	= createMarker(point,markers[i].id,markers[i].naam,markers[i].foto);
						map.addOverlay(marker);
					}
				}
			}, 'json');
		});
	}
	
	
	function createMarker(point,beeldId,title,foto)
	{
		var myIcon		= new GIcon(G_DEFAULT_ICON);
		if(foto!='0') {
			myIcon.image	= path+"upload/standbeelden/mini_"+foto+".jpg";
		} else {
			myIcon.image	= path+"img/mini_default.jpg";
		}
		myIcon.iconSize	= GSize(30,30);
		myIcon.shadow	= '';
		var marker		= new GMarker(point,{ icon:myIcon, title:title });
		
		GEvent.addListener(marker, "click", function()
		{
			window.location = path+'standbeeld/'+beeldId;
		});
		return marker;
	}
	
	$('#nextStatues').click(function() {
		if(!$(this).hasClass('disabled')) {
			$(this).addClass('disabled');
			$('#prevStatues').addClass('disabled');
			var top = parseInt($('#latestStatues').children('div:first').css('top'));
			if(top<=-225) {
				var t = $('#latestStatues').children('div').length;
				$('#latestStatues').children('div').animate({top: '+=225'},700,function(){if(parseInt($('#latestStatues').children('div:first').css('top'))>-225){$('#nextStatues').addClass('disabled');} else {$('#nextStatues').removeClass('disabled');}$('#prevStatues').removeClass('disabled');});
			}
		}
		return false;
	});
	
	$('#prevStatues').click(function() {
		// get last div top position, if zero, no further clicks possible
		if(!$(this).hasClass('disabled')) {
			$(this).addClass('disabled');
			$('#nextStatues').addClass('disabled');
			var top = parseInt($('#latestStatues').children('div:last').css('top'));
			if(top!=0) {
				var i = 1;
				var t = $('#latestStatues').children('div').length;
				if(top<=450) {
					$('#latestStatues').children('div').animate({top: '-=225'},700,function(){i++;if(i == t){getPreviousStatues();}});
				} else {
					$('#latestStatues').children('div').animate({top: '-=225'},700,function(){i++;if(i == t){$('#prevStatues').removeClass('disabled');$('#nextStatues').removeClass('disabled');}});
				}
			}
		}
		return false;
	});
	
	function getPreviousStatues()
	{
		var items = $('#latestStatues').children('div').length;
		$.ajaxSetup({async:false});
		$.post(
			'/php/ajax/getPreviousStatues.php',
			'items='+items,
			function(data) {
					if(data.statues) {
						
						var div		= $('<div />');
						div.css('top',parseInt($('#latestStatues').children('div:last').css('top'))+225);
						for(i in data.statues) {
							var statue	= data.statues[i];
							
							
							var ul		= $('<ul />');
							ul.addClass('nieuwebeelden');
							
							var li		= $('<li />');
							li.addClass('image');
							
							var a		= $('<a />');
							a.attr('href','/standbeeld/'+statue.id);
							a.attr('title',statue.naam);
							
							var img		= $('<img />');
							img.addClass('avatar');
							if(statue.foto == 0) {
								img.attr('src','/img/avatar_default.gif');
							} else {
								img.attr('src','/upload/standbeelden/small_'+statue.foto+'.jpg');
							}
							img.attr('alt',statue.naam);
							img.attr('title',statue.naam);
							img.width(60);
							img.height(60);
							
							a.append(img);
							li.append(a);
							ul.append(li);
							
							var li		= $('<li />');
							
							var h3		= $('<h3 />');
							h3.css('border','none');
							
							var a		= $('<a />');
							a.attr('title',statue.naam);
							a.attr('href','/standbeeld/'+statue.id);
							a.text(statue.naam);
							
							h3.append(a);
							
							var p		= $('<p />');
							p.css('margin-bottom','0');
							p.text('Toegevoegd op '+statue.datum);
							
							var span	= $('<span />');
							span.html('door ');
							
							var a		= $('<a />');
							a.attr('title',statue.username);
							a.attr('href','/gebruikers/'+statue.username);
							a.text(statue.username);
							
							span.append(a);
							
							li.append(h3);
							li.append(p);
							li.append(span);
							ul.append(li);
							div.append(ul);
							
						}
						$('#latestStatues').append(div);
					}
			},
			'json'
		);
		$('#prevStatues').removeClass('disabled');
		$('#nextStatues').removeClass('disabled');
	}
});
