/**
* Google Maps pro sekci PUB guide
*
*/

  var map = null;
  var mgr = null;
  var geocoder = null;

//    var urlToIcon = 'http://localhost/arakis/pilsnerurquell/websvn/images/pubguide/';
//    var WebUrl = 'http://localhost/arakis/pilsnerurquell/websvn/';

  var urlToIcon = 'http://'+window.location.host+"/images/";
  var WebUrl = 'http://'+window.location.host+"/";

  if (window.location.host == "localhost") {
      urlToIcon = 'http://'+window.location.host+"/pilsnerurquell/_svn/images/";
      WebUrl = 'http://'+window.location.host+"/pilsnerurquell/_svn/";
  }



  //var urlToIcon = 'http://localhost/arakis/pilsnerurquell/websvn/cz/images/';
  //var WebUrl = 'http://localhost/arakis/pilsnerurquell/websvn/cz/';

  var aktualni_rocnik = '2011';

  var iconPubSvejk   = urlToIcon + "guide/map-point-svejk.png";
  var iconPubPUOR    = urlToIcon + "guide/map-point-logo1.png";
  var iconPubPub     = urlToIcon + "guide/map-point-logo2.png";
  var iconPubGolf    = urlToIcon + "guide/map-point-golf.png";
  var iconPubPivovar = urlToIcon + "guide/map-point-pivovar.png";
  var iconPubHudba   = urlToIcon + "guide/map-point-hudba.png";

  var iconMouseOn = urlToIcon + "marker-icon-on.gif";
  var iconMouseOut  = urlToIcon + "marker-icon-out.gif";

  var GoogleLoad = 1;
  var SelectedPub = 0;
  var SelectedPhoto = -1;
  var fotky = new Array();
  var fotky_popis = new Array();

  var stars_moveon_stat = new Array(4);
  var stars_original_width = new Array(4);
  var stars_original_url = new Array(4);

  var ActualMarks = new Array();      // jenom identifikator, jestli jsme u aktualni hospody jiz hlasovali, abychom nemuseli zbytecne volat Ajax na celou hospodu
  var ActualMarksCount = new Array();

  var descriptionKeysOLD = [
         {key: 'atmosfera'                , value: 'Atmosféra'},
         {key: 'Popis'                    , value: 'Popis'},
         {key: 'charakteristika'          , value: 'Charakteristika'},
         {key: 'Slogan'                   , value: 'Slogan'},
         {key: 'kuchyne'                  , value: 'Kuchyně'},
         {key: 'projekce'                 , value: 'Projekce'},
         {key: 'typ'                      , value: 'Typ'},
         {key: 'umisteni'                 , value: 'Umístění'},
         {key: 'Telefonprovozovna'        , value: 'Telefon provozovna'},
         {key: 'Pocetmist'                , value: 'Počet míst'},
         {key: 'Pocetmistinterier'        , value: 'Počet míst interiér'},
         {key: 'Nekurackasekce'           , value: 'Nekuřácká sekce'},
         {key: 'Provozovnamasalonek'      , value: 'Provozovna má salónek'},
         {key: 'Pocetmistsalonek'         , value: 'Počet míst v salónku'},
         {key: 'Provozovnamazahradku'     , value: 'Provozovna má zahrádku'},
         {key: 'Pocetmistzahradka'        , value: 'Počet míst v zahrádce'},
         {key: 'Sanitace'                 , value: 'Sanitace'}
         ];

 var descriptionKeys = [
         {key: 'BaleniPU'                   , value: 'balení PU'},
         {key: 'Sanitace'                   , value: 'sanitace'},
         {key: 'Pocetmistinterier'          , value: 'počet míst uvnitř'},
         {key: 'Pocetmistzahradka'          , value: 'počet míst na zahrádce'},
         {key: 'WiFiPripojeni'              , value: 'wifi'},
         {key: 'Nekurackasekce'             , value: 'nekuřácká zóna'},
         {key: 'BezbarierovyPristup'        , value: 'bezbariérový přístup'},
         {key: 'MoznostSledovatSportPrenosy', value: 'možnost sledovat sportovní přenosy'},
         {key: 'kuchyne'                    , value: 'kuchyně'},
         {key: 'Popiskuchynejiny'           , value: 'další popis kuchyně'},
         {key: 'Provozovnavari'             , value: 'provozovna vaří'},
         {key: 'zabava'                     , value: 'zábava'},
         {key: 'Zabavajina'                 , value: 'zábava'}

         ];

 // vyresetujeme hvezdicky
 function SetStarsClear()
 {

  stars_moveon_stat[0] = 0;
  stars_moveon_stat[1] = 0;
  stars_moveon_stat[2] = 0;
  stars_moveon_stat[3] = 0;
//  stars_moveon_stat[4] = 0;

  stars_original_width[0] = "0px";
  stars_original_width[1] = "0px";
  stars_original_width[2] = "0px";
  stars_original_width[3] = "0px";
//  stars_original_width[4] = "0px";

  stars_original_url[0] = "url('" + urlToIcon + "guide/map-ocen-stars-active.gif')";
  stars_original_url[1] = "url('" + urlToIcon + "guide/map-ocen-stars-active.gif')";
  stars_original_url[2] = "url('" + urlToIcon + "guide/map-ocen-stars-active.gif')";
  stars_original_url[3] = "url('" + urlToIcon + "guide/map-ocen-stars-active.gif')";
//  stars_original_url[4] = "";

  document.getElementById('VoteStarsItem_0').style.backgroundImage = "url('" + urlToIcon + "guide/map-ocen-stars-active.gif')";
  document.getElementById('VoteStarsItem_1').style.backgroundImage = "url('" + urlToIcon + "guide/map-ocen-stars-active.gif')";
  document.getElementById('VoteStarsItem_2').style.backgroundImage = "url('" + urlToIcon + "guide/map-ocen-stars-active.gif')";
  document.getElementById('VoteStarsItem_3').style.backgroundImage = "url('" + urlToIcon + "guide/map-ocen-stars-active.gif')";

 }

 function loadGoogleMaps(lat,lon,provozovna_id,address) {
		if (GBrowserIsCompatible()) {


     var tmp = 'pub';

     if(!document.getElementById("map_canvas")) return false;
      map = new GMap2(document.getElementById("map_canvas"));


      GEvent.addListener(map, "moveend", function() {
			  getMarkers_load(provozovna_id);
			});

			GEvent.addListener(map, "zoomend", function(oldLevel, newLevel) {
			  getMarkers_load(provozovna_id);
			});

      var def_lat   = 50.0836820;
      var def_lon   = 14.4203450;
      var def_scale = 7;

      if(lat != null && lon != null && lat>0 && lon>0)
      {
         map.setCenter(new GLatLng(lat, lon), 16);
      }
      else
      {
         map.setCenter(new GLatLng(def_lat, def_lon), def_scale);
      }

      var mapTypeControl = new GMapTypeControl();
      var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10));
      var bottomRight = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,10));


      map.addControl(mapTypeControl, bottomRight);
      map.addControl(new GSmallMapControl(), topRight);

	    // Set up our GMarkerOptions object
     	var markerOptions = gmaps_icon(false, tmp);
      var markerOptionsSelect = gmaps_icon(true, tmp);

      //Pridame udalost na resize
      map.enableScrollWheelZoom();

      //var markerOptions2 = {icon:markerOptions,zIndexProcess:orderOfCreation}
      // nacteme Markery (ajaxem)
      window.setTimeout('getMarkers_load(\''+provozovna_id+'\');', 1);

     }
  }

  function createMarker(id,lat,lng,markerOptions, typ) {

     var tmp;

     point = new GLatLng(lat,lng);

     if(point)
     {

        //test
        //tmpMarkerOptions = {icon:markerOptions};


        var marker = new GMarker(point, markerOptions);

        marker.id = id;

        //var marker = new GMarker(point, {icon:markerOptions});

        if(marker)
        {
           GEvent.addListener(marker, "click", function() {

       		     /** Tri hlavni typy bublin - rest., pivovar a golf**/


               if ( typ == 'pivovar' )
               {
                  //pubguideOpenDetailPivovar();

                  marker.openExtInfoWindow(
                  map,
                  "simple_example_window",
                  "",
                  {beakOffset: 10,ajaxUrl:'./ajax/pubguideGetInfoBrewery.php',ajaxCallback:function(){bubbleHeadingReplace()}}
                  );
               }
               else if ( typ == 'golf' )
               {
                  //pubguideOpenDetailGolf(id);

                  marker.openExtInfoWindow(
                  map,
                  "simple_example_window",
                  "",
                  {beakOffset: 10,ajaxUrl:'./ajax/pubguideGetInfoGolfGround.php?id='+id,ajaxCallback:function(){bubbleHeadingReplace()}}
                  );
               }else{
                  //pubguideOpenDetailMaly(id);

                  marker.openExtInfoWindow(
                  map,
                  "simple_example_window",
                  "",
                  {beakOffset: 10,ajaxUrl:'./ajax/pubguideGetInfoPub.php?id='+id,ajaxCallback:function(){bubbleHeadingReplace()}}
                  );

               }

               map.panTo(marker.getLatLng());

            });

      		 GEvent.addListener(marker, "mouseover", function() {
        		   // marker.setImage(iconMouseOn)
        		   tmp = GetTypeIconOn(typ);
        		   marker.setImage(tmp)

      			});

      			GEvent.addListener(marker, "mouseout", function() {
        		   // marker.setImage(iconMouseOut)
        		   tmp = GetTypeIconOut(typ);
        		   marker.setImage(tmp)
      			});




            return marker;
         }
     }
  }

