﻿var mapMarkers = new Array
var mapBounds = new GLatLngBounds(new GLatLng(55.7366196635, 10.8125), new GLatLng(67.612614238, 24.3156527123));
var mapMinZoom = 5;
var mapMaxZoom = 5;
var mapZoomLevel = 5;
var opacity = 0.99;
var map;
var hybridOverlay;
var iconnr = 0;
function createIcon() {
    if (iconnr > 6) { iconnr = 0; }
    var hssIcon = new GIcon(G_DEFAULT_ICON, "/media/images/map/icon" +iconnr + ".png");
    iconnr += 1;
    hssIcon.shadow = undefined;
    hssIcon.iconSize = new GSize(16, 16);
    hssIcon.shadowSize = new GSize(16, 16);
    hssIcon.iconAnchor = new GPoint(8, 8);
    hssIcon.infoWindowAnchor = new GPoint(9, 8);
    return hssIcon
}
    
function createMarker(point, txt, id) {
    var markerOptions = { icon:createIcon() };
    var windowOptions = { maxWidth: 320};
      var marker = new GMarker(point, markerOptions);
      marker.id = id;
      GEvent.addListener(marker, "click", function() {
        var myHtml = txt;
        map.openInfoWindowHtml(point, myHtml, windowOptions);
      });
      return marker;
}

/*
 * Main load function:
 */

$(document).ready( function () {
   if (GBrowserIsCompatible()) {
    var copyCollection = new GCopyrightCollection('');
    var copyright = new GCopyright(1, new GLatLngBounds(new GLatLng(-90, -180), new GLatLng(90, 180)), 0, "&copy; HSS");
    copyCollection.addCopyright(copyright);
    
    var tilelayers = [new GTileLayer(copyCollection, 3, 7)];
    var mercator = new GMercatorProjection(mapMaxZoom+1);
    
    tilelayers[0].getTileUrl = function (tile,zoom) {
          if ((zoom < mapMinZoom) || (zoom > mapMaxZoom)) {
              return "/media/images/map/blank.png";
          } 
          var ymax = 1 << zoom;
          var y = ymax - tile.y -1;
          var tileBounds = new GLatLngBounds(
              mercator.fromPixelToLatLng( new GPoint( (tile.x)*256, (tile.y+1)*256 ) , zoom ),
              mercator.fromPixelToLatLng( new GPoint( (tile.x+1)*256, (tile.y)*256 ) , zoom )
          );
          if (mapBounds.intersects(tileBounds)) {
              return "/media/images/map/"+zoom+"_"+tile.x+"_"+tile.y+".png";
          } else {
              return "/media/images/map/blank.png"; 
          }
      }

    var custommap = new GMapType(tilelayers, new GMercatorProjection(6), "HSS", {errorMessage:"No data available"});
    map = new GMap2( document.getElementById("map"), { backgroundColor: '#fff' } );
    map.addMapType(custommap);
    map.setMapType(custommap);

      map.setCenter(new GLatLng(62.912317938386914,16.659765625), mapZoomLevel);//mapBounds.getCenter()
      map.disableDragging();
      
   }

});

var cache = new Array();
function fetch_content(id) {
    if (id=='') {
        
    }
    else if (id in cache) {
        $("div#idea-text").html(cache[id]);
        sIFReplaceH3("div#idea-text h3");
    }
    else {
        $.get("/ideas/"+id+"/info",{}, function(d){
          cache[id] = d;
          $("div#idea-text").html(d);
          sIFReplaceH3("div#idea-text h3");
        })
    }
    //$('window').scrollTop();
}

$(document).ready( function () {
    $("a.loadcontent").click(function() {
        fetch_content($(this).attr('id'));
        return false;
    });
});
