$(document).ready(function(){

	/**
	 * pokud existuje zpráva, která se má zobrazit jako alert, tak se zobrazí
	 */
	if ( typeof(GLOBAL_ALERT_MSG) == 'string' && GLOBAL_ALERT_MSG.length > 0 ) {
	  alert(GLOBAL_ALERT_MSG);
	}

  // nastavi odkazum v sekci Na stiahnutie tridu "external"
  $("table#na-stiahnutie a").addClass("external");
  // otevre odkaz v novem okne
  $("a.external").click(function() {
    open($(this).attr("href"));
    return false;
  });

  /**
   * odkazy do nového okna
   */
  $("a.t_out").live("click", function(){
    open($(this).attr("href"));
    return false;
  });
  
  // Hover efekt polozek leveho submenu
  $("a.top").hover(function() {
    // nacteni css trid
    var css = $(this).parent().attr("class");
    // pokud se jedna o aktivni polozku, pozadim nehybame
    if (css.indexOf("active") > -1) {
      return;
    }
    $(this).parent().addClass("top_sel");
  },
  function() {
    // nacteni css trid
    var css = $(this).parent().attr("class");
    // pokud se jedna o aktivni polozku, pozadim nehybame
    if (css.indexOf("active") > -1) {
      return;
    }
    $(this).parent().removeClass("top_sel");
  });

  // Hover efekt polozek menu
  $("div.menuitem a.grey").hover(function() {
    // nacteni css trid
    var css = $(this).attr("class");
    // pokud se jedna o aktivni polozku, pozadim nehybame
    if (css.indexOf("active") > -1) {
      return;
    }
    $(this).addClass("sel");
  },
  function() {
    // nacteni css trid
    var css = $(this).attr("class");
    // pokud se jedna o aktivni polozku, pozadim nehybame
    if (css.indexOf("active") > -1) {
      return;
    }
    $(this).removeClass("sel");
  });

  // zobrazi/skryje odpoved k otazce
  $("div.question").click(function() {
    // najde id otazky
    var id = $(this).attr("id");
    id = parseInt(id.substring(9));
    var old_display = $("div#answer_"+id).css("display");
    var new_display;
    if (old_display == "block") {
      $("div#answer_"+id).css("display", "none");
       var heightbox = $("div#answer_"+id).height();
      height_page_bg(heightbox,'none');
      $(this).css("background-position", "left top");
    } else {
      $("div#answer_"+id).css("display", "block");
      var heightbox = $("div#answer_"+id).height();
      height_page_bg(heightbox,'block');
      $(this).css("background-position", "left -13px");
    }
  });

  // skript zajistujici obarveni tabulky ve stylu spp.sk
  $("table.zoznam").children("tbody").each(function() {
    var skip_rows = 0;
    var fold_rows = 0;
    var tr_order = 0;
    $(this).children("tr").each(function() {
      if(skip_rows>0) {
        skip_rows--;
      } else if (fold_rows>0) {
        $(this).addClass('even');
        fold_rows--;
      } else {
        tr_order++;
        var even = (tr_order%2) ? false : true;
        var rowspan_max = 0;
        $(this).children("th,td").each(function() {
          if ($(this).attr('rowspan') && parseInt($(this).attr('rowspan')) > rowspan_max) {
            rowspan_max = parseInt($(this).attr('rowspan'));
          }
        });
        if (even) {
          $(this).addClass('even');
          fold_rows = rowspan_max - 1;
        } else {
          skip_rows = rowspan_max - 1;
        }
      }
    });
  });
  $("table.zoznam").children("thead").each(function() {
    $(this).children("tr:last").addClass('last');
  });
  $("table.zoznam thead th.vertical_stripe").each(function() {
    var th_pos = 0;
    var rowspans = new Array();
    $(this).prevAll().each(function() {
      th_pos += ($(this).attr('colspan')) ? parseInt($(this).attr('colspan')) : 1;
      if ($(this).attr('rowspan') && parseInt($(this).attr('rowspan')) > 1) {
        rowspans.push(parseInt($(this).attr('rowspan')));
      }
    });
    var tr_parent = $(this).parents("tr")[0];
    var tr_idx = 2;
    $(tr_parent).nextAll().each(function() {
      var position = 0;
      for (i=0;i<rowspans.length;i++) {
        if (tr_idx<=rowspans[i]) {
          position++;
        }
      }
      $(this).children().each(function() {
        if (position++ == th_pos) {
          $(this).addClass('vertical_stripe');
        }
      });
      tr_idx++;
    });
    var table_parent = $(this).parents("table")[0];
    $(table_parent).children("tbody").children("tr").each(function() {
      var tds = $(this).children()[th_pos];
      $(tds).addClass('vertical_stripe');
    });
  });

  // vlozeni zelenych puntiku v sekci Na stiahnutie
  $("table.na-stiahnutie tbody tr td:first-child").each(function() {
    $(this).css("background-image", "url('/multimedia/image/sekce/table_point.png')");
    $(this).css("background-position", "left center");
    $(this).css("background-repeat", "no-repeat");
  });

  // skryvani textu "Vyhladavanie" ve vyhledavacim policku
  $("input.hiding").focus(function() {
    if ($(this).val() == $(this).attr("default")) {
      $(this).val("");
    }
  });
  $("input.hiding").blur(function() {
    if ($(this).val() == "") {
      $(this).val($(this).attr("default"));
    }
  });

  // zakazuje a povoluje vstupni pole dle zaskrtnuti checkboxu (sekce Kalkulator spotreby)
  $("input.plyn_vyuziti").click(function() {
    manage_input_fields();
  });
  manage_input_fields();

  // kliknuti na odkaz zobrazujici zalohovou platbu v sekci Kalkulator spotreby
  $("a#kalk_platby").click(function() {
    $(this).css("display", "none");
    $("div#zalohove_platby").css("display", "block");
    return false;
  });

  // kontrola vstupnich udaju kalkulatoru spotreby v zavislosti na zaskrtnutych checkboxech
  $("form#kalk").submit(function() {
    // kontrola, zda je vybrano mesto
    if ($("select#obce_select").val() == "-1") {
      alert('Zvolte obec!');
      return false;
    }
    // kotrola poli pro zadavani velikosti domu a poctu osob
    var result = true;
    if ($("input#plyn_vykurovanie").is(":checked")) {
      if (!check_calc_form(1)) {result = false;}
      if (!check_calc_form(2)) {result = false;}
    }
    if ($("input#plyn_voda").is(":checked") ||
        $("input#plyn_varenie").is(":checked")) {
      if (!check_calc_form(3)) {result = false;}
    }
    return result;
  });

  var options = {
    width: 210,
    padding: 5,
    fill: '#ffd658',
    cornerRadius: 3,
    spikeLength: 10,
    spikeGirth: 10,
    strokeWidth: 1,
    positions: ['bottom'],
    cssStyles: {textAlign: 'justify'}
  };
  $("span#tsA").bt("Dom s <strong>mimoriadne</strong> dobrou tepelnou izoláciou " +
    "obvodových stien, stropu (strechy) a podlahy, <strong>mimoriadne kvalitné</strong> drevené, " +
    "resp. plastové okná. Byt, ktorý <strong>susedí</strong> zhora, zdola a čiastočne po stranách s iným bytom - " +
    "byt v strede domu, kvalitný obvodový múr, <strong>mimoriadne kvalitné</strong> drevené, " +
    "resp. plastové okná, <strong>mimoriadne dobre zateplený</strong> bytový dom.",
    options);
  $("span#tsB").bt("Dom s <strong>veľmi dobrou</strong> tepelnou izoláciou obvodových stien, " +
    "stropu (strechy) a podlahy, <strong>kvalitné</strong> drevené, resp. plastové okná (vákuum, " +
    "resp. inertný plyn medzi jednotlivými sklenenými tabuľami, riadená infiltrácia). " +
    "Byt, ktorý <strong>susedí</strong> zhora, zdola a čiastočne po stranách s iným bytom - " +
    "byt v strede domu, <strong>kvalitné</strong> drevené, resp. plastové okná (vákuum, resp. " +
    "inertný plyn medzi jednotlivými sklenenými tabuľami, riadená infiltrácia), <strong>zateplený</strong> bytový dom.",
    options);
  $("span#tsC").bt("Dom s <strong>nedostatočnou</strong> tepelnou izoláciou " +
    "obvodových stien (resp. steny sú nezateplené, ale zhotovené z materiálov s veľkým " +
    "tepelným odporom - napr. 40cm pórobetón), stropu (strechy) a podlahy, " +
    "<strong>štandardné</strong> drevené, resp. plastové okná. " +
    "Byt, ktorý <strong>susedí</strong> zhora, zdola a čiastočne po stranách s iným bytom - byt v strede domu, " +
    "<strong>štandardné</strong> drevené, resp. plastové okná, murovaný obvodový plášť domu, " +
    "<strong>nezateplený</strong> bytový dom.",
    options);
  $("span#tsD").bt("Dom <strong>bez</strong> tepelnej izolácie obvodových " +
    "stien (betón, tehla ...), <strong>stredne hrubé</strong> steny, bez tepelnej izolácie " +
    "stropu (strechy) a podlahy, <strong>drevené netesné</strong> okná. " +
    "Byt, ktorý <strong>susedí</strong> zhora, zdola a čiastočne po stranách s iným bytom - byt v strede domu, " +
    "drevené <strong>netesné</strong> okná, panelový obvodový plášť, <strong>nezateplený</strong> bytový dom.",
    options);
  $("span#tsE").bt("Dom <strong>bez</strong> tepelnej izolácie obvodových stien " +
    "(betón, tehla ...), <strong>tenké</strong> steny, bez tepelnej izolácie stropu (strechy) " +
    "a podlahy, <strong>drevené netesné okná vo veľmi zlom stave</strong> (popraskané, " +
    "pokrútené, netesné ...). <strong>Rohový</strong> byt, prípadne byt <strong>pod nezateplenou strechou, " +
    "drevené netesné okná vo veľmi zlom stave</strong>, " +
    "panelový obvodový plášť, <strong>nezateplený</strong> bytový dom",
    options);

  // zmena mistnosti pro noflash verzi Ako usetrit
  $("div#noflash_right div#menu a").click(function() {
    showHideFlashSubmenu($(this));
    return false;
  });
  // hover efekt polozek menu noflash verze sekce Ako usetrit
  $("div#noflash_right div#menu a").hover(function() {
    $(this).addClass("hover");
  },
  function() {
    $(this).removeClass("hover");
  });

  // nacteni image mapy do JS promenne pro dalsi pouziti
  nahled_root = $("div#nahled_container").html();

  // aktivace hvezdicek hodnoceni v Rady a tipy
  prepare_rating_tipy("div.rady_a_tipy div.div_star");

  // kontrola polozek v dotazniku
  $("form#dotaznik").submit(function() {
    // kontrola cookie
    var cookie = $.cookie("dotaznik");
    if (cookie != null) {
      alert('Ďakujeme za Váš záujem o opätovné vyjadrenie názoru, ale uložili sme si už Vaše predchádzajúce odpovede.');
      return false;
    }
    // kontrola vyplneni formulare
    var inputs = new Array(
      new Array("input[name='ako_sa_paci_napad']:checked", "1a"),
      new Array("input[name='ako_sa_paci_prevedenie']:checked", "1b"),
      new Array("input[name='ako_sa_paci_uzitocnost']:checked", "1c"),
      new Array("input[name='ako_sa_paci_prehladnost']:checked", "1d"),
      new Array("input[name='ako_sa_paci_dostatok']:checked", "1e"),
      new Array("input[name='vsimli_ako_usetrit']:checked", "5"),
      new Array("input[name='ako_usetrit_hodnoceni_napad']:checked", "6a"),
      new Array("input[name='ako_usetrit_hodnoceni_prevedenie']:checked", "6b"),
      new Array("input[name='ako_usetrit_hodnoceni_otazky']:checked", "6c"),
      new Array("input[name='ako_usetrit_hodnoceni_postupy']:checked", "6d"),
      new Array("input[name='splnila_ocekavani']:checked", "7"),
      new Array("input[name='srozumitelne_rady']:checked", "8"),
      new Array("input[name='kazdodenni']:checked", "9")
    );
    var correct = true; // priznak, zda je nejaka otazka nevyplnena
    var one_correct = false; // priznak, zda je alespon jedna otazka vyplnena
    var questions = new Array(); // pole s cisly nevyplnenych otazek
    var length = inputs.length;
    var q5 = 0;
    for (i=0;i<length;i++) {
      var val = $("form#dotaznik "+inputs[i][0]).val();
      // hodnota otazky cislo 5 (pro pripadne preskoceni otazky c.6)
      if (i == 5) {
        q5 = val;
      }
      // kontrola otazky cislo 6
      if (i == 6 || i == 7 || i == 8 || i == 9) {
        // pokud je hodnota otazky c.5 3 nebo 4, otazka c.6 nemusi byt vyplnena, tedy preskocime kontrolu
        if (q5 == 3 || q5 == 4) {
          continue;
        }
      }
      if (val == null) {
        correct = false;
        questions.push(inputs[i][1]);
      } else {
        one_correct = true;
      }
    }
    if (!one_correct) {
      alert("Prosím, vyplňte náš dotazník, zaujíma nás Váš názor. Ďakujeme.");
    } else if (!correct) {
      alert("Nevyplnili ste otázku č. "+questions.join(", "));
    }

    if (correct) {
      $.cookie("dotaznik", "y");
    }
    return correct;
  });
  
  
  /****************************************************************
   *                   poradna
   ****************************************************************/
  $('#poradna_menu a').hover(
		function() {
			var td_id = $(this).closest('td').attr('id');
			var div_id = td_id.substr('pm_item_'.length);
			$('div#pc_heading_default').hide();
			$('div#theme_heading_' + div_id).show();
			$('div#poradna_content').addClass('menu_hover');
		},
		
		function() {
			var td_id = $(this).closest('td').attr('id');
			var div_id = td_id.substr('pm_item_'.length);
			$('div#pc_heading_default').show();
			$('div#theme_heading_' + div_id).hide();
			$('div#poradna_content').removeClass('menu_hover');
		}
  );
   
  /**
   * skrytí formuláře pro odeslání dotazu
   */
  $('#pc_question_form').css('display', 'none');
  /**
   * na kliknutí se zobrazí formulář pro odeslání dotazu
   */
  $('#pc_btn_vno').live('click', function(){
    $('#pc_question_form').show();
  });
  
  $('#poradna_content div.qa div.answer.default_hide').css('display', 'none');

  $('#poradna_content div.qa a.show_hide').live("click", function(){
    //$($(this).attr('href') + ' p:first-child').css('margin-top','0px');
    $($(this).attr('href')).toggle(100);
    $(this).toggleClass('showed');
    /*if ( $(this).hasClass('showed') ) {
      $(this).html('Skryť odpoveď');
    }
    else {
      $(this).html('Zobraziť odpoveď');
    }*/
    return false;
  });
  
  if ( $('#pc_search_words').length ) {
    var higlight_words = $('#pc_search_words').html().split(' ');
    $('#poradna_content div.qa').highlight(higlight_words);
  }
  /****************************************************************
   *                   KONEC poradna
   ****************************************************************/

  /**
   * odeslání ajaxového formuláře
   */
  $("form.ajax_form").submit(function(){
    var form_obj = this;
    var ajax_ident = $(form_obj).find('input:hidden[name=ajax]');
    if ( !ajax_ident.length ) {
      $(this).append('<input type="hidden" name="ajax" value="ajax" />');
    }
    $(this).ajaxSubmit(
      {
        success: function(data){
          $(form_obj).find(".form_err").remove();
          $(form_obj).find(".form_done").remove();
          $(form_obj).find(".form_err_main").remove();
          if ( data.zpracovano=='ok' ) {
            $(form_obj).before('<p class="form_done">' + data.ok_msg + '</p>');
            $(form_obj).clearForm();
            $(form_obj).css('display','none');
          }
          else {
            if ( data.err_msg.length ) {
              $(form_obj).prepend('<p class="form_err_main">' + data.err_msg + '</p>');
            }

            for ( var i=0;i<data.err_elements.length;i++ ) {
              $(form_obj).find('#' + data.err_elements[i].err_msg_elem_id).html('<span class="form_err">' + data.err_elements[i].err_msg + '</span>');
            }
          }
        },
        dataType: 'json'
      }
    );
    return false;
  });
  
});

