var text = '';

function number_format (number, decimals, dec_point, thousands_sep) {
  var n = number, prec = decimals;
  var toFixedFix = function (n,prec) {
    var k = Math.pow(10,prec);
		return (Math.round(n*k)/k).toString();
  };
 
  n = !isFinite(+n) ? 0 : +n;
  prec = !isFinite(+prec) ? 0 : Math.abs(prec);
	var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
  var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;
  var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
  var abs = toFixedFix(Math.abs(n), prec);
  var _, i;
 
  if (abs >= 1000)
	{
    _ = abs.split(/\D/);
		i = _[0].length % 3 || 3;
    _[0] = s.slice(0,i + (n < 0)) +
    _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
    s = _.join(dec);    } else {
    s = s.replace('.', dec);
  }
 
  var decPos = s.indexOf(dec);
	if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec)
	{
    s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
  }
  else if (prec >= 1 && decPos === -1)
  {
    s += dec+new Array(prec).join(0)+'0';
	}
  return s;
}
	
function in_array(needle, haystack, argStrict)
{
  // *     example 4: in_array(1, ['1', '2', '3'], true);
  // *     returns 4: false
  var key = '', strict = !!argStrict; 
  if (strict)
  {
    for (key in haystack)
		{
      if (haystack[key] === needle) return true;
    }
  }
	else
	{
    for (key in haystack)
		{
      if (haystack[key] == needle) return true;
    }
  }
  return false;
}
	
function vypocet()
{
  m1 = " m^2";
  m2 = " kWp";
  m3 = " Kč";
  m4 = " kWh";
  mp = " %";

  document.kalkulacka.rsv.value = document.kalkulacka.rsv.value.replace(",", ".");
	document.kalkulacka.rss.value = document.kalkulacka.rss.value.replace(",", ".");
	document.kalkulacka.psoz.value = document.kalkulacka.psoz.value.replace(",", ".");
	document.kalkulacka.vcse.value = document.kalkulacka.vcse.value.replace(",", ".");  

  document.kalkulacka.pvykon.value= "-";
  
  cv = document.kalkulacka.rsv.value*document.kalkulacka.rss.value;
  document.kalkulacka.cv.value = number_format(cv,'2')+m1;

  vp = cv-document.kalkulacka.psoz.value;
  document.kalkulacka.vp.value = number_format(vp,'2')+m1;
    
	sov = vp/eval(7.5);
  document.kalkulacka.sov.value = number_format(sov,'2')+m2;
		
  document.getElementById("staveb_1").style.display = "none";
  document.getElementById("staveb_2").style.display = "none";
	document.getElementById("staveb_3").style.display = "none";
	document.getElementById("staveb_4").style.display = "none";
	document.getElementById("staveb_5").style.display = "none";
	document.getElementById("staveb_6").style.display = "none";
	document.getElementById("staveb_7").style.display = "none";
	document.getElementById("staveb_8").style.display = "none";
	document.getElementById("staveb_9").style.display = "none";
	document.getElementById("staveb_10").style.display = "none";
		
	if ((sov > 1.6) && (sov < 1.9)) document.getElementById("staveb_1").style.display = "block";
  else if ((sov >= 1.9) && (sov < 3)) document.getElementById("staveb_2").style.display = "block";
  else if ((sov >= 3) && (sov < 4.2)) document.getElementById("staveb_3").style.display = "block";
  else if ((sov >= 4.2) && (sov < 4.9)) document.getElementById("staveb_4").style.display = "block";
  else if ((sov >= 4.9) && (sov < 6)) document.getElementById("staveb_5").style.display = "block";
  else if ((sov >= 6) && (sov < 7.10)) document.getElementById("staveb_6").style.display = "block";
  else if ((sov >= 7.10) && (sov < 7.80)) document.getElementById("staveb_7").style.display = "block";
	else if ((sov >= 7.80) && (sov < 8.30)) document.getElementById("staveb_8").style.display = "block";
  else if ((sov >= 8.30) && (sov < 9)) document.getElementById("staveb_9").style.display = "block";
  else if ((sov >= 9) && (sov < 11)) document.getElementById("staveb_10").style.display = "block";
  else { }
	
	if (sov > 30)
	{
	  u1 = 11.18;
		u2 = 12.15; 
	}
	else
	{
	  u1 = 11.28;
		u2 = 12.25;
	}
		
	vi = sov*95000;
  document.kalkulacka.vi.value = number_format(vi,'2')+m3;
		
	rv = sov*900;
	document.kalkulacka.rv.value = number_format(rv,'2')+m4;
		
	rvx = sov*960;
	document.kalkulacka.rvx.value = number_format(rvx,'2')+m4;
		
	rvv = sov*930;
	zo = (eval(document.kalkulacka.vcse.value) + eval(u1))*rvv;
	document.kalkulacka.zo.value = number_format(zo,'2')+m3;
	
	pp = eval(u2)*rvv;
	document.kalkulacka.pp.value = number_format(pp,'2','.',',')+m3;
		
	if (document.kalkulacka.azimut.value != 0)
	{
	  var sklonpole = new Array("0", "5", "10", "15","20","25","30","32","34","36","38","40","45","50","55","60","65","70","75","80","85","90");
		var azimutpole = new Array("270","265","260","255","250","245","240","235","230","225","220","215","210","205","200","195","190","185","180","175","170","165","160","155","150","145","140","135","130","125","120","115","110","105","100","95","90");
      
		azimut = eval(document.kalkulacka.azimut.value);
		sklon = eval(document.kalkulacka.sklon.value);
		if (sklon <= 34)
		{
		  ss = 1;
      while (ss <= 10)
			{
        if (in_array(sklon,sklonpole,false) == false) sklon++;
				ss++;
      }
    }
		else
		{
		  ss = 1;
			while (ss <= 10)
			{
			  if (in_array(sklon,sklonpole,false) == false) sklon--;
			  ss++;
      }
    }
			
		if (azimut <= 180)
		{
		  aa = 1;
			while (aa <= 10)
			{
        if (in_array(azimut,azimutpole,false) == false) azimut++;
				aa++;
      }
		}
    else
		{
      aa = 1;
      while (aa <= 10)
      {
        if (in_array(azimut,azimutpole,false) == false) azimut--;
        aa++;
	  	}
		}
			
		x = pole[sklon][azimut];
		if ((eval(document.kalkulacka.sklon.value) > 90) || (document.kalkulacka.azimut.value < 90) || (document.kalkulacka.sklon.value > 270)) document.kalkulacka.pvykon.value = "špatně zadané hodnoty";
		else  document.kalkulacka.pvykon.value = x+mp;
	}
	else document.kalkulacka.pvykon.value = "0%"; 

  if (sov == 0) document.kalkulacka.vi.value = number_format('0','2')+m3;
	else if ((sov < 3.5) && (vi < 105000)) document.kalkulacka.vi.value = number_format('105000','2')+m3;
	else if ((sov > 3.5) && (vi < 95000)) document.kalkulacka.vi.value = number_format('95000','2')+m3;
}
	
