var map;
var mapCenter=new Array(49.8, 15.5);
var mapCenterFlag=false;
var mapZoom=7;
var gyms=new Array();
var points=new Array();

function varInit(){
  mapCenter=new GLatLng(mapCenter[0], mapCenter[1]);
  if (mapCenterFlag)
    mapCenterFlag=new GLatLng(mapCenterFlag[0], mapCenterFlag[1]);
  makeIcons();
}

// Google Map Custom Marker Maker 2009
// Please include the following credit in your code

// Sample custom marker code created with Google Map Custom Marker Maker
// http://www.powerhut.co.uk/googlemaps/custom_markers.php

var myIcon1;
var myIcon2;
var myMarkerOptions1;
var myMarkerOptions2;
function makeIcons(){
  myIcon1 = new GIcon();
  myIcon1.image = 'img/marker1/image.png';
  myIcon1.shadow = 'img/marker1/shadow.png';
  myIcon1.iconSize = new GSize(31,35);
  myIcon1.shadowSize = new GSize(49,35);
  myIcon1.iconAnchor = new GPoint(16,35);
  myIcon1.infoWindowAnchor = new GPoint(16,0);
  myIcon1.printImage = 'img/marker1/printImage.gif';
  myIcon1.mozPrintImage = 'img/marker1/mozPrintImage.gif';
  myIcon1.printShadow = 'img/marker1/printShadow.gif';
  myIcon1.transparent = 'img/marker1/transparent.png';
  myIcon1.imageMap = [27,0,28,1,29,2,29,3,29,4,29,5,29,6,29,7,29,8,29,9,29,10,29,11,29,12,29,13,29,14,29,15,29,16,29,17,29,18,29,19,29,20,28,21,26,22,24,23,23,24,22,25,21,26,20,27,20,28,19,29,18,30,17,31,16,32,17,33,23,34,17,34,16,33,14,32,13,31,12,30,11,29,10,28,9,27,8,26,7,25,6,24,5,23,2,22,1,21,1,20,1,19,1,18,1,17,1,16,1,15,1,14,1,13,1,12,1,11,1,10,1,9,1,8,1,7,1,6,1,5,1,4,1,3,1,2,1,1,2,0];
  
  myIcon2 = new GIcon();
  myIcon2.image = 'img/marker2/image.png';
  myIcon2.shadow = 'img/marker2/shadow.png';
  myIcon2.iconSize = new GSize(55,47);
  myIcon2.shadowSize = new GSize(79,47);
  myIcon2.iconAnchor = new GPoint(28,47);
  myIcon2.infoWindowAnchor = new GPoint(28,0);
  myIcon2.printImage = 'img/marker2/printImage.gif';
  myIcon2.mozPrintImage = 'img/marker2/mozPrintImage.gif';
  myIcon2.printShadow = 'img/marker2/printShadow.gif';
  myIcon2.transparent = 'img/marker2/transparent.png';
  myIcon2.imageMap = [17,0,17,1,25,2,29,3,31,4,32,5,33,6,33,7,34,8,34,9,34,10,34,11,34,12,34,13,35,14,37,15,54,16,52,17,50,18,48,19,46,20,43,21,39,22,18,23,17,24,17,25,17,26,17,27,17,28,21,29,23,30,25,31,27,32,28,33,28,34,29,35,29,36,29,37,29,38,29,39,29,40,28,41,28,42,27,43,25,44,23,45,21,46,8,46,6,45,4,44,2,43,1,42,1,41,0,40,0,39,0,38,0,37,0,36,0,35,1,34,1,33,2,32,4,31,6,30,8,29,13,28,13,27,13,26,13,25,13,24,13,23,13,22,13,21,13,20,13,19,13,18,13,17,13,16,13,15,13,14,13,13,13,12,13,11,13,10,13,9,13,8,13,7,13,6,13,5,13,4,13,3,13,2,13,1,14,0];
  
  myMarkerOptions1={icon: myIcon1};
  myMarkerOptions2={icon: myIcon2};
}