/**
 * Aktivuje hodnoceni hvezdicek v sekci Rady a tipy
 * @return
 */
function prepare_rating_tipy(selector) {
  $(selector).each(function() {
    // hover nad hvezdickami
    $(this).hover(function() {
      var rating = $(this).attr("id").substr(9, 1);
      var id = $(this).attr("id").substr(11);
      for(i=1;i<=rating;i++) {
        $("div#div_star_"+i+"_"+id).addClass("star_selected");
      }
    },
    function() {
      var rating = $(this).attr("id").substr(9, 1);
      var id = $(this).attr("id").substr(11);
      for(i=1;i<=rating;i++) {
        $("div#div_star_"+i+"_"+id).removeClass("star_selected");
      }
    });

    $(this).click(function() {
      var tip_id = $(this).attr("id").substr(11);
      var stars = $(this).attr("id").substr(9, 1);
      // kontrola cookie, jestli uz uzivatel nehlasoval
      var cookie = $.cookie("tip_"+tip_id);
      if (cookie != null) {
        alert('Už ste tento tip ohodnotili. Ďakujeme.');
        return;
      }
      $.getJSON("/hlasovani_star.php?action=tipy&id="+tip_id+"&stars="+stars, function(data) {
        if (data.code == 1) {
          $("div#tip_rating_"+tip_id).html($.base64Decode(data.html));
          // nastavi cookie
          $.cookie("tip_"+tip_id, 'y');
          prepare_rating_tipy("div#stars_"+tip_id+" div.div_star");
        }
        alert($.base64Decode(data.msg));
      });
    });
  });


}