// vraci ikonu ON podle typu
function GetTypeIconOn(typ)
{
  if (typ == 'puor') {
    return iconPubPUOR;
  }
  if (typ == 'svejk') {
    return iconPubSvejk;
  }
  if (typ == 'golf') {
    return iconPubGolf;
  }
  if (typ == 'pivovar') {
    return iconPubPivovar;
  }


  return iconPubPub;
}

// vraci ikonu OUT podle typu
function GetTypeIconOut(typ)
{
  if (typ == 'puor') {
    return iconPubPUOR;
  }
  if (typ == 'svejk') {
    return iconPubSvejk;
  }
  if (typ == 'golf') {
    return iconPubGolf;
  }
  if (typ == 'pivovar') {
    return iconPubPivovar;
  }

  return iconPubPub;
}

var isSelectedPub = false;
function setMapPosition(lat,lon,provozovna_id)
{
   pubguideCloseDetailVelky();
   pubguideCloseDetailMaly();
   loadGoogleMaps(lat,lon,provozovna_id);
   isSelectedPub = true;
   //pubguideOpenDetailMaly(provozovna_id);

}

function setMapPositionFromGEO(address,provozovna_id)
{
   loadGoogleMaps(0,0,provozovna_id,address)
}

function showHideLeftPubMenu(){

   $("#HideButton").click(function () {
    var $lefty = $('#PUBguideLeftMenu');
    $lefty.animate({
    left: parseInt($lefty.css('left'),10) == 0 ?
      -$lefty.outerWidth() :
      0
    });

   });

   $("#ShowButton").click(function () {
    var $lefty = $('#PUBguideLeftMenu');
    $lefty.animate({
    left: parseInt($lefty.css('left'),10) == 0 ?
      -$lefty.outerWidth() :
      0
    });

   });

}


$(document).ready(function(){

	if (document.getElementById("Mapa")) {
	// DO IT ONLY ON PUBGUIDE MAP !!!

    if (GoogleLoad) {
      loadGoogleMaps(0,0);
    }
    showHideLeftPubMenu();
    //getMousePosition();
	}
});


/**
*	Ajaxem nacteme markery, ktere se maji zobrazit na google mape
*/
var provozovna_not_found_alert = false;
var tmp_article_id = 0;

function getMarkers_load(provozovna_id)
{
	//while ( getMarkers_block==true ){;}

	var bounds = map.getBounds();

	var southWest = bounds.getSouthWest();	// jihozapadni roh
	var northEast = bounds.getNorthEast();	// severovychodni roh

	var southWest_lng = southWest.lng();
	var southWest_lat = southWest.lat();

	var northEast_lng = northEast.lng();
	var northEast_lat = northEast.lat();


  // Marker manager
  mgr = new MarkerManager(map);

	 $.ajax({
	   type: "GET",
	   url: WebUrl + "ajax/pubguideGetGoogleMapsMarkers.php",
	   data: "southWest_lng="+southWest_lng+"&southWest_lat="+southWest_lat+"&northEast_lng="+northEast_lng+"&northEast_lat="+northEast_lat+(provozovna_id?'&provozovna_id='+provozovna_id:''),
	   success: function(data){
	     getMarkers_write(data)
	   }
	 });

}

var tempShow = false;

var lastId = 0;

var oldMarkers = new Array();

function getMarkers_write(data)
{



  pilsnerIconSelect = null;
  pilsnerIcon       = null;
  xmlRoot          = data.documentElement;

	// nacteme Informace o markech
	markers             = xmlRoot.getElementsByTagName("marker");
	var marker 					= null;

	var article_id			= 0;
	var gmap_lat				= 0;
	var gmap_lon				= 0;
	var address					= '';
	var pubtype					= 'pub';
	var selected				= 'false';

	markersRoot         = xmlRoot.getElementsByTagName("markers");
	if ( markersRoot && markersRoot.length ){

    provozovna_id			= markersRoot.item(0)
		provozovna_id 		= provozovna_id.getAttribute('provozovna_id');

	}
	else
		provozovna_id			= 0;

	var tmpMarker			= null;





	var insertMarkers = [];

	var provozovna_found = provozovna_id>0 ? false : true;

	if(lastId!=provozovna_id ) tempShow = false;

	for (var i=0; i<markers.length; i++)
	{
		marker = markers.item(i);

		if ( marker )
		{
			// parametry markeru
			article_id 	= marker.getAttribute('article_id');
			gmap_lat 		= marker.getAttribute('gmap_lat');
			gmap_lon 		= marker.getAttribute('gmap_lon');
			adresa 			= marker.getAttribute('adresa');
			pubtype 		= marker.getAttribute('pubtype');
			selected  	= marker.getAttribute('selected');

			if ( article_id  )
			{
				if ( gmap_lat>0 && gmap_lon>0 )
				{

          tmpMarker = createMarker(article_id, gmap_lat, gmap_lon, gmaps_icon( (selected=='true'?true:false), pubtype), pubtype);

          //$tmpMarkerOptions = {icon:gmaps_icon( (selected=='true'?true:false), pubtype)}

					//tmpMarker = createMarker(article_id, gmap_lat, gmap_lon, $tmpMarkerOptions , pubtype);

          if ( tmpMarker )
					{
						if ( provozovna_id==article_id && !tempShow){


							//Vyjimka pro Pivovar...
							if(article_id == '999999999')
							{
              tmpMarker.openExtInfoWindow(
                  map,
                  "simple_example_window",
                  "",
                  {beakOffset: 10,ajaxUrl:'./ajax/pubguideGetInfoBrewery.php'}
                  );
              tempShow  = true;
              lastId = article_id;
              provozovna_found = true;
              }
              else
              {
              tmpMarker.openExtInfoWindow(
                  map,
                  "simple_example_window",
                  "",
                  {beakOffset: 10,ajaxUrl:'./ajax/pubguideGetInfoPub.php?id='+article_id}
                  );
              tempShow  = true;
              lastId = article_id;
              provozovna_found = true;
              }
            }


            oldMarkers.push(tmpMarker);
						insertMarkers.push(tmpMarker);
					}
				}
				else
				{
					geocoder = new GClientGeocoder();

					tmp_article_id = article_id;

					if ( provozovna_id==article_id )
					{
          	geocoder.getLatLng(adresa, function(misto)
						{
                if(misto) {
									var mO = gmaps_icon(true, pubtype);
									tmpMarker = createMarker(tmp_article_id, gmap_lat, gmap_lon, mO, pubtype);

	                if ( tmpMarker ){
	                	mgr.addMarker(tmpMarker);
	                	mgr.refresh();
	                }
	              }
	              else
	              if ( !provozovna_not_found_alert )
								{
	              	alert('Omlouváme se, ale danou adresu nelze nalézt na mapě');
	              	provozovna_not_found_alert  = true;
								}
            });
          }
          else
          {
          	geocoder.getLatLng(adresa, function(misto)
						{
                if(misto) {
									var mO = gmaps_icon(false, pubtype);

									tmpMarker = createMarker(tmp_article_id, gmap_lat, gmap_lon, mO, pubtype);

	                if ( tmpMarker ){
	                	mgr.addMarker(tmpMarker);
	                }
	              }
	              else{
								}
            });

            tmp_article_id = 0;
					}
				}
			}
		}


	}

	//mgr.refresh();
	mgr.clearMarkers();
 //Smazem stare markery;
  ClearOldMarkers();

  //overlay = new GOverlay();
  //overlay.initialize(map);
  //overlay.redraw();
  //map.redraw();
  mgr.refresh();


	if ( insertMarkers.length )
	{
    //mgr.addMarkers(insertMarkers, 0);
    for (i=0;i<insertMarkers.length;i++)
    {
      map.addOverlay(insertMarkers[i]);
    }

    mgr.refresh();


	}
	ClearSameMarkers();
	//oldMarkers.concat(insertMarkers);

	if ( !provozovna_found && provozovna_id>0 && !provozovna_not_found_alert && !tempShow){
		alert('Omlouváme se, ale danou adresu nelze nalézt na mapě');
		provozovna_not_found_alert = true;
	}


} // @end getMarkers_write

