/*
  javascript objekt

*/

var editznac = new Array(); 	// pole objektů dynamických značek
var polefota = new Array(); 	// pole objektů dynamických fotek
var cardznac = null; 		// objekt vizitky
var centrmap = 0;		// jestli centruješ mapu	

// ---------------------------------------  zobraz informace o objektu  --------------------------------------------------

function obj_info(id, centruj)		// ------- vypis info o objektu volané z mapy --------
{								// staré: var mode_objvyp = 0;  // , mode    mode_objvyp = mode;     mode=1 - nastav střed a zoom
 if(centruj == 1) centrmap = 1; else centrmap = 0;
 call_ajax("/ajax_map.php?co=31&ido="+id, "obj_resp");

 document.getElementById('i_vloz').style.display='none';	// vypni vkládání
}
function obj_resp(txt, status)	// ----- odpověd ze serveru  -----------
{
  if(status == 200)
    { 				//  0      1       2     3   4      5        6        7         8       9      10          11 
      vrdat = txt.split("|");	// ido | nazev | popis | x | y | skupiny | fotky | panorama | odkazy | user | typobj |  parametr

                                // ido  |   nazev | popis | x            | y            | skupiny | fotky                                                                                                                                                     | panorama | odkazy | user     | typ - nepoužívá se
                                //  2058|Nový mlýn|       |50d10m18.277sN|14d15m54.197sE|01       |3271;;0;0;600;800;4;;;/mapy/sml/003/2058_3271.jpg;0*3272;;0;0;800;600;4;;;/mapy/sml/003/2058_3272.jpg;0*3273;;0;0;800;600;2;;;/mapy/sml/003/2058_3273.jpg;0|          |        |27*Miloš *| 0                  |**| 
      naz_obj = vrdat[1];
      popisek = vrdat[2];
      var znacsour = new Array();	// pole souřadnic pro výpočet zoomu

      // -------------  generuj popis  -------------
      popis = popisek+'<br />';
      okoli_fot = '';
      okoli_pan = '';

      // vymaž značky objektu z mapy
      clearZnac(); 				// vymaž značky v mapě
      if(cardznac) m.removeCard(cardznac);   	// vymaž starou vizitku
      znac_cnt = 0;

      // --------------------  zpracuj fotky  ---------------------
      if(vrdat[6] != '' && vrdat[6] != null)
       {
       ar_fot = vrdat[6].split("*");	// máš pole s fotkami
       pc = 0; pc2 = 0;			// čítač sloupce a sloupce "okolí"
       for(p=0;p<ar_fot.length;p++)
        {                               //  0     1      2       3       4      5      6     7     8       9      10
         fdat = ar_fot[p].split(";");	// idf  popis  x_sour  y_sour  x_roz  y_roz  typp  smer  poradi  fname  (typ2 0=objekt 1=blizko)

         if(fdat[2] != 0) // --- má-li své souřadnice, umísti je NAVÍC do mapy ---
           { 
            umistiZnac(fdat[3], fdat[2], znac_cnt, 0, fdat[0], fdat[1], fdat[9]);
            znacsour.push(SMap.Coords.fromWGS84(fdat[3], fdat[2]));		// ulož obj. součadnic do pole
            
            znac_cnt++;
           }

         // ulož zmenšeninu obrázku
         popval = "<a href=\"javascript:obraz("+ fdat[0] +", "+ fdat[4] +", "+ fdat[5] +"); void(0);\"><img border=0 src=\""+ fdat[9] +"\" alt=\""+ fdat[1] +"\" /></a>&nbsp;";
         if(fdat[10] == 0)	// přímo objekt
           { popis += popval;  pc++;
             if(pc == 3) { pc = 0; popis += '<br />'; }	// 3 na řádek
           }
         else			// jiná fota do 100m v okolí
           { okoli_fot += popval;  pc2++;
             if(pc2 == 3) { pc2 = 0; okoli_fot += '<br />'; }
           }
        } // end for
        if(pc != 0) popis += '<br />';
        if(pc2 != 0 && okoli_fot != '') okoli_fot += '<br />';
       }

      // -------------------  zpracuj panorama  --------------------
      if(vrdat[7] != '' && vrdat[7] != null)
       {
        poppan = "";
        ar_pan = vrdat[7].split("*");	// máš pole s panoramaty
        pc = 0;
        for(p=0;p<ar_pan.length;p++)
          {                               //  0     1      2       3    4    5     6       7         8    9
           pdat = ar_pan[p].split(";");	// idf  popis  x_sour  y_sour  xp   yp   sever  natoceni   file  (typ2 0=objekt 1=blizko)

           if(pdat[2] != 0)  // má-li své souřadnice, umísti je do mapy
             { 
              umistiZnac(pdat[3], pdat[2], znac_cnt, 1, pdat[0], pdat[1], '');
              znacsour.push(SMap.Coords.fromWGS84(pdat[3], pdat[2]));			// ulož obj. souřadnic do pole
              znac_cnt++;
             }
           else
             {
              popval = "<a href=\"javascript:panorama("+ pdat[0] +"); void(0);\"><img border=0 width=280 vspace=2 src=\""+ pdat[8] +"\" alt=\""+ pdat[1] +"\" /></a>";
              if(pdat[9] == 0)  poppan += popval +"<br />";				// přímo objekt
              else              okoli_pan += popval +"<br />";
             }
          } // end for
        if(poppan != "")  popis += "Panorama:<br />"+poppan;	// je-li tam něco, připiš to
       }

      /* ------------  zpracuj odkazy  -------------------
      if(vrdat[8] != '' && vrdat[8] != null)
       {
        popis += "Odkazy:<br />";
        ar_lnk = vrdat[8].split("*");	// máš pole s panoramaty
        pc = 0;
        for(p=0;p<ar_lnk.length;p++)
          {                             //  0     1      2
           pdat = ar_lnk[p].split(";"); // typ  nazev  link
           imgn = parseInt(pdat[0]);
           popis += '<a href="'+ pdat[2] +'" target="_blank">'+ pdat[1] +'</a><br />';
          }
       }
      */

      // ukaz uzivatele
      user = '';
      if(vrdat[9] != '' && vrdat[9] != null)
       {
        ar_usr = vrdat[9].split("*");
        user   = '<div class="smgri">vložil: <a href="javascript:userinfo('+ ar_usr[0] +');void(0);" class="smgri">'+ ar_usr[1] +'</a></div>';
       }

      // ------------  odkaz na Wiki  -------------------
      wikilink = ''; wikipic  = '';
      if(vrdat[10] == 2 && vrdat[11] != '')
       {
       	ar_wik = vrdat[11].split("*");	// odděl link a obrázek
       	// wikilink = '<div><a href="http://cs.wikipedia.org/wiki/'+ ar_wik[0]+'" target="_blank"><img src="img/iw_wikipedia.png" border="0" width="126" height="22"></a></div>';
       	wikilink = '<div class="smgri">Více informací na <a href="javascript:openwiki('+"'"+ ar_wik[0] +"'"+'); void(0);"><img src="img/iw_wikipedia.png" border="0" width="126" height="22"></a></div>';
       	if(ar_wik[1] != null && ar_wik[1] != '')
       	  { 
       	   nazwiki1 = ar_wik[1].split("/");		// rozděl /2/5d/sddgdfgsdfg.jpg
       	   nazwiki2 = nazwiki1[nazwiki1.length-1];	// poslední prvek pole
       	   popis += '<div><a href="javascript:wikipix('+"'"+nazwiki2+"'"+'); void(0);"><img class="wikipic" src="http://upload.wikimedia.org/wikipedia/commons/thumb/'+ar_wik[1]+'/100px-'+nazwiki2+'" width="100"></a></div>';
       	  }
       }

       // ---- konec popis ----
    }
  else
    {
     naz_obj = 'Chyba !';
     popis = 'Nepodařilo se načíst data ze serveru.';
     popisek = 'Nepodařilo se načíst data ze serveru.';
    }



 // dbg = '<br>';
 // --------------------  nastav stred mapy na objekt a ZOOM  ------------------
 if(centrmap == 1)
  {
   if(znacsour.length > 1)
    { 
     var ss = m.computeCenterZoom(znacsour);		// spočti střed a zoom
     stred = ss[0];
     zoom  = ss[1];
    }
   else						// jedna souřadnice
    {
     stred = SMap.Coords.fromWGS84(vrdat[4], vrdat[3]);
     zoom  = 11;
    }
    m.setCenterZoom(stred, zoom);  // Nastaví střed i zoom
  }

// inhtml('i_box2', dbg);  

 var cardznac = new SMap.Card();  			// vytvor objekt znacky

 obsah  = '<div style="width:100%;">';			// obsah se zapisuje vždy, i když není vidět, kvůli srolování
 obsah += '<div class="nadpis"> '+ naz_obj +' </div>';
 obsah += '<div> '+ popis +' </div>';
 obsah += '<div class="delic"></div>';
 if(okoli_fot != '' || okoli_pan != '') obsah += '<div><b>V bezprostředním okolí:</b><br />' + okoli_fot + okoli_pan + '</div> <div class="delic"></div>';  // objekty v místě
 obsah += wikilink;					// link na wiki
 obsah += user ;
 obsah += '</div>';
 obsah += '<div style="height:20px;"></div>';
 document.getElementById('i_box0').innerHTML = obsah;	// zapiš obsah do levého panelu do DIVu

 if(l_mode == 1) 	// -------------------  je levý panel -------------------
   {
    cardznac.getBody().innerHTML = "<h3>"+ naz_obj +"</h3>";	// text do značky
   } 

 else 			// ------------------- vše do vizitky  -----------------
   {
    cardznac.getHeader().innerHTML = "<h3>"+ naz_obj +"</h3>";
    cardznac.getBody().innerHTML = popis + wikilink;		// text do značky
    cardznac.getFooter().innerHTML = user;
    // cardznac.getFooter().style.font = 
   }
 m.addCard(cardznac, SMap.Coords.fromWGS84(vrdat[4], vrdat[3])); // zapiš vizitku

} // end fce vykreslení objektu





