google.load('visualization', '1', {packages:['piechart','table']});
var PIECHART0 = null;
var GOOGLETABLE0 = null;
var PIECHART1 = null;
var GOOGLETABLE1 = null;
var ENERGYLABELCHART = null;

var LOKALITY=[['ZELENÁ ÚSPORÁM','-','-15','5.1','243','-','-','-','-','-','-'],['Benešov','327','-15','3.5','234','3.9','245','0','S','n','2'],['Beroun','229','-15','3.7','225','4.1','236','0','S','z','2'],['Blansko ','273','-15','3.3','229','3.7','241','0','B','n','2'],['Brno','227','-15','3.6','222','4','232','1','B','z','2'],['Bruntál','546','-17','2.7','255','3.3','271','1','T','z','3'],['Břeclav','159','-13','4.1','215','4.4','224','0','B','n','1'],['Česká Lípa','276','-15','3.3','232','3.8','245','0','L','n','2'],['České Budějovice','384','-17','3.4','232','3.8','244','0','C','n','3'],['Český Krumlov','489','-17','3.1','243','3.5','254','1','C','z','3'],['Děčín','141','-15','3.8','225','4.2','236','0','U','n','2'],['Domažlice','428','-17','3.4','235','3.8','247','1','P','z','3'],['Frýdek Místek','300','-15','3.4','225','3.8','236','1','T','z','2'],['Havlíčkův Brod','422','-17','2.8','239','3.3','253','1','J','z','3'],['Hodonín','162','-13','3.9','208','4.2','215','0','B','n','1'],['Hradec Králové','244','-15','3.4','229','3.9','242','0','H','n','2'],['Cheb','448','-17','3','246','3.6','262','0','K','n','3'],['Chomutov','330','-15','307','223','4.1','233','1','U','z','2'],['Chrudim','276','-13','3.6','225','4.1','238','1','E','z','1'],['Jablonec n. Nisou','502','-16','3.1','241','3.6','256','1','L','z','2'],['Jičín','278','-15','3.5','223','3.9','234','0','H','n','2'],['Jihlava','516','-17','3','243','3.5','257','0','J','n','3'],['Jindřichův Hradec','478','-17','3','242','3.5','256','0','C','n','3'],['Karlovy Vary','379','-17','3.3','240','3.8','254','1','K','z','3'],['Karviná','230','-15','3.6','223','4','234','0','T','n','2'],['Kladno','380','-14','4','243','4.5','258','0','S','n','1'],['Klatovy','409','-17','3.4','235','3.9','248','1','P','z','3'],['Kolín','223','-13','4','216','4.4','226','1','S','z','1'],['Kroměříž','207','-15','3.5','217','3.9','227','0','Z','n','2'],['Kutná Hora','253','-13','4','216','4.4','226','1','S','z','1'],['Liberec','357','-15','3.1','241','3.6','256','0','L','n','2'],['Litoměřice','171','-13','3.7','222','4.1','232','1','U','z','1'],['Louny','201','-13','3.7','219','4.1','229','0','U','n','1'],['Mělník','155','-13','3.7','219','4.1','229','0','S','n','1'],['Mladá Boleslav','230','-13','3.5','225','3.9','235','0','S','n','1'],['Most','230','-15','3.7','223','4.1','233','1','U','z','2'],['Náchod','344','-17','3.1','235','3.7','250','0','H','n','3'],['Nový Jičín','284','-15','3.3','229','3.8','242','1','T','z','2'],['Nymburk','186','-13','3.8','217','4.2','228','1','S','z','1'],['Olomouc','226','-15','3.4','221','3.8','231','0','M','n','2'],['Opava','258','-15','3.5','228','3.9','239','0','T','n','2'],['Ostrava','217','-15','3.6','219','4','229','0','T','n','2'],['Pardubice','223','-13','3.7','224','4.1','234','1','E','z','1'],['Pelhřimov','499','-16','3','241','3.6','257','1','J','z','2'],['Písek','348','-17','3.2','235','3.7','247','0','C','n','3'],['Plzeň','311','-15','3.3','233','3.6','242','0','P','n','2'],['Praha','181','-13','4','216','4.3','225','0','A','n','1'],['Prachatice','574','-17','3.3','253','3.8','267','1','C','z','3'],['Prostějov','226','-15','3.4','220','3.8','230','0','M','n','2'],['Přerov','212','-17','3.5','218','3.9','228','0','M','z','3'],['Příbram','502','-16','3','239','3.5','252','0','S','n','2'],['Rakovník','332','-15','3.4','232','4','250','0','S','n','2'],['Rokycany','363','-15','3','239','3.5','252','0','P','n','2'],['Rychnov nad Kněžnou','325','-15','3','241','3.5','254','0','H','n','2'],['Semily','334','-15','2.8','243','3.4','259','1','L','z','2'],['Sokolov','405','-17','3.4','239','3.9','254','1','K','z','3'],['Strakonice','392','-17','3.3','236','3.8','249','1','C','n','3'],['Svitavy','447','-17','2.9','235','3.4','248','0','E','n','3'],['Šumperk','317','-17','3','230','3.5','242','1','M','z','3'],['Tábor','480','-17','3','236','3.5','250','0','C','n','3'],['Tachov','496','-17','3.1','237','3.6','250','0','P','z','3'],['Teplice','205','-15','3.8','221','4.1','230','1','U','z','2'],['Trutnov','428','-19','2.8','242','3.3','257','0','H','n','4'],['Třebíč','406','-17','2.5','247','3.1','263','0','J','n','3'],['Uherské Hradiště','181','-15','3.2','222','3.6','233','1','B','z','2'],['Ústí nad Labem','145','-13','3.6','221','3.9','229','1','U','z','1'],['Ústí nad Orlicí','332','-15','3.1','238','3.6','251','1','E','z','2'],['Vsetín','346','-17','3.2','225','3.6','236','0','Z','n','3'],['Vyškov','245','-15','3.3','219','3.7','229','0','Z','n','2'],['Zlín','234','-15','3.6','216','4','226','0','Z','n','2'],['Znojmo','289','-13','3.6','217','3.9','226','0','B','n','1'],['Žďár nad Sázavou','572','-17','2.4','252','3.1','270','0','J','n','3']];
var TYPY_KCI = [['stena1','1.00','1.00','0.38 / 0.25'],['stena2','1.00','1.00','0.38 / 0.25'],['podlaha1','0.40','0.40','0.45 / 0.30'],['podlaha2','0.45','0.45','0.45 / 0.30'],['podlaha3','0.65','0.65','0.45 / 0.30'],['strecha1','1.00','1.00','0.24 / 0.16'],['strecha2','0.80','0.95','&nbsp;'],['okno1','1.00','1.00','1.7 / 1.2'],['okno2','1.00','1.00','1.7 / 1.2'],['dvere1','1.00','1.00','1.7 / 1.2'],['jina1','1.00','1.00',''],['jina2','1.00','1.00','']];
var LABEL_POZADAVKY = [0.3,0.6,1.0,1.5,2.0,2.5];