function mapInitReg(){
  varInit();
  if (GBrowserIsCompatible()) {
    var mapElem=document.getElementById("map-canvas");
    if (!mapElem) return;
    map =new GMap2(mapElem);
    map.setCenter(mapCenter, mapZoom);
    var mapSize=new GSize(parseInt(mapElem.offsetWidth),parseInt(mapElem.offsetHeight) );
    map.disableDragging();
    map.disableDoubleClickZoom();
    if (pointCount){
      mapCenter=new GLatLng(points[0][0],points[0][1]);
      var bounds=new GLatLngBounds(mapCenter,mapCenter);
      for(i=0;i<pointCount;i++){
        point=new GLatLng(points[i][0],points[i][1]);
        if (i) bounds.extend(point);
        createMarkerReg(point,i)
      }
      bounds.extend(new GLatLng(2*mapCenter.lat()-bounds.getSouthWest().lat(),2*mapCenter.lng()-bounds.getSouthWest().lng()));
      bounds.extend(new GLatLng(2*mapCenter.lat()-bounds.getNorthEast().lat(),2*mapCenter.lng()-bounds.getNorthEast().lng()));
      zoom=map.getCurrentMapType().getBoundsZoomLevel(bounds,mapSize);
      map.setZoom(Math.min(15,zoom));
      map.panTo(mapCenter);
    }
  }
}

function createMarkerReg(point,i){
  marker=new GMarker(point,myMarkerOptions1);
  var opt=i;
  GEvent.addListener(marker, 'click', function() {
    if (map.getZoom()<15)
      map.setZoom(15);
    pointnew=this.getLatLng();
    map.panTo(pointnew);
    radio=document.getElementsByName('latlng');
    radio[opt].checked='checked';
  });
  map.addOverlay(marker);
}

function regOptClick(lat,lng){
  if (map.getZoom()<15)
    map.setZoom(15);
  map.panTo(new GLatLng(lat,lng));
}

function mapInit(){
  varInit();
  if (GBrowserIsCompatible()) {
    var mapElem=document.getElementById("map-canvas");
    if (!mapElem) return;
    map = new GMap2(mapElem);
    map.setCenter(mapCenter, mapZoom);
    var customUI = map.getDefaultUI();
    map.setUI(customUI);
    map.disableScrollWheelZoom();
    map.enableContinuousZoom();
    /*for(i=0;i<markerCount;i++){
        map.addOverlay(markers[i]);
    }*/
    if(mapCenterFlag)
      map.addOverlay( new GMarker(mapCenterFlag,myMarkerOptions2) );
    gymCount=gyms.length;
    for (i=0;i<gymCount;i++)
      gymToMarker(gyms[i]);
  }
}

function gymToMarker(gym){
  point=new GLatLng(gym[1],gym[2]);
  marker=new GMarker(point,myMarkerOptions1);
  GEvent.addListener(marker, 'click', function() {
    if (map.getZoom()<14)
      map.setZoom(14);
    pointnew=this.getLatLng();
    html="<h3><a href=\"gym.php?id="+gym[0]+"#map-canvas\">"+gym[3]+"</a></h3>";
    html+="<b>"+gym[4]+"</b>";
    html+="<p style=\"max-width:500px\">"+gym[5]+"</p>";
    html+="<a href=\"gym.php?id="+gym[0]+"#map-canvas\">Více informací</a>";

    map.panTo(pointnew);
    map.openInfoWindowHtml(pointnew,html);
  });
  map.addOverlay(marker);
}

var RecaptchaOptions = {
  custom_translations : {
    instructions_visual : "Opište obě slova:",
    instructions_audio : "Napište 8 číslic:",
    play_again : "Přehrát znovu",
    cant_hear_this : "Stáhnout zvuk ve formátu MP3",
    visual_challenge : "Obrazové zadání",
    audio_challenge : "Zvukové zadání",
    refresh_btn : "Nové zadání",
    help_btn : "Nápověda",
    incorrect_try_again : "Špatně. Zkuste to znovu."
  },
  lang : 'cz', // Unavailable while writing this code (just for audio challenge)
  theme : 'clean'
};