/**
 * Zmeni obrazek a podtext dle kodu
 *
 * @param id kod obsluhujici udalost vyvolanou flashem
 */
function flash_event(id) {
  $.getJSON("/ajax/flash_podtexty.php?action=subtext&id="+id, function(data) {
    if (data.code != 0) {
      if (data.img != null) {
        var img_html = '<img src="/multimedia/image/sekce/ako-usetrit/texty/'+data.img+'" alt="" id="ako_usetrit_img" />';
      } else {
        var img_html = '';
      }
      $("div#tipbox").html(img_html+'<div id="subtext_text_content">'+$.base64Decode(data.msg)+'</div><div class="clear"></div>');
      $("h1#subtext_title").text($.base64Decode(data.title));
      // odstraneni "_no" na konci flash_id, pokud uzivatel spatne odpovedel
      if (id.substr(id.length-3) == "_no") {
        id = id.substr(0,id.length-3);
      }
      setStarHoverAndClick(id);
    }
  });
}

/**
 * V sekce Ako usetrit nastavi divum s hlasovacimi hvezdickami obsluhu udalosti hover a click.
 *
 * Na hover je pridavana css trida, pomoci niz se hybe pozadim. To vyvolava efekt obarveni zvolenych hvezd na bilo.
 * Na click je zkontrolovan cookie a provedeno hlasovani.
 *
 * @param flash_id identifikator flashove udalosti; slouzi pro zapsani cookie
 */