function vypocet2()
{
  m1 = " m^2";
	m2 = " kWp";
	m3 = " Kč";
	m4 = " kWh";
	mp = " %";

  document.kalkulacka2.rsx.value=document.kalkulacka2.rsx.value.replace(",", ".");
  document.kalkulacka2.rsy.value=document.kalkulacka2.rsy.value.replace(",", ".");
  document.kalkulacka2.psoss.value=document.kalkulacka2.psoss.value.replace(",", ".");
  document.kalkulacka2.vcse2.value=document.kalkulacka2.vcse2.value.replace(",", ".");
	
	cv2 = document.kalkulacka2.rsx.value*document.kalkulacka2.rsy.value;
	document.kalkulacka2.cv2.value = number_format(cv2,'2','.',',')+m1;
	
	vp2 = cv2-document.kalkulacka2.psoss.value;
	document.kalkulacka2.vp2.value = number_format(vp2,'2','.',',')+m1;
		
	sov2 = vp2/19;
	document.kalkulacka2.sov2.value = number_format(sov2,'2','.',',')+m2;
		
	if (sov2 > 30)
	{
    u1 = 11.18;
    u2 = 12.15; 
  }
  else
  {
    u1 = 11.28;
    u2 = 12.25;
  }
		
  mvfve = cv2/19;
	vi2 = mvfve*118000;
	document.kalkulacka2.vi2.value = number_format(vi2,'2','.',',')+m3;
		
	rv2 = mvfve*900;
	document.kalkulacka2.rv2.value = number_format(rv2,'2','.',',')+m4;
		
	rvx2 = mvfve*960;
	document.kalkulacka2.rvx2.value = number_format(rvx2,'2','.',',')+m4;
		
	rvv = sov2*930;
	zo2 = eval(rvv)*(eval(document.kalkulacka2.vcse2.value)+ eval(u1));
	document.kalkulacka2.zo2.value = number_format(zo2,'2','.',',')+m3;
		
	pp2 = eval(u2)*eval(rvv);
	document.kalkulacka2.pp2.value = number_format(pp2,'2','.',',')+m3;
  //document.kalkulacka2.nczfp.value = number_format((eval(1.05)*eval(rv2))/eval(1000),'2','.',',');
  //document.kalkulacka2.mnu.value = number_format((eval(0.4)*eval(rv2))/eval(1000),'2','.',',');                
	  
	if (sov2 == 0) document.kalkulacka2.vi2.value = number_format('0','2')+m3;
	else if ((sov2 < 3.5) && (vi2 < 110000)) document.kalkulacka2.vi2.value = number_format('110000','2')+m3;
	else if ((sov2 > 3.5) && (vi2 < 100000)) document.kalkulacka2.vi2.value = number_format('100000','2')+m3;
	
	document.getElementById("staveb_1a").style.display = "none";
  document.getElementById("staveb_2a").style.display = "none";
  document.getElementById("staveb_3a").style.display = "none";
	document.getElementById("staveb_4a").style.display = "none";
	document.getElementById("staveb_5a").style.display = "none";
	document.getElementById("staveb_6a").style.display = "none";
	document.getElementById("staveb_7a").style.display = "none";
	document.getElementById("staveb_8a").style.display = "none";
	document.getElementById("staveb_9a").style.display = "none";
	document.getElementById("staveb_10a").style.display = "none";
		
	if ((sov2 > 1.6) && (sov2 < 1.9)) document.getElementById("staveb_1a").style.display = "block";
	else if ((sov2 >= 1.9) && (sov2 < 3)) document.getElementById("staveb_2a").style.display = "block";
	else if ((sov2 >= 3) && (sov2 < 4.2)) document.getElementById("staveb_3a").style.display = "block";
	else if ((sov2 >= 4.2) && (sov2 < 4.9)) document.getElementById("staveb_4a").style.display = "block";
	else if ((sov2 >= 4.9) && (sov2 < 6)) document.getElementById("staveb_5a").style.display = "block";
	else if ((sov2 >= 6) && (sov2 < 7.10)) document.getElementById("staveb_6a").style.display = "block";
	else if ((sov2 >= 7.10) && (sov2 < 7.80)) document.getElementById("staveb_7a").style.display = "block";
  else if ((sov2 >= 7.80) && (sov2 < 8.30)) document.getElementById("staveb_8a").style.display = "block";
	else if ((sov2 >= 8.30) && (sov2 < 9)) document.getElementById("staveb_9a").style.display = "block";
	else if ((sov2 >= 9) && (sov2 < 11)) document.getElementById("staveb_10a").style.display = "block";
	else { }
}




function checkReqPower()
{
  var value = $('#calc_reqPower').val();
  if (checkNumber(value))
  {
	  if (value >= 400) calculateResult();
	  else alert('Minimální možný požadovaný výkon je 400 kWp.');
	}
}
function checkReqPower2()
{
  var value = $('#calc2_reqPower').val();
  if (checkNumber(value))
  {
	  if (value >= 400) calculateResult2();
	  else alert('Minimální možný požadovaný výkon je 400 kWp.');
	}
}

function intFromPrice(value)
{
  value = value.replace(new RegExp('&nbsp;', 'g'), '').replace(new RegExp(' ', 'g'), '').replace('&euro;', '').replace('€', '');
  if (!value) return 0;
  return parseFloat(value);
}

function checkNumber(value)
{
  if (!isNaN(value)) return true;
  alert('Vložená hodnota musí být číslo.');
  return false;
}
function round(value, decimals, before, after)
{ 
  if (!decimals) decimals = 2;
  var tmp_recimals = decimals;
  
  if (decimals == -1)
	{
	  decimals = 1;
	  tmp_recimals = 0;
	}
  else decimals = Math.pow(10, decimals);
  var ret = number_format(Math.round(value * decimals) / decimals, tmp_recimals, '.', ' ');//.replace(new RegExp(' ', 'g'), '&nbsp;');
  if (!ret) return '';
  if (!parseFloat(ret)) return;
  if (before) return before + '&nbsp;' + ret;
  else if (after) return ret + '&nbsp;' + after;
  else return ret;
}

var D5 = 25.5;

  var G12 = 9800;
  var G15 = 2700;
  var G16 = 5000;
  var G20 = 19200;
  var G21 = 3900;
  var G22 = 1000;
  var G23 = 2500;
  var G24 = 80;
  var G25 = 2.75;
  var G26 = 0.15;
  var G27 = 3100;
  var G28 = 4700;
  var G29 = 2300;
  var G35 = 0.0235;
  var G36 = 0.0059;
  var G39 = G40 = 1.38;
  var G42 = 822.981176470588;
  var G43 = 1102.59168627451;
  var G44 = 1528.28392156863;
  var G45 = 2125.5951372549;
  var G46 = 2882.36062745098;
  var G47 = 3621.69866666667;
  var G48 = 4513.20078431373;
  var G49 = 5590.21207843137;
  var G50 = 7286.49145098039;
  var G51 = 900;
  var G52 = 2130;
  var G53 = 1200;
  var G54 = 600;
  var G55 = 90;
  var G56 = 160;
  var G57 = 900;
  var G58 = 150;
  var G59 = 54.0803137254902;
  var G60 = 76.5983921568628;
  var G61 = 105;
  var G62 = 0;
  var G63 = 2200;
  var G64 = 3100;
  var G65 = 3.9
  var G66 = 2;
  var G68 = 4150;
  var G69 = 90;
  var G70 = 3500;
  var G71 = 1900;
  var G72 = 211;
  var G73 = 60;
  var G74 = 2200;
  var G75 = 0;
  var G76 = 7500
  var G77 = 1900;
  var G78 = 19500;
  var G79 = 4500;
  var G80 = 900;
  var G81 = 1550;
  var G82 = 1000;
  var G83 = 1600;
  var G84 = 900;
  var G85 = 1600;
  var G86 = 2400;
  var G87 = 1600;
  var G90 = 86600;
  var G91 = 8600;
  var G92 = 7000;
  var G93 = 1250;
  var G94 = 450;
  var G95 = 17000;
  var G96 = 1900;
  var G97 = 1200;
  var G98 = 13200;
  var G99 = 300;
  var G102 = 2400;
  var G103 = 2000;
  var G104 = 3000;
  var G105 = 2850;
  var G106 = 29500;
  var G112 = 7550;
  var G113 = 58000;
  var G114 = 8600;
  var G115 = 7000;
  var G116 = 23500;
  var G117 = 100000;

