var dealer = false;
var dealers = {};
var map;

$(function () {

  if (!document.getElementById("map")) return;

  var latlng = new google.maps.LatLng(63.939, 25.425);

  var mapOptions = 
  {
    zoom: 5,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
    // disableDefaultUI: true,
    // navigationControl: true,
    // mapTypeControl: false,
    // scaleControl: false
  };

  map = new google.maps.Map(document.getElementById("map"), mapOptions);
  
  /*
  google.maps.event.addListener(map, 'click', function (e) {
    console.log(e.latLng);
    console.log(map.getCenter());
  });
  */
  
  $.each(dealers, function (key, data) {
    addMarker(data, key);
  });

  if (dealer) addMarker(dealer, false);
});


function addMarker (data, key)
{
  if (!data.coordinates || data.coordinates == '')
  {
    var gc = new google.maps.Geocoder();
    gc.geocode( {'address': data.address +" "+ data.city }, function (results, status) {
      if (status == google.maps.GeocoderStatus.OK) 
      {
        data.latlng = results[0].geometry.location
        createMarker(data, key);
      }
    });
  }
  else
  {
    var coords = data.coordinates.split(",");
    data.latlng = new google.maps.LatLng(coords[0], coords[1]);
    createMarker(data, key);
  }
}


function createMarker (data, key)
{

  var markerImage = new google.maps.MarkerImage(
    '/files/Vianor2006/2009-images/map-vianor-icon-bubble.png',
    new google.maps.Size(56, 69),
    new google.maps.Point(0, 0),
    new google.maps.Point(6, 69)
  );
  
  var marker = new google.maps.Marker({
    position: data.latlng,
    map: map, 
    title: (data.name ? data.name : ''),
    icon: (key ? '' : markerImage)
  });   

  if (key)
  {
    var infowindow = new google.maps.InfoWindow({
      content: 
        '<b><a href="/outlet_copy?outlet='+ key +'">'+ data.name +'</a></b><br />'+
        data.address +'<br />'+
        data.zip +' '+ data.city +'<br />'+
        (data.open ? + 'Czas otwarcia:<br />'+ data.open +'<br />' : '')
    });

    google.maps.event.addListener(marker, 'click', function () {
      infowindow.open(map, marker);
    });
  }

  map.setCenter(data.latlng);
  map.setZoom(14);
}