function ClearOldMarkersOld()
{
  for (i=0;i<oldMarkers.length;i++)
  {
    m = oldMarkers[i];
    map.removeOverlay(m);
  }
  if(oldMarkers.length>500)
  {
     oldMarkers = null;
     oldMarkers = new Array();
  }
}

function ClearSameMarkers()
{
 if (!document.getElementsByTagName){ return false; }

  var mapEl=document.getElementById("map_canvas");
  var imgs = mapEl.getElementsByTagName("img");
  var arr = new Array();
  //alert(imgs.length);
  for (var i=0; i<imgs.length; i++)
  {
	  var imgEl = imgs[i];

	  if(imgEl.getAttribute("id")){

      if (imgEl.getAttribute("id").indexOf('mtgt_')!=-1){

         if (in_array(arr, imgEl.getAttribute("id")))
          {
            imgEl.parentNode.removeChild(imgEl);
            //alert("SUPA");
         }
         arr.push(imgEl.getAttribute("id"));
      }
    }
  }
}

function in_array(arr, val)
{
  for(var i=0;i<arr.length;i++)
  {
    if (arr[i] == val) return true;
  }
  return false;
}

function ClearOldMarkers()
{
  //oldMarkers = new Array();

  if (!document.getElementsByTagName){ return false; }

  var mapEl=document.getElementById("map_canvas");
  var imgs = mapEl.getElementsByTagName("img");

  //alert(imgs.length);
  for (var i=0; i<imgs.length; i++)
  {
	  var imgEl = imgs[i];

	  if(imgEl.getAttribute("id")){

      if (imgEl.getAttribute("id").indexOf('mtgt_')!=-1){
         //alert(imgEl.getAttribute("id"));
         //if()
         //mapEl.removeChild(imgEl);
         imgEl.parentNode.removeChild(imgEl);
      }
    }
  }

  for (i=0;i<oldMarkers.length;i++)
  {
    m = oldMarkers[i];
    map.removeOverlay(m);
  }
  if(oldMarkers.length>500)
  {
     oldMarkers = null;
     oldMarkers = new Array();
  }

}

/**
 *	Vrati icony pro Gmapy
 */
function gmaps_icon(selected, typ)
{
	if ( selected )
	{
		var pilsnerIconSelect = new GIcon();
    // pilsnerIconSelect.image = iconMouseOn;
    pilsnerIconSelect.image = GetTypeIconOn(typ);
    //pilsnerIconSelect.size  = new GSize(23,23);
    pilsnerIconSelect.iconSize = new GSize(37, 46);

    pilsnerIconSelect.shadowSize = new GSize(37, 34);
    pilsnerIconSelect.iconAnchor = new GPoint(9, 34);
    pilsnerIconSelect.infoWindowAnchor = new GPoint(9, 2);

    return { icon:pilsnerIconSelect };
	}
	else
	{
		var pilsnerIcon = new GIcon();
    // pilsnerIcon.image = iconMouseOut;
    pilsnerIcon.image = GetTypeIconOut(typ);
    //pilsnerIcon.size  = new GSize(23,23);
    pilsnerIcon.iconSize = new GSize(37, 46);
    pilsnerIcon.shadowSize = new GSize(37, 34);
    pilsnerIcon.iconAnchor = new GPoint(9, 34);
    pilsnerIcon.infoWindowAnchor = new GPoint(9, 2);

    if(typ == 'pivovar')
    {
      return { icon:pilsnerIcon,zIndexProcess:importanceOrder};
	  }
	  else
	  {
      return { icon:pilsnerIcon };
    }
  }
}

function importanceOrder(){
   return 1;
}

/**
*	Panel s vypisem hospod a restauraci nacitany ajaxem - PubGuide MainPage
*/
function pubguideTop10_load(rok, kategorie, el, el2)
{

	if (el != 0)
	 loadingAnimation(1,el,'pubguide',false);
	else
		loadingAnimation(1,el2,'kategorie',kategorie);

	 $.ajax({
	   type: "GET",
	   url: WebUrl + "/ajax/pubguideMainPageLeftCol.php",
	   data: "rok="+rok+"&kategorie="+kategorie+"&typ=top",
	   success: function(data){
		 	 loadingAnimation(0);
	     pubguideTop10_write(data);
	   }
	 });

	var tmp_link = top.document.location.href;
  var link = tmp_link.split("#");
  var new_link_temp = link[0] + "#rok-" + rok + "-kategorie-" + kategorie;

  top.document.location.replace( new_link_temp );

  return false;
} // @end pubguideTop10_load

// nacte stranku podle kotvy v URl
function pubguideLoadByAnchor(typ)
{
  var tmp_link = top.document.location.href;
  var link = tmp_link.split("#");
  var params;

  if (link[1] != null) {
    params = link[1].split("-");

    if (typ == 'top') {
      pubguideTop10_load(params[1],params[3], '.boxHead ul li.active a');
    }
    else {
      pubguideHodnoceni_load(params[1],params[3], '.boxHead ul li.active a');
    }
  }
}

function pubguideTop10_write(data)
{
  if(!document.getElementById) return false;
  el = document.getElementById('pubguide_leftCol_id');

	if ( el && data.length ) {
		jQuery(el).html(data);
		selectizeAllSelects();
		topTenReplace();
		Cufon.replace("#h4RightGuideBoxes,#hospodyZajem,#pubguideactivetab span.nmb");
	}
} // @end pubguideTop10_write

/*
** Panel s vypisem hospod pri vyhledavani
*/

function pubguideHodnoceni_load_search(search_string,search_page,el)
{
	 loadingAnimation(1,el,'search');
	 $.ajax({
	   type: "GET",
	   url: WebUrl + "ajax/pubguideMainPageLeftCol.php",
	   data: "vyhledavat="+search_string+"&vyhledavat_strany="+search_page,
	   success: function(data){
			 loadingAnimation(0);
	     pubguideHodnoceni_write(data)
	   }
	 });

	 return false;
}


/**
*	Panel s vypisem hospod a restauraci nacitany ajaxem - GoogleMaps
*/
function pubguideHodnoceni_load(rok, kategorie, el)
{

	 loadingAnimation(1,el,'map');
	 $.ajax({
	   type: "GET",
	   url: WebUrl + "ajax/pubguideMainPageLeftCol.php",
	   data: "rok="+rok+"&kategorie="+kategorie+"&typ=hodnoceni",
	   success: function(data){
			 loadingAnimation(0);
	     pubguideHodnoceni_write(data)
	   }
	 });

	var tmp_link = top.document.location.href;
  var link = tmp_link.split("#");
  var new_link_temp = link[0] + "#rok-" + rok + "-kategorie-" + kategorie;

  top.document.location.replace( new_link_temp );

	 return false;
} // @end pubguideTop10_load

function pubguideHodnoceni_write(data)
{
  if(!document.getElementById) return false;
  el = document.getElementById('PUBguideLeftMenu');

	if ( el && data.length ) {
		jQuery(el).html(data);
		selectizeAllSelects();
		topTenReplace();
		Cufon.replace("#h4RightGuideBoxes,#hospodyZajem,#pubguideactivetab span.nmb");
    winSize();
    showHideLeftPubMenu();
  }
} // @end pubguideTop10_write




function pubguideCloseDetailMaly()
{
  SetStarsClear();
  if(map)
  map.closeExtInfoWindow();

  return false;
}


/**
 *
 * Okno s detailem hodnoceni (velke)...
 *
 */

var boxPubguideInfoVelke = 'ProvozovnaInfoVelke';

