//<![CDATA[
var img_path = "http://www.bcnlanguages.com/images/interface";

// Global variables
var data = [
 { name: "BCNLANGUAGES", image:img_path + "/logoc.gif", date: "Carrer de Sants 257 (Rambla Badal)", lat:"41.375507561154464", lng:"2.130768299102783" },
];

var map, route;
var points = [];
var gmarkers = [];
var count =0;
var stopClick = false;


function addIcon(icon) { // Add icon attributes

 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) { // Add a click listener to the markers

 GEvent.addListener(marker, "click", function() {
  marker.openInfoWindowHtml(marker.content);
 });
 return marker;
}


function buildMap() {

 if(GBrowserIsCompatible()) {
  map = new GMap2(document.getElementById("map"));
  map.setCenter(new GLatLng(41.375507561154464, 2.130768299102783), 15);
  map.addControl(new GSmallMapControl());
  map.addControl(new GMapTypeControl());

  // Light blue marker icons
  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);

   // Store data attributes as property of gmarkers
   var html ="<div class='infowindow'><img src='" + data[i].image + "'align='left' style='margin-right:5px;' /><strong>"+ data[i].name + "<\/strong><p>" +
   data[i].date + "<\/p></div>";
   gmarkers[i].content = html;
   addClickevent(gmarkers[i]);
   map.addOverlay(gmarkers[i]);
  }
  // Draw polylines between marker points
  var poly= new GPolyline(points, "#003355", 3, .5);
  map.addOverlay(poly);

  // Open infowindow of first marker
  gmarkers[0].openInfoWindowHtml( gmarkers[0].content);

  route =setTimeout("anim()", 3600);
 }
}


function haltAnim() {

 if(route) {
  clearTimeout(route);
  stopClick = true;
 }
}


function carryOn() {

 if(stopClick == true) anim();
 stopClick = false;
}


function anim() {

 count++;
 if(count < points.length) {
  map.panTo(points[count]);
  gmarkers[count].openInfoWindowHtml( gmarkers[count].content);
  var delay = 3400;
  if((count+1) != points.length)

   var dist = points[count].distanceFrom(points[count+1]);

  // Adjust delay
  if( dist < 10000 ) {
   delay = 2000;
  }
  if( dist > 80000 ) {
   delay = 4200;
  }
  route = setTimeout("anim()", delay);
 }
  else {
  clearTimeout(route);
  count = 0;
  route = null;
 }
}


function playAgain() {

 GUnload();
 if(route) clearTimeout(route);
 stopClick = false;
 count = 0;
 buildMap();
}

//]]>
