﻿//pre-emption form-boxes
var old = 5.8;
var UwOLD = 5.8;
var Fnew = 0;
var Gnew = 0;
var UwNEW = 0;
var FensterFL=30;
var Lebensdauer = 30;
var Heizoel_E = (235+1-1);
var Erdgas_E = (98+1-1);
var Pellets_E = (70+1-1);
var Hackgut_E= (17000+1-1);
//var Buche_E=73;
var UWmanuell = false;

//initialize form
function FormInit() {
    document.frmEnergie.FensterFL.value = FensterFL;
    document.frmEnergie.Lebensdauer.value = Lebensdauer;
    document.frmEnergie.old.value = old;
    document.frmEnergie.UwOLD.value = UwOLD;
    document.frmEnergie.FSystem.value = Fnew;
    document.frmEnergie.Glasnew.value = Gnew;
    document.frmEnergie.UwNEW.value = UwNEW;
    document.frmEnergie.UWmanuell.checked = false;
    
    document.frmEnergie.Heizoel_E.value = Heizoel_E;
    document.frmEnergie.Erdgas_E.value = Erdgas_E;
    document.frmEnergie.Pellets_E.value = Pellets_E;
    document.frmEnergie.Hackgut_E.value = Hackgut_E;
//    document.frmEnergie.Buche_E.value = Buche_E;    
}
// rates for computation 

var Heizgradtage = (2917+1-1);
var kgL = 1.19;
var Brennwert_HOelL = 11900;
var Wirkungsgrad = 0.75;