function pubguideOpenDetailVelky(id, page)
{
    //var id = SelectedPub;

    if(!document.getElementById) {
       return false;
    }

    var actual_page = 1;

    if (typeof page != "undefined") {
        actual_page = page;
    }

    var el = document.getElementById(boxPubguideInfoVelke);

    //Zavrem male okno
    pubguideCloseDetailMaly();


    //Pokud je okno otevreno, zavreme
    if(el.style.visibility == 'visible'){
       // pubguideCloseDetailVelky();
    }
    else {
      // el.style.visibility = 'visible';
    }

  if (id>0)
  {
    params = new Array();
    params[0] = 'id='+id;
    params[1] = 'typ=velky';
    params[2] = 'str='+actual_page;

 		process( 'GET', 'ajax/pubguideGetInfo.php', params, 'pubguideShowDetailVelky');
 	}
}


function pubguideShowDetailVelky(id)
{
  if(!document.getElementById) {
    return false;
  }

  var el = document.getElementById(boxPubguideInfoVelke);

  document.getElementById('ProvozovnaInfoVelkePhotoListBar').innerHTML = "";
  document.getElementById('ProvozovnaInfoVelkePhotoListBar').innerHTML = "";
  // document.getElementById('ProvozovnaInfoVelkeZpravy').innerHTML = "";
  document.getElementById('VelkePhotoView').style.display = "none";
  document.VelkePhotoView.src = "";

  if (xmlHttp.readyState == 4)
	{

	  if(xmlHttp.status == 200){
		  try {

          //  nastavime puvodne hvezdicky
          SetStarsClear();

			  // nastavime prazdne
          document.getElementById('ProvozovnaInfoVelkeId').innerHTML = "";
          document.getElementById('ProvozovnaInfoVelkeId').style.display = "block";
          document.getElementById('ProvozovnaInfoVelkeNazevText').innerHTML = "";
          document.getElementById('ProvozovnaInfoVelkePoradi').innerHTML = "";
				  document.getElementById('ProvozovnaInfoRankNumber').innerHTML = "";
				  document.getElementById('ProvozovnaInfoStars').style.width = "0px";
				  document.getElementById('ProvozovnaInfoVelkeAdresa').innerHTML = "";
				  document.getElementById('ProvozovnaInfoVelkeTelefon').innerHTML = "";
				  document.getElementById('ProvozovnaInfoVelkeInfoAbout').innerHTML = "";
				  document.getElementById('ProvozovnaInfoVelkeInfoOpenTime').innerHTML = "";
				  document.getElementById('ProvozovnaInfoVelkePhotoListBar').innerHTML = "";
				  document.getElementById('ProvozovnaInfoVelkePhotoViewText').innerHTML = "";

				  document.getElementById('boxNazory').innerHTML = "";
				  document.getElementById('boxNazoryPagination').innerHTML = "";
			  //////////////////////////


				var xmlResponse  = xmlHttp.responseXML;
				var xmlRoot          = xmlResponse.documentElement;

				var info             = xmlRoot.getElementsByTagName("info");
				info             = info.item(0);

				var article_id       = info.getAttribute("article_id");
				var soutez_id        = info.getAttribute("soutez_id");
				var provozovna_nazev = info.getAttribute("provozovna_nazev");

        var provozovna_ulice = info.getAttribute("provozovna_ulice");
        var provozovna_cp = info.getAttribute("provozovna_cp");
				var provozovna_obec = info.getAttribute("provozovna_obec");
				var provozovna_psc = info.getAttribute("provozovna_psc");
				var provozovna_telefon_rezervace = info.getAttribute("provozovna_telefon_rezervace");
				var provozovna_telefon_provozovna = info.getAttribute("provozovna_telefon_provozovna");
				var popis_celkovy_dojem = info.getAttribute("popis_celkovy_dojem");
        var rating_count = info.getAttribute("rating_count");
        var rating = info.getAttribute("rating");
        var StarsWidth = 20 * parseFloat(rating);
        var poradi = info.getAttribute("rank");
				poradi = (poradi>0) ? poradi+'. místo ' : '';

				document.getElementById('VybranaProvozovnaId').value = article_id;

				if (soutez_id > 0) {
   				document.getElementById('ProvozovnaInfoVelkeId').innerHTML = soutez_id;
     				document.getElementById('ProvozovnaInfoVelkeId').style.display = "block";
        } else {
    				document.getElementById('ProvozovnaInfoVelkeId').style.display = "none";
        }

        // nastavime GET link kvuli pojd na pivo
        var tmp_link = document.getElementById('pg_pojd_link').value;
        tmp_link = tmp_link.replace(".html","/Pub" + article_id + ".html");
        document.getElementById('PojdNaPivoGetLink').href = tmp_link;

        document.getElementById('ProvozovnaInfoVelkeNazevText').innerHTML = provozovna_nazev;
        document.getElementById('ProvozovnaInfoVelkePoradi').innerHTML = ""; // poradi; // + rating + " (" + rating_count + " hlasů)";
        document.getElementById('ProvozovnaInfoRankNumber').innerHTML = rating;
        document.getElementById('ProvozovnaInfoStars').style.width= StarsWidth + "px"

        if (provozovna_cp != "") {
					provozovna_cp = " "+provozovna_cp;
		}

        if (provozovna_obec != "")
		{
			if (provozovna_psc != "")
			{
				provozovna_obec = ", "+provozovna_psc+" "+provozovna_obec;
			}
			else
			{
				provozovna_obec = ", "+provozovna_obec;
			}
        	
			
		}

				document.getElementById('ProvozovnaInfoVelkeAdresa').innerHTML = provozovna_ulice+provozovna_cp+provozovna_obec;
        if (provozovna_telefon_rezervace != "" && provozovna_telefon_provozovna != "") {
          document.getElementById('ProvozovnaInfoVelkeTelefon').innerHTML =  provozovna_telefon_rezervace+", "+provozovna_telefon_provozovna;
        }
        else if (provozovna_telefon_rezervace != "") {
          document.getElementById('ProvozovnaInfoVelkeTelefon').innerHTML =  provozovna_telefon_rezervace;
        }
        else if (provozovna_telefon_provozovna != "") {
          document.getElementById('ProvozovnaInfoVelkeTelefon').innerHTML =  provozovna_telefon_provozovna;
        }

        //Popis
        var description   = xmlRoot.getElementsByTagName("descriptions");
				var description   = description.item(0);

        // O restauraci
        var about   = '';
        for(i=0;i<descriptionKeys.length;i++)
        {
//              var iconUnder = "";

           var descKey =  descriptionKeys[i];
           if(description.getAttribute(descKey.key))
           {
              if (descKey.key == 'atmosfera') {
                document.getElementById('ProvozovnaInfoVelkePopis').innerHTML = description.getAttribute(descKey.key);
              }
              else if (descKey.key == 'Telefonprovozovna' && provozovna_telefon_provozovna == '') {
                if (provozovna_telefon_rezervace != '') {
                  document.getElementById('ProvozovnaInfoVelkeTelefon').innerHTML =  provozovna_telefon_rezervace+", "+ description.getAttribute(descKey.key);
                }
                else {
                  document.getElementById('ProvozovnaInfoVelkeTelefon').innerHTML =  description.getAttribute(descKey.key);
                }
              }
              else {
                about += '<tr><th>'+descKey.value+'</th><td>' + description.getAttribute(descKey.key) + '</td></tr>';
              }

//       					if (descKey.key == "Sanitace" && description.getAttribute(descKey.key) == "ANO") {
//                     iconUnder += '<span id="icoCisteTrubky"></span>';
//                 }
//       					if (descKey.key == "BaleniPU" && description.getAttribute(descKey.key) == "Tank") {
//                     iconUnder += '<span id="icoTankovePivo"></span>';
//                 }


           }
        }
        if (about.length > 0)
          about = '<table border="0" cellspacing="0" cellpadding="0"><tbody>'+about+'</tbody></table>';

        document.getElementById('ProvozovnaInfoVelkeInfoAbout').innerHTML = about;



// 					document.getElementById("iconUnder").innerHTML = iconUnder;


				//Oteviraci doba...
				var opening_mon = description.getAttribute("OtevrenoPo");
        var opening_tue = description.getAttribute("OtevrenoUt");
        var opening_wen = description.getAttribute("OtevrenoSt");
        var opening_thu = description.getAttribute("OtevrenoCt");
        var opening_fri = description.getAttribute("OtevrenoPa");
        var opening_sat = description.getAttribute("OtevrenoSo");
        var opening_sun = description.getAttribute("OtevrenoNe");

        var opening = "";

        if (opening_mon==null && opening_tue==null && opening_wen==null && opening_thu==null && opening_fri==null && opening_sat==null && opening_sun==null) {

            opening = "Otevírací doba není k dispozici.";

        } else {

            opening   = '<table border="0" cellspacing="0" cellpadding="0"><tbody>';
            if (opening_mon!= null) opening  += '<tr><td>Pondělí</td><td>' + opening_mon + '</td></tr>';
            if (opening_tue!= null) opening  += '<tr><td>Úterý</td><td>'   + opening_tue + '</td></tr>';
            if (opening_wen!= null) opening  += '<tr><td>Středa</td><td>'  + opening_wen + '</td></tr>';
            if (opening_thu!= null) opening  += '<tr><td>Čtvrtek</td><td>' + opening_thu + '</td></tr>';
            if (opening_fri!= null) opening  += '<tr><td>Pátek</td><td>'   + opening_fri + '</td></tr>';
            if (opening_sat!= null) opening  += '<tr><td>Sobota</td><td>'  + opening_sat + '</td></tr>';
            if (opening_sun!= null) opening  += '<tr><td>Neděle</td><td>'  + opening_sun + '</td></tr>';
            opening  += '</tbody></table>';
        }

        document.getElementById('ProvozovnaInfoVelkeInfoOpenTime').innerHTML = opening;


        //Zobrazeni prvku
				el.style.visibility = 'visible';

				detailHeadingReplace();


				// nacteme informace o fotkach
				var photos             = xmlRoot.getElementsByTagName("photos");
				photos             = photos.item(0);

				var photo_pocet       = photos.getAttribute("pocet");
				photo_pocet       = parseInt(photo_pocet);

				if (photo_pocet > 0)
				{
				    fotky = new Array(photo_pocet);
				    fotky_popis = new Array(photo_pocet);

            foto_info = xmlRoot.getElementsByTagName("message");
				    photo_bar = "";

				    var j = 0;
            for (var i = 0; i < photo_pocet; i++)
            {
              j = i + 1;
              fotky[i] = new Image();
              if (photos.getAttribute("photo" + j + "_big")) {
                fotky[i].src = WebUrl + photos.getAttribute("photo" + j + "_big");
              }
              else if (photos.getAttribute("photo" + j + "_small")) {
                fotky[i].src = WebUrl + photos.getAttribute("photo" + j + "_small");
              }
              fotky[i].width = photos.getAttribute("photo" + j + "_width");
              fotky[i].height = photos.getAttribute("photo" + j + "_height");
				      fotky_popis[i] = photos.getAttribute("photo" + j + "_note");

              if (photos.getAttribute("photo" + j + "_big") || photos.getAttribute("photo" + j + "_small")) {
                photo_bar = photo_bar + "<li><a href='#' onclick='javascript: return ViewPhotoByNumber(" + i + ");' class='PhotoLink' >" + j + "</a></li>";
              }
            }
            if (photo_bar.length > 10) photo_bar = "<ul id='ul_photo_bar'>"+photo_bar+"</ul>";

            if (photo_bar == "") {
                document.getElementById('ProvozovnaInfoVelkePhotoViewText').innerHTML = "Fotografie nejsou k dispozici.";
            } else {

                if (SelectedPhoto<0)
                {
                  ViewPhotoByNumber(0);
                }
                else {
                  setTimeout('ViewPhotoByNumber(0)',100);
  							}
            }

            document.getElementById('ProvozovnaInfoVelkePhotoListBar').innerHTML = photo_bar;

        }

			  // mame komentare
			  var messages = xmlRoot.getElementsByTagName("messages");
			  messages = messages.item(0);

			  var mess_pocet = messages.getAttribute("pocet");
				mess_pocet = parseInt(mess_pocet);

				if (mess_pocet > 0)
				{
				  message = xmlRoot.getElementsByTagName("message");

				  messages_text = "";
					for (var i = 0;i < mess_pocet;i++)
					{
					  tmp = message.item(i);

					  messages_text += '<div class="boxNazor"><div class="boxNazorIn clearfix"><p>' + tmp.getAttribute("body") + '</p>';

					  var ul_icons = "";

					  if (tmp.getAttribute("pivo") > 0)      { ul_icons = ul_icons + '  <li class="pivo">' + tmp.getAttribute("pivo") + '</li>';           }
					  if (tmp.getAttribute("sluzby") > 0)    { ul_icons = ul_icons + '  <li class="sluzby">' + tmp.getAttribute("sluzby") + '</li>';       }
					  if (tmp.getAttribute("prostredi") > 0) { ul_icons = ul_icons + '  <li class="prostredi">' + tmp.getAttribute("prostredi") + '</li>'; }
					  if (tmp.getAttribute("kuchyne") > 0)   { ul_icons = ul_icons + '  <li class="kuchyne">' + tmp.getAttribute("kuchyne") + '</li>';     }
					  if (tmp.getAttribute("vyziti") > 0)    { ul_icons = ul_icons + '  <li class="vyuziti">' + tmp.getAttribute("vyziti") + '</li>';      }

					  if (ul_icons != "") messages_text = messages_text + '<ul class="icons">'+ul_icons+' </ul>';
					  //messages_text += ' - ' + mess_pocet + ' ';
					  messages_text = messages_text + ' </div><div class="sign">' + tmp.getAttribute("author") + ', ' + tmp.getAttribute("date_print") + '</div></div>';

					}

					document.getElementById('boxNazory').innerHTML = messages_text;
					document.getElementById('boxNazory').scrollTop = 0;

          var paging = xmlRoot.getElementsByTagName("messagesPaging");
          paging = paging[0];
//           alert(paging.getAttribute("content"));
//           alert(paging[0]);

          document.getElementById('boxNazoryPagination').innerHTML = paging.getAttribute("content");

 					//alert(paging.getAttribute("content"));

				} else {
					  message_text = '<div class="boxNazor"><div class="boxNazorIn clearfix"><p>K této hospodě zatím nebyl přidán žádný komentář. Buďte první, kdo komentář přidá. Pro hodnocení hospody a přidávání komentářů je třeba se nejprve přihlásit.</p><p>&nbsp;</p></div></div>';

		  document.getElementById('boxNazory').innerHTML = message_text;
          document.getElementById('boxNazory').scrollTop = 0;
	  }


/*
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------

				IKONKY pod velkym detailem: TopDesetPub, TopStoPub, CisteTrubky, TankovePivo :: XML struktura:

				<pubIcons>
					<ico t='CisteTrubky'/><ico t='TankovePivo'/><ico t='TopDesetPub'/><ico t='TopStoPub'/>
				</pubIcons>

				pokud nejaky element <ico/> chybi, nebude takova ikonka zobrazena, stejna jako kdyz vubec nebude v XML element pubIcons
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
*/
				document.getElementById("icoCisteTrubky").style.display = "none";
				document.getElementById("icoTankovePivo").style.display = "none";
				document.getElementById("icoTopDesetPub").style.display = "none";
				document.getElementById("icoTopStoPub").style.display = "none";

				if (xmlRoot.getElementsByTagName("pubIcons").length > 0) {
					var pubIcons = xmlRoot.getElementsByTagName("pubIcons").item(0);
					var pubIco = pubIcons.getElementsByTagName("ico");
					var pubIcons_pocet = pubIco.length;
					for (var i = 0;i < pubIcons_pocet; i++) {
						document.getElementById("ico"+pubIco.item(i).getAttribute("t")).style.display = "block";
					}
				}
/*
pro debug jsou videt vsechny ikonky, jinak se - pokud nejsou, skryvaji
ve final verzi nasledujici 4radkovy kod nebude!
*/
// 					document.getElementById("icoCisteTrubky").style.display = "block";
// 					document.getElementById("icoTankovePivo").style.display = "block";
// 					document.getElementById("icoTopDesetPub").style.display = "block";
// 					document.getElementById("icoTopStoPub").style.display = "block";

/*
------------------------------------------END--------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
*/
        //Prihlaseny uzivatel
        var logged_user             = xmlRoot.getElementsByTagName("user");
				var logged_user             = logged_user.item(0);
				var signin                  = (logged_user.getAttribute("signin")=='true') ? 1 : 0;
		    var favourite               = (logged_user.getAttribute("favourite")=='true') ? 1 : 0;

        //Pocet kategorii hodnoceni

        var votecategories = xmlRoot.getElementsByTagName("votecategories");
			  votecategories = votecategories.item(0);

        var votecategories_pocet = votecategories.getAttribute("count");
				votecategories_pocet = parseInt(votecategories_pocet);

        var votecategory = xmlRoot.getElementsByTagName("votecategory");

        var uservotecount  = xmlRoot.getElementsByTagName("uservotecount");

        // nastavime pocatecni podminky na nulu, to znamena, ze jsme jeste nevolili
        if (votecategories_pocet > 0) {
          ActualMarks = new Array(votecategories_pocet);
          ActualMarksCount = new Array(votecategories_pocet);
        }

        var tmp;
        var type;
        var average;
        var html_tmp;
        var StarsWidth;

        // neprihlaseny volime sami
        for (var i = 0;i < votecategories_pocet;i++)
        {
          tmp = votecategory.item(i);
          type  = parseInt(tmp.getAttribute("type"));
          average = parseFloat(tmp.getAttribute("average"));
          html_tmp = average;

          StarsWidth = 16 * parseFloat(average);

          if (type == 1) {
              // StarsWidth = StarsWidth / 2;
          }

          // alert(i + ". " + type + " | " + StarsWidth + "px | " + " url( " + urlToIcon + "guide/map-ocen-stars-active.gif) ");

          ActualMarks[i] = 0; // (signin) ? 0 : 1;
          ActualMarksCount[i] = 0;

          document.getElementById('VoteItem_'+type).innerHTML = html_tmp;
          document.getElementById('VoteStarsItem_'+type).style.width = StarsWidth + "px";
          stars_original_url[type] = "url('" + urlToIcon + "guide/map-ocen-stars-active.gif')";
          stars_original_width[type] = StarsWidth + "px";

          // document.getElementById('VoteStarsItem_'+type).style.backgroundImage = "url('" + urlToIcon + "guide/map-ocen-stars-active.gif)'"
        }


        //Pokud je prihlasen zobrazime blok s hlasovanim
        if(signin)
        {
            //Zobrazime odpovidajici nadpis
                // document.getElementById('ProvozovnaInfoRatingsVoteHeadline').innerHTML = 'Oceň hospodu jak zaslouží';


            //Ma danou restauraci vybranou jako oblibenou, jestli ne, tak zobrazime moznost Vybrat mezi oblibene...
            if(favourite){
               document.getElementById('ProvozovnaInfoVelkePridatDoOblibenych').innerHTML = 'Oblíbená hospoda. <a href="#" onclick="javascript: return UnsetFavouritePub(); " title="Odebrat z oblíbených hospod"><b>Odebrat z oblíbených hospod</b></a>';
            }else{
               document.getElementById('ProvozovnaInfoVelkePridatDoOblibenych').innerHTML = '<a href="#" onclick="javascript: return SetFavouritePub(); " title="Přidat mezi oblíbené hospody"><b>Přidat mezi oblíbené hospody</b></a>';
            }

            //Podivame se, jestli uz pro neco nehlasoval. Pokud ano, zobrazime, jak hodnotil a celkove hodnoceni v teto kategorii
            if (votecategories_pocet > 0)
			{
               var votCount = 0;
               for (var i = 0;i < uservotecount.length;i++)
               {
                var tmp = uservotecount.item(i);
                var type  = parseInt(tmp.getAttribute("type"));
                var value = parseInt(tmp.getAttribute("value"));
                ActualMarks[type] = 0; // value >= 3 ? 1 : 0;
                ActualMarksCount[type] = parseInt(value);
                if (ActualMarksCount[type] > 0) {
                    votCount += 1;
                }

                if (value == 0) {
                    stars_original_url[type] = "url('" + urlToIcon + "guide/map-ocen-stars-active.gif')";
                    document.getElementById('VoteStarsItem_'+type).style.backgroundImage = "url('" + urlToIcon + "guide/map-ocen-stars-active.gif')"
                }

               }

               if (votCount > 0)
               {
                  // document.getElementById('ProvozovnaInfoRatingsVoteHeadline').innerHTML = 'Tato hospoda byla již z Vaší IP adresy hodnocena.';
               }

               var uservote = xmlRoot.getElementsByTagName("uservote");

			   for (var i = 0;i < votecategories_pocet;i++)
               {
                  var tmp = uservote.item(i);
                  var type  = parseInt(tmp.getAttribute("type"));
                  var value = parseFloat(tmp.getAttribute("value"));

                  if(value>0)
                  {
                    votCount += 1;
                    var StarsWidth = 16 * parseFloat(value);

                    if (type == 1) {
                        // StarsWidth = StarsWidth / 2;
                    }

                    document.getElementById('VoteItem_'+type).innerHTML = value;
                    document.getElementById('VoteStarsItem_'+type).style.width = StarsWidth + "px";
                    // alert("ANO2");
                    // stars_original_url[type] = "url('" + urlToIcon + "guide/map-ocen-stars-active-users.gif')";
                    stars_original_url[type] = "url('" + urlToIcon + "guide/map-ocen-stars-active.gif')";
                    stars_original_width[type] = StarsWidth + "px";

                    // document.getElementById('VoteStarsItem_'+type).style.backgroundImage = "url('" + urlToIcon + "guide/map-ocen-stars-active-users.gif')"
                    document.getElementById('VoteStarsItem_'+type).style.backgroundImage = "url('" + urlToIcon + "guide/map-ocen-stars-active.gif')"
                  }
               }

             }

             //Zobrazime formular pro pridani zpravy
             document.getElementById('ProvozovnaInfoVelkeZpravyVlozitForm').style.display='block';

        }


			}
			catch (e)
			{
			   // alert('Nedorazila data1: ' + e.toString());
			}

		}else{
	     // alert('Nedorazila data2: ' + xmlHttp.statusText);
	  }

  }

}


