// JavaScript Document
function tickInit() {
	
}
var map = null;
var enableMaps = true;
var hashPoller, currentHash;
var noload = false;
var possibleView;
var calls = 0;
function insertMP3Object(o) {
		
		

	if(o.href.match(/\.mp3$/i))	{
		if (o.innerHTML!='' && o.innerHTML!='&nbsp;') {




			var flashobj = document.createElement('span');
			flashobj.innerHTML=writeWimpyButton(o.href,17,17);
			flashobj.className='mp3_play_button';
			flashobj.title='play|stop';
			o.title='download';
			$(o).prepend(flashobj);
			$('span',o).click(function(e){
				return false;
			});
			$(o).click(function(){
				return (confirm('Dit bestand downloaden?'));
			});
		
		
			
		}
	}
}
		
	
	
	function createMP3Links() {};
ag = {
	init: function(){
		

		this.minHeight();
		if (enableMaps){
			try{
				initialize();
			}
			catch(e) {
				
			}
		}
		if (editmode=='') {
			
			this.handlePictures();
			this.loadPeriods();
			this.periodClicker();
		}
		else if (editmode=='content') {
			if (map) map.addControl(new GLargeMapControl3D());
			var coords = $('#building_coords').val();
			if (!coords) coords = '(52.012023, 4.362431)';
			var coordsArr = coords.split(', ');
			
			var point = new GLatLng(coordsArr[0].replace('(',''),coordsArr[1].replace(')',''));
			
			showAddress(point,true);
		}
		else if (editmode == 'start') {
			var coords = $('#building_coords').val();
			if (coords) {
				var coordsArr = coords.split(', ');
				
				var point = new GLatLng(coordsArr[0].replace('(',''),coordsArr[1].replace(')',''));
				
				showAddress(point);
			}
		}
		this.attachSearchHandler();
		this.attachSearchResultsHandler();
		
		if (editmode=='') {
			this.attachBuildingHandlers();
			this.ajaxTopmenu();
			this.loadPeriodsByTopmenuClick();
			this.loadStylesByTopmenuClick();
			this.getContentLink();
			this.checkHash();
			
			
			
			
			$('#toggleMap, body:not(".bigmap) #map h5').click(function(e){
				
				if (!$('body').hasClass('bigmap')) {
					
					ag.showMap();
					
					if (ag.countBuildings()==0) {
						
						$('ul.buildings:first').addClass('onmap');
						$('.pages:first a.selected:first').click();
					}
					
				}
				else  {
					if ($('ul.onmap').size()>0) {
						if (map) map.clearOverlays();
						buildings = {};
					}
					$('ul.onmap').removeClass('onmap');
					
					
					
					
					
					$('body').removeClass('bigmap');
					$('#markerInfo').hide();
					if (enableMaps)map.removeControl(new GLargeMapControl3D());
					
				}
				ag.minHeight();
				if (map)map.checkResize();
				if (map)map.panTo(new GLatLng(52.012023,4.362431));
			});
			
			// this.checkHash();
		}
	},
	showMap: function(){
		$('body').addClass('bigmap');
		var bodyHeight = document.body.offsetHeight;
		
			
		
		
		
		
		
		
		if (map) map.addControl(new GLargeMapControl3D());
		
		$('.bigmap h1:first').append('<div id="closeMap" title="Kaart sluiten">Kaart sluiten</div>');
		$('#closeMap').click(function(){
			$('#toggleMap').click();
			$(this).remove();
		});
		ag.scrollToSubject();
	},
	getContentLink: function(){
		$('#content a, #hetboek a').live('click',function(){
			var id = ag.getMenuId(this.href);
			if (id) {
				ag.handleAjaxContent(id);
				return false;
			}
		});
	},
	setPeriods: function() {
		ag.periods = new Array();
		$('#periods a.period').each(function(){
			ag.periods.push($(this).text());
		});
	},
	minHeight: function() {
		var bodyHeight = 0, topmenuHeight = 0, searchcontainerHeight = 0, subcontentHeight = 0;
		bodyHeight = $('body').height();
		if ($('body').hasClass('bigmap')) {
			bodyHeight = document.body.offsetHeight;
			
		}
		bodyHeight = $('body').height();
		topmenuHeight = $('#topmenu').height()+351;
		searchcontainerHeight = $('#searchcontainer').height();	
		subcontentHeight = $('#subcontent').height() + 400;			
				
		var height = Math.max(Math.max(Math.max(bodyHeight,topmenuHeight),searchcontainerHeight),subcontentHeight);
		
		$('#contentcontainer').css('minHeight',height+'px');
		
		
	},
	activateFirstPicture: function(){
		$('ul.pictures a:first').click();
		if ($('ul.pictures li').size()<3) {
			$('ul.pictures li:not(".selected")').hide();
		}
		
	},
	handlePictures: function() {
		$('ul.pictures').append('<li class="selected"></li>');
		$('ul.pictures a').click(function(){
			$('ul.pictures li.active').removeClass('active')
			$(this).parent('li').addClass('active');
			$('ul.pictures li.selected').html($(this).parent('li').html());
			$('ul.pictures li.selected a').click(function(){
				ag.openInLightbox(this);
				return false;	
			});
			return false;
		});
		ag.activateFirstPicture();
	},
	openInLightbox: function(link) {
		
		if ($('.lighbox').size()==0) {
		
			$('body').append('<div class="fader"></div><div class="lightbox"><table cellspacing="0"><tr><td></td></tr></table></div>');
		}
		
		$('.fader').fadeTo(0,0,function(){
			$(this).show().fadeTo(300,0.7, function(){
				$('.lightbox td').append('<img src="'+link.href+'"/>');
				$('.lightbox').fadeIn();
				$('.lightbox').click(function(){
					$(this).fadeTo(300,0,function(){
						$('.lightbox, .fader').remove();
					});
				});
			});
		});
		
		
	},
	createContentLightbox: function(link){
		var controls = '';
		if ($('.fader').size()==0) $('body').append('<div class="fader"></div><div class="lightbox_content">'+controls+'</div>');
		$('.fader').fadeTo(0,0,function(){
			$(this).show().fadeTo(300,0.7, function(){
				$.get(link.href,function(data){
					$('.lightbox_content').html(data);
					var str = $('.lightbox_content h3:first').html();
					var strong = $('.lightbox_content b:first').html();
					if (!strong) strong = $('.lightbox_content strong:first').html();
					var morelink = $('.lightbox_content p.more:first').html();
					if (!morelink) morelink='';
					$('.lightbox_content').html('<h3>'+str+'</h3><strong>'+strong+'</strong>'+morelink+'<a class="close" href="#">sluiten<span> </span></a>');
					$('.lightbox_content a.more').click(function(){
						var linkstr = $(this).attr('href');
						
						$('#topmenu a.linkid_'+ag.getMenuId(linkstr)).click();
						$('.lightbox_content a.close').click();
						document.location.href = '#_menuid='+ag.getMenuId(linkstr);
						return false;
					});
					$('.lightbox_content').fadeIn();
					$('a.close').click(function(){
						$('.lightbox_content, .fader').fadeTo(300,0,function(){
							$('.lightbox_content, .fader').remove();
						});
					});
				});
				
			}).click(function(){
				$('.fader').fadeTo(300,0,function(){
					$('.lightbox_content, .fader').remove();
				});
			});;
		});
	},
	loadPeriods: function(){
		$('body').addClass('waiting');
		$('#periods').attr('bigWidth',$('#wrapper').width() + 'px');
		$('.home #periods').css('width',$('#wrapper').width() + 'px');
		$('#periods').load('?window=periods',function(){
			
			ag.setPeriods();
			ag.getMyList();
			ag.attachBuildingActions();
			ag.minHeight();
			ag.randomPeriodLocation();
			if ($('body').hasClass('home')) {
				var randomClick = Math.floor(Math.random()*$('#periods li.period').size());
				$('#periods a.period:eq('+randomClick+')').click();

			}
			$('body').removeClass('waiting');
		});
		
	},
	periodClicker: function(){
		
		$('#periods ul > li').live('click', function(e){
			var link = $('a.period', this);
				if ($(this).hasClass('active')) return false;
			
				$('#periods li.active').animate({height: '18px'});
				$('#periods li.active').removeClass('active');
				$(this).addClass('active');
				$(this).animate({height: '63px'},'fast','linear',function(){
					ag.minHeight();
					
					
					
					
					$('body').addClass('waiting');
					$('#buildings').load('?window=search_building&searchtype=cGVyaW9k&q='+$(link).text(),function(){
						ag.limitSearchResults();
						ag.minHeight();
						// ag.scrollToSubject($('#buildings'), true);
						$('body').removeClass('waiting');
					});
					
					
					
				});
				var timer = setTimeout(function(){
					ag.movePeriod(link,true);
				},500);
			
			
			
			
			
			
			
			
			return false;
		});
		
		
	},
	
	getPeriod: function(id) {
		var link = $('#topmenu a.linkid_'+id);
		var periodText = '';
		if (link.hasClass('linklevel2')) {
			periodText = link.text();
		}
		else {
			periodText = link.parents('ul.menulevel3').prev().text();
		}
		
		for (var k in ag.periods) {
			if (ag.periods[k]==periodText) return periodText;
		}
		return '';
	},
	randomPeriodLocation: function(noRandom) {
		
		if (noRandom) {
			$('#periods').width(267);
			$('#periods ul ul.animated').stop();
		}
		$('#periods ul ul').each(function(){
			var max= (($('li:visible',this).size())*64) - ((($('body').hasClass('home'))?$('#periods').width():267) + 8);
			
			$(this).attr('factor',500);
			
			$(this).attr('max',(0-max));
			
		});
		/*
		
		*/
		$('#periods ul li.active ul').live('mousemove',function(e){
			$(this).attr('factor',e.pageX - ($('#periods').width()/2));		
		});
		if (!$('body').hasClass('home')) {
			$('#periods ul ul li').hover(function(){
				moving = true;
				entered = true;
			},function(){
				moving=false;
			});
			
			$('#periods ul > li').hover(function(){
				if (!$(this).hasClass('active')) return;
				moving = true;
				ag.movePeriod($('a:first', this),true);
			}, function(){});
		
		}
		
		
	},
	movePeriod: function(link, reset){
		var ul = $(link).next();
		if ($('body').hasClass('home')) moving = true;

		
		
		if (reset) {
			$('#periods ul ul:animated').stop().css({left: 0});
		}
		
		
		function moveLeft() {
			
			var li = $('li:visible:last',ul);
			$(ul).prepend(li).css({left: '-64px'});
			$(ul).animate({left: '0px'},1000-Math.abs(ul.attr('factor')),function(){
				move();
			});
		}
		
			
		function moveRight() {
			$(ul).animate({left: '-64px'},1000 - Math.abs(ul.attr('factor')),function(){
				var li = $('li:visible:first',ul);
				$(ul).append(li).css({left: 0});
				move();
			});	
		}
		
		function move(force) {
			if (!moving && !force) return;
			if (parseInt(ul.attr('factor'))>0) moveRight();
			else moveLeft();
		}
		
		move(true);
		
	},
	attachBuildingActions: function(){
		$('#periods a:not(".period")').click(function(){
			var id = ag.getMenuId(this.href);
			ag.handleAjaxContent(id);
			return false;
		});
	},
	showRelatedObjects: function(link){
		$('body').addClass('waiting');
		$('#more_objects').load($(link).attr('href')+'&window=search_building&more_buildings=1',function(){
			$('#more_objects a').click(function(){
				$('body').addClass('waiting');
				$('#buildings').load(this.href,function(){
					ag.limitSearchResults();
					ag.minHeight();
					ag.scrollToSubject($('#buildings'), true);
					$('body').removeClass('waiting');
				});
				
				return false;	
			});
			$('body').removeClass('waiting');
		});
	},
	attachSearchHandler: function(){
		$('input#zoek').keyup(function(){
			clearTimeout(searchtimer);
			if ($('#zoek').val().length<3) return;
			searchtimer = setTimeout(function(){
				$('#search_results').html('');
				$('body').addClass('waiting').addClass('searchWaiting');
				$('#search_results').load('?window=search_building&q='+encodeURIComponent($('#zoek').val()),function(){
					$('#search_results').fadeIn('fast');
					clearTimeout(searchtimer);
					$('body').removeClass('waiting').removeClass('searchWaiting');
				});
			},500);
		}).click(function(){$(this).select();}).hover(function(){
			$('#search_results').fadeIn('fast');
			clearTimeout(searchtimer);
		},function(){});
		$('#search_results').hover(function(){},function(){
			$('#search_results').fadeOut('fast');
			clearTimeout(searchtimer);
		});
	},
	attachSearchResultsHandler: function(){
		$('#search_results').click(function(e){
			if (e.target && e.target.href) {
				$('body').addClass('waiting');
				$('#buildings').load(e.target.href, function(){
					ag.limitSearchResults();
					ag.minHeight();
					if (!$('body').hasClass('bigmap'))ag.scrollToSubject($('#buildings'), true);
					$('body').removeClass('waiting');
				});
				$('#search_results').slideUp();
			}
			return false;
		});
		
		$('#buildings .buildings li, #mybuildings .buildings li').live('mouseover',function(e){
			
				ag.buildingsLiHover(this);
	    		
	    		
	    		
	
			
		});
		$('#buildings .buildings li, #mybuildings .buildings li').live('mouseout',function(e){
			$('#markerInfo.small').hide().removeClass('small');
		});
		
		$('#buildings, #mybuildings').click(function(e){
			
			if (e.target) {
				var obj = e.target;
				if (obj.tagName!='A') obj=obj.parentNode;
				if (obj.href && $(obj.parentNode).hasClass('building')) {
					if (!$('body').hasClass('bigmap')) {
						var id = ag.getMenuId(obj.href);
						ag.handleAjaxContent(id, obj);
					}
					else {
						var noSmall = false;
						if (possibleView) {
							if (possibleView.href == obj.href) {
								$('#markerInfo').addClass('small');
								noSmall = true;
							}
							possibleView = false;
							ag.buildingsLiHover(obj.parentNode);
							
							
						}
						
						
						if (!noSmall) possibleView = obj;
						
						
						
						ag.showOnMap(obj.parentNode.id.replace('my',''),($(obj.parentNode.parentNode).hasClass('onmap')?obj.parentNode.licounter:null));
						if (!noSmall) $('#markerInfo').removeClass('small');
						
					}
				}
				else if ($(obj).hasClass('buildings_onmap')) {
					if (!$('body').hasClass('bigmap')) {
						ag.showMap();
						ag.minHeight();
						if (map)map.checkResize();
						if (map)map.panTo(new GLatLng(52.012023,4.362431));
					}
					$('ul.onmap').removeClass('onmap');
					
					$(obj).parent().find('ul.buildings').addClass('onmap');
					$(obj).parent().find('.pages a:first').click();
					
				}
				
				else if ($(obj).hasClass('buildings_addall')) {
					var ids = [];
					$('#resultlist ul.buildings li:visible').each(function(){
						ids.push(this.id.split('_').pop());
					});
					ag.getMyList(ids.join(','),'add');
					return false;
				}
				
			}
			if (editmode=='') return false;
		});
		
	},
	buildingsLiHover: function(li){
		if (!$('body').hasClass('bigmap')) return;
				
				if (possibleView) return;
			
				clearTimeout(markerTimer);
	    		var buildingmenuidid = li.id.split('_').pop();
	    		var marker = buildings[li.id.replace('my','')];
	    		
	    		if (!marker) return;
	    		
	    		if ($('#markerInfo').size()==0) {
	    			$('#map').append('<div id="markerInfo"> </div>');
	    		}
	    		
	    	
	    		$('#markerInfo').show().addClass('small');
	    		
	    		ag.setPeriodClass($('#markerInfo'),buildingmenuidid);
	    		          	
	    		if (currentmarker != marker) {
    				currentmarker = marker;
    				
	    			
		    		$('#markerInfo').html(buildingsInfo[marker.ownerID]['title']+'<a class="building_more" href="?menuid='+buildingmenuidid+'">lees meer</a>');
		    		
		    		$('#markerInfo dl a').click(function(){return false;});
		    		updateMarkerInfoPosition();
		    		$('#markerInfo a.building_more').click(function(){
		    			var id = ag.getMenuId(this.href);
		    			ag.handleAjaxContent(id);
						return false;
		    		});
		    		
	    		}
	    		
	},
	showOnMap: function(id, counter, pan){
		if (!counter) {
			if (map)map.clearOverlays();
			buildings = {};
		}
		showPoint(id, counter, pan);
		
	},
	
	attachBuildingHandlers: function() {
		ag.enrichStyles();
		
		
	},
	limitSearchResults: function(my){
		var listPrefix = '';
		if (my) my = listPrefix = my;
		
		$('#'+listPrefix+'buildings ul').attr('offset',0);
		
		if ($('body').hasClass('bigmap')) {
			$('ul.onmap').removeClass('onmap');
			$('#'+listPrefix+'buildings ul').addClass('onmap');
		}
	
		if ($('#'+listPrefix+'buildings li').size()>0){
			
			$('#'+listPrefix+'buildings li').hide();
			
			var pages = Math.ceil($('#'+listPrefix+'buildings li').size()/10);
			var str = '';
			for (var k=0; k<pages; k++) {
				str += '<a href="#_page'+k+'" offset="'+k+'">'+(k+1)+'</a> ';
			}
			$('#'+listPrefix+'buildings ul').before('<div class="pages">'+str+'</div>');
			if (pages==1) {
				$('#'+listPrefix+'buildings .pages').hide();
			}
			$('.pages a').click(function(){
				var parentID = $(this).parent().parent().attr('id');
				
				if ($('body').hasClass('bigmap')) {
					if (map)map.clearOverlays(); 
					buildings = {};
				}
				
				
				$('#'+parentID+' .pages a.selected').removeClass('selected');
				$(this).addClass('selected');
				var link = this;
				var counter = 0;
				var licounter = 0;
				$('#'+parentID+' .buildings li').each(function(){
					if (counter<$(link).attr('offset')*10 || counter>($(link).attr('offset')*10+9)) $(this).hide();
					else {
						licounter++;
						$(this).show();
						this.licounter = licounter;
						
						if ($(this.parentNode).hasClass('onmap')) {
							ag.showOnMap(this.id.replace('my',''), licounter, true);
							
							
						}
						if ($('strong em',this).size()==0) $('strong',this).prepend('<em> </em>');
						$('strong em',this).html(String.fromCharCode(64+licounter));
						
						$('strong', this).ellipsis();
						$('span', this).ellipsis();
						ag.addBuildingImage(this);
					}
					counter++;
				});
				
				if ($('body').hasClass('bigmap')) zoomToAlMarkers();
			
				return false;
			});
			$('#'+listPrefix+'buildings .pages a:first').click();
		}
		
		//ag.addBuildingImages();
		//ag.showResultsonMap();
		
		
	},
	countBuildings: function() {
		var counter = 0;
		for(var k in buildings) {
			counter++;
		}
		return counter;
	},
	showResultsonMap: function(my) {
		if (map)map.clearOverlays(); 
		
		buildings = {};
		$('#buildings li').each(function(){
			
			showPoint(this.id);
		});
	},
	addBuildingImages: function(my){
		
		var listPrefix = '';
		if (my) my = listPrefix = my;
		$('#'+listPrefix+'buildings li').each(function(){
			ag.addBuildingImage(this);
		});
	},
	addBuildingImage: function(li){
		if ($('img',li).size()==0) {
			var img = $('#periods li.'+$(li).attr('id').replace('my','')).css('backgroundImage');
			if (img && img!='none') {
				img = img.match(/\("?(.*)"?\)/i)[1];
				$('a',li).prepend('<img src="'+img+'"/>');
			}
		}
	},
	scrollToSubject: function(target, attention) {
		var targetOffset;
		if (target)targetOffset=$(target).offset().top;
		else targetOffset = 0;
		$('html,body').animate({scrollTop:targetOffset},800,'',function(){
			if (target && attention) {
				
			}
		});
	
	},
	enrichStyles: function(){
		$('#subcontent dd.styles span').each(function(){
			var link = $('#topmenu span:contains("'+$(this).text()+'")').parent().attr('href');
			if (link) {
				$(this).after('<a href="'+link+'&window=style">'+$(this).text()+'</a>');
				$(this).remove();
			}
		});
		$('#subcontent dd.styles a').click(function(){
			ag.createContentLightbox(this);	
			return false;
		});
		
	},
	ajaxTopmenu: function(){
		$('#topmenu a').click(function(){
			var id = ag.getMenuId(this.href);
			ag.handleAjaxContent(id);
			return false;
		});
	},
	loadPeriodsByTopmenuClick: function(){
		
		$('#topmenu #menuitem_124 a.linklevel2, #topmenu #menuitem_426 a.linklevel2').click(function(){
			var link = this;
			$('body').addClass('waiting');
			$('#buildings').load('?window=search_building&searchtype=cGVyaW9k&q='+$(link).text(),function(){
				ag.limitSearchResults();
				ag.minHeight();
				$('body').removeClass('waiting');
			});
		});
	},
	loadStylesByTopmenuClick: function(){
		$('#topmenu #menuitem_426 a.linklevel3').click(function(){
			
			var link = this;
			$('body').addClass('waiting');

			$('#buildings').load('?window=search_building&searchtype=c3R5bGVz&q='+escape($(link).text()),function(){
				ag.limitSearchResults();
				ag.minHeight();
				$('body').removeClass('waiting');
			});
		});
	},
	organiseMyList: function(id) {
		var inlist = ($('#mybuildings li#mybuilding_'+id).size());
	
		$('a.controllist').remove();
		$('#content').before('<a class="controllist '+(inlist?'remove_building':'add_building')+'" id="'+id+'" href="?window=search_building&action='+(inlist?'remove':'add')+'&id='+id+'" title="'+(inlist?'gebouw verwijderen uit mijn lijst':'gebouw toevoegen aan mijn lijst')+'">'+(inlist?'gebouw verwijderen uit mijn lijst':'gebouw toevoegen aan mijn lijst')+'</a>');
		$('a.controllist').click(function(){
			ag.getMyList($(this).attr('id'),($(this).hasClass('remove_building')?'remove':'add'));
			
			return false;
		});
	
	},
	getMyList: function(id,action){
		var actionstr = '';
		if (id && action) actionstr = '&ids='+id+'&action='+action;
		$('body').addClass('waiting');
		$('#mybuildings').load('?window=search_building&show_my_list=1'+actionstr, function(){
			if ($('#mybuildings li').size()>0) {
				$('body').addClass('hasList');
				if ($('a.mylist_button').size()) {
					$('a.mylist_button').attr('title','aantal gebouwen in uw lijst: '+$('#mybuildings li').size());
				}
				else {
					$('#contentcontainer').before('<a class="mylist_button" href="?menuid=457" title="aantal gebouwen in uw lijst: '+$('#mybuildings li').size()+'"> </a>');
					$('a.mylist_button').click(function(){
						ag.handleAjaxContent(457)
						return false;
					});
				}
				
			}
			else {
				$('body').removeClass('hasList');
				$('a.mylist_button').remove();
			}
			if (action=='removeList') id = null;
			ag.limitSearchResults('my');
			ag.minHeight();
			
			$('#mybuildings a.mylist, #mybuildings a.mylist_link').click(function(){
				if (!$(this).hasClass('ignore')) {
					var id = ag.getMenuId(this.href);
					ag.handleAjaxContent(id);
				}
				return false;
			});
			if (id) ag.organiseMyList(id);
			$('body').removeClass('waiting');
		});	
	},
	getMenuId: function(str) {
  		var matches = /\bmenuid=([0-9]+)/.exec(str);
  		if (matches) return matches[1];
  	},
  	getMenuIdByHash: function(str) {
  		var matches = /\_menuid=([0-9]+)/.exec(str);
  		if (matches) return matches[1];
  	},
  	setPeriodClass: function(obj,building_id) {
  		for (period in ag.periods) {
  			$(obj).removeClass('period_'+ag.periods[period]);
  		}
  		var str = ag.getPeriod(building_id);
  		if (str) $(obj).addClass('period_'+str);
  		
  	},
  	checkHash: function(){
  		
  		if (document.location.hash) {
  				currentHash = document.location.hash;
  				var id = ag.getMenuIdByHash(currentHash);
  				
  				if (id)	ag.handleAjaxContent(id);
  			}
  		
  		
  		
  	},
  	handleAjaxContent: function(id, originalObj) {
  		
  		if ($('body').hasClass('bigmap')) {
  			$('#closeMap').click();
  			possibleView = false;
  			$('#markerInfo').hide();
  		}
  		
  		if ($('body').hasClass('home')) {
  			$('body').removeClass('home');
  			moving=false;
  			ag.randomPeriodLocation(true);
  		}
  		
  		 		
  		$('body').addClass('waiting');
  		
  		var obj = $('#topmenu a.linkid_'+id);
  		var type = 'content';
  		
  		if (obj.parent().parent().parent().parent().parent().attr('id') == 'menuitem_124' && obj.hasClass('linklevel3')) type='building';
  		
  		
  		$('body').removeClass('buildingPage');
  		
  
  		$('#contentcontainer').load(obj.attr('href')+((type)?'&window='+type:''),function(){
			if (type=='building') {
  				$('body').addClass('buildingPage');
  				
				ag.handlePictures();
				ag.attachBuildingHandlers();
				ag.showOnMap('building_'+id,(originalObj && $(originalObj.parentNode.parentNode).hasClass('onmap')?originalObj.parentNode.licounter:null));
				ag.showRelatedObjects(obj);
				ag.organiseMyList(id);
				$('#content2 a').each(function(){
					if(this.href.match(/\.mp3$/i)) insertMP3Object(this);
				});
			}
			
			ag.setPeriodClass(document.body,id);
			
			ag.scrollToSubject($('#contentcontainer'));
			
			
			
			$('#topmenu li.currenttree').removeClass('currenttree');
			$('#topmenu a.currentlink').removeClass('currentlink');
			$(obj).addClass('currentlink');
			$(obj).parents('li').addClass('currenttree');
		
			
			ag.minHeight();
			document.location.href = '#_menuid='+ag.getMenuId($(obj).attr('href'));
			$('body').removeClass('waiting');
			var str = 'Architectuurgids Delft';
			$('#topmenu li.currenttree').each(function(){
			    str += ' - '+$('a:first',this).text();
			});

			document.title = str;
			try{
			  _gaq.push(['_setAccount', 'UA-12158544-3']);
			  _gaq.push(['_trackPageview','page',str]);
			}
			catch(e) {

			}
		});
  	}
	
};
var searchtimer;
var periodsTimer;
var moving, entered;
$(document).ready(function() {
	ag.init();
});
var markerClick = false;
var geocoder = null;
var default_point = '52.012023, 4.362431';
var currentmarker;
var defaultMarker;
function initialize() {
	if (!GBrowserIsCompatible()) return;
	map = new GMap2(document.getElementById("googleMap"));
    map.setCenter(new GLatLng(54.00295478084281, 6.372730255126953), 13);
    map.enableContinuousZoom();
    map.setMapType(G_NORMAL_MAP);
	defaultMarker = new GIcon();
	defaultMarker.image = "site/img/map/marker__1945-1970.png";
	defaultMarker.shadow = null;
	defaultMarker.iconSize = new GSize(24, 24);
	defaultMarker.iconAnchor = new GPoint(12, 12);
	
          
    // map.addControl(new GLargeMapControl3D());
    geocoder = new GClientGeocoder();
    map.checkResize();
    map.panTo(new GLatLng(52.012023,4.362431));
    
    GEvent.addListener(map, "move", function() {	
    	if (currentmarker) {
			updateMarkerInfoPosition();
    	}
	});
    
    
}
function updateMarkerInfoPosition() {
	var coords = getPixelCoordinates(currentmarker);	
	$('#markerInfo').css({left: coords['x']+'px',top: coords['y']+'px'});
}
function showAddress(point, edit) {
  map.clearOverlays(); 
  
      if (!point) {
        return false;
      } else {
        map.setCenter(point, 14);
        if (edit) {
        	var marker = new GMarker(point,{draggable: true});
        	map.addOverlay(marker);
      
        	GEvent.addListener(marker, "dragstart", function() {
        		// map.closeInfoWindow();
        	});
        	GEvent.addListener(marker, "dragend", function(latlng) {
        		$('#building_coords').val('('+latlng.lat()+', '+latlng.lng()+')');
        	});
      	}
      	else {
      		var marker = new GMarker(point);
        	map.addOverlay(marker);
      
      	}
      }
  
}
var buildings = {};
var buildingsInfo = [];
function getPixelCoordinates(obj) {
	var bounds = map.getBounds();
	var y2 = bounds.getSouthWest().lat();
	var y1 = bounds.getNorthEast().lat();
	var x1 = bounds.getSouthWest().lng();
	var x2 = bounds.getNorthEast().lng();
	var xdif = x2-x1;
	var ydif = y2-y1;
	var point = obj.getPoint();
	var coords = [];
	
	coords['x'] = Math.round((point.x-x1)*$('#googleMap').width()/xdif)+13;
	coords['y'] = Math.round((point.y-y1)*$('#googleMap').height()/ydif)-26;
	
	return coords;
}
function zoomToAlMarkers() {
	
 if (!map) return;
  var morethanone = false;
  var latlngbounds = new GLatLngBounds( );
  for ( var k in buildings )
  {
    morethanone = true;
  	latlngbounds.extend( buildings[k].getLatLng() );
  }
  if (morethanone) map.setCenter( latlngbounds.getCenter( ), Math.max(13,Math.floor(map.getBoundsZoomLevel( latlngbounds )*0.98)) );
	
	
	
	
}
var markerTimer;
function showPoint(id,counter, nopan) {
		
		if(!map) return false;
	
		var buildingmenuidid = id.split('_').pop();
	
	 	if (!buildingsInfo[id]) {
	 		buildingsInfo[id] = [];
	 		
	 		
	 		
	 	
	 		
	 		if ($('#periods li.'+id).css('backgroundImage')) buildingsInfo[id]['title'] = '<h4 style="background-image: '+ $('#periods li.'+id).css('backgroundImage').replace('\'','').replace('"','')+'">'+$('#topmenu a.linkid_'+buildingmenuidid).text()+'</h4>';
	 		else buildingsInfo[id]['title'] = '<h4>'+$('#topmenu a.linkid_'+buildingmenuidid).text()+'</h4>';
	 		
	 	}
	
		if (buildings && buildings[id]) {
			 var marker = buildings[id];
			 map.panTo(marker.getLatLng());
		}
		else {
			var coords = $('#periods ul li.'+id).attr('coords');
			if (!coords) return;
			
			var coordsArr = coords.split(', ');
			
			var point = new GLatLng(coordsArr[0].replace('(',''),coordsArr[1].replace(')',''));
			// map.setCenter(point, 16);
			
			var markerIcon = new GIcon(defaultMarker);
			markerIcon.image = "site/img/map/marker__"+ag.getPeriod(buildingmenuidid)+((counter)?'_'+String.fromCharCode(64+counter):'')+'.png';
			
			var markerOptions = { icon:markerIcon };
		
			
	    	var marker = new GMarker(point, markerOptions);
	    	
	    	marker.id="map_"+id;
	    	marker.ownerID = id;
	    	GEvent.addListener(marker, "mouseover", function() {
	    		clearTimeout(markerTimer);
	    		var buildingmenuidid = marker.id.split('_').pop();
	    		if ($('#markerInfo').size()==0) {
	    			$('#map').append('<div id="markerInfo"> </div>');
	    			$('#markerInfo').hover(function(){
	    				clearTimeout(markerTimer);
	    			},function(){
	    				$('#markerInfo').hide();
	    				possibleView = false;
	    			});
	    		}
	    		
	    		
	    	
	    		$('#markerInfo').show().removeClass('small');
	    		$('.buildings #building_'+buildingmenuidid +', .buildings #mybuilding_'+buildingmenuidid).addClass('selected');
	    		ag.setPeriodClass($('#markerInfo'),buildingmenuidid);
	    		          	
	    		if (currentmarker != marker) {
    				currentmarker = marker;
    				
	    			var buildingmenuidid = marker.id.split('_').pop();
		    		$('#markerInfo').html(buildingsInfo[marker.ownerID]['title']+'<a class="building_more" href="?menuid='+buildingmenuidid+'">lees meer</a>');
		    		
		    		$('#markerInfo dl a').click(function(){return false;});
		    		updateMarkerInfoPosition();
		    		$('#markerInfo a.building_more').click(function(){
		    			var id = ag.getMenuId(this.href);
		    			ag.handleAjaxContent(id);
						return false;
		    		});
		    		
	    		}
	    		
	    		
	    		
	    		
	    		
	    	});
	    	GEvent.addListener(marker, "mouseout", function() {
	    		// $('#markerInfo').hide().removeClass('small');
	    		markerTimer = setTimeout(function(){
	    			$('#markerInfo').hide();
	    			possibleView = false;
	    			clearTimeout(markerTimer);
	    			
	    		},1000);
	    		$('.buildings #building_'+buildingmenuidid +', .buildings #mybuilding_'+buildingmenuidid).removeClass('selected');
	    		
	    	});
	    	GEvent.addListener(marker, "click", function() {
	    		if ($('#markerInfo').size()==0) $('#map').append('<div id="markerInfo"> </div>');
	    		if ($('#markerInfo').size()) {
	    			$('#markerInfo a.building_more').click();
	    			$('#markerInfo').remove();
	    		}
	    		$('#markerInfo').show().removeClass('small');
	    		          	
	    		
	    		
				
			});
	    	map.addOverlay(marker);
	    	if (!nopan) map.panTo(marker.getLatLng());
	    	buildings[id] = marker;
	
	    	
		}
}