// formatting numbers (round, dot) 
function round2(number) {
    if (isNaN(number)) return 0;
    numstr = number.toString();
    dotpos = numstr.indexOf(".");
    
    if (dotpos > -1) {
    if (numstr.length > (dotpos + 3)) {
        numstr = numstr.substr(0, dotpos + 3);    
    }
    numstr_w = numstr.split(".")[0];
    numstr_d = numstr.split(".")[1];
    numstr = numstr_w + "," + numstr_d;
    }   
     
    return numstr;
}
function round2cur(number) {
    if (isNaN(number)) return 0;    
    numstr = number.toString();    
    dotpos = numstr.indexOf(".");
    
    if (dotpos > -1) {
    if (numstr.length > (dotpos + 3)) {
        numstr = numstr.substr(0, dotpos + 3);    
    }
    numstr_w = numstr.split(".")[0];
    numstr_d = numstr.split(".")[1];
    
    if (numstr_d.length < 2)
        numstr_d = numstr_d + "0";
        numstr = numstr_w + "," + numstr_d;
    }   
     
    return numstr;
}
//dot
function round3(number) {
    if (isNaN(number)) return 0;
    numstr = number.toString();    
    numstr = numstr.split(".")[0];
     
    return numstr;
}
function round6(number) {
    return dotnum(round3(number));
}
function dotnum(strnum) {
    dots = (strnum.length - 1) / 3;
    dots = Math.floor(dots);
    prenum = strnum.length % 3;
    if (dots) {
    for(i = dots; i >= 0; i--) {
        numforward = prenum + i * 3;
        if (numforward == 0) continue;
        if (numforward == strnum.length) continue;
        
        str1st = strnum.substr(0, numforward);
        str2nd = strnum.substr(numforward);
        
        strnum = str1st + "." + str2nd;        
    }
    }
    
    return strnum;
}
function REcalc(form) {
// Uw boxes
    if (form.old.options[form.old.selectedIndex].value == 0) {
    form.old.selectedIndex = 0;
    if (form.old.options[form.old.selectedIndex].value != 0)
        return REcalc(form);
    }
    
    if (form.Glasnew.options[form.Glasnew.selectedIndex].value == 0) {
    form.Glasnew.selectedIndex = 0;
    if (form.Glasnew.options[form.Glasnew.selectedIndex].value != 0)
        return REcalc(form);
    }
    
    
// form data
    FensterFL = parseInt(form.FensterFL.value);
    Lebensdauer = parseInt(form.Lebensdauer.value);
    if(UWmanuell) {
    UwOLD = parseFloat(form.UwOLD.value.replace(",","."));
    UwNEW = parseFloat(form.UwNEW.value.replace(",","."));
    }
    else{
    UwOLD = form.old.options[form.old.selectedIndex].value;
    Glasnew = form.Glasnew.options[form.Glasnew.selectedIndex].value;
     if (Glasnew=="1")
        UwNEW = "1.2";
    else if(Glasnew=="2")
        UwNEW = "1.2";
    else if (Glasnew == "3")
        UwNEW = "0.97";            
    else if (Glasnew == "4")
        UwNEW = "0.78";    
    else if (Glasnew =="5")
        UwNEW = "0.89";        
    else if (Glasnew =="6")
        UwNEW = "0.89";
    else if (Glasnew =="7")
        UwNEW = "1.1";  
    else if (Glasnew =="8")
        UwNEW = "1.1";  
    else if (Glasnew =="9")
        UwNEW = "0.86";
    else if (Glasnew =="10")
        UwNEW = "0.71";
    else if (Glasnew =="11")
        UwNEW = "0.63";
    else if (Glasnew =="12")
        UwNEW = "0.81";
    else if (Glasnew =="13")
        UwNEW = "0.74";
    else if (Glasnew =="14")
        UwNEW = "0.88";
    else if (Glasnew =="15")
        UwNEW = "0.63";
    else if (Glasnew =="16")
        UwNEW = "0.81";
    else if (Glasnew =="17")
        UwNEW = "0.71";
    else if (Glasnew =="18")
        UwNEW = "0.79";
    else if (Glasnew =="19")
        UwNEW = "1.3";
    else if (Glasnew =="20")
        UwNEW = "1.2";
    else if (Glasnew =="21")
        UwNEW = "0.81";
    else if (Glasnew =="22")
        UwNEW = "0.74";
    else if (Glasnew =="23")
        UwNEW = "1.3";
    else if (Glasnew =="24")
        UwNEW = "1.1";
    else if (Glasnew =="25")
        UwNEW = "1.1";
    else if (Glasnew =="26")
        UwNEW = "0.85";
    else if (Glasnew =="27")
        UwNEW = "1.0";
    else if (Glasnew =="28")
        UwNEW = "0.95";
    else if (Glasnew =="29")
        UwNEW = "0.92";
    else if (Glasnew =="30")
        UwNEW = "0.85";
    else if (Glasnew =="31")
        UwNEW = "0.92";
    else if (Glasnew =="32")
        UwNEW = "0.80";
    else if (Glasnew =="33")
        UwNEW = "0.79";
    else if (Glasnew =="34")
        UwNEW = "0.81";
    else if (Glasnew =="35")
        UwNEW = "0.80";
    else if (Glasnew =="36")
        UwNEW = "0.79";
    else if (Glasnew =="37")
        UwNEW = "0.94";


     }
   
    if (isNaN(FensterFL)) { FensterFL = 0; }
    if (isNaN(Lebensdauer)) { Lebensdauer = 0; }
    Heizoel_E = parseFloat(form.Heizoel_E.value.replace(",", "."));
    Erdgas_E = parseFloat(form.Erdgas_E.value.replace(",", "."));
    Pellets_E = parseFloat(form.Pellets_E.value.replace(",", "."));
    Hackgut_E = parseFloat(form.Hackgut_E.value.replace(",", "."));
//    Buche_E = parseFloat(form.Buche_E.value.replace(",", "."));

//formula energy-saving
Heizoel_Spar = ((UwOLD - UwNEW) * FensterFL *kgL *  24 * Heizgradtage) / (Wirkungsgrad * Brennwert_HOelL);
    LHeizoel = Heizoel_Spar * Lebensdauer;
    m3Erdgas = LHeizoel * 1.042;
    kgPellets = LHeizoel * 2.2;
    srmHackgut = LHeizoel * 0.014;
//    rmBuche = LHeizoel *0.004;
    
    LHeizoel_sumE = LHeizoel * Heizoel_E;
    m3Erdgas_sumE = m3Erdgas * Erdgas_E;
    kgPellets_sumE = kgPellets * Pellets_E;
    srmHackgut_sumE = srmHackgut * Hackgut_E;
//    rmBuche_sumE = rmBuche * Buche_E;
    
    kgCO2 = LHeizoel * 2.7861;
    kgSO2 = LHeizoel * 0.0034416;
    kgNO2 = LHeizoel * 0.0029201;
// refresh form
    form.FensterFL.value = round2(FensterFL);
    form.UwOLD.value = UwOLD;
    form.UwNEW.value = UwNEW;
   
    form.Heizoel_Spar.value = round6(Heizoel_Spar);
    
    form.Lebensdauer.value = round6(Lebensdauer);
    form.LD1.value = form.Lebensdauer.value;
    form.LD2.value = form.Lebensdauer.value;
    
    form.LHeizoel.value = round6(LHeizoel);
    form.m3Erdgas.value = round6(m3Erdgas);
    form.kgPellets.value = round6(kgPellets);
    form.srmHackgut.value = round6(srmHackgut);
//    form.rmBuche.value = round6(rmBuche);    
    form.Heizoel_E.value = round2cur(Heizoel_E);
    form.Erdgas_E.value = round2cur(Erdgas_E);
    form.Pellets_E.value = round2cur(Pellets_E);
    form.Hackgut_E.value = round2cur(Hackgut_E);
//    form.Buche_E.value = round2cur(Buche_E);
    form.LHeizoel_sumE.value = round6(LHeizoel_sumE);
    form.m3Erdgas_sumE.value = round6(m3Erdgas_sumE);
    form.kgPellets_sumE.value = round6(kgPellets_sumE);
    form.srmHackgut_sumE.value = round6(srmHackgut_sumE);
//    form.rmBuche_sumE.value = round6(rmBuche_sumE);    
    form.kgCO2.value = round6(kgCO2);
    form.kgSO2.value = round6(kgSO2);
    form.kgNO2.value = round6(kgNO2);
}
//control dropdown - window system / glass
var bV=parseInt(navigator.appVersion);
NS4=(document.layers) ? 1 : 0;
IE4=((document.all)&&(bV>=4)) ? 1 : 0;
ver4 = (NS4 || IE4) ? 1 : 0;