function setStarHoverAndClick(flash_id) {
  // hover nad hvezdickami
  $("div.div_star").hover(function() {
    var id = $(this).attr("id").substr(9);
    for(i=1;i<=id;i++) {
      $("div#div_star_"+i).addClass("star_selected");
    }
  },
  function() {
    var id = $(this).attr("id").substr(9);
    for(i=1;i<=id;i++) {
      $("div#div_star_"+i).removeClass("star_selected");
    }
  });

  // kliknuti na hvezdicky
  $("div.div_star").click(function() {
    // kontrola cookie, jestli uz uzivatel nehlasoval
    var cookie = $.cookie(flash_id);
    if (cookie != null) {
      alert('Už ste tento tip ohodnotili. Ďakujeme.');
      return;
    }
    // pocet hvezdicek
    var star_id = $(this).attr("id").substr(9);
    $.getJSON("/ajax/flash_podtexty.php?action=rating&id="+flash_id+"&stars="+star_id, function(data) {
      if (data.code == 0) {
        alert($.base64Decode(data.msg));
      } else {
        // nastavi cookie
        $.cookie(flash_id, 'y');
        // aktualizuje pocet hvezdicek
        var html = $.base64Decode(data.html);
        if (html != '') {
          $("div#subtext_rating").html(html);
          setStarHoverAndClick(flash_id);
        }
        alert($.base64Decode(data.msg));
      }
    });
  });
}

/**
 * Skryva/zobrazuje vstupni pole kalkulatoru spotreby dle zaskrtnutych checkboxu.
 *
 */
function manage_input_fields() {
  // povoleni/zakazani poli pro zadani plochy a vysky domu/bytu
  if ($("input#plyn_vykurovanie").is(":checked")) {
    $("input#plocha").removeAttr("disabled");
    $("input#vyska").removeAttr("disabled");
    $("input#plocha").focus().select();
  } else {
    $("input#plocha").attr("disabled", true);
    $("input#vyska").attr("disabled", true);
  }

  // povoleni/zakazani pole pro zadani poctu osob v dome/byte
  if ($("input#plyn_voda").is(":checked") ||
      $("input#plyn_varenie").is(":checked")) {
    $("input#osoby").removeAttr("disabled");
    $("input#osoby").focus().select();
  } else {
    $("input#osoby").attr("disabled", true);
  }
}

/**
 * Zkontroluje format vstupniho pole (kalkulatoru spotreby) zadaneho v parametru
 *
 * @param pole vstupni pole formulare
 *         1 - podlahova plocha
 *         2 - vyska mistnosti
 *         3 - pocet osob
 * @return true - vstupni pole v poradku; jinak false
 */
function check_calc_form(pole) {
  var regexp = '';
  var value = '';
  var error_msg = '';
  switch (pole) {
    case 1 : {
      regexp = /^[0-9]+(?:[\.,]{1}[0-9]+)?$/;
      value = $("input#plocha").val();
      error_msg = 'Zadajte plochu podlahy. Podlahová plocha musí byť číslo!';
    } break;
    case 2 : {
      regexp = /^[0-9]+(?:[\.,]{1}[0-9]+)?$/;
      value = $("input#vyska").val();
      error_msg = 'Zadajte výšku miestnosti. Výška miestnosti musí byť číslo!';
    } break;
    case 3 : {
      regexp = /^[0-9]+$/;
      value = $("input#osoby").val();
      error_msg = 'Zadajte počet osôb. Počet osôb musí byť celé číslo!';
    } break;
    default : return false;
  }
  if (!regexp.test(value)) {
    alert(error_msg);
    return false;
  }

  return true;
}