function T_gobj(id){ return document.getElementById(id) }

function r2(x, desMist) {
x = parseFloat(x);
return Math.round(x * Math.pow(10, desMist)) / Math.pow(10, desMist);
}

function nf(x) {
x = parseFloat(x.replace(/,/g, ".").replace(/ /g, ''));
return isNaN(x) ? 0 : x;
}

function showNum(x, hr) {
return (x == Infinity || x == -Infinity || isNaN(x)) ? '-' : (hr ? hr_number(x) : x);
}

function enAb(theObject) {
theObject.disabled = false;
if (theObject.nodeName == 'INPUT' && theObject.type == 'text' || theObject.nodeName == 'SELECT') theObject.style.backgroundColor = '#fff';
}

function disAb(theObject) {
theObject.disabled = true;
if (theObject.nodeName == 'INPUT' && theObject.type == 'text' || theObject.nodeName == 'SELECT') theObject.style.backgroundColor = '#ddd';
}

function itemIndex(r) {
for (var i = 0; i < r.length; i++) { if (r[i].checked == true) {return i} }
return -1;
}

function createSelect(s, p, d) {
s.length = 0;
for (var i = 0; i < p.length; i++) { s[i] = new Option(p[i]); }
s.selectedIndex = d;
}

function htmlShow(obj,displ) {
switch (displ) {
  case 'inline':
    obj.style.display='inline';
    break;
  case 'block':
  default:
    obj.style.display='block';
}
}

function htmlHide(obj) {
obj.style.display='none';
}