function checkSystem()
{    f = document.forms["frmEnergie"];
    c = f.elements["FSystem"];
    r = f.elements["Glasnew"];
    // clear old regions
    for (i=r.length-1; i>=0; i--)
        r.options[i]=null;
    // fill array
    o = new Array;
    i = 0;
selectedUwOLDID=-1;
if (c.options[c.selectedIndex].value == "0") {
    o[i++]=new Option("- bitte wählen -                                                                                ","0",(selectedUwOLDID==0),(selectedUwOLDID==0));
}

if (c.options[c.selectedIndex].value == "thermoP") {
    o[i++]=new Option("- kérjük, válasszon! -                                                                                ", "0");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,5 rozsdamentes acél távtartóval", "17");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,6 rozsdamentes acél távtartóval", "18");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,7 alumínium távtartóval", "29");
  }


if (c.options[c.selectedIndex].value == "thermoD") {
    o[i++]=new Option("- kérjük, válasszon! -                                                                                ", "0");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,5 rozsdamentes acél távtartóval", "22");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,6 rozsdamentes acél távtartóval", "21");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,7 alumínium távtartóval", "28");
  }
  

if (c.options[c.selectedIndex].value == "dimension") {
    o[i++]=new Option("- kérjük, válasszon! -                                                                                ", "0");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,5 rozsdamentes acél távtartóval", "4");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,6 rozsdamentes acél távtartóval", "30");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,7 alumínium távtartóval", "3");
    o[i++]=new Option("Kettős üvegezés Ug=1,1 rozsdamentes acél távtartóval", "2");
    o[i++]=new Option("Kettős üvegezés Ug=1,1 alumínium távtartóval", "1");

  }

