var cur_index = 0;
var visit_count = 0;
var arindexed = new Array();

var grouping = 100;
var group_array = new Array(10, 25, 50, 100, 250);
var map;
var map_key;

function getmarkers(index_change){
    
    var block = document.getElementById("refreshing");
    block.style.display = "block";
  cur_index = cur_index + index_change;
  if (cur_index < 0){
    cur_index = 0;
  }
  if (cur_index >= arindexed.length){
    cur_index = arindexed.length - 1;
  }
  var cur_start_stop = arindexed[cur_index];
  var start = cur_start_stop[0];
  var stop = cur_start_stop[1];
  document.getElementById("cur_pos").innerHTML = start.toString() + " - " + stop.toString();
  //var d = loadJSONDoc("/user_map_data/user_map_data?key=***map_key***&start=" + start + "&stop=" + stop);
  //d.addCallback(populateMap);
  jQuery.getJSON( "/user_map_data/user_map_data", {"key": map_key, "start": start, "stop": stop}, populateMap )
}

function update_group_cnt(){
    
  document.map_control.display.options
  for (var i = 0; i < document.map_control.display.options.length; i++){
    if (document.map_control.display.options[ i ].selected){
      grouping = group_array[i];
    }
  }
  //update arindexed
  var idx = 0;
  var i = 0;
  var new_end = 0;
  while (i <= visit_count){
    new_end = i + grouping;
    if (new_end > visit_count){
      new_end = visit_count;
    }
    arindexed[idx] = new Array(i + 1, new_end);
    idx++;
    i = i + grouping;
  }
  cur_index = 0;
  getmarkers(0);
}

function populateMap(result){
    map.clearOverlays();
    var icon = new GIcon();
    icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
    icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
    icon.iconSize = new GSize(12, 20);
    icon.shadowSize = new GSize(22, 20);
    icon.iconAnchor = new GPoint(6, 20);
    icon.infoWindowAnchor = new GPoint(5, 1);
      var arPoints = result["points"];
      var start_time = result["start"];
      var end_time = result["end"];
      document.getElementById("start_time").innerHTML = start_time;
      document.getElementById("end_time").innerHTML = end_time;
      for ( var i = 0; i < arPoints.length; i++){
          point = arPoints[i];
          var pnt_array = point.split(",");
      var map_point = new GLatLng(pnt_array[0], pnt_array[1]);
      map.addOverlay(new GMarker(map_point, icon));
              }
    var block = document.getElementById("refreshing");
        block.style.display = "none";
  }
    
function load() {
    map_key = document.forms["form_data"].elements["map_key"].value;
    function getusercnt(result){
      visit_count = parseInt(result["count"]);
      document.getElementById("tot_cnt").innerHTML = visit_count.toString();
      update_group_cnt();
    }
    
    
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map"));
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
	map.addControl(new GScaleControl());
	map.setCenter(new GLatLng(20.4419, 5.1419), 1);
	
	
    //var d = loadJSONDoc("/user_map_count/user_map_count?key=***map_key***");
    //d.addCallback(getusercnt);
    
    jQuery.getJSON( "/user_map_count/user_map_count", {"key": map_key}, getusercnt )
    }
}