function vypoctiSolarniZisky() {
var obj = T_gobj('fid_solarni_zisk');
if (T_gobj('fid_typ_solarni_zisk_opt_1').checked) {
  disAb(obj);
  var objekt_v = nf(T_gobj('fid_objekt_v').value);
  obj.value = showNum(r2(2.7 * objekt_v, 0));
} else if (T_gobj('fid_typ_solarni_zisk_opt_2').checked) {
  enAb(obj);
}
}

function vypocet() {
  var U_OKNO_VYHOVUJICI = 1.2;
  var U_STENA_VYHOVUJICI = 0.25;
  var U_STRECHA_VYHOVUJICI = 0.16;
  var REKUPERACE_VYHOVUJICI = 75;

  var objekt_te = nf(T_gobj('fid_te').value);
  var objekt_ti = nf(T_gobj('fid_ti').value);
  var delta_t = (objekt_ti - objekt_te)

  var ZTRATY_DATA = [['Obvodový plášť',0,'#FFEC00',0],['Podlaha',0,'#008000',0],['Střecha',0,'#DC3912',0],['Okna, dveře',0,'#9FC2FF',0],['Jiné konstrukce',0,'#EEEEEE',0],['Tepelné mosty',0,'#1A171B',0],['Větrání',0,'#FFFFFF',0]];

  var ht1 = 0; // merna ztrata prostupem tepla
  var objekt_a = 0;
  var nova_okna = false;
  var nove_okno_vyhovuje = true;
  var zatepleni_sten_vyhovuje = true;
  var zatepleni_strechy_vyhovuje = true;

  for (var i = 0; i < TYPY_KCI.length; i++) {
    kce_a = nf(T_gobj('fid_kce_' + TYPY_KCI[i][0] + '_a').value);
    kce_u0 = nf(T_gobj('fid_kce_' + TYPY_KCI[i][0] + '_u0').value);
    kce_b0 = nf(T_gobj('fid_kce_' + TYPY_KCI[i][0] + '_b0').value);

    kce_h0 = kce_b0 * kce_u0 * kce_a; // nezateplena
    T_gobj('fid_kce_' + TYPY_KCI[i][0] + '_h0').innerHTML = showNum(r2(kce_h0, 1));

    if (TYPY_KCI[i][0] == 'okno1' || TYPY_KCI[i][0] == 'okno2' || TYPY_KCI[i][0] == 'jina1' || TYPY_KCI[i][0] == 'jina2' || TYPY_KCI[i][0] == 'dvere1') {
      var u1 = T_gobj('fid_kce_' + (TYPY_KCI[i][0].replace(/2/,'II').replace(/1/,'I')) + '_u0').value;
      if (u1 == '') {
        kce_u1 = kce_u0;
      } else {
        kce_u1 = nf(u1);
        if (kce_u0 > kce_u1 && (TYPY_KCI[i][0] == 'okno1' || TYPY_KCI[i][0] == 'okno2')) {
          nova_okna = true;
        }
        if (nove_okno_vyhovuje && kce_u1 > U_OKNO_VYHOVUJICI) {
          nove_okno_vyhovuje = false;
        }
      }
    } else {
      var delta_d = nf(T_gobj('fid_kce_' + TYPY_KCI[i][0] + '_d').value);
      kce_u1 = 1 / (1 / kce_u0 + delta_d / (0.04 * 1000));
      if (delta_d) { // zatepleno
        if ((TYPY_KCI[i][0] == 'stena1' || TYPY_KCI[i][0] == 'stena2') && zatepleni_sten_vyhovuje) {
          if (kce_u0 > kce_u1 && kce_u1 > U_STENA_VYHOVUJICI) {
            zatepleni_sten_vyhovuje = false;
          }
        } else if (TYPY_KCI[i][0] == 'strecha' && zatepleni_strechy_vyhovuje) {
          if (kce_u1 > U_STRECHA_VYHOVUJICI) {
            zatepleni_strechy_vyhovuje = false;
          }
        }
      }
    }

    kce_b1 = nf(T_gobj('fid_kce_' + TYPY_KCI[i][0] + '_b1').value);
    kce_h1 = kce_b1 * kce_u1 * kce_a; // zateplena
    T_gobj('fid_kce_' + TYPY_KCI[i][0] + '_h1').innerHTML = showNum(r2(kce_h1, 1));

    if (TYPY_KCI[i][0] == 'podlaha1' || TYPY_KCI[i][0] == 'podlaha2' || TYPY_KCI[i][0] == 'podlaha3') {
      ZTRATY_DATA[1][1] += kce_h0;
      ZTRATY_DATA[1][3] += kce_h1;
    } else if (TYPY_KCI[i][0] == 'strecha1' || TYPY_KCI[i][0] == 'strecha2') {
      ZTRATY_DATA[2][1] += kce_h0;
      ZTRATY_DATA[2][3] += kce_h1;
    } else if (TYPY_KCI[i][0] == 'jina1' || TYPY_KCI[i][0] == 'jina2') {
      ZTRATY_DATA[4][1] += kce_h0;
      ZTRATY_DATA[4][3] += kce_h1;
    } else if (TYPY_KCI[i][0] == 'stena1' || TYPY_KCI[i][0] == 'stena2') {
      ZTRATY_DATA[0][1] += kce_h0;
      ZTRATY_DATA[0][3] += kce_h1;
    } else { // okna, dvere
      ZTRATY_DATA[3][1] += kce_h0;
      ZTRATY_DATA[3][3] += kce_h1;
    }
    ht1 += kce_h1;
    objekt_a += kce_a;
  }

  // tepelna ztrata linearnimi mosty
  kce_h0 = nf(T_gobj('fid_ltm0').value) * objekt_a;
  kce_h1 = nf(T_gobj('fid_ltm1').value) * objekt_a;
  ht1 += kce_h1;
  ZTRATY_DATA[ZTRATY_DATA.length - 2][1] = kce_h0;
  ZTRATY_DATA[ZTRATY_DATA.length - 2][3] = kce_h1;

  T_gobj('fid_objekt_a').value = objekt_a;
  var objekt_v = nf(T_gobj('fid_objekt_v').value);

  var objekt_av = objekt_a / objekt_v;
  T_gobj('fid_objekt_av').value = r2(objekt_av,2);

  var uem1 = ht1 / objekt_a; // prumerny soucinitel prostupu tepla

  // tepelna ztrata vetranim
  var ucinnost_rekuperace = nf(T_gobj('fid_rekuperace').value)
  if (ucinnost_rekuperace && ucinnost_rekuperace > 10) {
    ucinnost_rekuperace -= 10; // snizena ucinnost rekuperace
  }
  rekuperace_vyhovuje = (!ucinnost_rekuperace || ucinnost_rekuperace >= REKUPERACE_VYHOVUJICI);

  var intenzita_vymeny_vzduchu1 = nf(T_gobj('fid_intenzita_vetrani0').value);
  var intenzita_vymeny_vzduchu2 = nf(T_gobj('fid_intenzita_vetrani1').value);
  if (nova_okna) {
    enAb(T_gobj('fid_intenzita_vetrani1'));
  } else {
    intenzita_vymeny_vzduchu2 = intenzita_vymeny_vzduchu1;
    disAb(T_gobj('fid_intenzita_vetrani1'));
  }
  ZTRATY_DATA[ZTRATY_DATA.length - 1][1] = 1300 * (intenzita_vymeny_vzduchu1 * objekt_v / 3600);
  ZTRATY_DATA[ZTRATY_DATA.length - 1][3] = (1 - ucinnost_rekuperace / 100) * 1300 * (intenzita_vymeny_vzduchu2 * objekt_v / 3600);

  // vykreslit grafy
  var data = new Array();
  var data_table = new Array();
  for (var i = 0; i <= 1; i++) {
    data[i] = new google.visualization.DataTable();
    data_table[i] = new google.visualization.DataTable();

    data[i].addColumn('string', 'Typ konstrukce');
    data[i].addColumn('number', 'Tepelná ztráta [W]');

    data_table[i].addColumn('string', 'Typ konstrukce (větrání)');
    data_table[i].addColumn('number', 'Tepelná ztráta [W]');
    data_table[i].addRows(ZTRATY_DATA.length + 1);
  }

  var barvy = new Array();
  var ztrata = [0, 0]; // celkova tepelna ztrata - nezatepleny objekt, celkova tepelna ztrata
  for (var i = 0; i < ZTRATY_DATA.length; i++) {
    text = ZTRATY_DATA[i][0];

    value0 = r2(ZTRATY_DATA[i][1] * delta_t, 0);
    ztrata[0] += value0;

    value1 = r2(ZTRATY_DATA[i][3] * delta_t, 0);
    ztrata[1] += value1;

    barva = ZTRATY_DATA[i][2];

    data_table[0].setValue(i, 0, text);
    data_table[0].setValue(i, 1, value0);

    data_table[1].setValue(i, 0, text);
    data_table[1].setValue(i, 1, value1);

    if (i < ZTRATY_DATA.length - 1) {
      if (r2(value0, 1)) {
        data[0].addRow([text, value0]);
        data[0].setFormattedValue(barvy.length, 1, value0 + ' W');

        data[1].addRow([text, value1]);
        data[1].setFormattedValue(barvy.length, 1, value1 + ' W');

        barvy.push(barva);
      }
    }
  }
  for (var i = 0; i <= 1; i++) {
    data_table[i].setValue(ZTRATY_DATA.length, 0, '--- Celkem ---');
    data_table[i].setValue(ZTRATY_DATA.length, 1, ztrata[i]);
  }

  GOOGLETABLE0.draw(data_table[0], {width: 301});
  PIECHART0.draw(data[0], {width: 380, height: 285, is3D: false, legend: 'label', title: 'Tepelné ztráty jednotlivými konstrukcemi - před zateplením', colors: barvy});

  GOOGLETABLE1.draw(data_table[1], {width: 301});
  PIECHART1.draw(data[1], {width: 380, height: 285, is3D: false, legend: 'label', title: 'Tepelné ztráty jednotlivými konstrukcemi - po zateplení', colors: barvy});

  // energeticky stitek
  var uem_n_rq = 0;
  if (objekt_av <= 0.2) {
    uem_n_rq = 1.05;
  } else if (objekt_av >= 1) {
    uem_n_rq = 0.45;
  } else {
    uem_n_rq = 0.3 + 0.15 / objekt_av;
  }
  var uem_n_rc = 0.75 * uem_n_rq;
  var uem_s = 0.6 + uem_n_rq; // prumerny soucinitel prostupu tepla stavebniho fondu

  var ci = 0;
  if (uem1 <= uem_n_rq) {
    ci = uem1 / uem_n_rq;
  } else if (uem1 > uem_n_rq && uem1 <= uem_s) {
    ci = 1 + (uem1 - uem_n_rq) / (uem_s - uem_n_rq);
  } else if (uem1 > uem_s) {
    ci = 1 + uem1 / uem_s;
  }

  var level = 0;
  for (level = 0; level < LABEL_POZADAVKY.length; level++) {
    if (ci <= LABEL_POZADAVKY[level]) { break; }
  }
  var sublevel = '';
  if (level == 2) {
    if (ci <= 0.75) {
      sublevel = '.1';
    } else {
      sublevel = '.2';
    }
  }
  ENERGYLABELCHART.draw({width: 300, height: 240, legend: 'label', title: 'Energetický štítek obálky budovy', current: level, sublevel: sublevel});

  var tepelny_zisk = nf(T_gobj('fid_tepelny_zisk').value);
  ztrata[0] -= tepelny_zisk;
  ztrata[0] /= 1000; // prevod na kW

  ztrata[1] -= tepelny_zisk;
  ztrata[1] /= 1000; // prevod na kW

  var tes = nf(T_gobj('fid_lokalita_tes').value);
  var tis = objekt_ti;
  var D = nf(T_gobj('fid_lokalita_d').value) * (tis - tes);
  var epsilon = 0.85;

  var solarni_zisk_mwh = nf(T_gobj('fid_solarni_zisk').value) / 1000;

  var Qvyt_mwh0 = epsilon * 24 * ztrata[0] * D / (1e3 * (tis - objekt_te)) - solarni_zisk_mwh;
  if (Qvyt_mwh0 < 0) { Qvyt_mwh0 = 0; }
  var Qvyt_gj0 = Qvyt_mwh0 * 3.6;

  var Qvyt_mwh1 = epsilon * 24 * ztrata[1] * D / (1e3 * (tis - objekt_te)) - solarni_zisk_mwh;
  if (Qvyt_mwh1 < 0) { Qvyt_mwh1 = 0; }
  var Qvyt_gj0 = Qvyt_mwh1 * 3.6;

  var objekt_ac = nf(T_gobj('fid_objekt_ac').value);
  var E0_kwh = Qvyt_mwh0 * 1e3 / objekt_ac; // pred
  var E1_kwh = Qvyt_mwh1 * 1e3 / objekt_ac; // po

  T_gobj('e0_kwh').innerHTML = showNum(r2(E0_kwh, 1));
  T_gobj('e1_kwh').innerHTML = showNum(r2(E1_kwh, 1));

  var uspora = r2((E0_kwh - E1_kwh) / E0_kwh * 100, 0); // uspora v %

  var result = [];
  result.push('<span>Úspora: '+ uspora + '%</span>');

  var dotace_m2 = 0;
  var objekt_ac1 = 0;
  var typ_dotace = '';
  var typ_stavby = T_gobj('fid_typ_stavby').selectedIndex;
  if (!typ_stavby) { // RD
    objekt_ac1 = objekt_ac > 350 ? 350 : objekt_ac;
    if (E1_kwh <= 40) { // A.1.1
      typ_dotace = 'a1.1';
      dotace_m2 = 2200;
    } else if (E1_kwh <= 70) { // A.1.2
      typ_dotace = 'a1.2';
      dotace_m2 = 1550;
    } else if (uspora >= 30) { // A.2.1
      typ_dotace = 'a2';
      dotace_m2 = 850;
    } else if (uspora >= 20) { // A.2.2
      typ_dotace = 'a2';
      dotace_m2 = 650;
    }
  } else { // BD
    objekt_ac1 = objekt_ac;
    if (E1_kwh <= 30) { // A.1.1
      typ_dotace = 'a1.1';
      dotace_m2 = 1500;
    } else if (E1_kwh <= 55) { // A.1.2
      typ_dotace = 'a1.2';
      dotace_m2 = 1050;
    } else if (uspora >= 30) { // A.2.1
      typ_dotace = 'a2';
      dotace_m2 = 600;
    } else if (uspora >= 20) { // A.2.2
      typ_dotace = 'a2';
      dotace_m2 = 450;
    }
  }
  var vyse_dotace = dotace_m2 * objekt_ac1;

  if (typ_dotace == 'a2') {
    if (zatepleni_sten_vyhovuje && zatepleni_strechy_vyhovuje && nove_okno_vyhovuje && rekuperace_vyhovuje) {
      result.push('Máte nárok na dotaci v rámci části programu A.2 - částečné zateplení.');
      result.push('Dotace ve vašem případě činí ' + dotace_m2 + '&nbsp;Kč/m<sup>2</sup> podlahové plochy, to je ' + vyse_dotace + '&nbsp;Kč.');
      var max_kwh_m2; var min_uspora;
      if (!typ_stavby) {
        max_kwh_m2 = 70;
        min_uspora = 40;
      } else {
        max_kwh_m2 = 55;
        min_uspora = 40;
        result.push('Ovšem s omezením dotace na max. 120&nbsp;m<sup>2</sup> na jednu bytovou jednotku. Toto omezení není započítáno!');
      }
      result.push('', 'Pro získání dotace v rámci části programu A.1 - celkové zateplení - musíte dosáhnout měrné potřeby tepla na vytápění maximálně ' + max_kwh_m2 + '&nbsp;kWh/m<sup>2</sup> a zároveň úspory měrné potřeby tepla na vytápění min. ' + min_uspora + '%.');
    } else if (!zatepleni_sten_vyhovuje || !zatepleni_strechy_vyhovuje || !nove_okno_vyhovuje) {
      result.push('Pro získání dotace alespoň v části programu A.2 - částečné zateplení - musíte dosáhnout doporučených hodnot U. To není splněno u těchto konstrukcí:');
      if (!zatepleni_sten_vyhovuje) {
        result.push('- zateplení obvodových stěn');
      }
      if (!zatepleni_strechy_vyhovuje) {
        result.push('- zateplení střechy');
      }
      if (!nove_okno_vyhovuje) {
        result.push('- nová okna');
      }
    } else if (!rekuperace_vyhovuje) {
      result.push('Pro získání dotace alespoň v části programu A.2 - částečné zateplení - musíte dosáhnout účinnosti rekuperace alespoň ' + REKUPERACE_VYHOVUJICI + '%. Použijte rekuperaci s vyšší účinností.')
    }

  } else if (typ_dotace.substring(0, 2) == 'a1') {
    result.push('Máte nárok na dotaci v rámci části programu A.1 - celkové zateplení.');
    result.push('Dotace ve vašem případě činí ' + dotace_m2 + '&nbsp;Kč/m<sup>2</sup> podlahové plochy, to je ' + vyse_dotace + '&nbsp;Kč.');
    if (typ_dotace.charAt(typ_dotace.length - 1) == '2') {
      var better_kwh_m2;
      if (!typ_stavby) {
        better_kwh_m2 = 40;
      } else {
        better_kwh_m2 = 30;
      }
      result.push('Pro získání vyšší dotace musíte dosáhnout minimální potřeby tepla na vytápění ' + better_kwh_m2 + '&nbsp;kWh/m2.');
    }

  } else if (!vyse_dotace) {
    result.push('<span class="warning">Nemáte nárok na dotaci. Zvolte účinnější zateplení.</span>');
  }
  T_gobj('konzole').innerHTML = result.join('<br />');
}