// --------------------------  přidej značky do Mapy  ----------------------------
function umistiZnac(x,y, cis, druh, parametr, naz_obj, url_obr)
{								// cis -číslo, (druh: 0-foto, 1-pano) , (parametr: id fota či pano)
 var sour = SMap.Coords.fromWGS84(x,y); 			// pak přehodit !!!!!!!!!!

 if(druh == 1)
  {
   id = parseInt(parametr)+100000;				// pano mají cis od 100tis. nahoru
   editznac[cis] = new SMap.Marker(sour, id, { url:'img/i_point.png', title:naz_obj, anchor: {left:6, bottom:5} } );
  }
 else
  {
   id = parseInt(parametr)+500000;				// foto mají cis od 500tis. nahoru
   polefota[cis] = JAK.mel("img", {src:url_obr, alt:naz_obj, title:naz_obj}, {width:"30px", height:"30px", background:"#ffffff", padding:"1px"} );
   editznac[cis] = new SMap.Marker(sour, id, { url:polefota[cis], title:naz_obj, anchor: {left:15, bottom:15} } );
  }
 editznac[cis].decorate(SMap.Marker.Feature.Card); 		// dekoruj aby byla klikací
 zn_vrstva.addMarker(editznac[cis]);				// pridam znacku do mapy
}


function clearZnac() // -----------------  smaz znacky  -------------------
{			// zkusit pak udělat dyn. značky do další vrstvy, tu pak vymazat  layer.clear();
 for(i=0; i< editznac.length; i++)
  {
   if( editznac[i] )
     { zn_vrstva.removeMarker(editznac[i]); editznac[i] = null; }
  }
 // odeber DOM objekt fotky
 

}


/*



function jenamape(ssxy)  //  stred.inMap(m)
{
  var size = m.getSize();
  var w = Math.round(size.x / 2);
  var h = Math.round(size.y / 2);

  var lb = new SMap.Pixel(-w, h);
  var rt = new SMap.Pixel(w, -h);

  lb = lb.toCoords(m);
  rt = rt.toCoords(m);
  dbg += 'lb:'+ lb + 'rt:'+ rt;
 return (ssxy.x >= lb.x && ssxy.x <= rt.x && ssxy.y >= lb.y && ssxy.y <= rt.y);
}

*/