function ViewPhotoByNumber(position)
{

  var width = 0;
  var height = 0;
  var pomerW = 0;
  var pomerH = 0;

  var widthMax = 210;
  var heightMax = 128;

  try
  {
    if (fotky[position] != null)
    {
      document.getElementById('VelkePhotoView').style.display = "block";
      document.VelkePhotoView.src = fotky[position].src;

      height = parseInt(fotky[position].height);
      width  = parseInt(fotky[position].width);

      pomerW = width / widthMax;
      pomerH = height / heightMax;

      if (height > heightMax || width > widthMax)
      {
        if (pomerH > pomerW) {
          width  = Math.ceil(width / pomerH);
          height = heightMax;
        }
        else {
          height = Math.ceil(height / pomerW);
          width  = widthMax;
        }
      }

      document.VelkePhotoView.width = width;
      document.VelkePhotoView.height = height;

      document.getElementById('ProvozovnaInfoVelkePhotoViewText').innerHTML = fotky_popis[position];
      var ul_photo_bar = document.getElementById('ul_photo_bar');
      if (ul_photo_bar) {
      	ul_photo_bar.childNodes[SelectedPhoto].className = '';
      	ul_photo_bar.childNodes[position].className = 'active';
			}

      SelectedPhoto = position;
    }
  }
  catch (e)
  {
    document.getElementById('VelkePhotoView').style.display = "none";
    document.getElementById('ProvozovnaInfoVelkePhotoViewText').innerHTML = "Fotografie nejsou k dispozici.";
  }
  return false;
}