/**
 * Zmeni obrazek a body zajmu noflash verze dle kodu mistnosti
 *
 * @param id kod mistnosti
 */
function change_room(id) {
  // zjisteni zdroje obrazku
  var src = '';
  switch (id) {
    case 'byt/chodba' : src = 'byt_chodba.png'; break;
    case 'byt/obyvacka' : src = 'byt_obyvacka.png'; break;
    case 'byt/kuchyna' : src = 'byt_kuchyna.png'; break;
    case 'byt/spalna' : src = 'byt_spalna.png'; break;
    case 'byt/detskaizba' : src = 'byt_detska_izba.png'; break;
    case 'byt/koupelna' : src = 'byt_kupelna.png'; break;
    case 'dum/chodba' : src = 'dum_chodba.png'; break;
    case 'dum/obyvacka' : src = 'dum_obyvacka.png'; break;
    case 'dum/kuchyna' : src = 'dum_kuchyna.png'; break;
    case 'dum/spalna' : src = 'dum_spalna.png'; break;
    case 'dum/detskaizba' : src = 'dum_detskaizba.png'; break;
    case 'dum/koupelna' : src = 'dum_kupelna.png'; break;
    case 'dum/garaz' : src = 'dum_garaz.png'; break;
    case 'dum/technicka' : src = 'dum_technicka.png'; break;
    case 'dum/exterier' : src = 'dum_exterier.png'; break;
    case 'dum/pracovna' : src = 'dum_pracovna.png'; break;
    default : break;
  }
  if (id == 'zpet') {
    // nahled na cely byt
    $("div#nahled_container").html(nahled_root);
  } else {
    // konkretni mistnost
    var path = "/multimedia/image/sekce/ako-usetrit/"+src;
    $("div#nahled_container").html('<img class="left" id="nahled" src="'+path+'" alt="" />');
    // zobrazi body zajmu
    setPOI(id);
    // priradi bodu onclick udalost
    $("div#nahled_container a.a_kolecko").click(function() {
      var code = $(this).attr("id");
      code = code.substr(4);
      // zpetne zmenime '/' za '-', aby byl kod bodu zajmu spravny
//      alert(id);
      flash_event(code.replaceAll("-","/"));
      return false;
    });
  }
}

/**
 * Zobrazi vsechny zajmove body pro mistnost, jejiz kod je predan v parametru
 * U id odkazu jsou znaky '/' meneny za '-', protoze volani JQuery nefunguje, pokud atribut obsahuje '/'.
 *
 * @param id kod mistnosti
 */
function setPOI(id) {
  // podle pocatecnich pismen nastavi, jestli budou pouzity body domu, nebo bytu
  if (id.substr(0,3) == "byt") {
    poi = ptsbyt;
  } else {
    poi = ptsdum;
  }
  // promenna pro kumulaci html kodu bodu zajmu
  var html = "";
  // vytvoreni html kodu pro body zajmu
  for (i=0;i<poi[id].length;i++) {
    html += '<a href="#" id="poi_'+poi[id][i][0].replaceAll("/","-")+'" class="a_kolecko"><img src="/multimedia/image/sekce/ako-usetrit/kolecko.gif" alt="" /></a>';
  }
  // pridani vytvoreneho html kodu do stranky
  $("div#nahled_container").prepend(html);
  // nastaveni pozice pro body zajmu
  for (i=0;i<poi[id].length;i++) {
    var x = poi[id][i][1];
    var y = poi[id][i][2];
    $("div#nahled_container a#poi_"+poi[id][i][0].replaceAll("/","-")).css({left: x+"px", top: y+"px"});
  }
}

/**
 * Funkce nahradi vsechny vyskyty predane v prvnim parametru za retezec v druhem parametru.
 */
String.prototype.replaceAll = function (strTarget, strSubString) {
  var strText = this;
  var intIndexOfMatch = strText.indexOf( strTarget );

  // Keep looping while an instance of the target string
  // still exists in the string.
  while (intIndexOfMatch != -1){
    // Relace out the current instance.
    strText = strText.replace( strTarget, strSubString )

    // Get the index of any next matching substring.
    intIndexOfMatch = strText.indexOf( strTarget );
  }

  // Return the updated string with ALL the target strings
  // replaced out with the new substring.
  return( strText );
}

/**
 * Zobrazi/skryje cast menu v noflash verzi dle predaneho atributu rel.
 *
 * @param rel hodnota atributu rel daneho odkazu v menu
 */
function showHideFlashSubmenuJS(rel) {
  showHideFlashSubmenu($("div#menu a[rel="+rel+"]"));
}

/**
 * Zobrazi/skryje cast menu v noflash verzi. K identifikaci je pouzit JS objekt.
 *
 * @param object objekt, jehoz submenu bude zobrazeno/skryto
 * @return
 */
function showHideFlashSubmenu(object) {
  // skryje/zobrazi podmenu
  var rel = object.attr("rel");
  var id = object.attr("id");
  if (id == 'zpet') {
    change_room('zpet');
    return;
  }
  if (object.hasClass("parent")) {
    $("div.children").css("display", "none");
    $("div#"+rel).css("display", "block");
    // nacte novou mistnost
    change_room(id);
  }
  flash_event(id);
  return false;
}

