function addIcon(icon){
	icon.shadow = "http://www.google.com/mapfiles/shadow50.png";
	icon.iconSize = new GSize(32, 32);
	icon.shadowSize = new GSize(37, 34);
	icon.iconAnchor = new GPoint(15, 34);
	icon.infoWindowAnchor = new GPoint(19, 2);
	icon.infoShadowAnchor = new GPoint(18, 25);
}

function addClickevent(marker) {
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(marker.content);
		count = marker.nr;
		tourPause();
	});
	return marker;
}

function buildMuseums(){
	
	if (!GBrowserIsCompatible()) {
		return;
	}
	
	map = new GMap2(document.getElementById("map"));
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	map.setCenter(new GLatLng(default_lat, default_lon), default_zoom);

	var icon = new GIcon();
	icon.image = "http://www.google.com/intl/en_de/mapfiles/ms/icons/ltblue-dot.png";
	addIcon(icon);	
	
	for(var i = 0; i < data.length; i++) {
		points[i] = new GLatLng(parseFloat(data[i].lat), parseFloat(data[i].lng));
		gmarkers[i] = new GMarker(points[i], icon);
		
		var html ="<div class='infowindow'>" +
					"<span class='title'>"+ data[i].name + "<\/span><p>";

		if(data[i].address)
			html +=	"<br><strong>Direcci&oacute;n:<\/strong> " + data[i].address;
		if(data[i].info)
			html +=	"<br>" + data[i].info;

		html +=	"<\/p><\/div>";
		
		gmarkers[i].content = html;
		gmarkers[i].nr = i;
		addClickevent(gmarkers[i]);
		map.addOverlay(gmarkers[i]);
	}
	
	gmarkers[0].openInfoWindowHtml( gmarkers[0].content );
	route = setTimeout("anim()", 4600);
}

function buildMap(){
	
	if (!GBrowserIsCompatible()) {
		return;
	}
	
	map = new GMap2(document.getElementById("map"));
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	map.setCenter(new GLatLng(default_lat, default_lon), default_zoom);

	var icon = new GIcon();
	icon.image = "http://www.google.com/intl/en_de/mapfiles/ms/icons/ltblue-dot.png";
	addIcon(icon);	
	
	for(var i = 0; i < data.length; i++) {
		points[i] = new GLatLng(parseFloat(data[i].lat), parseFloat(data[i].lng));
		gmarkers[i] = new GMarker(points[i], icon);
		
		var html ="<div class='infowindow'>" +
					"<a href='"+ data[i].title_href + "' class='title'>"+ data[i].title + "<\/a> <span class='date'>("+ data[i].date +")<\/span><p>" +
					"<strong>Categor&iacute;a:<\/strong> <a href='"+ data[i].category_href + "' class='category'>" + data[i].category_name + "<\/a><br>" +
					"<strong>Lugar:<\/strong> " + data[i].place;

		if(data[i].address)
			html +=	"<br><strong>Direcci&oacute;n:<\/strong> " + data[i].address;
		if(data[i].phone)
			html +=	"<br><strong>Tel&eacute;fono:<\/strong> " + data[i].phone;
		if(data[i].showtime)
			html +=	"<br><strong>Horario:<\/strong> " + data[i].showtime;

		html +=	"<\/p><\/div>";
		
		gmarkers[i].content = html;
		gmarkers[i].nr = i;
		addClickevent(gmarkers[i]);
		map.addOverlay(gmarkers[i]);
	}
	
	gmarkers[0].openInfoWindowHtml( gmarkers[0].content );
	route = setTimeout("anim()", 4600);
}

function togglePause(){
	if(!pause) {
		tourPause();
	}else{
		tourPlay();
	}
}

function tourPause(){
	pause = true;
	clearTimeout(route);
	src = "images/maps/play.png";
	changeImage(src);
}

function tourPlay(){
	pause = false;
	anim();
	src = "images/maps/pause.png";
	changeImage(src);
}

function changeImage(src){
	var buttonimage = $("#buttonimage");
	buttonimage.attr("src", src);
}

function carryOn() {
	if(pause == true) anim();
	pause = false;
}

function anim() {
	count++;
	if(count < points.length) {
		map.panTo(points[count]);
		gmarkers[count].openInfoWindowHtml( gmarkers[count].content);
		var delay = 5600;
	
		if((count+1) != points.length)	var dist = points[count].distanceFrom(points[count+1]);
		route = setTimeout("anim()", delay);
		
	}else {
		setTimeout("playAgain()", 7200);
	}
}


function playAgain() {
	
	GUnload();
	if(route) clearTimeout(route);
	
	if(points.length == 1) return;
	
	pause = false;
	count = 0;
	eval(callback);
}