function calculateResult()
{
  var reqPower = $('#calc_reqPower');
  var budgetAC = $('#calc_budgetAC');
  var budgetDC = $('#calc_budgetDC');
  var engineeringAC = $('#calc_engineeringAC');
  var engineeringDC = $('#calc_engineeringDC');
  var constructAC = $('#calc_constructAC');
  var constructDC = $('#calc_constructDC');
  var modulesAC = $('#calc_modulesAC');
  var modulesDC = $('#calc_modulesDC');
  var loVoltAC = $('#calc_loVoltAC');
  var loVoltDC = $('#calc_loVoltDC');
  var invertersAC = $('#calc_invertersAC');
  var invertersDC = $('#calc_invertersDC');
  var hiVoltAC = $('#calc_hiVoltAC');
  var hiVoltDC = $('#calc_hiVoltDC');
  var securityAC = $('#calc_securityAC');
  var securityDC = $('#calc_securityDC');
  var completionAC = $('#calc_completionAC');
  var completionDC = $('#calc_completionDC');
  var totalAC = $('#calc_totalAC');
  var totalDC = $('#calc_totalDC');
  var mwpAC = $('#calc_mwpAC');
  var totalKwpAC = $('#calc_totalKwpAC');
  var totalKwpDC = $('#calc_totalKwpDC');
  var totalKwpCzkAC = $('#calc_totalKwpCzkAC');
  var totalKwpCzkDC = $('#calc_totalKwpCzkDC');
  var hecPlusAC = $('#calc_hecPlusAC');
  var hecPlusDC = $('#calc_hecPlusDC');
  var totalHecPlusAC = $('#calc_totalHecPlusAC');
  var totalHecPlusDC = $('#calc_totalHecPlusDC');
  var totalKwpHecPlusAC = $('#calc_totalKwpHecPlusAC');
  var totalKwpHecPlusDC = $('#calc_totalKwpHecPlusDC');
  var totalKwpHecPlusCzkAC = $('#calc_totalKwpHecPlusCzkAC');
  var totalKwpHecPlusCzkDC = $('#calc_totalKwpHecPlusCzkDC');
  
  //Pevne promenne
  var D24 = 200;
  var D39 = D40 = 185;
  var D51 = 60;
  var D58 = 12;
  var D60 = 80;
  var D78 = 1;
  var D93 = 1;

  var C68 = reqPower.val() * 1000 / 16500;
  mwpAC.html(Math.round(C68 * 16.5) / 1000);
	var D68 = Math.ceil(C68);
	var C39 = D68 * 16500 / D39;
  var C40 = D68 * 17800 / D40;
  var C55 = C68 / 2;
  var D55 = Math.ceil(C55);
  var D90 = D91 = reqPower.val() / 1000;
  var C58 = D55 / 6;
  var D90 = reqPower.val() / 1000; //D90 + D91
  var H12 = I12 = mwpAC.html() * G12;
  var H20 = I20 = mwpAC.html() * G20;
  var H21 = I21 = mwpAC.html() * G21;
  var H22 = I22 = mwpAC.html() * G22;
  var H24 = I24 = D24 * G24;
  
  budgetAC.html(round(C39 * D39, -1));
  budgetDC.html(round(C40 * D40, -1));
  
	var G31 = 7 / D5;
  var G32 = 0.4 / D5;
  var G33 = 0.03 / D5;
  var H31 = C39 * D39 * G31;
  var H32 = C39 * D39 * G32;
  var H33 = C39 * D39 * G33;
  var H35 = C39 * D39 * G35;
  var H36 = C39 * D39 * G36;
  
  var I31 = C40 * D40 * G31;
  var I32 = C40 * D40 * G32;
  var I33 = C40 * D40 * G33;
  var I35 = C40 * D40 * G35;
  var I36 = C40 * D40 * G36;
  
  var H39 = C39 * D39 * G39;
  var I40 = C40 * D40 * G40;
  
  var H51 = G51 * D51;
  var H53 = I53 = mwpAC.html() * G53;
  var H54 = I54 = D55 * G54;
  var H55 = I55 = D55 * G55;
  var H56 = I56 = G56 * D68;
  var H57 = I57 = D58 * G57;
  var H58 = I58 = D58 * G58;
  var H60 = D60 * G60;
  var H65 = C39 / 16 * 5;
  
  var I51 = 1.1 * H51;
  var I60 = 1.1 * H60;
  var I65 = C40 / 16 * 5;
  
  var H68 = I68 = C68 * G68;
  var H69 = I69 = D68 * G69;
  var H70 = I70 = mwpAC.html() * G70; 
  var H71 = I71 = mwpAC.html() * G71;
  var H72 = I72 = D68 * G72;
  var H73 = I73 = D68 * G73;
  var H74 = I74 = G74;// * D74;
  var H76 = I76 = mwpAC.html() * G76; 
  var H78 = I78 = D78 * G78;
  var H79 = I79 = mwpAC.html() * G79; 
  var H80 = I80 = mwpAC.html() * G80;
  var H85 = I85 = mwpAC.html() * G85;
  
  var H90 = I90 = D90 * G90;
  var H91 = I91 = D91 * G91;
  var H92 = I92 = mwpAC.html() * G92;
  var H93 = I93 = D93 * G93;
  var H94 = I94 = D93 * G94;
  var H95 = I95 = D90 * G95;
  var H96 = I96 = D91 * G96;
  var H97 = I97 = mwpAC.html() * G97;
  var H98 = I98 = mwpAC.html() * G98;
  var H99 = I99 = mwpAC.html() * G99;
  
  var H112 = I112 = mwpAC.html() * G112;
  var H113 = I113 = mwpAC.html() * G113
  var H114 = I114 = mwpAC.html() * G114
  var H115 = I115 = mwpAC.html() * G115
  var H116 = I116 = mwpAC.html() * G116
  var H117 = I117 = mwpAC.html() * G117;
  
  engineeringAC.html(round(H12 + H20 + H21 + H22 + H24, 2, '&euro;'));
  engineeringDC.html(round(I12 + I20 + I21 + I22 + I24, 2, '&euro;'));
  constructAC.html(round(H31 + H32 + H33 + H35 + H36, 2, '&euro;'));
  constructDC.html(round(I31 + I32 + I33 + I35 + I36, 2, '&euro;'));
  modulesAC.html(round(H39, 2, '&euro;'));
  modulesDC.html(round(I40, 2, '&euro;'));
  loVoltAC.html(round(H51 + H53 + H54 + H55 + H56 + H57 + H58 + H60 + H65, 2, '&euro;'));
  loVoltDC.html(round(I51 + I53 + I54 + I55 + I56 + I57 + I58 + I60 + I65, 2, '&euro;'));
  invertersAC.html(round(H68 + H69 + H70 + H71 + H72 + H73 + H74 + H76 + H78 + H79 + H80 + H85, 2, '&euro;'));
  invertersDC.html(round(I68 + I69 + I70 + I71 + I72 + I73 + I74 + I76 + I78 + I79 + I80 + I85, 2, '&euro;'));
  hiVoltAC.html(round(H90 + H91 + H92 + H93 + H94 + H95 + H96 + H97 + H98 + H99, 2, '&euro;'));
  hiVoltDC.html(round(I90 + I91 + I92 + I93 + I94 + I95 + I96 + I97 + I98 + I99, 2, '&euro;'));
  completionAC.html(round(H112 + H113 + H114 + H115 + H116 + H117, 2, '&euro;'));
  completionDC.html(round(I112 + I113 + I114 + I115 + I116 + I117, 2, '&euro;'));
  totalAC.html(round(intFromPrice(engineeringAC.html()) + intFromPrice(constructAC.html()) + intFromPrice(modulesAC.html()) + intFromPrice(loVoltAC.html()) + intFromPrice(invertersAC.html()) + intFromPrice(hiVoltAC.html()) + intFromPrice(securityAC.html()) + intFromPrice(completionAC.html()), 2, '&euro;'));
  totalDC.html(round(intFromPrice(engineeringDC.html()) + intFromPrice(constructDC.html()) + intFromPrice(modulesDC.html()) + intFromPrice(loVoltDC.html()) + intFromPrice(invertersDC.html()) + intFromPrice(hiVoltDC.html()) + intFromPrice(securityDC.html()) + intFromPrice(completionDC.html()), 2, '&euro;'));
  totalKwpAC.html(round(intFromPrice(totalAC.html()) / (1000 * mwpAC.html()), 2, '&euro;'));
  totalKwpDC.html(round(intFromPrice(totalDC.html()) / (1000 * mwpAC.html()), 2, '&euro;'));
  totalKwpCzkAC.html(round(intFromPrice(totalKwpAC.html()) * czk, -1, null, 'Kč<sup>*</sup>'));
  totalKwpCzkDC.html(round(intFromPrice(totalKwpDC.html()) * czk, -1, null, 'Kč<sup>*</sup>'));
  hecPlusAC.html(round(C39 * D39*1.52, 2, '&euro;'));
  hecPlusDC.html(round(C40 * D40*1.52, 2, '&euro;'));
  totalHecPlusAC.html(round(intFromPrice(engineeringAC.html()) + intFromPrice(constructAC.html()) + intFromPrice(hecPlusAC.html()) + intFromPrice(loVoltAC.html()) + intFromPrice(invertersAC.html()) + intFromPrice(hiVoltAC.html()) + intFromPrice(securityAC.html()) + intFromPrice(completionAC.html()), 2, '&euro;'));
  totalHecPlusDC.html(round(intFromPrice(engineeringDC.html()) + intFromPrice(constructDC.html()) + intFromPrice(hecPlusDC.html()) + intFromPrice(loVoltDC.html()) + intFromPrice(invertersDC.html()) + intFromPrice(hiVoltDC.html()) + intFromPrice(securityDC.html()) + intFromPrice(completionDC.html()), 2, '&euro;'));
  totalKwpHecPlusAC.html(round(intFromPrice(totalHecPlusAC.html()) / (1000 * mwpAC.html()), 2, '&euro;'));
  totalKwpHecPlusDC.html(round(intFromPrice(totalHecPlusDC.html()) / (1000 * mwpAC.html()), 2, '&euro;'));
  totalKwpHecPlusCzkAC.html(round(intFromPrice(totalKwpHecPlusAC.html()) * czk, -1, null, 'Kč<sup>*</sup>'));
  totalKwpHecPlusCzkDC.html(round(intFromPrice(totalKwpHecPlusDC.html()) * czk, -1, null, 'Kč<sup>*</sup>'));
}