//Body pro noflash verzi Ako usetrit
var ptsdum = new Array();
var ptsbyt = new Array();
ptsbyt["byt/chodba"] = new Array (
  new Array("byt/chodba/dvere",35,180)
);
ptsbyt["byt/obyvacka"] = new Array (
  new Array("byt/obyvacka/kreslo",200,240),
  new Array("byt/obyvacka/kvetiny",610,215),
  new Array("byt/obyvacka/okno",178,150),
  new Array("byt/obyvacka/termostat",675,166),
  new Array("byt/obyvacka/tv",53,240),
  new Array("byt/obyvacka/ziarovka",395,120)
);
ptsbyt["byt/kuchyna"] = new Array (
  new Array("byt/kuchyna/pokrievka",385,190),
  new Array("byt/kuchyna/chladnicka",700,175),
  new Array("byt/kuchyna/voda",490,190),
  new Array("byt/kuchyna/ventil",288,225),
  new Array("byt/kuchyna/okno",252,152)
);
ptsbyt["byt/spalna"] = new Array (
  new Array("byt/spalna/zarovka",345,93),
  new Array("byt/spalna/ventil",198,222),
  new Array("byt/spalna/zaves",175,160),
  new Array("byt/spalna/stolicka",127,255),
  new Array("byt/spalna/vetrani",144,185)
);
ptsbyt["byt/detskaizba"] = new Array (
  new Array("byt/detskaizba/ventil",183,227),
  new Array("byt/detskaizba/zarovka",275,102),
  new Array("byt/detskaizba/zaves",168,205),
  new Array("byt/detskaizba/okno",135,161)
);
ptsbyt["byt/koupelna"] = new Array (
  new Array("byt/koupelna/rucnik",760,245),
  new Array("byt/koupelna/teplota",760,160),
  new Array("byt/koupelna/kotel",472,218),
  new Array("byt/koupelna/kotel2",492,250),
  new Array("byt/koupelna/zasobnik",492,148)
);
ptsdum["dum/chodba"] = new Array (
  new Array("dum/chodba/termostat",11,176)
);
ptsdum["dum/koupelna"] = new Array (
  new Array("dum/koupelna/rucnik",726,248),
  new Array("dum/koupelna/vana",438,241),
  new Array("dum/koupelna/vetrani",764,148),
  new Array("dum/koupelna/teplota",725,194)
);
ptsdum["dum/spalna"] = new Array (
  new Array("dum/spalna/zaves",32,225),
  new Array("dum/spalna/zarovka",368,95),
  new Array("dum/spalna/stolicka",583,253),
  new Array("dum/spalna/ventil",508,222),
  new Array("dum/spalna/vetrani",571,175)
);
ptsdum["dum/kuchyna"] = new Array (
  new Array("dum/kuchyna/pokrievka",402,175),
  new Array("dum/kuchyna/ventil",461,224),
  new Array("dum/kuchyna/okno",515,174),
  new Array("dum/kuchyna/chladnicka",27,205),
  new Array("dum/kuchyna/voda",319,184)
);
ptsdum["dum/garaz"] = new Array (
  new Array("dum/garaz/palivo",304,237),
  new Array("dum/garaz/topeni",8,196)
);
ptsdum["dum/detskaizba"] = new Array (
  new Array("dum/detskaizba/ventil",458,225),
  new Array("dum/detskaizba/okno",514,176),
  new Array("dum/detskaizba/zaves",485,183),
  new Array("dum/detskaizba/zarovka",322,123)
);
ptsdum["dum/obyvacka"] = new Array (
  new Array("dum/obyvacka/kreslo",474,245),
  new Array("dum/obyvacka/okno",511,182),
  new Array("dum/obyvacka/termostat",32,167),
  new Array("dum/obyvacka/ziarovka",312,126),
  new Array("dum/obyvacka/tv",635,210),
  new Array("dum/obyvacka/kvetiny",177,216)
);
ptsdum["dum/pracovna"] = new Array (
  new Array("dum/pracovna/zaluzie",421,183),
  new Array("dum/pracovna/pocitac",675,208)
);
ptsdum["dum/exterier"] = new Array (
  new Array("dum/exterier/regulace",365,204),
  new Array("dum/exterier/zatepleni",107,247),
  new Array("dum/exterier/sokl",328,295),
  new Array("dum/exterier/okno",614,237),
  new Array("dum/exterier/plynomer",484,300)
);
ptsdum["dum/technicka"] = new Array (
  new Array("dum/technicka/prohlidka",700,140),
  new Array("dum/technicka/kotel",675,119),
  new Array("dum/technicka/zasobnik",683,242)
);