// vyplnit hvezdicky podle polohy mysi
function SetStarsIn(id_typ,mouseEvent)
{

  var widthStar;
  var widthWindow = getWindowWidth();
  var divStars = "VoteStarsItem_" + id_typ;
  var id_star = id_typ;

  // alert(widthWindow + " | " + mouseEvent.clientX);
  if (widthWindow < 890) {
    widthWindow = 890;
  }
  widthStar = mouseEvent.clientX - (widthWindow - (350 + 82));

  // alert("W: " + widthStar + " px | " + ActualMarks[id_typ] + " | " + stars_moveon_stat[id_star] + " | " + ActualMarksCount[id_typ]);

  // if (ActualMarks[id_typ] == 0 && ActualMarksCount[id_typ] < 3) {

    // alert(widthStar + " = " + mouseEvent.clientX + " - (" + widthWindow + " - (350 + 82)) >> " + ((Math.ceil(widthStar / 16))*16) + "|" + stars_moveon_stat[id_star]);

    if (stars_moveon_stat[id_star] == 0)
    {
      stars_moveon_stat[id_star] = 1;
      //stars_original_width[id_star] = document.getElementById(divStars).style.width;
      //stars_original_url[id_star] = document.getElementById(divStars).style.backgroundImage;
      // alert("ANO1")
      document.getElementById(divStars).style.backgroundImage = "url('" + urlToIcon + "guide/map-ocen-stars-active-users.gif')"
    }
    widthStar = (Math.ceil(widthStar / 16))*16;
    document.getElementById(divStars).style.width = widthStar + "px"
  // }
}