function calculateResult2()
{
  var reqPower = $('#calc2_reqPower');
  var budgetAC = $('#calc2_budgetAC');
  var budgetDC = $('#calc2_budgetDC');
  var engineeringAC = $('#calc2_engineeringAC');
  var engineeringDC = $('#calc2_engineeringDC');
  var constructAC = $('#calc2_constructAC');
  var constructDC = $('#calc2_constructDC');
  var modulesAC = $('#calc2_modulesAC');
  var modulesDC = $('#calc2_modulesDC');
  var loVoltAC = $('#calc2_loVoltAC');
  var loVoltDC = $('#calc2_loVoltDC');
  var invertersAC = $('#calc2_invertersAC');
  var invertersDC = $('#calc2_invertersDC');
  var hiVoltAC = $('#calc2_hiVoltAC');
  var hiVoltDC = $('#calc2_hiVoltDC');
	var securityAC = $('#calc2_securityAC');
	var securityDC = $('#calc2_securityDC');
  var completionAC = $('#calc2_completionAC');
  var completionDC = $('#calc2_completionDC');
  var totalAC = $('#calc2_totalAC');
  var totalDC = $('#calc2_totalDC');
  var mwpAC = $('#calc2_mwpAC');
  var totalKwpAC = $('#calc2_totalKwpAC');
  var totalKwpDC = $('#calc2_totalKwpDC');
  var totalKwpCzkAC = $('#calc2_totalKwpCzkAC');
  var totalKwpCzkDC = $('#calc2_totalKwpCzkDC');
  var hecPlusAC = $('#calc2_hecPlusAC');
  var hecPlusDC = $('#calc2_hecPlusDC');
  var totalHecPlusAC = $('#calc2_totalHecPlusAC');
  var totalHecPlusDC = $('#calc2_totalHecPlusDC');
  var totalKwpHecPlusAC = $('#calc2_totalKwpHecPlusAC');
  var totalKwpHecPlusDC = $('#calc2_totalKwpHecPlusDC');
  var totalKwpHecPlusCzkAC = $('#calc2_totalKwpHecPlusCzkAC');
  var totalKwpHecPlusCzkDC = $('#calc2_totalKwpHecPlusCzkDC');

  var B69 = $('#calc2_B69');
  var C39 = $('#calc2_C39');
  var C40 = $('#calc2_C40');
  var C55 = $('#calc2_C55');
  var C58 = $('#calc2_C58');
  var C68 = $('#calc2_C68');
  var D12 = $('#calc2_D12');
  var D15 = $('#calc2_D15');
  var D16 = $('#calc2_D16');
  var D20 = $('#calc2_D20');
  var D21 = $('#calc2_D21');
  var D22 = $('#calc2_D22');
  var D23 = $('#calc2_D23');
  var D24 = $('#calc2_D24');
  var D25 = $('#calc2_D25');
  var D26 = $('#calc2_D26');
  var D27 = $('#calc2_D27');
  var D28 = $('#calc2_D28');
  var D29 = $('#calc2_D29');
  var D39 = $('#calc2_D39');
  var D40 = $('#calc2_D40');
  var D42 = $('#calc2_D42');
  var D43 = $('#calc2_D43');
  var D44 = $('#calc2_D44');
  var D45 = $('#calc2_D45');
  var D46 = $('#calc2_D46');
  var D47 = $('#calc2_D47');
  var D48 = $('#calc2_D48');
  var D49 = $('#calc2_D49');
  var D50 = $('#calc2_D50');
  var D51 = $('#calc2_D51');
  var D52 = $('#calc2_D52');
  var D53 = $('#calc2_D53');
  var D55 = $('#calc2_D55');
  var D56 = $('#calc2_D56');
  var D58 = $('#calc2_D58');
  var D59 = $('#calc2_D59');
  var D60 = $('#calc2_D60');
  var D61 = $('#calc2_D61');
  var D62 = $('#calc2_D62');
  var D63 = $('#calc2_D63');
  var D64 = $('#calc2_D64');
  var D66 = $('#calc2_D66');
  var D68 = $('#calc2_D68');
  var D69 = $('#calc2_D69');
  var D70 = $('#calc2_D70');
  var D71 = $('#calc2_D71');
  var D72 = $('#calc2_D72');
  var D73 = $('#calc2_D73');
  var D74 = $('#calc2_D74');
  var D76 = $('#calc2_D76');
  var D77 = $('#calc2_D77');
  var D78 = $('#calc2_D78');
  var D79 = $('#calc2_D79');
  var D80 = $('#calc2_D80');
  var D81 = $('#calc2_D81');
  var D82 = $('#calc2_D82');
  var D83 = $('#calc2_D83');
  var D84 = $('#calc2_D84');
  var D85 = $('#calc2_D85');
  var D86 = $('#calc2_D86');
  var D87 = $('#calc2_D87');
  var G31 = $('#calc2_G31');
  var G32 = $('#calc2_G32');
  var G33 = $('#calc2_G33');
  var H11 = $('#calc2_H11');
  var H12 = $('#calc2_H12');
  var H15 = $('#calc2_H15');
  var H16 = $('#calc2_H16');
  var H20 = $('#calc2_H20');
  var H21 = $('#calc2_H21');
  var H22 = $('#calc2_H22');
  var H23 = $('#calc2_H23');
  var H24 = $('#calc2_H24');
  var H25 = $('#calc2_H25');
  var H26 = $('#calc2_H26');
  var H27 = $('#calc2_H27');
  var H28 = $('#calc2_H28');
  var H29 = $('#calc2_H29');
  var H31 = $('#calc2_H31');
  var H32 = $('#calc2_H32');
  var H33 = $('#calc2_H33');
  var H35 = $('#calc2_H35');
  var H36 = $('#calc2_H36');
  var H39 = $('#calc2_H39');
  var H42 = $('#calc2_H42');
  var H43 = $('#calc2_H43');
  var H44 = $('#calc2_H44');
  var H45 = $('#calc2_H45');
  var H46 = $('#calc2_H46');
  var H47 = $('#calc2_H47');
  var H48 = $('#calc2_H48');
  var H49 = $('#calc2_H49');
  var H50 = $('#calc2_H50');
  var H51 = $('#calc2_H51');
  var H52 = $('#calc2_H52');
  var H53 = $('#calc2_H53');
  var H54 = $('#calc2_H54');
  var H55 = $('#calc2_H55');
  var H56 = $('#calc2_H56');
  var H57 = $('#calc2_H57');
  var H58 = $('#calc2_H58');
  var H59 = $('#calc2_H59');
  var H60 = $('#calc2_H60');
  var H61 = $('#calc2_H61');
  var H62 = $('#calc2_H62');
  var H63 = $('#calc2_H63');
  var H64 = $('#calc2_H64');
  var H65 = $('#calc2_H65');
  var H66 = $('#calc2_H66');
  var H68 = $('#calc2_H68');
  var H69 = $('#calc2_H69');
  var H70 = $('#calc2_H70');
  var H71 = $('#calc2_H71');
  var H72 = $('#calc2_H72');
  var H73 = $('#calc2_H73');
  var H74 = $('#calc2_H74');
  var H76 = $('#calc2_H76');
  var H77 = $('#calc2_H77');
  var H78 = $('#calc2_H78');
  var H79 = $('#calc2_H79');
  var H80 = $('#calc2_H80');
  var H81 = $('#calc2_H81');
  var H82 = $('#calc2_H82');
  var H83 = $('#calc2_H83');
  var H84 = $('#calc2_H84');
  var H85 = $('#calc2_H85');
  var H86 = $('#calc2_H86');
  var H87 = $('#calc2_H87');
  var I11 = $('#calc2_I11');
  var I12 = $('#calc2_I12');
  var I15 = $('#calc2_I15');
  var I16 = $('#calc2_I16');
  var I20 = $('#calc2_I20');
  var I21 = $('#calc2_I21');
  var I22 = $('#calc2_I22');
  var I23 = $('#calc2_I23');
  var I24 = $('#calc2_I24');
  var I25 = $('#calc2_I25');
  var I26 = $('#calc2_I26');
  var I27 = $('#calc2_I27');
  var I28 = $('#calc2_I28');
  var I29 = $('#calc2_I29');
  var I31 = $('#calc2_I31');
  var I32 = $('#calc2_I32');
  var I33 = $('#calc2_I33');
  var I35 = $('#calc2_I35');
  var I36 = $('#calc2_I36');
  var I40 = $('#calc2_I40');
  var I42 = $('#calc2_I42');
  var I43 = $('#calc2_I43');
  var I44 = $('#calc2_I44');
  var I45 = $('#calc2_I45');
  var I46 = $('#calc2_I46');
  var I47 = $('#calc2_I47');
  var I48 = $('#calc2_I48');
  var I49 = $('#calc2_I49');
  var I50 = $('#calc2_I50');
  var I51 = $('#calc2_I51');
  var I52 = $('#calc2_I52');
  var I53 = $('#calc2_I53');
  var I54 = $('#calc2_I54');
  var I55 = $('#calc2_I55');
  var I56 = $('#calc2_I56');
  var I57 = $('#calc2_I57');
  var I58 = $('#calc2_I58');
  var I59 = $('#calc2_I59');
  var I60 = $('#calc2_I60');
  var I61 = $('#calc2_I61');
  var I62 = $('#calc2_I62');
  var I63 = $('#calc2_I63');
  var I64 = $('#calc2_I64');
  var I65 = $('#calc2_I65');
  var I66 = $('#calc2_I66');
  var I68 = $('#calc2_I68');
  var I69 = $('#calc2_I69');
  var I70 = $('#calc2_I70');
  var I71 = $('#calc2_I71');
  var I72 = $('#calc2_I72');
  var I73 = $('#calc2_I73');
  var I74 = $('#calc2_I74');
  var I76 = $('#calc2_I76');
  var I77 = $('#calc2_I77');
  var I78 = $('#calc2_I78');
  var I79 = $('#calc2_I79');
  var I80 = $('#calc2_I80');
  var I81 = $('#calc2_I81');
  var I82 = $('#calc2_I82');
  var I83 = $('#calc2_I83');
  var I84 = $('#calc2_I84');
  var I85 = $('#calc2_I85');
  var I86 = $('#calc2_I86');
  var I87 = $('#calc2_I87');

  var D90 = $('#calc2_D90');
  var D91 = $('#calc2_D91');
  var D92 = $('#calc2_D92');
  var D93 = $('#calc2_D93');
  var D94 = $('#calc2_D94');
  var D95 = $('#calc2_D95');
  var D96 = $('#calc2_D96');
  var D97 = $('#calc2_D97');
  var D98 = $('#calc2_D98');
  var D99 = $('#calc2_D99');
  var H90 = $('#calc2_H90');
  var H91 = $('#calc2_H91');
  var H92 = $('#calc2_H92');
  var H93 = $('#calc2_H93');
  var H94 = $('#calc2_H94');
  var H95 = $('#calc2_H95');
  var H96 = $('#calc2_H96');
  var H97 = $('#calc2_H97');
  var H98 = $('#calc2_H98');
  var H99 = $('#calc2_H99');
  var I90 = $('#calc2_I90');
  var I91 = $('#calc2_I91');
  var I92 = $('#calc2_I92');
  var I93 = $('#calc2_I93');
  var I94 = $('#calc2_I94');
  var I95 = $('#calc2_I95');
  var I96 = $('#calc2_I96');
  var I97 = $('#calc2_I97');
  var I98 = $('#calc2_I98');
  var I99 = $('#calc2_I99');

  var D102 = $('#calc2_D102');
  var D103 = $('#calc2_D103');
  var D104 = $('#calc2_D104');
  var D105 = $('#calc2_D105');
  var H102 = $('#calc2_H102');
  var H103 = $('#calc2_H103');
  var H104 = $('#calc2_H104');
  var H105 = $('#calc2_H105');
  var I102 = $('#calc2_I102');
  var I103 = $('#calc2_I103');
  var I104 = $('#calc2_I104');
  var I105 = $('#calc2_I105');

  var H112 = $('#calc2_H112');
  var H113 = $('#calc2_H113');
  var H114 = $('#calc2_H114');
  var H115 = $('#calc2_H115');
  var H116 = $('#calc2_H116');
  var H117 = $('#calc2_H117');
  var I112 = $('#calc2_I112');
  var I113 = $('#calc2_I113');
  var I114 = $('#calc2_I114');
  var I115 = $('#calc2_I115');
  var I116 = $('#calc2_I116');
  var I117 = $('#calc2_I117');

  C68.html(Math.round(reqPower.val() * 1000 / 16500 * 1000) / 1000);
  mwpAC.html(Math.round(C68.html() * 16.5) / 1000);
	D68.html(Math.ceil(C68.html()));
	C39.html(Math.round(D68.html() * 16500 / D39.val()));
  C40.html(Math.round(D68.html() * 17800 / D40.val()));
  C55.html(Math.round(C68.html() / 2 * 100) / 100);
  D55.html(Math.ceil(C55.html()));
  D90.html(reqPower.val() / 1000);
  D91.html(D90.html());
  C58.html(Math.round(D55.html() / 6 * 100) / 100);
  D58.html(Math.ceil(C58.html()));
  
  H12.html(round(D12.val() * mwpAC.html() * G12, 2, '&euro;'));
  H15.html(round(D15.val() * mwpAC.html() * G15, 2, '&euro;'));
  H16.html(round(D16.val() * mwpAC.html() * G16, 2, '&euro;'));
  H20.html(round(D20.val() * mwpAC.html() * G20, 2, '&euro;'));
  H21.html(round(D21.val() * mwpAC.html() * G21, 2, '&euro;'));
  H22.html(round(D22.val() * mwpAC.html() * G22, 2, '&euro;'));
  H23.html(round(D23.val() * mwpAC.html() * G23, 2, '&euro;'));
  H24.html(round(D24.val() * G24, 2, '&euro;'));
  H25.html(round(D25.val() * G25, 2, '&euro;'));
  H26.html(round(D26.val() * G26, 2, '&euro;'));
  H27.html(round(D27.val() * G27, 2, '&euro;'));
  H28.html(round(D28.val() * G28, 2, '&euro;'));
  H29.html(round(D29.val() * G29, 2, '&euro;'));
  
  I12.html(H12.html());
  I15.html(H15.html());
  I16.html(H16.html());
  I20.html(H20.html());
  I21.html(H21.html());
  I22.html(H22.html());
  I23.html(H23.html());
  I24.html(H24.html());
  I25.html(H25.html());
  I26.html(H26.html());
  I27.html(H27.html());
  I28.html(H28.html());
  I29.html(H29.html());
  
  budgetAC.html(round(C39.html() * D39.val(), -1));
  budgetDC.html(round(C40.html() * D40.val(), -1));
  
	G31.html(round(7 / D5, 4, '&euro;'));
  G32.html(round(0.4 / D5, 4, '&euro;'));
  G33.html(round(0.03 / D5, 4, '&euro;'));
  
  H31.html(round(C39.html() * D39.val() * 7 / D5, 2, '&euro;'));
  H32.html(round(C39.html() * D39.val() * 0.4 / D5, 2, '&euro;'));
  H33.html(round(C39.html() * D39.val() * 0.03 / D5, 2, '&euro;'));
  H35.html(round(C39.html() * D39.val() * G35, 2, '&euro;'));
  H36.html(round(C39.html() * D39.val() * G36, 2, '&euro;'));
  
  I31.html(round(C40.html() * D40.val() * 7 / D5, 2, '&euro;'));
  I32.html(round(C40.html() * D40.val() * 0.4 / D5, 2, '&euro;'));
  I33.html(round(C40.html() * D40.val() * 0.03 / D5, 2, '&euro;'));
  I35.html(round(C40.html() * D40.val() * G35, 2, '&euro;'));
  I36.html(round(C40.html() * D40.val() * G36, 2, '&euro;'));
  
  H39.html(round((D68.html() * 16500 / D39.val()) * D39.val() * G39, 2, '&euro;'));
  I40.html(round((D68.html() * 17800 / D40.val()) * D40.val() * G40, 2, '&euro;'));
  
  H42.html(round(G42 * D42.val(), 2, '&euro;'));
  H43.html(round(G43 * D43.val(), 2, '&euro;'));
  H44.html(round(G44 * D44.val(), 2, '&euro;'));
  H45.html(round(G45 * D45.val(), 2, '&euro;'));
  H46.html(round(G46 * D46.val(), 2, '&euro;'));
  H47.html(round(G47 * D47.val(), 2, '&euro;'));
  H48.html(round(G48 * D48.val(), 2, '&euro;'));
  H49.html(round(G49 * D49.val(), 2, '&euro;'));
  H50.html(round(G50 * D50.val(), 2, '&euro;'));
  H51.html(round(G51 * D51.val(), 2, '&euro;'));
  H52.html(round(G52 * D52.val(), 2, '&euro;'));
  H53.html(round(D53.val() * mwpAC.html() * G53, 2, '&euro;'));
  H54.html(round(D55.html() * G54, 2, '&euro;'));
  H55.html(round(D55.html() * G55, 2, '&euro;'));
  H56.html(round(D56.val() * G56 * D68.html(), 2, '&euro;'));
  H57.html(round(D58.html() * G57, 2, '&euro;'));
  H58.html(round(D58.html() * G58, 2, '&euro;'));
  H59.html(round(D59.val() * G59, 2, '&euro;'));
  H60.html(round(D60.val() * G60, 2, '&euro;'));
  H61.html(round(D61.val() * G61, 2, '&euro;'));
  H62.html(round(D62.val() * G62, 2, '&euro;'));
  H63.html(round(D63.val() * G63, 2, '&euro;'));
  H64.html(round(D64.val() * G64, 2, '&euro;'));
  H65.html(round(C39.html() / 16 * 5, 2, '&euro;'));
  H66.html(round(D66.val() * G66, 2, '&euro;'));
  
  I42.html(round(intFromPrice(H42.html()) * 1.1, 2, '&euro;'));
  I43.html(round(intFromPrice(H43.html()) * 1.1, 2, '&euro;'));
  I44.html(round(intFromPrice(H44.html()) * 1.1, 2, '&euro;'));
  I45.html(round(intFromPrice(H45.html()) * 1.1, 2, '&euro;'));
  I46.html(round(intFromPrice(H46.html()) * 1.1, 2, '&euro;'));
  I47.html(round(intFromPrice(H47.html()) * 1.1, 2, '&euro;'));
  I48.html(round(intFromPrice(H48.html()) * 1.1, 2, '&euro;'));
  I49.html(round(intFromPrice(H49.html()) * 1.1, 2, '&euro;'));
  I50.html(round(intFromPrice(H50.html()) * 1.1, 2, '&euro;'));
  I51.html(round(intFromPrice(H51.html()) * 1.1, 2, '&euro;'));
  I52.html(round(intFromPrice(H52.html()) * 1.1, 2, '&euro;'));
  I53.html(H53.html());
  I54.html(H54.html());
  I55.html(H55.html());
  I56.html(H56.html());
  I57.html(H57.html());
  I58.html(H58.html());
  I59.html(round(intFromPrice(H59.html()) * 1.1, 2, '&euro;'));
  I60.html(round(intFromPrice(H60.html()) * 1.1, 2, '&euro;'));
  I61.html(round(intFromPrice(H61.html()) * 1.1, 2, '&euro;'));
  I62.html(round(intFromPrice(H62.html()) * 1.1, 2, '&euro;'));
  I63.html(round(intFromPrice(H63.html()) * 1.1, 2, '&euro;'));
  I64.html(round(intFromPrice(H64.html()) * 1.1, 2, '&euro;'));
  I65.html(round(C40.html() / 16 * 5, 2, '&euro;'));
  I66.html(round(intFromPrice(H66.html()) * 1.1, 2, '&euro;'));
  
  H68.html(round(C68.html() * G68, 2, '&euro;'));
  H69.html(round(D69.val() * D68.html() * G69, 2, '&euro;'));
  H70.html(round(D70.val() * mwpAC.html() * G70, 2, '&euro;')); 
  H71.html(round(D71.val() * mwpAC.html() * G71, 2, '&euro;'));
  H72.html(round(D72.val() * D68.html() * G72, 2, '&euro;'));
  H73.html(round(D73.val() * D68.html() * G73, 2, '&euro;'));
  H74.html(round(D74.val() * G74, 2, '&euro;'));
  H76.html(round(D76.val() * mwpAC.html() * G76, 2, '&euro;'));
  H77.html(round(D77.val() * G77, 2, '&euro;'));
  H78.html(round(D78.val() * G78, 2, '&euro;'));
  H79.html(round(D79.val() * mwpAC.html() * G79, 2, '&euro;'));
  H80.html(round(D80.val() * mwpAC.html() * G80, 2, '&euro;'));
  H81.html(round(D81.val() * mwpAC.html() * G81, 2, '&euro;'));
  H82.html(round(D82.val() * mwpAC.html() * G82, 2, '&euro;'));
  H83.html(round(D83.val() * mwpAC.html() * G83, 2, '&euro;'));
  H84.html(round(D84.val() * mwpAC.html() * G84, 2, '&euro;'));
  H85.html(round(D85.val() * mwpAC.html() * G85, 2, '&euro;'));
  H86.html(round(D86.val() * mwpAC.html() * G86, 2, '&euro;'));
  H87.html(round(D87.val() * mwpAC.html() * G87, 2, '&euro;'));
  
  I68.html(H68.html());
  I69.html(H69.html());
  I70.html(H70.html());
  I71.html(H71.html());
  I72.html(H72.html());
  I73.html(H73.html());
  I74.html(H74.html());
  I76.html(H76.html());
  I77.html(H77.html());
  I78.html(H78.html());
  I79.html(H79.html());
  I80.html(H80.html());
  I81.html(H81.html());
  I82.html(H82.html());
  I83.html(H83.html());
  I84.html(H84.html());
  I85.html(H85.html());
  I86.html(H86.html());
  I87.html(H87.html());
  
  H90.html(round(D90.html() * G90, 2, '&euro;'));
  H91.html(round(D91.html() * G91, 2, '&euro;'));
  H92.html(round(D92.val() * mwpAC.html() * G92, 2, '&euro;'));
  H93.html(round(D93.val() * G93, 2, '&euro;'));
  H94.html(round(D94.val() * D93.val() * G94, 2, '&euro;'));
  H95.html(round(D95.val() * D90.html() * G95, 2, '&euro;'));
  H96.html(round(D96.val() * D91.html() * G96, 2, '&euro;'));
  H97.html(round(D97.val() * mwpAC.html() * G97, 2, '&euro;'));
  H98.html(round(D98.val() * mwpAC.html() * G98, 2, '&euro;'));
  H99.html(round(D99.val() * mwpAC.html() * G99, 2, '&euro;'));
  I90.html(H90.html());
  I91.html(H91.html());
	I92.html(H92.html());
  I93.html(H93.html());
  I94.html(H94.html());
  I95.html(H95.html());
  I96.html(H96.html());
  I97.html(H97.html());
  I98.html(H98.html());
  I99.html(H99.html());
  
  H102.html(round(D102.val() * G102, 2, '&euro;'));
  H103.html(round(D103.val() * G103, 2, '&euro;'));
  H104.html(round(D104.val() * G104, 2, '&euro;'));
  H105.html(round(D105.val() * G105, 2, '&euro;'));
  I102.html(H102.html());
  I103.html(H103.html());
  I104.html(H104.html());
  I105.html(H105.html());
  
  securityAC.html(round(intFromPrice(H102.html()) + intFromPrice(H103.html()) + intFromPrice(H104.html()) + intFromPrice(H105.html()), 2, '&euro;'));
  securityDC.html(round(intFromPrice(I102.html()) + intFromPrice(I103.html()) + intFromPrice(I104.html()) + intFromPrice(I105.html()), 2, '&euro;'));
  
  H112.html(round(mwpAC.html() * G112, 2, '&euro;'));
  H113.html(round(mwpAC.html() * G113, 2, '&euro;'));
  H114.html(round(mwpAC.html() * G114, 2, '&euro;'));
  H115.html(round(mwpAC.html() * G115, 2, '&euro;'));
  H116.html(round(mwpAC.html() * G116, 2, '&euro;'));
  H117.html(round(mwpAC.html() * G117, 2, '&euro;'));
  I112.html(H112.html());
  I113.html(H113.html());
  I114.html(H114.html());
  I115.html(H115.html());
  I116.html(H116.html());
  I117.html(H117.html());
    
  engineeringAC.html(round(intFromPrice(H12.html()) + intFromPrice(H15.html()) + intFromPrice(H16.html()) + intFromPrice(H20.html()) + intFromPrice(H21.html()) + intFromPrice(H22.html()) + intFromPrice(H23.html()) + intFromPrice(H24.html()) + intFromPrice(H25.html()) + intFromPrice(H26.html()) + intFromPrice(H27.html()) + intFromPrice(H28.html()) + intFromPrice(H29.html()), 2, '&euro;'));
  engineeringDC.html(round(intFromPrice(I12.html()) + intFromPrice(I15.html()) + intFromPrice(I16.html()) + intFromPrice(I20.html()) + intFromPrice(I21.html()) + intFromPrice(I22.html()) + intFromPrice(I23.html()) + intFromPrice(I24.html()) + intFromPrice(I25.html()) + intFromPrice(I26.html()) + intFromPrice(I27.html()) + intFromPrice(I28.html()) + intFromPrice(I29.html()), 2, '&euro;'));
  constructAC.html(round(intFromPrice(H31.html()) + intFromPrice(H32.html()) + intFromPrice(H33.html()) + intFromPrice(H35.html()) + intFromPrice(H36.html()), 2, '&euro;'));
  constructDC.html(round(intFromPrice(I31.html()) + intFromPrice(I32.html()) + intFromPrice(I33.html()) + intFromPrice(I35.html()) + intFromPrice(I36.html()), 2, '&euro;'));
  modulesAC.html(H39.html());
  modulesDC.html(I40.html());
  loVoltAC.html(round(intFromPrice(H42.html()) + intFromPrice(H43.html()) + intFromPrice(H44.html()) + intFromPrice(H45.html()) + intFromPrice(H46.html()) + intFromPrice(H47.html()) + intFromPrice(H48.html()) + intFromPrice(H49.html()) + intFromPrice(H50.html()) + intFromPrice(H51.html()) + intFromPrice(H52.html()) + intFromPrice(H53.html()) + intFromPrice(H54.html()) + intFromPrice(H55.html()) + intFromPrice(H56.html()) + intFromPrice(H57.html()) + intFromPrice(H58.html()) + intFromPrice(H59.html()) + intFromPrice(H60.html()) + intFromPrice(H61.html()) + intFromPrice(H62.html()) + intFromPrice(H63.html()) + intFromPrice(H64.html()) + intFromPrice(H65.html()) + intFromPrice(H66.html()), 2, '&euro;'));
  loVoltDC.html(round(intFromPrice(I42.html()) + intFromPrice(I43.html()) + intFromPrice(I44.html()) + intFromPrice(I45.html()) + intFromPrice(I46.html()) + intFromPrice(I47.html()) + intFromPrice(I48.html()) + intFromPrice(I49.html()) + intFromPrice(I50.html()) + intFromPrice(I51.html()) + intFromPrice(I52.html()) + intFromPrice(I53.html()) + intFromPrice(I54.html()) + intFromPrice(I55.html()) + intFromPrice(I56.html()) + intFromPrice(I57.html()) + intFromPrice(I58.html()) + intFromPrice(I59.html()) + intFromPrice(I60.html()) + intFromPrice(I61.html()) + intFromPrice(I62.html()) + intFromPrice(I63.html()) + intFromPrice(I64.html()) + intFromPrice(I65.html()) + intFromPrice(I66.html()), 2, '&euro;'));
  invertersAC.html(round(intFromPrice(H68.html()) + intFromPrice(H69.html()) + intFromPrice(H70.html()) + intFromPrice(H71.html()) + intFromPrice(H72.html()) + intFromPrice(H73.html()) + intFromPrice(H74.html()) + intFromPrice(H76.html()) + intFromPrice(H78.html()) + intFromPrice(H79.html()) + intFromPrice(H80.html()) + intFromPrice(H81.html()) + intFromPrice(H82.html()) + intFromPrice(H83.html()) + intFromPrice(H84.html()) + intFromPrice(H85.html()) + intFromPrice(H86.html()) + intFromPrice(H87.html()), 2, '&euro;'));
  invertersDC.html(round(intFromPrice(I68.html()) + intFromPrice(I69.html()) + intFromPrice(I70.html()) + intFromPrice(I71.html()) + intFromPrice(I72.html()) + intFromPrice(I73.html()) + intFromPrice(I74.html()) + intFromPrice(I76.html()) + intFromPrice(I78.html()) + intFromPrice(I79.html()) + intFromPrice(I80.html()) + intFromPrice(I81.html()) + intFromPrice(I82.html()) + intFromPrice(I83.html()) + intFromPrice(I84.html()) + intFromPrice(I85.html()) + intFromPrice(I86.html()) + intFromPrice(I87.html()), 2, '&euro;'));
  hiVoltAC.html(round(intFromPrice(H90.html()) + intFromPrice(H91.html()) + intFromPrice(H92.html()) + intFromPrice(H93.html()) + intFromPrice(H94.html()) + intFromPrice(H95.html()) + intFromPrice(H96.html()) + intFromPrice(H97.html()) + intFromPrice(H98.html()) + intFromPrice(H99.html()), 2, '&euro;'));
  hiVoltDC.html(round(intFromPrice(I90.html()) + intFromPrice(I91.html()) + intFromPrice(I92.html()) + intFromPrice(I93.html()) + intFromPrice(I94.html()) + intFromPrice(I95.html()) + intFromPrice(I96.html()) + intFromPrice(I97.html()) + intFromPrice(I98.html()) + intFromPrice(I99.html()), 2, '&euro;'));
  completionAC.html(round(intFromPrice(H112.html()) + intFromPrice(H113.html()) + intFromPrice(H114.html()) + intFromPrice(H115.html()) + intFromPrice(H116.html()) + intFromPrice(H117.html()), 2, '&euro;'));
  completionDC.html(round(intFromPrice(I112.html()) + intFromPrice(I113.html()) + intFromPrice(I114.html()) + intFromPrice(I115.html()) + intFromPrice(I116.html()) + intFromPrice(I117.html()), 2, '&euro;'));
  totalAC.html(round(intFromPrice(engineeringAC.html()) + intFromPrice(constructAC.html()) + intFromPrice(modulesAC.html()) + intFromPrice(loVoltAC.html()) + intFromPrice(invertersAC.html()) + intFromPrice(hiVoltAC.html()) + intFromPrice(securityAC.html()) + intFromPrice(completionAC.html()), 2, '&euro;'));
  totalDC.html(round(intFromPrice(engineeringDC.html()) + intFromPrice(constructDC.html()) + intFromPrice(modulesDC.html()) + intFromPrice(loVoltDC.html()) + intFromPrice(invertersDC.html()) + intFromPrice(hiVoltDC.html()) + intFromPrice(securityDC.html()) + intFromPrice(completionDC.html()), 2, '&euro;'));
  totalKwpAC.html(round(intFromPrice(totalAC.html()) / (1000 * mwpAC.html()), 2, '&euro;'));
  totalKwpDC.html(round(intFromPrice(totalDC.html()) / (1000 * mwpAC.html()), 2, '&euro;'));
  totalKwpCzkAC.html(round(intFromPrice(totalKwpAC.html()) * czk, -1, null, 'Kč<sup>*</sup>'));
  totalKwpCzkDC.html(round(intFromPrice(totalKwpDC.html()) * czk, -1, null, 'Kč<sup>*</sup>'));
  hecPlusAC.html(round((D68.html() * 16500 / D39.val()) * D39.val() * 1.52, 2, '&euro;'));
  hecPlusDC.html(round((D68.html() * 17800 / D40.val()) * D40.val() * 1.52, 2, '&euro;'));
  totalHecPlusAC.html(round(intFromPrice(engineeringAC.html()) + intFromPrice(constructAC.html()) + intFromPrice(hecPlusAC.html()) + intFromPrice(loVoltAC.html()) + intFromPrice(invertersAC.html()) + intFromPrice(hiVoltAC.html()) + intFromPrice(securityAC.html()) + intFromPrice(completionAC.html()), 2, '&euro;'));
  totalHecPlusDC.html(round(intFromPrice(engineeringDC.html()) + intFromPrice(constructDC.html()) + intFromPrice(hecPlusDC.html()) + intFromPrice(loVoltDC.html()) + intFromPrice(invertersDC.html()) + intFromPrice(hiVoltDC.html()) + intFromPrice(securityDC.html()) + intFromPrice(completionDC.html()), 2, '&euro;'));
  totalKwpHecPlusAC.html(round(intFromPrice(totalHecPlusAC.html()) / (1000 * mwpAC.html()), 2, '&euro;'));
  totalKwpHecPlusDC.html(round(intFromPrice(totalHecPlusDC.html()) / (1000 * mwpAC.html()), 2, '&euro;'));
  totalKwpHecPlusCzkAC.html(round(intFromPrice(totalKwpHecPlusAC.html()) * czk, -1, null, 'Kč<sup>*</sup>'));
  totalKwpHecPlusCzkDC.html(round(intFromPrice(totalKwpHecPlusDC.html()) * czk, -1, null, 'Kč<sup>*</sup>'));
}