/* AKO SA PRIPOJIT */
/* povolí|zakáže potvrzovací tlačítko pro formulář s jedinou volbu */
function set_submit_one_option(option_code) {
  if ( $("#option"+option_code).hasClass('volba1') ) {
	enable_submit_button();
	if ( $("#option"+option_code).hasClass('volba1') ) {
	  $("#step").val(option_code);
	}		
  }
  else {
	disable_submit_button();
  }
}
function option_on(id) {
  if ( $("#"+id).hasClass('volba0') ) {
    $("#"+id).removeClass('volba0');
    $("#"+id).addClass('volba1');
  }
}
function option_off(id) {
  if ( $("#"+id).hasClass('volba1') ) {
    $("#"+id).removeClass('volba1');
    $("#"+id).addClass('volba0');
  }
}
function enable_submit_button() {	
	$("#submit_btn").removeClass('submit_disabled');
	$("#submit_btn").addClass('submit_enabled');
	$("#submit_btn").removeAttr("disabled");
}
function disable_submit_button() {
	$("#submit_btn").removeClass('submit_enabled');
	$("#submit_btn").addClass('submit_disabled');
	$("#submit_btn").attr("disabled","disabled");
}
/* STEP 2 */
function change_option3a() {  
  if ( $("#option3a").hasClass('volba1') ) {
	option_off("option3a");	  
  }
  else {
	option_on("option3a");
	option_off("option3b");	
  }
  step2_set_submit();
}
function change_option3b() {
 if ( $("#option3b").hasClass('volba1') ) {
	option_off("option3b");	  
 }
 else {
	option_on("option3b");
    option_off("option3a");	
  }
  step2_set_submit();
}
function step2_set_submit(){
  if ( $("#option3a").hasClass('volba1') && $("#option3b").hasClass('volba0') 
	|| $("#option3a").hasClass('volba0') && $("#option3b").hasClass('volba1') ) {
	enable_submit_button();//"form_step2"	
	if ( $("#option3a").hasClass('volba1') ) {
	  $("#form_step2 #step").val("3a");
	}
	else if ( $("#option3b").hasClass('volba1') ) {
	  $("#form_step2 #step").val("3b");
	}
  }
  else {
	disable_submit_button();//"form_step2"
  }  
}
/* STEP 3a */
function change_option4a() {  
  if ( $("#option4a").hasClass('volba1') ) {
	option_off("option4a");	  
  }
  else {
	option_on("option4a");
	option_off("option4b");
	option_off("option4c");			
  }
  step3a_set_submit();
}
function change_option4b() {
 if ( $("#option4b").hasClass('volba1') ) {
	option_off("option4b");	  
 }
 else {
	option_on("option4b");
    option_off("option4a");
    option_off("option4c");		    
  }
  step3a_set_submit();
}
function change_option4c() {
 if ( $("#option4c").hasClass('volba1') ) {
	 option_off("option4c");	  
 }
 else {
	option_on("option4c");
    option_off("option4a");
    option_off("option4b");		    
  }
  step3a_set_submit();
}
function step3a_set_submit(){
  if ( $("#option4a").hasClass('volba1') && $("#option4b").hasClass('volba0') && $("#option4c").hasClass('volba0')
	|| $("#option4a").hasClass('volba0') && $("#option4b").hasClass('volba1') && $("#option4c").hasClass('volba0')
	|| $("#option4a").hasClass('volba0') && $("#option4b").hasClass('volba0') && $("#option4c").hasClass('volba1') ) {
	enable_submit_button();//"form_step3a"	
	if ( $("#option4a").hasClass('volba1') ) {
	  $("#form_step3a #step").val("4a");
	}
	else if ( $("#option4b").hasClass('volba1') ) {
	  $("#form_step3a #step").val("4b");
	}
	else if ( $("#option4c").hasClass('volba1') ) {
		  $("#form_step3a #step").val("4c");
	}		
  }
  else {
	disable_submit_button();//"form_step3a"
  }
}
/* STEP 3b */
function change_option4d() {  
  if ( $("#option4d").hasClass('volba1') ) {
	option_off("option4d");	  
  }
  else {
	option_on("option4d");			
  }
  set_submit_one_option("4d");  
}

/* STEP 4a */
function change_option5a() {  
  if ( $("#option5a").hasClass('volba1') ) {
	option_off("option5a");	  
  }
  else {
	option_on("option5a");
	option_off("option7a");	
  }
  step4a_set_submit();
}
function change_option7a() {
 if ( $("#option7a").hasClass('volba1') ) {
	option_off("option7a");	  
 }
 else {
	option_on("option7a");
    option_off("option5a");	
 }
 step4a_set_submit();
}
function step4a_set_submit(){
  if ( $("#option5a").hasClass('volba1') && $("#option7a").hasClass('volba0') 
	|| $("#option5a").hasClass('volba0') && $("#option7a").hasClass('volba1') ) {
	enable_submit_button();//"form_step4a"
	if ( $("#option5a").hasClass('volba1') ) {
	  $("#form_step4a #step").val("5a");
	}
	else if ( $("#option7a").hasClass('volba1') ) {
	  $("#form_step4a #step").val("7a");
	}
  }
  else {
	disable_submit_button();//"form_step4a"
  }
}
/* STEP 4d */
function change_option5f() {
  if ( $("#option5f").hasClass('volba1') ) {
	option_off("option5f");
  }
  else {
	option_on("option5f");
	option_off("option5d");
	option_off("option5b");
	option_off("option5c");
	option_off("option5e")
	option_off("option5g");
	option_off("option5h")
  }
  step4d_set_submit();
}

function change_option5h() {
  if ( $("#option5h").hasClass('volba1') ) {
	option_off("option5h");
  }
  else {
	option_on("option5h");
	option_off("option5b");
	option_off("option5c");
	option_off("option5f")
  }
  step4d_set_submit();
}

function change_option5g() {
  if ( $("#option5g").hasClass('volba1') ) {
	option_off("option5g");
  }
  else {
	option_on("option5g");
	option_off("option5b");
	option_off("option5c");
	option_off("option5e");
	option_off("option5f")
  }
  step4d_set_submit();
}


function change_option5e() {
  if ( $("#option5e").hasClass('volba1') ) {
	option_off("option5e");
  }
  else {
	option_on("option5e");
	option_off("option5h");
	option_off("option5g");
	option_off("option5d");
	option_off("option5b");
	option_off("option5c");
	option_off("option5f")
  }
  step4d_set_submit();
}