function setLocalData() {
  var obj = T_gobj('fid_lokalita');
  T_gobj('fid_te').value = LOKALITY[obj.selectedIndex][2];
  var start_index = 3;
  T_gobj('fid_lokalita_tes').value = LOKALITY[obj.selectedIndex][start_index];
  T_gobj('fid_lokalita_d').value = LOKALITY[obj.selectedIndex][start_index + 1];
}

function showMenu(o) {
  var name = o.id.substring(5, o.id.length);
  var curtain = T_gobj('curtain_' + name);
  o.onclick = function(){return hideMenu(this,curtain)}

  var imgs = curtain.getElementsByTagName('img');
  i = imgs[0];
  i.onclick = function(){return hideMenu(this,curtain)}

  var links = curtain.getElementsByTagName('a');
  for (var i = 0; i < links.length; i++) {
    obj = links[i];
    obj.onclick = function(){return setMenuValue(this,curtain)}
  }
  htmlShow(curtain);
  return false;
}

function hideMenu(obj,c) {
  var name = c.id.substring(8, c.id.length);
  o = T_gobj('menu_' + name);
  o.onclick = function(){return showMenu(this)}
  htmlHide(c);
  return false;
}

function setMenuValue(obj,c) {
  var name = c.id.substring(8, c.id.length);
  T_gobj('fid_kce_' + name + '_u0').value = obj.title;
  vypocet();
  return hideMenu(obj,c);
}

