var cp20 = 1;
    var vysledky = true;
    var vybranaZalozka = 0;
    var tedgraf = false;

    function initialize() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map_canvas"));
        map.setCenter(new GLatLng(50.07938055555556, 12.37028333333333), 11);
        map.setUIToDefault();
    
        // Download the data in data.xml and load it on the map. The format we
        // expect is:

        GDownloadUrl("regvys/mapacp.php", function(data) {
          var xml = GXml.parse(data);
  
          var start = 0;
          var cps = xml.documentElement.getElementsByTagName("cp");
           for (var i = 0; i < cps.length; i++) {
            var latlng = new GLatLng(parseFloat(cps[i].getAttribute("lat")),
                                    parseFloat(cps[i].getAttribute("long")));
            var oznaceni = cps[i].getAttribute("oznaceni");

            map.addOverlay(createMarker (latlng, oznaceni, cps[i].getAttribute("cislo")));
            if (start != 0) {
               map.addOverlay(createLine (start, latlng, i, cps[i].getAttribute("barva"), cps[i].getAttribute("zakodovanebody"), cps[i].getAttribute("zakodovaneurovne")));

            }
            start = latlng
          }
        });
      }
    }
    
    function createMarker(point, oznaceni, cislo) {
      // Set up our GMarkerOptions object
      markerOptions = { title:oznaceni };
      var marker = new GMarker(point, markerOptions);
      if (cislo == 7) {
        cp20 = marker;
        
      }
      GEvent.addListener(marker, "click", function() {
        //marker.openInfoWindowHtml("Marker <b>" + oznaceni + "</b>");
        //document.getElementById ('vysledkovnik').innerHTML = "Marker <b>" + index + "</b>";
        makeRequestOkynko ('CPVysl', cislo, 1);
      });
      return marker;
    }
    
    function createLine (start, end, index, barva, zakodovanebody, zakodovaneurovne) {
      
      if (zakodovanebody != '') {
         var polyline = new GPolyline.fromEncoded({
          color: barva,
          weight: 3,
          points: zakodovanebody,
          levels: zakodovaneurovne,
          zoomFactor: 32,
          numLevels: 4
        });
      } else {
        var polyline = new GPolyline([ start,    end], barva, 3);
      }
      GEvent.addListener(polyline, "click", function() {
        document.getElementById ('vysledkovnik').innerHTML = "Marker <b> " + index + "</b>";
        // polystyle = {weight:10};
        // polyline.setStrokeStyle (polystyle);
        makeRequestOkynko (1, 1, 1);
      });
      return polyline
    }
    
    
    function makeRequestOkynko (co, id, okynko) {
        if (co != 'Mapa') {
        vysledky = vybranaZalozka == 0;
          if (!vysledky) {
            //if (co == 'CPVysl') co = 'CPpopis';
            if (co == 'Tym') co = 'Tympopis';
          }
          
          dalsiretezec = '';
          
          if (co == 'Graf') {
            dalsiretezec = '&' + id;
            id = 0;
          }

          
          lang = document.getElementById ('jazyk').innerHTML;

          var URL = 'vys_okynko.php?' +'co=' + co + '&id=' + id +  '&konst=' + Math.random() + '&lang=' + lang + dalsiretezec;
          var http_request = false;
          http_request = prepareRequest (http_request);
          http_request.onreadystatechange = function() { handleOkynko (http_request, okynko); };
          http_request.open('GET', URL, true);
          http_request.send(null);
        } else {
           document.getElementById('map_canvas').style.display = 'block';
           document.getElementById('map_canvas').style.visibility = 'visible';
           document.getElementById('vys_vokynko_obsah').style.display = 'none';
           
        }
        if (co == 'Video') {makeRequestOkynko ('VideoMenu', 0, 1);}
        if (co == 'Graf' & !tedgraf) {makeRequestOkynko ('GrafOvladani', 0, 1);}
        tedgraf = false;
        
    }
    
    function handleOkynko (http_request, okynko) {
     if (http_request.readyState == 4) {
            if (http_request.status == 200) {
               var doc = http_request.responseText;
               if (okynko == 0) {
                  document.getElementById('map_canvas').style.display = 'none';
                  document.getElementById('vys_vokynko_obsah').style.display = 'block';
                  document.getElementById('vys_vokynko_obsah').innerHTML = doc;
               }
               if (okynko == 1) document.getElementById('vys_mokynko').innerHTML = doc;
               return false;

        } else {
          alert('We were not able to connect to the server');
        }
      }
    }



      function prepareRequest (http_request) {
        if (window.XMLHttpRequest) { // Mozilla, Safari, ...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
                // See note below about this line
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
        if (!http_request) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return null;
        }  else {
           return http_request;
        }

    }
    
    function prepniMenu (nove, pocet) {
       for (i = 0; i < pocet; i++) {
         zhasnuti = document.getElementById ('menuitem' + i);
         zhasnuti.className = '';
       }
       rozsviceni = document.getElementById ('menuitem' + nove);
       rozsviceni.className = 'selected';
    }
    
    
    function prepniZalozky (nove, pocet) {
       for (i = 0; i < pocet; i++) {
         zhasnuti = document.getElementById ('zalozkaitem' + i);
         zhasnuti.className = '';
       }
       rozsviceni = document.getElementById ('zalozkaitem' + nove);
       rozsviceni.className = 'selected';
       vybranaZalozka = nove;
       
    }
    
    function zapakujGrafOvladani () {
       vysledek = '';
       
       hodnota = document.getElementById ('cpstart').value;
       vysledek = vysledek + 'cpstart=' + hodnota;
       hodnota = document.getElementById ('cpend').value;
       vysledek = vysledek + '&cpend=' + hodnota;
       
       for (i = 1; i <= 9; i++) {
         hodnota = document.getElementById ('idtym' + i).value;
         if (hodnota > -1) {
              if (vysledek != '') vysledek = vysledek + '&';
              vysledek = vysledek + 'idtym' + i + '=' + hodnota;
          } 
       }
       
 
       
       
       return vysledek;
    }