function change_option5d() {  
  if ( $("#option5d").hasClass('volba1') ) {
	option_off("option5d");	  
  }
  else {
	option_on("option5d");
	option_off("option5b");
	option_off("option5c");
	option_off("option5e");
	option_off("option5f")
  }
  step4d_set_submit();
}
function change_option5b() {
 if ( $("#option5b").hasClass('volba1') ) {
	option_off("option5b");	  
 }
 else {
	option_on("option5b");
    option_off("option5d");
    option_off("option5c");
		option_off("option5e");
		option_off("option5f")
		option_off("option5g");
		option_off("option5h")
  }
  step4d_set_submit();
}
function change_option5c() {
 if ( $("#option5c").hasClass('volba1') ) {
	 option_off("option5c");	  
 }
 else {
	option_on("option5c");
    option_off("option5d");
    option_off("option5b");
  	option_off("option5e");
		option_off("option5f")
		option_off("option5g");
		option_off("option5h")
  }
  step4d_set_submit();
}
function step4d_set_submit(){
  if (
		 $("#option5d").hasClass('volba1') && $("#option5b").hasClass('volba0') && $("#option5c").hasClass('volba0')&& $("#option5e").hasClass('volba0') && $("#option5f").hasClass('volba0') && $("#option5g").hasClass('volba1')&& $("#option5h").hasClass('volba1')
	|| $("#option5d").hasClass('volba0') && $("#option5b").hasClass('volba1') && $("#option5c").hasClass('volba0')&& $("#option5e").hasClass('volba0') && $("#option5f").hasClass('volba0') && $("#option5g").hasClass('volba0')&& $("#option5h").hasClass('volba0')
	|| $("#option5d").hasClass('volba0') && $("#option5b").hasClass('volba0') && $("#option5c").hasClass('volba1')&& $("#option5e").hasClass('volba0') && $("#option5f").hasClass('volba0') && $("#option5g").hasClass('volba0')&& $("#option5h").hasClass('volba0')
	|| $("#option5d").hasClass('volba0') && $("#option5b").hasClass('volba0') && $("#option5c").hasClass('volba0')&& $("#option5e").hasClass('volba1') && $("#option5f").hasClass('volba0') && $("#option5g").hasClass('volba0')&& $("#option5h").hasClass('volba0')
  || $("#option5d").hasClass('volba0') && $("#option5b").hasClass('volba0') && $("#option5c").hasClass('volba0')&& $("#option5e").hasClass('volba0') && $("#option5f").hasClass('volba1') && $("#option5g").hasClass('volba0')&& $("#option5h").hasClass('volba0')
	|| $("#option5d").hasClass('volba1') && $("#option5b").hasClass('volba0') && $("#option5c").hasClass('volba0')&& $("#option5e").hasClass('volba0') && $("#option5f").hasClass('volba0') && $("#option5g").hasClass('volba1')&& $("#option5h").hasClass('volba1')
	|| $("#option5d").hasClass('volba1') && $("#option5b").hasClass('volba0') && $("#option5c").hasClass('volba0')&& $("#option5e").hasClass('volba0') && $("#option5f").hasClass('volba0') && $("#option5g").hasClass('volba1')&& $("#option5h").hasClass('volba1')


	)


	{
	
	enable_submit_button();//"form_step4d"
	if ( $("#option5d").hasClass('volba1') ) {
	  $("#form_step4d #step").val("5d");
	}
	if ( $("#option5g").hasClass('volba1') ) {
	  $("#form_step4d #step").val("5d");
	}
	if ( $("#option5h").hasClass('volba1') ) {
	  $("#form_step4d #step").val("5d");
	}
	else if ( $("#option5b").hasClass('volba1') ) {
	  $("#form_step4d #step").val("5b");
	}
	else if ( $("#option5c").hasClass('volba1') ) {
	  $("#form_step4d #step").val("5c");
	}
	else if ( $("#option5e").hasClass('volba1') ) {
	  $("#form_step4d #step").val("5e");
	}
	else if ( $("#option5f").hasClass('volba1') ) {
	  $("#form_step4d #step").val("5f");
	}
  }
  else {
	disable_submit_button();//"form_step4d"
  }
}
/* STEP 5a */
function change_option5a_self(postfix) {
  if ( $("#option5a_self_"+postfix).hasClass('volba1') ) {
	option_off("option5a_self_"+postfix);	  
  }
  else {
	option_on("option5a_self_"+postfix);			
  }
  step5a_set_submit();	
}
function step5a_set_submit(){
  if ( $("#option5a_self_1").hasClass('volba1') 
		  && $("#option5a_self_3").hasClass('volba1') 
		  && $("#option5a_self_5").hasClass('volba1') 
		  && $("#option5a_self_6").hasClass('volba1') 
		  && $("#option5a_self_7").hasClass('volba1') ) {
	enable_submit_button();
	$("#form_step5a #step").val("6a");
  }
  else {
	disable_submit_button();
  }
}
/* STEP 5b */
function change_option6b() {  
  if ( $("#option6b").hasClass('volba1') ) {
	option_off("option6b");	  
  }
  else {
	option_on("option6b");			
  }
  set_submit_one_option("6b");
}
/* STEP 6b */
/*function change_option7b() {  
  if ( $("#option7b").hasClass('volba1') ) {
	option_off("option7b");	  
  }
  else {
	option_on("option7b");			
  }
  set_submit_one_option("7b");
}*/
/* STEP 7b */

function change_option6b_self(postfix) {
  if ( $("#option6b_self_"+postfix).hasClass('volba1') ) {
	option_off("option6b_self_"+postfix);
  }
  else {
	option_on("option6b_self_"+postfix);
  }
  step6b_set_submit();
}

function step6b_set_submit(){
  if ( $("#option6b_self_1").hasClass('volba1') && $("#option6b_self_2").hasClass('volba1')) {
	enable_submit_button();
	//$("#form_step6b #step").val("8b");// krok 8b byl zrusen
  }
  else {
	disable_submit_button();
  }
}



/* STEP 8a */
function change_option9() {  
  if ( $("#option9").hasClass('volba1') ) {
	option_off("option9");	  
  }
  else {
	option_on("option9");			
  }
  set_submit_one_option("9");
}
/* STEP 9 */
function change_option9_self(postfix) {
  if ( $("#option9_self_"+postfix).hasClass('volba1') ) {
	option_off("option9_self_"+postfix);	  
  }
  else {
	option_on("option9_self_"+postfix);			
  }
  step9_set_submit();	
}
function step9_set_submit(){
  if ( $("#option9_self_1").hasClass('volba1') && $("#option9_self_2").hasClass('volba1') && $("#option9_self_3").hasClass('volba1')
   && $("#option9_self_5").hasClass('volba1') && $("#option9_self_6").hasClass('volba1') && $("#option9_self_7").hasClass('volba1') ) {
	enable_submit_button();
	$("#form_step9 #step").val("10");
  }
  else {
	disable_submit_button();
  }
}
/* KONEC - AKO SA PRIPOJIT */