// budeme hlasovat podle polohy hvezdicky
function SetVoteByStarWidth(id_typ) {
	var divStars = "VoteStarsItem_" + id_typ;
	var width = document.getElementById(divStars).style.width;
	var mark = 0;
	var id_star = id_typ;
	var fullMark = document.getElementById("ProvozovnaInfoRankNumber").innerHTML;

	width = parseInt( width.replace("px","") );

	mark = Math.ceil(width / 16);
	if (mark > 5) { mark = 5; }
	if (mark < 1) { mark = 1; }

	// if (ActualMarks[id_typ] == 0) {// && ActualMarksCount[id_typ] < 3) {
	// ActualMarksCount[id_typ] = ActualMarksCount[id_typ] + 1;
		document.getElementById("VoteItem_" + id_typ).innerHTML = mark;

		stars_original_width[id_star] = document.getElementById(divStars).style.width;
		stars_original_url[id_star] = document.getElementById(divStars).style.backgroundImage;

		if ($("#UserSMSConfirmStat").val() == 0)
		{
			showSmsCodeForm(id_typ,mark);
		}
		else
		{
			SetVoteForPub(id_typ,mark);
		}

	// }

}

/*
puvodni hlas. funkce
function SetVoteByStarWidth(id_typ) {
	var divStars = "VoteStarsItem_" + id_typ;
	var width = document.getElementById(divStars).style.width;
	var mark = 0;
	var id_star = id_typ;
	var fullMark = document.getElementById("ProvozovnaInfoRankNumber").innerHTML;

	width = parseInt( width.replace("px","") );

	mark = Math.ceil(width / 16);
	if (mark > 5) { mark = 5; }
	if (mark < 1) { mark = 1; }

	if (ActualMarks[id_typ] == 0 && ActualMarksCount[id_typ] < 3) {
		ActualMarksCount[id_typ] = ActualMarksCount[id_typ] + 1;
		document.getElementById("VoteItem_" + id_typ).innerHTML = mark;

		stars_original_width[id_star] = document.getElementById(divStars).style.width;
		stars_original_url[id_star] = document.getElementById(divStars).style.backgroundImage;

		SetVoteForPub(id_typ,mark);
	}

}
*/

function SetVoteByStarOut(id_typ)
{
  var id_star = id_typ;
  var divStars = "VoteStarsItem_" + id_typ;

  if (stars_moveon_stat[id_star] == 1)
  {
    document.getElementById(divStars).style.width = stars_original_width[id_star];
    document.getElementById(divStars).style.backgroundImage = stars_original_url[id_star];
    stars_moveon_stat[id_star] = 0;
  }
}

// budeme hlasovat AJAXem
function SetVoteForPub(type_position,mark)
{
  var id_pub = document.getElementById('VybranaProvozovnaId').value;

  $.ajax({
	   type: "GET",
	   url: WebUrl + "ajax/pubguidePubDetailVote.php",
	   data: "id=" + id_pub + "&type_position=" + type_position + "&mark=" + mark,
	   success: function(data){
	     data = data.split(";");

         var forbid_rate = data.length >= 2 && parseInt(data[1]) >= 3 ? 1 : 0;
         var rate = data.length >= 1 ? parseFloat(data[0]) : 0;
         //alert (forbid_rate+"\n"+rate);

	     if (rate > 0)
	     {
            document.getElementById("ProvozovnaInfoRankNumber").innerHTML = rate;
		 }
		 testShowVoteSuccess();

		 // pubguideHodnoceni_load()
		 var tmp_link = top.document.location.href;
		 var link = tmp_link.split("#");
		 var load_rok = aktualni_rocnik;
		 var load_jak = 'celkove';
  		 //var new_link_temp = link[0] + "#rok-" + rok + "-kategorie-" + kategorie;
  		 if (false && link[1] != null && link[1] != '')
  		 {
			 var tmp = link[1].split("-");
			 load_rok = tmp[1];
			 load_jak = tmp[3];
  		 }

		 pubguideHodnoceni_load(load_rok,load_jak, '.boxHead ul li.active a');

         ActualMarks[type_position] = forbid_rate;
	   }
	 });

	// process( 'GET', 'ajax/pubguideGetInfo.php', params1, 'pubguideShowDetailVelky');
}


// Pridani hospody do oblibnenych
function SetFavouritePub(type_position,mark)
{
  var id_pub = document.getElementById('VybranaProvozovnaId').value;

  $.ajax({
	   type: "GET",
	   url: WebUrl + "ajax/pubguidePubDetailSetFavorite.php",
	   data: 'set_favourite_pub=' + id_pub,
	   success: function(data){
      document.getElementById("ProvozovnaInfoVelkePridatDoOblibenych").innerHTML = 'Oblíbená hospoda. <a href="#" onclick="javascript: return UnsetFavouritePub(); " title="Odebrat z oblíbených hospod"><b>Odebrat z oblíbených hospod</b></a>';
	   }
	});

	// process( 'GET', 'ajax/pubguideGetInfo.php', params1, 'pubguideShowDetailVelky');
  return false;
}

// Odebrani hospody z oblibenych...
function UnsetFavouritePub(type_position,mark)
{
  var id_pub = document.getElementById('VybranaProvozovnaId').value;

  $.ajax({
	   type: "GET",
	   url: WebUrl + "ajax/pubguidePubDetailSetFavorite.php",
	   data: 'unset_favourite_pub=' + id_pub,
	   success: function(data){
      document.getElementById("ProvozovnaInfoVelkePridatDoOblibenych").innerHTML = '<a href="#" onclick="javascript: return SetFavouritePub(); " title="Přidat mezi oblíbené hospody"><b>Přidat mezi oblíbené hospody</b></a>';
	   }
	});

	// process( 'GET', 'ajax/pubguideGetInfo.php', params1, 'pubguideShowDetailVelky');
  return false;
}

// Pridani komentare k restauraci..
function PubAddMessage()
{
  var id_pub = document.getElementById('VybranaProvozovnaId').value;
  var text   = document.getElementById('PUHospodaNazor').value;
  var max_limit = 1000;
  var params1 = new Array();
  //Omezime delku..

  if(text.length > max_limit)
     text = text.substring(0, maxlimit);

  text = rawurlencode(text);

  document.getElementById('PUHospodaNazor').value = '';

  params1[0] = 'id='+id_pub;
  params1[1] = 'add_message='+text;
  params1[2] = 'typ=velky';

	process( 'GET', 'ajax/pubguideGetInfo.php', params1, 'pubguideShowDetailVelky');
  return false;


}

function pubguideCloseDetailVelky()
{
  // if(!document.getElementById) return false;
  el = document.getElementById(boxPubguideInfoVelke);
  el.style.visibility='hidden';
}

// zobrazime textove informace o hospode a schovame fotky v nahledu
function PubViewInfo()
{
  document.getElementById('ProvozovnaInfoVelkeInfoText').style.display = "block";

  document.getElementById('ProvozovnaInfoVelkePhoto').style.display = "none";
  document.getElementById('ProvozovnaInfoVelkeInfoAbout').style.display = "none";
  document.getElementById('ProvozovnaInfoVelkeInfoOpenTime').style.display = "none";

  document.getElementById('ProvozovnaInfoVelkeClassInfo').className  = "PubInfo active";
  document.getElementById('ProvozovnaInfoVelkeClassAbout').className = "PubAbout";
  document.getElementById('ProvozovnaInfoVelkeClassTime').className  = "PubOpenTime";
  document.getElementById('ProvozovnaInfoVelkeClassPhoto').className = "PubPhoto";

  return false;
}

// zobrazime foto informace o hospode a schovame textove informace v nahledu
function PubViewPhotos()
{
  document.getElementById('ProvozovnaInfoVelkePhoto').style.display = "block";

  document.getElementById('ProvozovnaInfoVelkeInfoText').style.display = "none";
  document.getElementById('ProvozovnaInfoVelkeInfoAbout').style.display = "none";
  document.getElementById('ProvozovnaInfoVelkeInfoOpenTime').style.display = "none";

  document.getElementById('ProvozovnaInfoVelkeClassInfo').className  = "PubInfo";
  document.getElementById('ProvozovnaInfoVelkeClassAbout').className = "PubAbout";
  document.getElementById('ProvozovnaInfoVelkeClassTime').className  = "PubOpenTime";
  document.getElementById('ProvozovnaInfoVelkeClassPhoto').className = "PubPhoto active";

  return false;
}