if (c.options[c.selectedIndex].value == "passion") {
    o[i++]=new Option("- kérjük, válasszon! -                                                                                ", "0");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,5 rozsdamentes acél távtartóval", "26");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,6 rozsdamentes acél távtartóval", "31");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,7 alumínium távtartóval", "27");
    o[i++]=new Option("Kettős üvegezés Ug=1,1 rozsdamentes acél távtartóval", "20");
    o[i++]=new Option("Kettős üvegezés Ug=1,1 alumínium távtartóval", "19");
  }


if (c.options[c.selectedIndex].value == "dimension4") {
    o[i++]=new Option("- kérjük, válasszon! -                                                                                ", "0");
    o[i++]=new Option("4-rétegű üvegezés Ug = 0,5 rozsdamentes acél távtartóval", "32");
    o[i++]=new Option("4-rétegű üvegezés Ug = 0,5 Iso távtartóval", "33");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,95 rozsdamentes acél távtartóval", "5");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,95 alumínium távtartóval", "6");
  }

if (c.options[c.selectedIndex].value == "passion4") {
    o[i++]=new Option("- kérjük, válasszon! -                                                                                ", "0");
    o[i++]=new Option("4-rétegű üvegezés Ug = 0,5 rozsdamentes acél távtartóval", "34");
    o[i++]=new Option("4-rétegű üvegezés Ug = 0,5 Iso távtartóval", "35");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,95 rozsdamentes acél távtartóval", "24");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,95 alumínium távtartóval", "25");
  }
  
  
if (c.options[c.selectedIndex].value == "edition") {
    o[i++]=new Option("- kérjük, válasszon! -                                                                                ", "0");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,5 rozsdamentes acél távtartóval", "10");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,6 rozsdamentes acél távtartóval", "36");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,7 alumínium távtartóval", "9");
    o[i++]=new Option("Kettős üvegezés Ug=1,1 alumínium távtartóval", "7");
 
  }
if (c.options[c.selectedIndex].value == "varion") {
    o[i++]=new Option("- kérjük, válasszon! -                                                                                ", "0");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,5 rozsdamentes acél távtartóval", "13");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,7 alumínium távtartóval", "14");
  }
  
if (c.options[c.selectedIndex].value == "fusion") {
    o[i++]=new Option("- kérjük, válasszon! -                                                                                ", "0");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,7 alumínium távtartóval", "37");
    o[i++]=new Option("Kettős üvegezés Ug=1,1 alumínium távtartóval", "23");
  }
  
   
if (c.options[c.selectedIndex].value == "edition4") {
    o[i++]=new Option("- kérjük, válasszon! -                                                                                ", "0");
    o[i++]=new Option("4-rétegű üvegezés Ug = 0,59 rozsdamentes acél távtartóval", "11");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,95 alumínium távtartóval", "12");
  }

if (c.options[c.selectedIndex].value == "varion4") {
    o[i++]=new Option("- kérjük, válasszon! -                                                                                ", "0");
    o[i++]=new Option("4-rétegű üvegezés Ug = 0,59 rozsdamentes acél távtartóval", "15");
    o[i++]=new Option("Háromszoros üvegezés Ug=0,95 alumínium távtartóval", "16");
  }

  

r.length=o.length;
for (i=0; i < o.length; i++) r.options[i]=o[i];
r.length=o.length;
document.frmEnergie.UwNEW.value = 0;
}

//manually UW
function UW(form)
{
if (form.UWmanuell.checked){
    UWmanuell = true;
    form.old.disabled=true;
    form.FSystem.disabled = true;
    form.Glasnew.disabled = true;
    form.UwOLD.disabled = false;
    form.UwOLD.style.background ="#cc0000";
    form.UwOLD.style.color = "white";
    form.UwNEW.disabled = false;
    form.UwNEW.style.background ="#cc0000";
    form.UwNEW.style.color = "white";    
    form.UwNEW.style.bordercolor="white";
} else {
    UWmanuell = false;
    form.old.disabled=false;
    form.FSystem.disabled = false;
    form.Glasnew.disabled = false;
    form.UwOLD.disabled = true;
    form.UwOLD.style.background ="white";
    form.UwNEW.disabled = true;
    form.UwNEW.style.background ="white";
    
}
REcalc(form);
}
