var infowindowLevel = 0;

// === Some cookie parameters ===
var cookiename = "gmapinfo";  // name for this cookie
var expiredays = 365;        // number of days before cookie expiry

// === Set the cookie before exiting ===
function setCookie() {
  var cookietext = cookiename+"="+googleMap.getCenter().lat()+"|"+googleMap.getCenter().lng()+"|"+googleMap.getZoom()+"|"+googleMap.getMapTypeId();
  if (expiredays) {
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    cookietext += ";expires="+exdate.toGMTString();
  }
  // == write the cookie ==
  document.cookie=cookietext+";path=/";
}

function paper_marker(paper) {
var contentString = '<div style="padding:5px"><div class="outline"><div class="paper" style="background: url(' + paper.display_image + ') no-repeat center"></div>';
contentString += '<div class="menu" style="display:none">';
contentString += '<ul><li class="paper-name">' + paper.name + '</li>';
if (paper.display_more_url) {
  contentString += '<li><a href="' + paper.display_more_url + '" target="_blank">Forhåndsvisning</a></li>';
}
if (paper.display_buy_url) {
 if (paper.free) {
  url_text = 'Les gratis'
 }
 else {
  url_text = 'Kjøp'
 }
 contentString += '<li><a href="' + paper.display_buy_url + '" target="_blank">' + url_text + '</a></li>';
}
if (paper.web_url) {
 contentString += '<li><a href="' + paper.web_url + '" target="_blank">Webside</a></li>';
}
if (paper.twitter_name) {
 contentString += '<li><a href="http://twitter.com/' + paper.twitter_name + '" target="_blank">Twitter</a></li>';
}

contentString += '<li><a href="/vis/' + paper.perma_url + '">Infoside</a></li>';
contentString += '</ul></div></div></div>';
  
  var infowindow = new google.maps.InfoWindow({
    content: contentString
  });

  var paperLatlng = new google.maps.LatLng(paper.latitude, paper.longitude);

  var marker = new google.maps.Marker({
    position: paperLatlng,
    map: googleMap,
    title: paper.name
  });

  google.maps.event.addListener(marker, 'click', function() {
    infowindow.setZIndex(++infowindowLevel);
    if (googlePanorama.getVisible()) {
      infowindow.open(googlePanorama,marker);
    } else {
      infowindow.open(googleMap,marker);
    }

  });
}

function initialize() {

  // === Default values to use if there is no cookie ===
  var lat = 64.500000;
  var lng = 15.000000;
  var zoom = 5;
  var maptype = google.maps.MapTypeId.ROADMAP;

  // === Look for the cookie ===
  if (document.cookie.length>0) {
    cookieStart = document.cookie.indexOf(cookiename + "=");
    if (cookieStart!=-1) {
      cookieStart += cookiename.length+1;
      cookieEnd=document.cookie.indexOf(";",cookieStart);
      if (cookieEnd==-1) {
        cookieEnd=document.cookie.length;
      }
      cookietext = document.cookie.substring(cookieStart,cookieEnd);
      // == split the cookie text and create the variables ==
      bits = cookietext.split("|");
      lat = parseFloat(bits[0]);
      lng = parseFloat(bits[1]);
      zoom = parseInt(bits[2]);
      if(bits[3] == 'satellite' || bits[3] == 'hybrid' || bits[3] == 'terrain') {
        maptype = bits[3];
      }
    }
  }

  //  ======== Create map ==========
  var myLatlng = new google.maps.LatLng(lat, lng);
  var myOptions = {
    zoom: zoom,
    center: myLatlng,
    mapTypeId: maptype
  };

  googleMap = new google.maps.Map(document.getElementById("map"), myOptions);
  googlePanorama = googleMap.getStreetView();

  $.getJSON('/kart/index.json', function(data) {
    $.each(data, function(i, paper){
      paper_marker(paper);
    });
  });


}