// zobrazime popisku o hospode a schovame textove informace v nahledu
function PubViewAbout()
{
  document.getElementById('ProvozovnaInfoVelkeInfoAbout').style.display = "block";

  document.getElementById('ProvozovnaInfoVelkeInfoText').style.display = "none";
  document.getElementById('ProvozovnaInfoVelkePhoto').style.display = "none";
  document.getElementById('ProvozovnaInfoVelkeInfoOpenTime').style.display = "none";

  document.getElementById('ProvozovnaInfoVelkeClassInfo').className  = "PubInfo";
  document.getElementById('ProvozovnaInfoVelkeClassAbout').className = "PubAbout active";
  document.getElementById('ProvozovnaInfoVelkeClassTime').className  = "PubOpenTime";
  document.getElementById('ProvozovnaInfoVelkeClassPhoto').className = "PubPhoto";
  return false;
}

// zobrazime foto informace o oteviraci dobe a schovame textove informace v nahledu
function PubViewOpenTime()
{
  document.getElementById('ProvozovnaInfoVelkeInfoOpenTime').style.display = "block";

  document.getElementById('ProvozovnaInfoVelkeInfoText').style.display = "none";
  document.getElementById('ProvozovnaInfoVelkeInfoAbout').style.display = "none";
  document.getElementById('ProvozovnaInfoVelkePhoto').style.display = "none";

  document.getElementById('ProvozovnaInfoVelkeClassInfo').className  = "PubInfo";
  document.getElementById('ProvozovnaInfoVelkeClassAbout').className = "PubAbout";
  document.getElementById('ProvozovnaInfoVelkeClassTime').className  = "PubOpenTime active";
  document.getElementById('ProvozovnaInfoVelkeClassPhoto').className = "PubPhoto";

  return false;
}



function cuffonizeAnything(t)
{
	if (t) {
		if (document.getElementById(t)) {
			Cufon.replace("#"+t);
		}
	}
}

function topTenReplace()
{
	cuffonizeAnything("top10hospodhead");
}
function bubbleHeadingReplace()
{
	setTimeout('cuffonizeAnything("bubbleH4ToCufon")',50);
}
function detailHeadingReplace()
{
	cuffonizeAnything("ProvozovnaInfoVelkeId");
	cuffonizeAnything("ProvozovnaInfoVelkeNazevText");
}

function rawurlencode( str ) {

    var histogram = {}, unicodeStr='', hexEscStr='';
    var ret = str.toString();

    var replacer = function(search, replace, str) {
        var tmp_arr = [];
        tmp_arr = str.split(search);
        return tmp_arr.join(replace);
    };

    // The histogram is identical to the one in urldecode.
    histogram["'"]   = '%27';
    histogram['(']   = '%28';
    histogram[')']   = '%29';
    histogram['*']   = '%2A';
    histogram['~']   = '%7E';
    histogram['!']   = '%21';
    histogram['\u20AC'] = '%80';
    histogram['\u0081'] = '%81';
    histogram['\u201A'] = '%82';
    histogram['\u0192'] = '%83';
    histogram['\u201E'] = '%84';
    histogram['\u2026'] = '%85';
    histogram['\u2020'] = '%86';
    histogram['\u2021'] = '%87';
    histogram['\u02C6'] = '%88';
    histogram['\u2030'] = '%89';
    histogram['\u0160'] = '%8A';
    histogram['\u2039'] = '%8B';
    histogram['\u0152'] = '%8C';
    histogram['\u008D'] = '%8D';
    histogram['\u017D'] = '%8E';
    histogram['\u008F'] = '%8F';
    histogram['\u0090'] = '%90';
    histogram['\u2018'] = '%91';
    histogram['\u2019'] = '%92';
    histogram['\u201C'] = '%93';
    histogram['\u201D'] = '%94';
    histogram['\u2022'] = '%95';
    histogram['\u2013'] = '%96';
    histogram['\u2014'] = '%97';
    histogram['\u02DC'] = '%98';
    histogram['\u2122'] = '%99';
    histogram['\u0161'] = '%9A';
    histogram['\u203A'] = '%9B';
    histogram['\u0153'] = '%9C';
    histogram['\u009D'] = '%9D';
    histogram['\u017E'] = '%9E';
    histogram['\u0178'] = '%9F';


    // Begin with encodeURIComponent, which most resembles PHP's encoding functions
    ret = encodeURIComponent(ret);

    for (unicodeStr in histogram) {
        hexEscStr = histogram[unicodeStr];
        ret = replacer(unicodeStr, hexEscStr, ret); // Custom replace. No regexing
    }

    // Uppercase for full PHP compatibility
    return ret.replace(/(\%([a-z0-9]{2}))/g, function(full, m1, m2) {
        return "%"+m2.toUpperCase();
    });
}


function loadHelp(){
	setTimeout(function(){
		var el;
		el = jQuery('#jakHlasovat');
		el.find('a').click(function(){
			jQuery(this).parent().parent().toggleClass('active');
			jQuery('#helpBg').css('opacity',0.75);
			return false;
		});
		Cufon.replace('#jakHlasovat span.t');
		jQuery('#helpBg').css('opacity',0.75);
		el.find('span.cl,#helpBg').click(function(){
			jQuery(this).parent().removeClass('active').parent().removeClass('active');
		});
		if (window.location.href.indexOf('jak-hlasovat') != -1) {
			el.find('a').trigger('click');
		}
	},10);
}


function showSmsCodeForm(mark_id_typ,mark_value) {

	var formPhoneNumber = $("form#VoteSmsForm", "#ProvozovnaInfoRatingsVoteSMSform");
	var formSms = $("form#VoteSmsFormConfirm", "#ProvozovnaInfoRatingsVoteSMSform");

    $("#ProvozovnaInfoRatingsVoteSMSform").show().parent().addClass("smsFormOpen");
    formPhoneNumber.show();

	formPhoneNumber.bind("submit", function(event) {
		event.preventDefault();
		if ($("input[name=smsCodeNumber]", formPhoneNumber).val() != "") {
			$("label", formPhoneNumber).removeClass("err");

			// kod pro zaslani SMS
            $.ajax({
                 type: "GET",
                 url: WebUrl + "ajax/pubguidePubSMSConfirm.php",
                 data: "PhoneNumber=" + $("input[name=smsCodeNumber]", formPhoneNumber).val(),
                 success: function(data){
                    var stat = parseInt(data);
                    if (stat > 0) {
                        formPhoneNumber.hide();
                        formSms.show();
                    }
                 }
            });

		} else {
			$("label", formPhoneNumber).addClass("err");
		}
	});
	formSms.bind("submit", function(event) {
		event.preventDefault();
		if ($("input[name=smsCode]", formSms).val() != "") {
            // overujeme kod
            // kod pro zaslani SMS
            $.ajax({
                 type: "GET",
                 url: WebUrl + "ajax/pubguidePubSMSConfirm.php",
                 data: "CodeUser=" + $("input[name=smsCode]", formSms).val(),
                 success: function(data){
                    var stat = parseInt(data);
                    if (stat > 0) {
                        $("label", formSms).removeClass("err");
                        $("#ProvozovnaInfoRatingsVoteSMSform").hide().parent().removeClass("smsFormOpen");

                        formSms.hide();

						$("#UserSMSConfirmStat").val(1);
						SetVoteForPub(mark_id_typ,mark_value);


                        $("input[name=smsCodeNumber]", formPhoneNumber).val('');
                        $("input[name=smsCode]", formSms).val('');

                    }
                    else {
                        $("label", formSms).addClass("err");
                    }
                 }
            });

		} else {
			$("label", formSms).addClass("err");
		}
	});
	$("a.showVoteSmsForm", formSms).bind("click", function(event) {
		event.preventDefault();
		formSms.hide();
		formPhoneNumber.show();
	})

}


function testShowVoteSuccess() {
	$("#thanksForVoting").show();
	$("#thanksForVoting").animate({top:"7px"}, 400).animate({opacity:1}, 1000, function() { $(this).fadeOut(100)});
}


$(document).ready(function(){

	var starsTable = $("#ProvozovnaInfoRatingsVote");
	var overClass;
	$(".stars", starsTable).bind("mouseover mouseout", function(event) {
		overClass = "over-" + (this.id.substr(19));
		if (event.type == "mouseover") {
			$("#voteHelpOver").addClass(overClass);
		} else {
			$("#voteHelpOver").removeClass(overClass);
		}
	});

  $('#ProvozovnaInfoVelkeInfoText').show();

});