function reset() {
  // nastavit udalosti na prvky formulare
  var form = T_gobj('content');
  var inputs = form.getElementsByTagName('input');
  for (var i = 0; i < inputs.length; i++) {
    typ = inputs[i].getAttribute('type');
    if (typ == 'radio') {
      inputs[i].onclick = function(){vypocet()}
    } else if (typ == 'text') {
      fid = inputs[i].getAttribute('id');
      if (fid == 'fid_objekt_v') {
        inputs[i].onkeyup = function(){vypoctiSolarniZisky(); vypocet()}
        inputs[i].onchange = function(){vypoctiSolarniZisky(); vypocet()}
      } else {
        inputs[i].onkeyup = function(){vypocet()}
        inputs[i].onchange = function(){vypocet()}
      }
    }
  }

  var data = new Array();
  for (var i = 0; i < LOKALITY.length; i++) {
    data[data.length] = LOKALITY[i][0];
  }
  var obj = T_gobj('fid_lokalita');
  createSelect(obj,data,0);
  obj.onkeyup = function(){setLocalData();vypocet()}
  obj.onchange = function(){setLocalData();vypocet()}
  setLocalData();

  T_gobj('fid_tepelny_zisk').value = '380';

  T_gobj('fid_intenzita_vetrani0').value = '0.4'; // puvodni
  T_gobj('fid_intenzita_vetrani1').value = '0.4'; // nova

  obj = T_gobj('fid_rekuperace');
  obj.onkeyup = function(){vypocet()}
  obj.onchange = function(){vypocet()}
  obj.selectedIndex = 0;

  for (var i = 0; i < TYPY_KCI.length; i++) {
    T_gobj('fid_kce_' + TYPY_KCI[i][0] + '_b0').value = TYPY_KCI[i][1];
    T_gobj('fid_kce_' + TYPY_KCI[i][0] + '_b1').value = TYPY_KCI[i][2];
//    T_gobj('fid_kce_' + TYPY_KCI[i][0] + '_un').innerHTML = TYPY_KCI[i][3];
    if (TYPY_KCI[i][0] == 'jina1' || TYPY_KCI[i][0] == 'jina2') {
      T_gobj('fid_kce_' + TYPY_KCI[i][0] + '_b0').value = TYPY_KCI[i][1];
      T_gobj('fid_kce_' + TYPY_KCI[i][0] + '_b1').value = TYPY_KCI[i][2];
    }
  }

  T_gobj('fid_ti').value = '20';
  T_gobj('fid_objekt_v').value = '600';

  T_gobj('fid_objekt_ac').value = '162';

  T_gobj('fid_kce_stena1_a').value = '200';
  T_gobj('fid_kce_stena1_u0').value = '1.4';

  T_gobj('fid_kce_stena2_a').value = '';

  T_gobj('fid_kce_podlaha1_u0').value = '0.4';
  T_gobj('fid_kce_podlaha1_a').value = '100';

  T_gobj('fid_kce_strecha1_u0').value = '2.20';
  T_gobj('fid_kce_strecha1_a').value = '100';

  T_gobj('fid_kce_okno1_u0').value = '2.35';
  T_gobj('fid_kce_okno1_a').value = '38';

  T_gobj('fid_kce_okno2_u0').value = '';
  T_gobj('fid_kce_okno2_a').value = '';

  T_gobj('fid_kce_dvere1_u0').value = '3.5';
  T_gobj('fid_kce_dvere1_a').value = '2';

  T_gobj('fid_kce_jina1_u0').value = '';
  T_gobj('fid_kce_jina1_a').value = '';

  T_gobj('fid_kce_jina2_u0').value = '';
  T_gobj('fid_kce_jina2_a').value = '';

  T_gobj('fid_typ_solarni_zisk_opt_1').checked = true;
  for (var i = 1; i <= 2; i++) {
    obj = T_gobj('fid_typ_solarni_zisk_opt_' + i);
    obj.onclick = function(){vypoctiSolarniZisky(); vypocet()}
  }
  vypoctiSolarniZisky();

  disAb(T_gobj('fid_te'));
  disAb(T_gobj('fid_lokalita_d'));
  disAb(T_gobj('fid_lokalita_tes'));
  disAb(T_gobj('fid_objekt_a'));
  disAb(T_gobj('fid_objekt_av'));

  for (var i = 0; i <= 1; i++) {
    obj = T_gobj('fid_ltm' + i);
    obj.selectedIndex = 1;
    obj.onkeyup = function(){vypocet()}
    obj.onchange = function(){vypocet()}
  }

  nabidky = ['stena1','stena2','podlaha1','podlaha2','podlaha3','strecha1','strecha2','okno1','okno2','oknoI','oknoII','dvere1','dvereI'];
  for (var i = 0; i < nabidky.length; i++) {
    obj = T_gobj('menu_' + nabidky[i]);
    obj.onclick = function(){return showMenu(this)}
  }

  obj = T_gobj('fid_typ_stavby');
  obj.selectedIndex = 0;
  obj.onkeyup = function(){vypocet()}
  obj.onchange = function(){vypocet()}

  PIECHART0 = new google.visualization.PieChart(T_gobj('piechart_div0'));
  GOOGLETABLE0 = new google.visualization.Table(T_gobj('table_div0'));
  PIECHART1 = new google.visualization.PieChart(T_gobj('piechart_div1'));
  GOOGLETABLE1 = new google.visualization.Table(T_gobj('table_div1'));

  ENERGYLABELCHART = new EnergyLabel(T_gobj('energylabelchart_div'));
  EnergyLabel.IMGPATH = '/docu/tabulky/0001/000128_';
  vypocet();
}

function napoveda() {
  var sizeX = 600;
  var sizeY = 400;
  var leftpos = (screen.availWidth - sizeX) / 2;
  var toppos = (screen.availHeight - sizeY - 30) / 2;
  windowHandle = window.open("/docu/tabulky/0001/000128_help.html", "Nápověda", "width="+sizeX+", height="+sizeY+", top=" + toppos + ", left=" + leftpos + ", directories=0, location=0, menubar=1, scrollbars=1, status=0, titlebar=0, toolbar=0, resizable=1");
  windowHandle.focus();
}


