﻿// JavaScript Document

// Globale variabler
var brukerdata = new Object({navn:"", passord:"", innlogget:false});
var navn_beregning = "";
var indeks_beregning = -1;
var arrayBeregninger = new Array();
var konstr_kategori = 0; // 0 = vegg; 1 = tak; 2 = golv
var konstr_type = 0;
var beregnet_uverdi = 0;
var bygningstype = 0; // 0 = Bolig; 1 = Lokaler
var overflateareal = 400;
var klimasone = 0; // 0 = Nordlig; 1 = Sydlig
var klimasone09 = 0;
var oppvarming = 0; // 0 = el; 1 = annen
var boligareal = 200;
var lokalerareal = 200;
var arrayKonstr = new Array(); // array for lagrede konstruksjoner
var arrayVindu = new Array(); // array for lagrede vinduer
var arrayDor = new Array(); // array for lagrede ytterdører
var arrayKuldebro = new Array(); // array for lagrede kuldebro
var tykkelse_konstr = 0;

// Predefinerte veggkonstruksjoner
var arrayVeggKonstr = [{navn:"Yttervägg med träreglar",
					    areal:50,
					    utv_kledning_valg:"Träpanel",
						egendef_utv_kledning:false,
						utv_kledning_tykkelse:22,
						utv_kledning_varmeledning:0.14,
						luftlag:true,
						luftlag_valg:"Väl ventilerad",
						luftlag_tykkelse:28,
						vindtetting_valg:"Vindskydd på rulle",
						egendef_vindtetting:false,
						vindtetting_tykkelse:1,
						vindtetting_varmeledning:0.1,
						utv_utforing:true,
						utv_utforing_valg:"45 mm träreglar (cc 600 mm)",
						egendef_utv_utforing:false,
						utv_utforing_arealandel:12,
						utv_utforing_varmeledning:0.14,
						utv_utforing_iso_valg:"45 mm FlexiBatts",
						egendef_utv_utforing_iso:false,
						utv_utforing_iso_tykkelse:45,
						utv_utforing_iso_varmeledning:0.037,
						reisverk_valg:"45 mm träreglar (cc 600 mm)",
						egendef_reisverk:false,
						reisverk_arealandel:12,
						reisverk_varmeledning:0.14,
						iso_valg:"220 mm FlexiBatts",
						egendef_iso:false,
						iso_tykkelse:220,
						iso_varmeledning:0.037,
						innv_utforing:true,
						innv_utforing_valg:"45 mm träreglar (cc 600 mm)",
						egendef_innv_utforing:false,
						innv_utforing_arealandel:12,
						innv_utforing_varmeledning:0.14,
						innv_utforing_iso_valg:"45 mm FlexiBatts",
						egendef_innv_utforing_iso:false,
						innv_utforing_iso_tykkelse:45,
						innv_utforing_iso_varmeledning:0.037,
						innv_kledning_valg:"13 mm gips",
						egendef_innv_kledning:false,
						innv_kledning_tykkelse:13,
						innv_kledning_varmeledning:0.25,
						ekstralag_plate:false,
						ekstralag_plate_valg:"Trä",
						egendef_ekstralag_plate:false,
						ekstralag_plate_varmeledning:0.14,
						ekstralag_plate_tykkelse:15,
						ekstralag_std:false,
						ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
						egendef_ekstralag_std:false,
						ekstralag_std_arealandel:12,
						ekstralag_std_varmeledning:0.14,
						ekstralag_std_iso_valg:"45 mm FlexiBatts",
						egendef_ekstralag_std_iso:false,
						ekstralag_std_iso_tykkelse:45,
						ekstralag_std_iso_varmeledning:0.037}
						,	
						{navn:"Yttervägg med lättreglar",
					    areal:50,
					    utv_kledning_valg:"Träpanel",
						egendef_utv_kledning:false,
						utv_kledning_tykkelse:22,
						utv_kledning_varmeledning:0.14,
						luftlag:true,
						luftlag_valg:"Väl ventilerad",
						luftlag_tykkelse:28,
						vindtetting_valg:"Vindskydd på rulle",
						egendef_vindtetting:false,
						vindtetting_tykkelse:1,
						vindtetting_varmeledning:0.1,
						utv_utforing:false,
						utv_utforing_valg:"45 mm träreglar (cc 600 mm)",
						egendef_utv_utforing:false,
						utv_utforing_arealandel:12,
						utv_utforing_varmeledning:0.14,
						utv_utforing_iso_valg:"45 mm FlexiBatts",
						egendef_utv_utforing_iso:false,
						utv_utforing_iso_tykkelse:45,
						utv_utforing_iso_varmeledning:0.037,
						reisverk_valg:"Lättreglar (cc 600 mm)",
						egendef_reisverk:false,
						reisverk_arealandel:8,
						reisverk_varmeledning:0.14,
						iso_valg:"220 mm FlexiBatts",
						egendef_iso:false,
						iso_tykkelse:220,
						iso_varmeledning:0.037,
						innv_utforing:true,
						innv_utforing_valg:"45 mm träreglar (cc 600 mm)",
						egendef_innv_utforing:false,
						innv_utforing_arealandel:12,
						innv_utforing_varmeledning:0.14,
						innv_utforing_iso_valg:"70 mm FlexiBatts",
						egendef_innv_utforing_iso:false,
						innv_utforing_iso_tykkelse:70,
						innv_utforing_iso_varmeledning:0.037,
						innv_kledning_valg:"13 mm gips",
						egendef_innv_kledning:false,
						innv_kledning_tykkelse:13,
						innv_kledning_varmeledning:0.25,
						ekstralag_plate:false,
						ekstralag_plate_valg:"Trä",
						egendef_ekstralag_plate:false,
						ekstralag_plate_varmeledning:0.14,
						ekstralag_plate_tykkelse:15,
						ekstralag_std:false,
						ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
						egendef_ekstralag_std:false,
						ekstralag_std_arealandel:12,
						ekstralag_std_varmeledning:0.14,
						ekstralag_std_iso_valg:"45 mm FlexiBatts",
						egendef_ekstralag_std_iso:false,
						ekstralag_std_iso_tykkelse:45,
						ekstralag_std_iso_varmeledning:0.037}
						,
						{navn:"Yttervägg med träreglar och Västkustskiva",
					    areal:50,
					    utv_kledning_valg:"Träpanel",
						egendef_utv_kledning:false,
						utv_kledning_tykkelse:22,
						utv_kledning_varmeledning:0.14,
						luftlag:true,
						luftlag_valg:"Väl ventilerad",
						luftlag_tykkelse:28,
						vindtetting_valg:"Inget",
						egendef_vindtetting:false,
						vindtetting_tykkelse:0,
						vindtetting_varmeledning:0.14,
						utv_utforing:true,
						utv_utforing_valg:"Inga (obruten isolering)",
						egendef_utv_utforing:false,
						utv_utforing_arealandel:0,
						utv_utforing_varmeledning:0.14,
						utv_utforing_iso_valg:"50 mm Västkustskiva",
						egendef_utv_utforing_iso:false,
						utv_utforing_iso_tykkelse:50,
						utv_utforing_iso_varmeledning:0.035,
						reisverk_valg:"45 mm träreglar (cc 600 mm)",
						egendef_reisverk:false,
						reisverk_arealandel:12,
						reisverk_varmeledning:0.14,
						iso_valg:"195 mm FlexiBatts",
						egendef_iso:false,
						iso_tykkelse:195,
						iso_varmeledning:0.037,
						innv_utforing:true,
						innv_utforing_valg:"45 mm träreglar (cc 600 mm)",
						egendef_innv_utforing:false,
						innv_utforing_arealandel:12,
						innv_utforing_varmeledning:0.14,
						innv_utforing_iso_valg:"45 mm FlexiBatts",
						egendef_innv_utforing_iso:false,
						innv_utforing_iso_tykkelse:45,
						innv_utforing_iso_varmeledning:0.037,
						innv_kledning_valg:"13 mm gips",
						egendef_innv_kledning:false,
						innv_kledning_tykkelse:13,
						innv_kledning_varmeledning:0.25,
						ekstralag_plate:false,
						ekstralag_plate_valg:"Trä",
						egendef_ekstralag_plate:false,
						ekstralag_plate_varmeledning:0.14,
						ekstralag_plate_tykkelse:15,
						ekstralag_std:false,
						ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
						egendef_ekstralag_std:false,
						ekstralag_std_arealandel:12,
						ekstralag_std_varmeledning:0.14,
						ekstralag_std_iso_valg:"45 mm FlexiBatts",
						egendef_ekstralag_std_iso:false,
						ekstralag_std_iso_tykkelse:45,
						ekstralag_std_iso_varmeledning:0.037}
						,						
						{navn:"Yttervägg av plank/liggtimmer",
					    areal:50,
					    utv_kledning_valg:"Träpanel",
						egendef_utv_kledning:false,
						utv_kledning_tykkelse:22,
						utv_kledning_varmeledning:0.14,
						luftlag:true,
						luftlag_valg:"Väl ventilerad",
						luftlag_tykkelse:28,
						vindtetting_valg:"Inget",
						egendef_vindtetting:false,
						vindtetting_tykkelse:0,
						vindtetting_varmeledning:0.14,
						utv_utforing:true,
						utv_utforing_valg:"Inga (obruten isolering)",
						egendef_utv_utforing:false,
						utv_utforing_arealandel:0,
						utv_utforing_varmeledning:0.14,
						utv_utforing_iso_valg:"80 mm Västkustskiva",
						egendef_utv_utforing_iso:false,
						utv_utforing_iso_tykkelse:80,
						utv_utforing_iso_varmeledning:0.035,
						reisverk_valg:"75 mm plankvägg",
						egendef_reisverk:false,
						reisverk_tykkelse:75,
						reisverk_varmeledning:0.14,
						innv_utforing:true,
						innv_utforing_valg:"45 mm träreglar (cc 600 mm)",
						egendef_innv_utforing:true,
						innv_utforing_arealandel:12,
						innv_utforing_varmeledning:0.14,
						innv_utforing_iso_valg:"145 mm FlexiBatts",
						egendef_innv_utforing:false,
						innv_utforing_iso_tykkelse:145,
						innv_utforing_iso_varmeledning:0.037,
						innv_kledning_valg:"13 mm gips",
						egendef_innv_kledning:false,
						innv_kledning_tykkelse:13,
						innv_kledning_varmeledning:0.25,
						ekstralag_plate:false,
						ekstralag_plate_valg:"Trä",
						egendef_ekstralag_plate:false,
						ekstralag_plate_varmeledning:0.14,
						ekstralag_plate_tykkelse:15,
						ekstralag_std:false,
						ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
						egendef_ekstralag_std:false,
						ekstralag_std_arealandel:12,
						ekstralag_std_varmeledning:0.14,
						ekstralag_std_iso_valg:"45 mm FlexiBatts",
						egendef_ekstralag_std_iso:false,
						ekstralag_std_iso_tykkelse:45,
						ekstralag_std_iso_varmeledning:0.037}
						,
						{navn:"Yttervägg med Flex Systemskiva",
					    areal:50,
					    utv_kledning_valg:"Träpanel",
						egendef_utv_kledning:false,
						utv_kledning_tykkelse:22,
						utv_kledning_varmeledning:0.14,
						luftlag:true,
						luftlag_valg:"Väl ventilerad",
						luftlag_tykkelse:28,
						vindtetting_valg:"Inget",
						egendef_vindtetting:false,
						vindtetting_tykkelse:0,
						vindtetting_varmeledning:0.05,
						utv_utforing_iso_valg:"150 mm Flex Systemskiva",
						egendef_utv_utforing_iso:false,
						utv_utforing_iso_tykkelse:150,
						utv_utforing_iso_varmeledning:0.035,
						feste_tetthet:3,
						feste_diameter:8,
						feste_varmeledning:50,
						type_baering:1, // ikke-homogent bærende sjikt
						reisverk_valg:"100 mm betong",
						egendef_reisverk:false,
						reisverk_tykkelse:100,
						reisverk_varmeledning:1.7,
						bindingsverk_valg:"45 mm träreglar (cc 600 mm)",
						egendef_bindingsverk:false,
						bindingsverk_arealandel:12,
						bindingsverk_varmeledning:0.14,
						bindingsverk_iso_valg:"120 mm FlexiBatts",
						egendef_bindingsverk_iso:false,
						bindingsverk_iso_tykkelse:120,
						bindingsverk_iso_varmeledning:0.037,
						innv_utforing:true,
						innv_utforing_valg:"45 mm träreglar (cc 600 mm)",
						egendef_innv_utforing:false,
						innv_utforing_arealandel:12,
						innv_utforing_varmeledning:0.14,
						innv_utforing_iso_valg:"45 mm FlexiBatts",
						egendef_innv_utforing_iso:false,
						innv_utforing_iso_tykkelse:45,
						innv_utforing_iso_varmeledning:0.037,
						innv_kledning_valg:"13 mm gips",
						egendef_innv_kledning:false,
						innv_kledning_tykkelse:13,
						innv_kledning_varmeledning:0.25,
						ekstralag_plate:false,
						ekstralag_plate_valg:"Trä",
						egendef_ekstralag_plate:false,
						ekstralag_plate_varmeledning:0.14,
						ekstralag_plate_tykkelse:15,
						ekstralag_std:false,
						ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
						egendef_ekstralag_std:false,
						ekstralag_std_arealandel:12,
						ekstralag_std_varmeledning:0.14,
						ekstralag_std_iso_valg:"45 mm FlexiBatts",
						egendef_ekstralag_std_iso:false,
						ekstralag_std_iso_tykkelse:45,
						ekstralag_std_iso_varmeledning:0.037}
						,
						{navn:"Skalmursvägg av tegel",
					    areal:50,
					    utv_kledning_valg:"Fasadtegel",
						egendef_utv_kledning:false,
						utv_kledning_tykkelse:120,
						utv_kledning_varmeledning:0.60,
						luftlag:true,
						luftlag_valg:"Svagt ventilerad",
						luftlag_tykkelse:50,
						vindtetting_valg:"Inget",
						egendef_vindtetting:false,
						vindtetting_tykkelse:0,
						vindtetting_varmeledning:0.25,
						utv_utforing:true,
						utv_utforing_valg:"Ingen (obruten isolering)",
						egendef_utv_utforing:false,
						utv_utforing_arealandel:0,
						utv_utforing_varmeledning:0.14,
						utv_utforing_iso_valg:"200 mm Flex Systemskiva",
						egendef_utv_utforing_iso:false,
						utv_utforing_iso_tykkelse:200,
						utv_utforing_iso_varmeledning:0.035,
						reisverk_valg:"1/2 sten tegel",
						egendef_reisverk:false,
						reisverk_tykkelse:120,
						reisverk_varmeledning:0.6,
						innv_utforing:false,
						innv_utforing_valg:"45 mm träreglar (cc 600 mm)",
						egendef_innv_utforing:false,
						innv_utforing_arealandel:12,
						innv_utforing_varmeledning:0.14,
						innv_utforing_iso_valg:"45 mm FlexiBatts",
						egendef_innv_utforing_iso:false,
						innv_utforing_iso_tykkelse:45,
						innv_utforing_iso_varmeledning:0.037,
						innv_kledning_valg:"Puts",
						egendef_innv_kledning:false,
						innv_kledning_tykkelse:8,
						innv_kledning_varmeledning:1.5,
						ekstralag_plate:false,
						ekstralag_plate_valg:"Trä",
						egendef_ekstralag_plate:false,
						ekstralag_plate_varmeledning:0.14,
						ekstralag_plate_tykkelse:15,
						ekstralag_std:false,
						ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
						egendef_ekstralag_std:false,
						ekstralag_std_arealandel:12,
						ekstralag_std_varmeledning:0.14,
						ekstralag_std_iso_valg:"45 mm FlexiBatts",
						egendef_ekstralag_std_iso:false,
						ekstralag_std_iso_tykkelse:45,
						ekstralag_std_iso_varmeledning:0.037}
						,						
						{navn:"Yttervägg av betong",
					    areal:50,
					    utv_kledning_valg:"Fasadputs",
						egendef_utv_kledning:false,
						utv_kledning_tykkelse:20,
						utv_kledning_varmeledning:1,
						luftlag:false,
						luftlag_valg:"Väl ventilerad",
						luftlag_tykkelse:28,
						vindtetting_valg:"Inget",
						egendef_vindtetting:false,
						vindtetting_tykkelse:0,
						vindtetting_varmeledning:0.1,
						utv_utforing:true,
						utv_utforing_valg:"Inga (obruten isolering)",
						egendef_utv_utforing:false,
						utv_utforing_arealandel:0,
						utv_utforing_varmeledning:0.14,
						utv_utforing_iso_valg:"180 mm Fasadskiva",
						egendef_utv_utforing_iso:false,
						utv_utforing_iso_tykkelse:180,
						utv_utforing_iso_varmeledning:0.035,
						reisverk_valg:"150 mm betong",
						egendef_reisverk:false,
						reisverk_tykkelse:150,
						reisverk_varmeledning:1.7,
						innv_utforing:true,
						innv_utforing_valg:"45 mm träreglar (cc 600 mm)",
						egendef_innv_utforing:false,
						innv_utforing_arealandel:12,
						innv_utforing_varmeledning:0.14,
						innv_utforing_iso_valg:"45 mm FlexiBatts",
						egendef_innv_utforing:false,
						innv_utforing_iso_tykkelse:45,
						innv_utforing_iso_varmeledning:0.037,
						innv_kledning_valg:"13 mm gips",
						egendef_innv_kledning:false,
						innv_kledning_tykkelse:13,
						innv_kledning_varmeledning:0.25,
						ekstralag_plate:false,
						ekstralag_plate_valg:"Trä",
						egendef_ekstralag_plate:false,
						ekstralag_plate_varmeledning:0.14,
						ekstralag_plate_tykkelse:15,
						ekstralag_std:false,
						ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
						egendef_ekstralag_std:false,
						ekstralag_std_arealandel:12,
						ekstralag_std_varmeledning:0.14,
						ekstralag_std_iso_valg:"45 mm FlexiBatts",
						egendef_ekstralag_std_iso:false,
						ekstralag_std_iso_tykkelse:45,
						ekstralag_std_iso_varmeledning:0.037}
						,						
						{navn:"Yttervägg av lättklinker",
					    areal:50,
					    utv_kledning_valg:"Fasadputs",
						egendef_utv_kledning:false,
						utv_kledning_tykkelse:20,
						utv_kledning_varmeledning:1,
						luftlag:false,
						luftlag_valg:"Väl ventilerad",
						luftlag_tykkelse:28,
						vindtetting_valg:"Inget",
						egendef_vindtetting:false,
						vindtetting_tykkelse:0,
						vindtetting_varmeledning:0.1,
						utv_utforing:true,
						utv_utforing_valg:"Inga (obruten isolering)",
						egendef_utv_utforing:false,
						utv_utforing_arealandel:0,
						utv_utforing_varmeledning:0.14,
						utv_utforing_iso_valg:"180 mm Fasadskiva",
						egendef_utv_utforing_iso:false,
						utv_utforing_iso_tykkelse:180,
						utv_utforing_iso_varmeledning:0.035,
						reisverk_valg:"250 mm lättklinkerblock",
						egendef_reisverk:false,
						reisverk_tykkelse:250,
						reisverk_varmeledning:0.21,
						innv_utforing:false,
						innv_utforing_valg:"45 mm träreglar (cc 600 mm)",
						egendef_innv_utforing:false,
						innv_utforing_arealandel:12,
						innv_utforing_varmeledning:0.14,
						innv_utforing_iso_valg:"45 mm FlexiBatts",
						egendef_innv_utforing_iso:false,
						innv_utforing_iso_tykkelse:45,
						innv_utforing_iso_varmeledning:0.037,
						innv_kledning_valg:"Puts",
						egendef_innv_kledning:false,
						innv_kledning_tykkelse:8,
						innv_kledning_varmeledning:1.5,
						ekstralag_plate:false,
						ekstralag_plate_valg:"Trä",
						egendef_ekstralag_plate:false,
						ekstralag_plate_varmeledning:0.14,
						ekstralag_plate_tykkelse:15,
						ekstralag_std:false,
						ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
						egendef_ekstralag_std:false,
						ekstralag_std_arealandel:12,
						ekstralag_std_varmeledning:0.14,
						ekstralag_std_iso_valg:"45 mm FlexiBatts",
						egendef_ekstralag_std_iso:false,
						ekstralag_std_iso_tykkelse:45,
						ekstralag_std_iso_varmeledning:0.037}
						,
						{navn:"Källarvägg av lättklinker",
					    areal:50,
						oppfyllingshoyde:1.5,
						hoyde:2.5,
						grunn_valg:"Morän, icke dränerad sand och grus",
						egendef_grunn:false,
						grunn_varmeledning:2,
						grunn_varmekap:556,
						utv_iso:true,
						utv_iso_valg:"100 mm Dräneringsskiva",
						egendef_utv_iso:false,
						utv_iso_tykkelse:100,
						utv_iso_varmeledning:0.04,
					    utv_kledning_valg:"Puts",
						egendef_utv_kledning:false,
						utv_kledning_tykkelse:8,
						utv_kledning_varmeledning:1.5,
						utv_utforing:true,
						utv_utforing_valg:"Inga (obruten isolering)",
						egendef_utv_utforing:false,
						utv_utforing_arealandel:0,
						utv_utforing_varmeledning:0.14,
						utv_utforing_iso_valg:"100 mm Fasadskiva",
						egendef_utv_utforing:false,
						utv_utforing_iso_tykkelse:100,
						utv_utforing_iso_varmeledning:0.035,
						baering_valg:"150 mm lättklinkerblock",
						egendef_baering:false,
						baering_tykkelse:150,
						baering_varmeledning:0.21,
						innv_utforing:true,
						innv_utforing_valg:"45 mm träreglar (cc 600 mm)",
						egendef_innv_utforing:false,
						innv_utforing_arealandel:12,
						innv_utforing_varmeledning:0.14,
						innv_utforing_iso_valg:"95 mm FlexiBatts",
						egendef_innv_utforing_iso:false,
						innv_utforing_iso_tykkelse:95,
						innv_utforing_iso_varmeledning:0.037,
						innv_kledning_valg:"13 mm gips",
						egendef_innv_kledning:false,
						innv_kledning_tykkelse:13,
						innv_kledning_varmeledning:0.25,
						ekstralag_plate:false,
						ekstralag_plate_valg:"Trä",
						egendef_ekstralag_plate:false,
						ekstralag_plate_varmeledning:0.14,
						ekstralag_plate_tykkelse:15,
						ekstralag_std:false,
						ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
						egendef_ekstralag_std:false,
						ekstralag_std_arealandel:12,
						ekstralag_std_varmeledning:0.14,
						ekstralag_std_iso_valg:"45 mm FlexiBatts",
						egendef_ekstralag_std_iso:false,
						ekstralag_std_iso_tykkelse:45,
						ekstralag_std_iso_varmeledning:0.037}
						,
						{navn:"Källarvägg av betong",
					    areal:50,
						oppfyllingshoyde:1.5,
						hoyde:2.5,
						grunn_valg:"Morän, icke dränerad sand och grus",
						egendef_grunn:false,
						grunn_varmeledning:2,
						grunn_varmekap:556,
						utv_iso:true,
						utv_iso_valg:"100 mm Dräneringsskiva",
						egendef_utv_iso:false,
						utv_iso_tykkelse:100,
						utv_iso_varmeledning:0.04,
					    utv_kledning_valg:"Puts",
						egendef_utv_kledning:false,
						utv_kledning_tykkelse:8,
						utv_kledning_varmeledning:1.5,
						utv_utforing:true,
						utv_utforing_valg:"Inga (obruten isolering)",
						egendef_utv_utforing:false,
						utv_utforing_arealandel:0,
						utv_utforing_varmeledning:0.14,
						utv_utforing_iso_valg:"100 mm Fasadskiva",
						egendef_utv_utforing_iso:false,
						utv_utforing_iso_tykkelse:100,
						utv_utforing_iso_varmeledning:0.035,
						baering_valg:"150 mm betong",
						egendef_baering:false,
						baering_tykkelse:150,
						baering_varmeledning:1.7,
						innv_utforing:true,
						innv_utforing_valg:"45 mm träreglar (cc 600 mm)",
						egendef_innv_utforing:false,
						innv_utforing_arealandel:12,
						innv_utforing_varmeledning:0.14,
						innv_utforing_iso_valg:"120 mm FlexiBatts",
						egendef_innv_utforing_iso:false,
						innv_utforing_iso_tykkelse:120,
						innv_utforing_iso_varmeledning:0.037,
						innv_kledning_valg:"13 mm gips",
						egendef_innv_kledning:false,
						innv_kledning_tykkelse:13,
						innv_kledning_varmeledning:0.25,
						ekstralag_plate:false,
						ekstralag_plate_valg:"Trä",
						egendef_ekstralag_plate:false,
						ekstralag_plate_varmeledning:0.14,
						ekstralag_plate_tykkelse:15,
						ekstralag_std:false,
						ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
						egendef_ekstralalg_std:false,
						ekstralag_std_arealandel:12,
						ekstralag_std_varmeledning:0.14,
						ekstralag_std_iso_valg:"45 mm FlexiBatts",
						egendef_ekstralag_std_iso:false,
						ekstralag_std_iso_tykkelse:45,
						ekstralag_std_iso_varmeledning:0.037}
						];

var arrayVeggNavn = ["trevegg",
				 "trevegg",
				 "trevegg",
				 "reisverksvegg",
				 "flexvegg",
				 "murvegg",
				 "murvegg",
				 "murvegg",
				 "kjellervegg",
				 "kjellervegg"];

var arrayVeggIll = ["yttervagg_med_trareglar.jpg",
					"yttervagg_med_lattreglar.jpg",
					"yttervagg_med_trareglar_vastkustskiva.jpg",
					"K08_yttervegg_reisverkplank.jpg",
					"yttervagg_med_flex_systemskiva2.jpg",
					"skalmursvagg_av_tegel.jpg",
					"yttervegg_av_betong.jpg",
					"K17_letklinkervegg_facade.jpg",
					"kallervagg_av_lattklinker.jpg",
					"kallervagg_av_betong.jpg"];

var arrayTakKonstr = [
					  		{navn:"Vindsbjälklag isolerat med skivor",
								areal:50,
								varmemotstand_loft: 0.2,
								undertak_valg:"13 mm gips",
								egendef_himing:false,
								undertak_tykkelse:13,
								undertak_varmeledning:0.25,
								nedforing:false,
								nedforing_valg:"45 mm träreglar (cc 600 mm)",
								egendef_nedforing:false,
								nedforing_arealandel:12,
								nedforing_varmeledning:0.14,
								nedforing_iso_valg:"45 mm FlexiBatts",
								egendef_nedforing_iso:false,
								nedforing_iso_tykkelse:45,
								nedforing_iso_varmeledning:0.037,
								bjelkelag_valg:"45 mm träreglar (cc 1200 mm)",
								egendef_bjelkelag:false,
								bjelkelag_arealandel:5,
								bjelkelag_varmeledning:0.14,
								bjelkelag_h_valg:"195 mm",
								egendef_bjelkelag_h:false,
								bjelkelag_hoyde:195,
								iso_valg:"195 mm FlexiBatts",
								egendef_iso:false,
								iso_tykkelse:195,
								iso_varmeledning:0.037,
								iso_loft:true,
								iso_loft_valg:"195 mm FlexiBatts",
								egendef_iso_loft:false,
								iso_loft_tykkelse:195,
								iso_loft_varmeledning:0.037,
								dekke:false,
								dekke_valg:"140 mm massivträ",
								egendef_dekke:false,
								dekke_varmeledning:0.14,
								dekke_tykkelse:140,
								ekstralag_std:false,
								ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
								egendef_ekstralag_std:false,
								ekstralag_std_arealandel:12,
								ekstralag_std_varmeledning:0.14,
								ekstralag_std_iso_valg:"45 mm FlexiBatts",
								egendef_ekstralag_std_iso:false,
								ekstralag_std_iso_tykkelse:45,
								ekstralag_std_iso_varmeledning:0.037,
								ekstralag_plate:false,
								ekstralag_plate_valg:"Spånskiva",
								ekstralag_plate_varmeledning:0.14,
								ekstralag_plate_tykkelse:15,
								egendef_ekstralag_plate:false},
					  {navn:"Vindsbjälklag isolerat med lösull",
								areal:50,
								varmemotstand_loft: 0.2,
								undertak_valg:"13 mm gips",
								egendef_himing:false,
								undertak_tykkelse:13,
								undertak_varmeledning:0.25,
								nedforing:false,
								nedforing_valg:"45 mm träreglar (cc 600 mm)",
								egendef_nedforing:false,
								nedforing_arealandel:12,
								nedforing_varmeledning:0.14,
								nedforing_iso_valg:"45 mm FlexiBatts",
								egendef_nedforing_iso:false,
								nedforing_iso_tykkelse:45,
								nedforing_iso_varmeledning:0.037,
								bjelkelag_valg:"45 mm träreglar (cc 1200 mm)",
								egendef_bjelkelag:false,
								bjelkelag_arealandel:5,
								bjelkelag_varmeledning:0.14,
								bjelkelag_h_valg:"145 mm",
								egendef_bjelkelag_h:false,
								bjelkelag_hoyde:145,
								iso_valg:"500 mm Granulate PRO öppet",
								egendef_iso:false,
								iso_tykkelse:500,
								iso_varmeledning:0.042,
								iso_loft:false,
								iso_loft_valg:"145 mm Bjälklagsskiva med vindskydd",
								egendef_iso_loft:false,
								iso_loft_tykkelse:145,
								iso_loft_varmeledning:0.037,
								dekke:false,
								dekke_valg:"140 mm massivträ",
								egendef_dekke:false,
								dekke_varmeledning:0.14,
								dekke_tykkelse:140,
								ekstralag_std:false,
								ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
								egendef_ekstralag_std:false,
								ekstralag_std_arealandel:12,
								ekstralag_std_varmeledning:0.14,
								ekstralag_std_iso_valg:"45 mm FlexiBatts",
								egendef_ekstralag_std_iso:false,
								ekstralag_std_iso_tykkelse:45,
								ekstralag_std_iso_varmeledning:0.037,
								ekstralag_plate:false,
								ekstralag_plate_valg:"Spånskiva",
								ekstralag_plate_varmeledning:0.14,
								ekstralag_plate_tykkelse:15,
								egendef_ekstralag_plate:false},
					  {navn:"Snedtak med träreglar isolerat med skivor",
								areal:50,
								taktekking_valg:"Takpannor",
								yttertak_valg:"Råspont",
								egendef_yttertak:false,
								yttertak_tykkelse:21,
								yttertak_varmeledning:0.14,
								oppforing:false,
								oppforing_valg:"45 mm träreglar (cc 600 mm)",
								egendef_oppforing:false,
								oppforing_arealandel:12,
								oppforing_varmeledning:0.14,
								oppforing_iso_valg:"45 mm FlexiBatts",
								egendef_oppforing_iso:false,
								oppforing_iso_tykkelse:45,
								oppforing_iso_varmeledning:0.037,
								undertak_valg:"13 mm gips",
								egendef_himing:false,
								undertak_tykkelse:13,
								undertak_varmeledning:0.25,
								nedforing:true,
								nedforing_valg:"45 mm träreglar (cc 600 mm)",
								egendef_nedforing:false,
								nedforing_arealandel:12,
								nedforing_varmeledning:0.14,
								nedforing_iso_valg:"45 mm FlexiBatts",
								egendef_nedforing_iso:false,
								nedforing_iso_tykkelse:45,
								nedforing_iso_varmeledning:0.037,
								sperrer_valg:"45 mm träreglar (cc 1200 mm)",
								egendef_sperrer:false,
								sperrer_arealandel:5,
								sperrer_varmeledning:0.14,
								iso_valg:"195 mm Takstolsskiva med vindskydd",
								egendef_iso:false,
								iso_tykkelse:195,
								iso_varmeledning:0.037,
								iso2:true,
								iso2_valg:"195 mm FlexiBatts",
								egendef_iso2:false,
								iso2_tykkelse:195,
								iso2_varmeledning:0.037,
								ekstralag_std:false,
								ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
								egendef_ekstralag_std:false,
								ekstralag_std_arealandel:12,
								ekstralag_std_varmeledning:0.14,
								ekstralag_std_iso_valg:"45 mm FlexiBatts",
								egendef_ekstralag_std_iso:false,
								ekstralag_std_iso_tykkelse:45,
								ekstralag_std_iso_varmeledning:0.037,
								ekstralag_plate:false,
								ekstralag_plate_valg:"Spånskiva",
								ekstralag_plate_varmeledning:0.14,
								ekstralag_plate_tykkelse:15,
								egendef_ekstralag_plate:false},
					  {navn:"Snedtak med träreglar isolerat med lösull",
								areal:50,
								taktekking_valg:"Takpannor",
								yttertak_valg:"Råspont",
								egendef_yttertak:false,
								yttertak_tykkelse:21,
								yttertak_varmeledning:0.14,
								oppforing:false,
								oppforing_valg:"45 mm träreglar (cc 600 mm)",
								egendef_oppforing:false,
								oppforing_arealandel:12,
								oppforing_varmeledning:0.14,
								oppforing_iso_valg:"45 mm FlexiBatts",
								egendef_oppforing_iso:false,
								oppforing_iso_tykkelse:45,
								oppforing_iso_varmeledning:0.037,
								undertak_valg:"13 mm gips",
								egendef_himing:false,
								undertak_tykkelse:13,
								undertak_varmeledning:0.25,
								nedforing:true,
								nedforing_valg:"45 mm träreglar (cc 600 mm)",
								egendef_nedforing:false,
								nedforing_arealandel:12,
								nedforing_varmeledning:0.14,
								nedforing_iso_valg:"70 mm FlexiBatts",
								egendef_nedforing_iso:false,
								nedforing_iso_tykkelse:70,
								nedforing_iso_varmeledning:0.037,
								sperrer_valg:"45 mm träreglar (cc 1200 mm)",
								egendef_sperrer:false,
								sperrer_arealandel:5,
								sperrer_varmeledning:0.14,
								iso_valg:"400 mm Granulate PRO sluten",
								egendef_iso:false,
								iso_tykkelse:400,
								iso_varmeledning:0.037,
								iso2: false,
								iso2_valg:"145 mm FlexiBatts",
								egendef_iso2:false,
								iso2_tykkelse:145,
								iso2_varmeledning:0.037,
								ekstralag_std:false,
								ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
								egendef_ekstralag_std:false,
								ekstralag_std_arealandel:12,
								ekstralag_std_varmeledning:0.14,
								ekstralag_std_iso_valg:"45 mm FlexiBatts",
								egendef_ekstralag_std_iso:false,
								ekstralag_std_iso_tykkelse:45,
								ekstralag_std_iso_varmeledning:0.037,
								ekstralag_plate:false,
								ekstralag_plate_valg:"Spånskiva",
								ekstralag_plate_varmeledning:0.14,
								ekstralag_plate_tykkelse:15,
								egendef_ekstralag_plate:false},
					  {navn:"Snedtak med lättreglar isolerat med skivor",
								areal:50,
								taktekking_valg:"Takpannor",
								yttertak_valg:"Råspont",
								egendef_yttertak:false,
								yttertak_tykkelse:21,
								yttertak_varmeledning:0.14,
								oppforing:false,
								oppforing_valg:"45 mm träreglar (cc 600 mm)",
								egendef_oppforing:false,
								oppforing_arealandel:12,
								oppforing_varmeledning:0.14,
								oppforing_iso_valg:"45 mm FlexiBatts",
								egendef_oppforing_iso:false,
								oppforing_iso_tykkelse:45,
								oppforing_iso_varmeledning:0.037,
								undertak_valg:"13 mm gips",
								egendef_himing:false,
								undertak_tykkelse:13,
								undertak_varmeledning:0.25,
								nedforing:false,
								nedforing_valg:"45 mm träreglar (cc 600 mm)",
								egendef_nedforing:false,
								nedforing_arealandel:12,
								nedforing_varmeledning:0.14,
								nedforing_iso_valg:"45 mm FlexiBatts",
								egendef_nedforing_iso:false,
								nedforing_iso_tykkelse:45,
								nedforing_iso_varmeledning:0.037,
								sperrer_valg:"Lättreglar (cc 1200 mm)",
								egendef_sperrer:false,
								sperrer_arealandel:4,
								sperrer_varmeledning:0.14,
								iso_valg:"220 mm Takstolsskiva med vindskydd",
								egendef_iso:false,
								iso_tykkelse:220,
								iso_varmeledning:0.037,
								iso2:true,
								iso2_valg:"195 mm FlexiBatts",
								egendef_iso2:false,
								iso2_tykkelse:195,
								iso2_varmeledning:0.037,
								ekstralag_std:false,
								ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
								egendef_ekstralag_std:false,
								ekstralag_std_arealandel:12,
								ekstralag_std_varmeledning:0.14,
								ekstralag_std_iso_valg:"45 mm FlexiBatts",
								egendef_ekstralag_std_iso:false,
								ekstralag_std_iso_tykkelse:45,
								ekstralag_std_iso_varmeledning:0.037,
								ekstralag_plate:false,
								ekstralag_plate_valg:"Spånskiva",
								ekstralag_plate_varmeledning:0.14,
								ekstralag_plate_tykkelse:15,
								egendef_ekstralag_plate:false},
					  {navn:"Snedtak med lättreglar isolerat med lösull",
								areal:50,
								taktekking_valg:"Takpannor",
								yttertak_valg:"Råspont",
								egendef_yttertak:false,
								yttertak_tykkelse:21,
								yttertak_varmeledning:0.14,
								oppforing:false,
								oppforing_valg:"45 mm träreglar (cc 600 mm)",
								egendef_oppforing:false,
								oppforing_arealandel:12,
								oppforing_varmeledning:0.14,
								oppforing_iso_valg:"45 mm FlexiBatts",
								egendef_oppforing_iso:false,
								oppforing_iso_tykkelse:45,
								oppforing_iso_varmeledning:0.037,
								undertak_valg:"13 mm gips",
								egendef_himing:false,
								undertak_tykkelse:13,
								undertak_varmeledning:0.25,
								nedforing:true,
								nedforing_valg:"45 mm träreglar (cc 600 mm)",
								egendef_nedforing:false,
								nedforing_arealandel:12,
								nedforing_varmeledning:0.14,
								nedforing_iso_valg:"70 mm FlexiBatts",
								egendef_nedforing_iso:false,
								nedforing_iso_tykkelse:70,
								nedforing_iso_varmeledning:0.037,
								sperrer_valg:"Lättreglar (cc 1200 mm)",
								egendef_sperrer:false,
								sperrer_arealandel:5,
								sperrer_varmeledning:0.14,
								iso_valg:"400 mm Granulate PRO sluten",
								egendef_iso:false,
								iso_tykkelse:400,
								iso_varmeledning:0.037,
								iso2:false,
								iso2_valg:"145 mm FlexiBatts",
								egendef_iso2:false,
								iso2_tykkelse:145,
								iso2_varmeledning:0.037,
								ekstralag_std:false,
								ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
								egendef_ekstralag_std:false,
								ekstralag_std_arealandel:12,
								ekstralag_std_varmeledning:0.14,
								ekstralag_std_iso_valg:"45 mm FlexiBatts",
								egendef_ekstralag_std_iso:false,
								ekstralag_std_iso_tykkelse:45,
								ekstralag_std_iso_varmeledning:0.037,
								ekstralag_plate:false,
								ekstralag_plate_valg:"Spånskiva",
								ekstralag_plate_varmeledning:0.14,
								ekstralag_plate_tykkelse:15,
								egendef_ekstralag_plate:false},
					  {navn:"Uppstolpat tak",
								areal:50,
								varmemotstand_loft: 0.2,
								undertak_valg:"Ingen",
								egendef_himing:false,
								undertak_tykkelse:0,
								undertak_varmeledning:0.14,
								nedforing:false,
								nedforing_valg:"45 mm träreglar (cc 600 mm)",
								egendef_nedforing:false,
								nedforing_arealandel:12,
								nedforing_varmeledning:0.14,
								nedforing_iso_valg:"45 mm FlexiBatts",
								egendef_nedforing_iso:false,
								nedforing_iso_tykkelse:45,
								nedforing_iso_varmeledning:0.037,
								bjelkelag_valg:"45 mm träreglar (cc 1200 mm)",
								egendef_bjelkelag:false,
								bjelkelag_arealandel:5,
								bjelkelag_varmeledning:0.14,
								bjelkelag_h_valg:"95 mm",
								egendef_bjelkelag_h:false,
								bjelkelag_hoyde:95,
								iso_valg:"400 mm Granulate PRO öppet",
								egendef_iso:false,
								iso_tykkelse:400,
								iso_varmeledning:0.042,
								iso_loft:false,
								iso_loft_valg:"145 mm FlexiBatts",
								egendef_iso_loft:false,
								iso_loft_tykkelse:145,
								iso_loft_varmeledning:0.037,
								dekke:true,
								dekke_valg:"200 mm betong",
								egendef_dekke:false,
								dekke_varmeledning:1.7,
								dekke_tykkelse:200,
								ekstralag_std:false,
								ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
								egendef_ekstralag_std:false,
								ekstralag_std_arealandel:12,
								ekstralag_std_varmeledning:0.14,
								ekstralag_std_iso_valg:"45 mm FlexiBatts",
								egendef_ekstralag_std_iso:false,
								ekstralag_std_iso_tykkelse:45,
								ekstralag_std_iso_varmeledning:0.037,
								ekstralag_plate:false,
								ekstralag_plate_valg:"Spånskiva",
								ekstralag_plate_varmeledning:0.14,
								ekstralag_plate_tykkelse:15,
								egendef_ekstralag_plate:false},
					  {navn:"Industritak på profilerad plåt",
								areal:50,
								tekking_valg:"Tätskiktsmatta/Takduk",
								egendef_tekking:false,
								tekking_tykkelse:5,
								tekking_varmeledning:0.5,
								feste_tetthet:0.3,
								feste_diameter:6,
								feste_varmeledning:50,
								undertak_valg:"13 mm gips",
								egendef_himing:false,
								undertak_tykkelse:13,
								undertak_varmeledning:0.25,
								nedforing:false,
								nedforing_valg:"45 mm träreglar (cc 600 mm)",
								egendef_nedforing:false,
								nedforing_arealandel:12,
								nedforing_varmeledning:0.14,
								nedforing_iso_valg:"45 mm FlexiBatts",
								egendef_nedforing_iso:false,
								nedforing_iso_tykkelse:45,
								nedforing_iso_varmeledning:0.037,
								iso3_valg:"170 mm Hardrock Energy",
								egendef_iso3:false,
								iso3_tykkelse:170,
								iso3_varmeledning:0.036,
								iso2:true,
								iso2_valg:"60 mm Stålunderlag Energy",
								egendef_iso2:false,
								iso2_tykkelse:60,
								iso2_varmeledning:0.036,
								iso1:false,
								iso1_valg:"50 mm Stålunderlag Energy",
								egendef_iso1:false,
								iso1_tykkelse:50,
								iso1_varmeledning:0.036,
								baering_valg:"Bärande TRP-plåt",
								egendef_baering:false,
								baering_tykkelse:150,
								baering_varmeledning:50,
								ekstralag_plate:false,
								ekstralag_plate_valg:"Spånskiva",
								egendef_ekstralag_plate:false,
								ekstralag_plate_tykkelse:15,
								ekstralag_plate_varmeledning:0.14,
								ekstralag_std:false,
								ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
								egendef_ekstralag_std:false,
								ekstralag_std_arealandel:12,
								ekstralag_std_varmeledning:0.14,
								ekstralag_std_iso_valg:"45 mm FlexiBatts",
								egendef_ekstralag_std_iso:false,
								ekstralag_std_iso_tykkelse:45,
								ekstralag_std_iso_varmeledning:0.037},
					  {navn:"Industritak på betongelement",
								areal:50,
								tekking_valg:"Tätskiktsmatta/Takduk",
								egendef_tekking:false,
								tekking_tykkelse:5,
								tekking_varmeledning:0.5,
								feste_tetthet:0.3,
								feste_diameter:6,
								feste_varmeledning:50,
								undertak_valg:"13 mm gips",
								egendef_himing:false,
								undertak_tykkelse:13,
								undertak_varmeledning:0.25,
								nedforing:false,
								nedforing_valg:"45 mm träreglar (cc 600 mm)",
								egendef_nedforing:false,
								nedforing_arealandel:12,
								nedforing_varmeledning:0.14,
								nedforing_iso_valg:"45 mm FlexiBatts",
								egendef_nedforing_iso:false,
								nedforing_iso_tykkelse:45,
								nedforing_iso_varmeledning:0.037,
								iso3_valg:"80 mm Hardrock Energy",
								egendef_iso3:false,
								iso3_tykkelse:80,
								iso3_varmeledning:0.036,
								iso2:true,
								iso2_valg:"150 mm Betongunderlag Energy",
								egendef_iso2:false,
								iso2_tykkelse:150,
								iso2_varmeledning:0.035,
								iso1:false,
								iso1_valg:"50 mm Betongunderlag Energy",
								egendef_iso1:false,
								iso1_tykkelse:50,
								iso1_varmeledning:0.035,
								baering_valg:"150 mm betong",
								egendef_baering:false,
								baering_tykkelse:150,
								baering_varmeledning:50,
								ekstralag_plate:false,
								ekstralag_plate_valg:"Spånskiva",
								egendef_ekstralag_plate:false,
								ekstralag_plate_tykkelse:15,
								ekstralag_plate_varmeledning:0.14,
								ekstralag_std:false,
								ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
								egendef_ekstralag_std:false,
								ekstralag_std_arealandel:12,
								ekstralag_std_varmeledning:0.14,
								ekstralag_std_iso_valg:"45 mm FlexiBatts",
								egendef_ekstralag_std_iso:false,
								ekstralag_std_iso_tykkelse:45,
								ekstralag_std_iso_varmeledning:0.037}];

var arrayTakNavn = ["kaldtloft",
					"kaldtloft",
					"skratak",
					"skratak",
					"skratak",
					"skratak",
					"kaldtloft",
					"flattak",
					"flattak"];

var arrayTakIll = ["vindsbjalklag_isolerat_med_skivor.jpg",
				   "vindsbjalklag_isolerat_med_losull.jpg",
				   "K27_skraa_tak_sperre.jpg",
				   "snedtak_med_trareglar_isol_m_losull.jpg",
				   "K28_skraa_tak_i-profil.jpg",
				   "snedtak_med_lattreglar_isol_m_losull.jpg",
				   "K30_oppforet_tretak.jpg",
				   "K44_utv_tak_staalplate.jpg",
				   "K45_utv_tak_betongdekke.jpg"];

var arrayGulvKonstr = [
							{navn:"Platta på mark",
								areal:96,
								ytterkant:40,
								tykkelse_vegg:0.3,
								grunn_valg:"Morän, icke dränerad sand och grus",
								egendef_grunn:false,
								grunn_varmeledning:2,
								grunn_varmekap:556,
								kantiso:true,
								kantiso_valg:"L-element 300 mm",
								egendef_kantiso:false,
								kantiso_varmeledning:0.038,
								kantiso_tykkelse:100,
								kantiso_dybde: 300,
								markiso:true,
								markiso_valg:"100 mm Markskiva Industri",
								egendef_markiso:false,
								markiso_varmeledning:0.055,
								markiso_tykkelse:100,
								markiso_dybde: 600,
								iso_valg:"100 mm Markskiva Industri",
								egendef_iso:false,
								iso_tykkelse:100,
								iso_varmeledning:0.037,
								iso2:true,
								iso2_valg:"100 mm Markskiva Industri",
								egendef_iso2:false,
								iso2_tykkelse:100,
								iso2_varmeledning:0.037,
								iso3:false,
								iso3_valg:"100 mm Markskiva Industri",
								egendef_iso3:false,
								iso3_tykkelse:100,
								iso3_varmeledning:0.037,
								betong_valg:"100 mm armerad betong",
								egendef_betong:false,
								betong_tykkelse:100,
								betong_varmeledning:1.7,
								oppforing:false,
								oppforing_valg:"45 mm träreglar (cc 600 mm)",
								egendef_oppforing:false,
								oppforing_arealandel:12,
								oppforing_varmeledning:0.14,
								oppforing_iso_valg:"20 mm Stegljudskiva",
								egendef_oppforing_iso:false,
								oppforing_iso_tykkelse:20,
								oppforing_iso_varmeledning:0.037,
								overflate_valg:"Parkett",
								egendef_overflate:false,
								overflate_tykkelse:14,
								overflate_varmeledning:0.14,
								ekstralag_plate:false,
								ekstralag_plate_valg:"Spånskiva",
								egendef_ekstralag_plate:false,
								ekstralag_plate_tykkelse:15,
								ekstralag_plate_varmeledning:0.14,
								ekstralag_std:false,
								ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
								egendef_ekstralag_std:false,
								ekstralag_std_arealandel:12,
								ekstralag_std_varmeledning:0.14,
								ekstralag_std_iso_valg:"45 mm FlexiBatts",
								egendef_ekstralag_std_iso:false,
								ekstralag_std_iso_tykkelse:45,
								ekstralag_std_iso_varmeledning:0.037},
/*							{navn:"Platta på mark, isolering över/under betong",
								areal:96,
								ytterkant:40,
								tykkelse_vegg:0.3,
								grunn_valg:"Morän, icke dränerad sand och grus",
								egendef_grunn:false,
								grunn_varmeledning:2,
								grunn_varmekap:556,
								kantiso:true,
								kantiso_valg:"L-element 300 mm",
								egendef_kantiso:false,
								kantiso_varmeledning:0.038,
								kantiso_tykkelse:100,
								kantiso_dybde: 300,
								markiso:true,
								markiso_valg:"100 mm Markskiva Industri",
								egendef_markiso:false,
								markiso_varmeledning:0.055,
								markiso_tykkelse:100,
								markiso_dybde: 600,
								iso_valg:"80 mm Markskiva Industri",
								egendef_iso:false,
								iso_tykkelse:80,
								iso_varmeledning:0.037,
								iso2:true,
								iso2_valg:"100 mm Markskiva Industri",
								egendef_iso2:false,
								iso2_tykkelse:100,
								iso2_varmeledning:0.037,
								iso3:false,
								iso3_valg:"100 mm Markskiva Industri",
								egendef_iso3:false,
								iso3_tykkelse:100,
								iso3_varmeledning:0.037,
								betong_valg:"100 mm armerad betong",
								egendef_betong:false,
								betong_tykkelse:100,
								betong_varmeledning:1.7,
								oppforing:true,
								oppforing_valg:"45 mm träreglar (cc 600 mm)",
								egendef_oppforing:false,
								oppforing_arealandel:12,
								oppforing_varmeledning:0.14,
								oppforing_iso_valg:"45 mm FlexiBatts",
								egendef_oppforing_iso:false,
								oppforing_iso_tykkelse:45,
								oppforing_iso_varmeledning:0.037,
								overflate_valg:"Parkett",
								egendef_overflate:false,
								overflate_tykkelse:15,
								overflate_varmeledning:0.14,
								ekstralag_plate:false,
								ekstralag_plate_valg:"Spånskiva",
								egendef_ekstralag_plate:false,
								ekstralag_plate_tykkelse:15,
								ekstralag_plate_varmeledning:0.14,
								ekstralag_std:false,
								ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
								egendef_ekstralag_std:false,
								ekstralag_std_arealandel:12,
								ekstralag_std_varmeledning:0.14,
								ekstralag_std_iso_valg:"45 mm FlexiBatts",
								egendef_ekstralag_std_iso:false,
								ekstralag_std_iso_tykkelse:45,
								ekstralag_std_iso_varmeledning:0.037},
*/							{navn:"Källargolv (under marknivå)",
								areal:96,
								ytterkant:40,
								oppfyllingshoyde:1,
								tykkelse_vegger:0.3,
								grunn_valg:"Morän, icke dränerad sand och grus",
								egendef_grunn:false,
								grunn_varmeledning:2,
								grunn_varmekap:556,
								iso_valg:"100 mm Markskiva Industri",
								egendef_iso:false,
								iso_tykkelse:100,
								iso_varmeledning:0.037,
								iso2:true,
								iso2_valg:"100 mm Markskiva Industri",
								egendef_iso2:false,
								iso2_tykkelse:100,
								iso2_varmeledning:0.037,
								iso3:false,
								iso3_valg:"100 mm Markskiva Industri",
								egendef_iso3:false,
								iso3_tykkelse:100,
								iso3_varmeledning:0.037,
								betong_valg:"100 mm armerad betong",
								egendef_betong:false,
								betong_tykkelse:100,
								betong_varmeledning:1.7,
								oppforing:false,
								oppforing_valg:"Inga (obruten isolering)",
								egendef_oppforing:false,
								oppforing_arealandel:0,
								oppforing_varmeledning:0.14,
								oppforing_iso_valg:"20 mm Stegljudsskiva",
								egendef_oppforing_iso:false,
								oppforing_iso_tykkelse:20,
								oppforing_iso_varmeledning:0.037,
								overflate_valg:"Parkett",
								egendef_overflate:false,
								overflate_tykkelse:15,
								overflate_varmeledning:0.14,
								ekstralag_plate:false,
								ekstralag_plate_valg:"Spånskiva",
								egendef_ekstralag_plate:false,
								ekstralag_plate_tykkelse:15,
								ekstralag_plate_varmeledning:0.14,
								ekstralag_std:false,
								ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
								egendef_ekstralag_std:false,
								ekstralag_std_arealandel:12,
								ekstralag_std_varmeledning:0.14,
								ekstralag_std_iso_valg:"45 mm FlexiBatts",
								egendef_ekstralag_std_iso:false,
								ekstralag_std_iso_tykkelse:45,
								ekstralag_std_iso_varmeledning:0.037},
							{navn:"Bjälklag av reglar",
								areal:96,
								varmemotstand_kjeller:1.0,
								undertak_valg:"Inget",
								egendef_himing:false,
								undertak_tykkelse:0,
								undertak_varmeledning:0.14,
								nedforing:true,
								nedforing_valg:"Inga (obruten isolering)",
								egendef_nedforing:false,
								nedforing_arealandel:0,
								nedforing_varmeledning:0.14,
								nedforing_iso_valg:"50 mm Skalmursskiva",
								egendef_nedforing_iso:false,
								nedforing_iso_tykkelse:50,
								nedforing_iso_varmeledning:0.034,
								bjelkelag_valg:"45 mm träreglar (cc 600 mm)",
								egendef_bjelkelag:false,
								bjelkelag_arealandel:9,
								bjelkelag_varmeledning:0.14,
								iso_valg:"170 mm FlexiBatts",
								egendef_iso:false,
								iso_tykkelse:170,
								iso_varmeledning:0.037,
								dekke:false,
								dekke_valg:"140 mm massivträ",
								egendef_dekke:false,
								dekke_tykkelse:140,
								dekke_varmeledning:0.14,
								oppforing:false,
								oppforing_valg:"Ingen (obruten isolering)",
								egendef_oppforing:false,
								oppforing_arealandel:0,
								oppforing_varmeledning:0.14,
								oppforing_iso_valg:"20 mm Stegljudsskiva",
								egendef_oppforing_iso:false,
								oppforing_iso_tykkelse:20,
								oppforing_iso_varmeledning:0.037,
								innvendig_valg:"Trägolv",
								egendef_innvendig:false,
								innvendig_tykkelse:21,
								innvendig_varmeledning:0.14,
								ekstralag_plate:false,
								ekstralag_plate_valg:"Spånskiva",
								egendef_ekstralag_plate:false,
								ekstralag_plate_tykkelse:15,
								ekstralag_plate_varmeledning:0.14,
								ekstralag_std:false,
								ekstralag_std_valg:"Ingen (obruten isolering)",
								egendef_ekstralag_std:false,
								ekstralag_std_arealandel:0,
								ekstralag_std_varmeledning:0.14,
								ekstralag_std_iso_valg:"20 mm Stegljudsskiva",
								egendef_ekstralag_std_iso:false,
								ekstralag_std_iso_tykkelse:20,
								ekstralag_std_iso_varmeledning:0.037},
					        {navn:"Bjälklag av betong",
								areal:96,
								varmemotstand_kjeller:1.0,
								undertak_valg:"Inget",
								egendef_undertak:false,
								undertak_tykkelse:0,
								undertak_varmeledning:0.14,
								nedforing:true,
								nedforing_valg:"Inga (obruten isolering)",
								egendef_nedforing:false,
								nedforing_arealandel:0,
								nedforing_varmeledning:0.12,
								nedforing_iso_valg:"150 mm Skalmursskiva",
								egendef_nedforing_iso:false,
								nedforing_iso_tykkelse:150,
								nedforing_iso_varmeledning:0.034,
								dekke_valg:"200 mm betong",
								egendef_dekke:false,
								dekke_varmeledning:1.7,
								dekke_tykkelse:200,
								oppforing:true,
								oppforing_valg:"Inga (obruten isolering)",
								egendef_oppforing:false,
								oppforing_arealandel:0,
								oppforing_varmeledning:0.14,
								oppforing_iso_valg:"20 mm Stegljudsskiva",
								egendef_oppforing_iso:false,
								oppforing_iso_tykkelse:20,
								oppforing_iso_varmeledning:0.037,
								innvendig_valg:"Avjämningsmassa med kakelskiffer",
								egendef_innvendig:false,
								innvendig_tykkelse:50,
								innvendig_varmeledning:1.5,
								ekstralag_plate:false,
								ekstralag_plate_valg:"Spånskiva",
								egendef_ekstralag_plate:false,
								ekstralag_plate_tykkelse:15,
								ekstralag_plate_varmeledning:0.14,
								ekstralag_std:false,
								ekstralag_std_valg:"45 mm träreglar (cc 600 mm)",
								egendef_ekstralag_std:false,
								ekstralag_std_arealandel:12,
								ekstralag_std_varmeledning:0.14,
								ekstralag_std_iso_valg:"45 mm FlexiBatts",
								egendef_ekstralag_std_iso:false,
								ekstralag_std_iso_tykkelse:45,
								ekstralag_std_iso_varmeledning:0.037}
];

var arrayGulvNavn = ["gulvgrunn",
//					 "gulvgrunn",
				 	 "gulvkjeller",
				 	 "bjelkelag",
				 	 "dekke"];

var arrayGulvIll = ["platta_paa_mark.jpg",
//				    "platte_paa_mark_isol_over_under_betong.jpg",
					"kallergolv_under_marknivaa.jpg",
					"K39_Bjelkelag_av_heltre.jpg",
				    "K41_betongdekker.jpg"];

var arrayKonstrType = [arrayVeggKonstr,
					   arrayTakKonstr,
					   arrayGulvKonstr];

var arrayKonstrNavn = [arrayVeggNavn,
					   arrayTakNavn,
					   arrayGulvNavn];

var arrayIll = [arrayVeggIll,
				arrayTakIll,
				arrayGulvIll];

var arrayKravSVegg = [ 0.15, 0.15, 0.15, 0.15, 0.15, 0.15, 0.15, 0.15, 0.18, 0.18];
var arrayKravSTak = [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.15, 0.15];
var arrayKravSGulv = [0.15, 0.15, 0.15, 0.16, 0.16];
var arrayKravNVegg = [0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.16, 0.16];
var arrayKravNTak = [0.09, 0.09, 0.09, 0.09, 0.09, 0.09, 0.09, 0.12, 0.12];
var arrayKravNGulv = [0.13, 0.13, 0.13, 0.14, 0.14];
var arrayKravIIIVegg = [ 0.15, 0.15, 0.15, 0.15, 0.15, 0.15, 0.15, 0.15, 0.18, 0.18];
var arrayKravIIVegg = [0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.16, 0.16];
var arrayKravIVegg = [0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.15, 0.15];
var arrayKravIIITak = [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.15, 0.15];
var arrayKravIITak = [0.09, 0.09, 0.09, 0.09, 0.09, 0.09, 0.09, 0.12, 0.12];
var arrayKravITak = [0.08, 0.08, 0.08, 0.08, 0.08, 0.08, 0.08, 0.11, 0.11];
var arrayKravIIIGulv = [0.14, 0.14, 0.14, 0.16, 0.16];
var arrayKravIIGulv = [0.12, 0.12, 0.12, 0.14, 0.14];
var arrayKravIGulv = [0.11, 0.11, 0.11, 0.13, 0.13];

var arrayKonstrKategori = ["veggkonstr", 
						   "takkonstr", 
						   "gulvkonstr"];

var arrayKonstrKategoriHTML = ["Väggkonstruktion", 
						   "Takkonstruktion", 
						   "Golvkonstruktion"];
function init_data()
{
	document.getElementById('prepage').style.display="none"; 
	document.getElementById('siteContainer').style.display="block"; 
	sett_brukerdata();
	sett_beregningsliste();
	sett_konstrliste();
	sett_konstr_kat();
	reset_konstr_type(konstr_kategori);
	sett_konstrdata(arrayKonstrType[konstr_kategori][konstr_type]);
	sett_eval_data09();
	oppdater_rapport();
	beregn_uverdi();
}

function sett_konstr_kat()
{
	var i;
	var j;
	var konstr_kat_radio;
	var label;
	var form;
	var ill;
	for (i = 0; i < 3; i++) {
		konstr_kat_radio = document.getElementById(arrayKonstrKategori[i] + "_radio");
		if (konstr_kat_radio.checked) {
			for (j = 0; j < arrayKonstrNavn[i].length; j++) {
				form = document.getElementById(arrayKonstrNavn[i][j] + "_form");
				if (form.style.display == "block")
					form.style.display = "none";
			}
		}
	}
	for (i = 0; i < 3; i++) {
		konstr_kat_radio = document.getElementById(arrayKonstrKategori[i] + "_radio");
		label = document.getElementById(arrayKonstrKategori[i] + "_lbl");
		if (i == konstr_kategori) {
			label.innerHTML = "<strong>" + arrayKonstrKategoriHTML[i] + "</strong>";
			konstr_kat_radio.checked = true;
			form = document.getElementById(arrayKonstrNavn[i][0] + "_form");
			form.style.display = "block";
			ill = document.getElementById("konstr_ill");
			ill.src = "Images/" + arrayIll[i][0];
		} else {
			label.innerHTML = arrayKonstrKategoriHTML[i];
			konstr_kat_radio.checked = false;
		}
	}
	sett_uverdikrav();
}

function sett_uverdikrav()
{
	var krav_uverdiI = document.getElementById("krav_uverdi_I");
	var krav_uverdiII = document.getElementById("krav_uverdi_II");
	var krav_uverdiIII = document.getElementById("krav_uverdi_III");
	switch(konstr_kategori)
	{
	case 0:
		krav_uverdiI.innerHTML = String(arrayKravIVegg[konstr_type]) + " W/m&sup2;K";
		krav_uverdiII.innerHTML = String(arrayKravIIVegg[konstr_type]) + " W/m&sup2;K";
		krav_uverdiIII.innerHTML = String(arrayKravIIIVegg[konstr_type]) + " W/m&sup2;K";
		break;
	case 1:
		krav_uverdiI.innerHTML = String(arrayKravITak[konstr_type]) + " W/m&sup2;K";
		krav_uverdiII.innerHTML = String(arrayKravIITak[konstr_type]) + " W/m&sup2;K";
		krav_uverdiIII.innerHTML = String(arrayKravIIITak[konstr_type]) + " W/m&sup2;K";
		break;
	case 2:
		krav_uverdiI.innerHTML = String(arrayKravIGulv[konstr_type]) + " W/m&sup2;K";
		krav_uverdiII.innerHTML = String(arrayKravIIGulv[konstr_type]) + " W/m&sup2;K";
		krav_uverdiIII.innerHTML = String(arrayKravIIGulv[konstr_type]) + " W/m&sup2;K";
		break;
	}
}

function reset_konstr_type(kategori)
{
	var selectKonstrType = document.getElementById("konstr_type");
	while (selectKonstrType.length > 0) {
		var optgroup = selectKonstrType.firstChild;
		selectKonstrType.removeChild(optgroup);
	}
	if (kategori == 0) { // vegg
		var optgroup1 = document.createElement("OPTGROUP");
		var optgroup2 = document.createElement("OPTGROUP");
		optgroup1.label = "Vägg över mark";
		optgroup2.label = "Vägg under mark";
		for (var i = 0; i < arrayKonstrType[0].length; i++) {
			var opt = document.createElement("OPTION");
			opt.value = arrayKonstrType[0][i].navn;
			opt.innerHTML = arrayKonstrType[0][i].navn
			if (arrayVeggNavn[i] == "kjellervegg") {
				optgroup2.appendChild(opt);
			} else {
				optgroup1.appendChild(opt);
			}
		}
		selectKonstrType.appendChild(optgroup1);
		selectKonstrType.appendChild(optgroup2);
	} else if (kategori == 1) { // tak 
		var optgroup1 = document.createElement("OPTGROUP");
		var optgroup2 = document.createElement("OPTGROUP");
		optgroup1.label = "Normaltak";
		optgroup2.label = "Kompakta låglutande tak";
		for (var i = 0; i < arrayKonstrType[1].length; i++) {
			var opt = document.createElement("OPTION");
			opt.value = arrayKonstrType[1][i].navn;
			opt.innerHTML = arrayKonstrType[1][i].navn
			if (arrayTakNavn[i] == "flattak") {
				optgroup2.appendChild(opt);
			} else {
				optgroup1.appendChild(opt);
			}
		}
		selectKonstrType.appendChild(optgroup1);
		selectKonstrType.appendChild(optgroup2);
	} else { // Gulv
		var optgroup1 = document.createElement("OPTGROUP");
		var optgroup2 = document.createElement("OPTGROUP");
		optgroup1.label = "Golv på mark";
		optgroup2.label = "Golv m. källare/krypgrund";
		for (var i = 0; i < arrayKonstrType[2].length; i++) {
			var opt = document.createElement("OPTION");
			opt.value = arrayKonstrType[2][i].navn;
			opt.innerHTML = arrayKonstrType[2][i].navn
			if (arrayGulvNavn[i] == "gulvgrunn") {
				optgroup1.appendChild(opt);
			} else if (arrayGulvNavn[i] == "gulvkjeller") {
				optgroup1.appendChild(opt);
			} else {
				optgroup2.appendChild(opt);
			}
		}
		selectKonstrType.appendChild(optgroup1);
		selectKonstrType.appendChild(optgroup2);
	}
}
	
function oppdater_detalj_vegg(lag_konstr, lag_inne, lag_ute, start_pos)
{
	var box = document.getElementById('detalj_ill');
	var pos = start_pos;
	
	var img = document.createElement('img');
	img.style.position = "absolute";
	img.style.left = "0px";
	img.style.top = "0px";
	img.style.width = "75px";
	img.style.height = "150px";
	img.src = "Images/" + lag_ute.file;
	box.appendChild(img);

	img = document.createElement('img');
	img.style.position = "absolute";
	img.style.left = "75px";
	img.style.top = "0px";
	img.style.width = "75px";
	img.style.height = "150px";
	img.src = "Images/" + lag_inne.file;
	box.appendChild(img);

	for(var i in lag_konstr) {
		var lag = lag_konstr[i];
		img = document.createElement('img');
		img.style.position = "absolute";
		img.style.left = pos + "px";
		img.style.top = "0px";
		img.style.width = lag.size + "px";
		img.style.height = "150px";
		img.src = "Images/" + lag.file;
		box.appendChild(img);
		
		pos += lag.size;
	}
}

function oppdater_detalj_kjellervegg(lag_konstr, lag_inne, lag_ute, lag_grunn, 
									 lag_utv_kledning, lag_utv_utforing, lag_utv_iso, start_pos)
{
	var box = document.getElementById('detalj_ill');
	var pos = start_pos;
	
	var img = document.createElement('img');
	img.style.position = "absolute";
	img.style.left = "0px";
	img.style.top = "0px";
	img.style.width = lag_ute.size + "px";
	img.style.height = lag_ute.height + "px";
	img.src = "Images/" + lag_ute.file;
	box.appendChild(img);
	
	img = document.createElement('img');
	img.style.position = "absolute";
	img.style.left = "0px";
	img.style.top = lag_ute.height + "px";
	img.style.width = lag_grunn.size + "px";
	img.style.height = lag_grunn.height + "px";
	img.src = "Images/" + lag_grunn.file;
	box.appendChild(img);
	
	img = document.createElement('img');
	img.style.position = "absolute";
	img.style.left = lag_inne.size + "px";
	img.style.top = "0px";
	img.style.width = "75px";
	img.style.height = "150px";
	img.src = "Images/" + lag_inne.file;
	box.appendChild(img);

	var pos_utv_kledning = pos;
	var pos_utv_iso = pos;
	var pos_utv_utforing = pos + lag_utv_kledning.size;
	if (lag_utv_kledning.size + lag_utv_utforing.size > lag_utv_iso.size) {
		pos = pos_utv_utforing + lag_utv_utforing.size;
		pos_utv_iso = pos - lag_utv_iso.size;
	} else {
		pos += lag_utv_iso.size;
		pos_utv_utforing = pos - lag_utv_utforing.size;
		pos_utv_kledning = pos_utv_utforing - lag_utv_kledning.size;
	}
	
	img = document.createElement('img');
	img.style.position = "absolute";
	img.style.left = pos_utv_kledning + "px";
	img.style.top = "0px";
	img.style.width = lag_utv_kledning.size + "px";
	img.style.height = lag_ute.height + "px";
	img.src = "Images/" + lag_utv_kledning.file;
	box.appendChild(img);

	if (lag_utv_utforing.size > 0) {
		img = document.createElement('img');
		img.style.position = "absolute";
		img.style.left = pos_utv_utforing + "px";
		img.style.top = "0px";
		img.style.width = lag_utv_utforing.size + "px";
		img.style.height = lag_ute.height + "px";
		img.src = "Images/" + lag_utv_utforing.file;
		box.appendChild(img);
	}
	if (lag_utv_iso.size > 0) {
		img = document.createElement('img');
		img.style.position = "absolute";
		img.style.left = pos_utv_iso + "px";
		img.style.top = lag_ute.height + "px";
		img.style.width = lag_utv_iso.size + "px";
		img.style.height = lag_grunn.height + "px";
		img.src = "Images/" + lag_utv_iso.file;
		box.appendChild(img);
	}
	for(var i in lag_konstr) {
		var lag = lag_konstr[i];
		img = document.createElement('img');
		img.style.position = "absolute";
		img.style.left = pos + "px";
		img.style.top = "0px";
		img.style.width = lag.size + "px";
		img.style.height = "150px";
		img.src = "Images/" + lag.file;
		box.appendChild(img);
		
		pos += lag.size;
	}
}

function oppdater_detalj_hor(lag_konstr, lag_over, lag_under, start_pos) // for golv og flate tak
{
	var box = document.getElementById('detalj_ill');
	var pos = start_pos;
	
	var img = document.createElement('img');
	img.style.position = "absolute";
	img.style.left = "0px";
	img.style.top = "0px";
	img.style.width = "150px";
	img.style.height = lag_over.height + "px";
	img.src = "Images/" + lag_over.file;
	box.appendChild(img);
	
	img = document.createElement('img');
	img.style.position = "absolute";
	img.style.left = "0px";
	img.style.top = lag_under.height + "px";
	img.style.width = "150px";
	img.style.height = lag_under.height + "px";
	img.src = "Images/" + lag_under.file;
	box.appendChild(img);
	
	for(var i in lag_konstr) {
		var lag = lag_konstr[i];
		img = document.createElement('img');
		img.style.position = "absolute";
		img.style.left = "0px";
		img.style.top = pos + "px";
		img.style.width = "150px";
		img.style.height = lag.height + "px";
		img.src = "Images/" + lag.file;
		box.appendChild(img);
		
		pos += lag.height;
	}
}

function intro()
{
	var intro_tab = document.getElementById("intro_tab"); 
	var innlogging_tab = document.getElementById("innlogging_tab"); 
	var aapne_tab = document.getElementById("aapne_tab"); 
	var konstr_tab = document.getElementById("konstr_tab"); 
	var tek09_tab = document.getElementById("tek09_tab"); 
	var rapport_tab = document.getElementById("rapport_tab"); 
	intro_tab.className = "selected"
	innlogging_tab.className = "plain"
	aapne_tab.className = "plain"
	konstr_tab.className = "plain"
	tek09_tab.className = "plain";
	rapport_tab.className = "plain";

	var intro_seksjon = document.getElementById("intro_seksjon");
	var innlogging_seksjon = document.getElementById("innlogging_seksjon");
	var aapne_seksjon = document.getElementById("aapne_seksjon");
	var konstr_seksjon = document.getElementById("konstr_seksjon");
	var tek09_seksjon = document.getElementById("tek09_seksjon");
	var rapport_seksjon = document.getElementById("rapport_seksjon");
	intro_seksjon.style.display = "block";
	innlogging_seksjon.style.display = "none";
	aapne_seksjon.style.display = "none";
	konstr_seksjon.style.display = "none";
	tek09_seksjon.style.display = "none";
	rapport_seksjon.style.display = "none";
} 

function innlogging()
{
	var intro_tab = document.getElementById("intro_tab"); 
	var innlogging_tab = document.getElementById("innlogging_tab"); 
	var aapne_tab = document.getElementById("aapne_tab"); 
	var konstr_tab = document.getElementById("konstr_tab"); 
	var tek09_tab = document.getElementById("tek09_tab"); 
	var rapport_tab = document.getElementById("rapport_tab"); 
	innlogging_tab.className = "selected"
	intro_tab.className = "plain"
	aapne_tab.className = "plain"
	konstr_tab.className = "plain"
	tek09_tab.className = "plain";
	rapport_tab.className = "plain";

	var intro_seksjon = document.getElementById("intro_seksjon");
	var innlogging_seksjon = document.getElementById("innlogging_seksjon");
	var aapne_seksjon = document.getElementById("aapne_seksjon");
	var konstr_seksjon = document.getElementById("konstr_seksjon");
	var tek09_seksjon = document.getElementById("tek09_seksjon");
	var rapport_seksjon = document.getElementById("rapport_seksjon");
	intro_seksjon.style.display = "none";
	innlogging_seksjon.style.display = "block";
	aapne_seksjon.style.display = "none";
	konstr_seksjon.style.display = "none";
	tek09_seksjon.style.display = "none";
	rapport_seksjon.style.display = "none";
	
} 

function aapne()
{
	var intro_tab = document.getElementById("intro_tab"); 
	var innlogging_tab = document.getElementById("innlogging_tab"); 
	var aapne_tab = document.getElementById("aapne_tab"); 
	var konstr_tab = document.getElementById("konstr_tab"); 
	var tek09_tab = document.getElementById("tek09_tab"); 
	var rapport_tab = document.getElementById("rapport_tab"); 
	innlogging_tab.className = "plain"
	intro_tab.className = "plain"
	aapne_tab.className = "selected"
	konstr_tab.className = "plain"
	tek09_tab.className = "plain";
	rapport_tab.className = "plain";

	var intro_seksjon = document.getElementById("intro_seksjon");
	var innlogging_seksjon = document.getElementById("innlogging_seksjon");
	var aapne_seksjon = document.getElementById("aapne_seksjon");
	var konstr_seksjon = document.getElementById("konstr_seksjon");
	var tek09_seksjon = document.getElementById("tek09_seksjon");
	var rapport_seksjon = document.getElementById("rapport_seksjon");
	intro_seksjon.style.display = "none";
	innlogging_seksjon.style.display = "none";
	aapne_seksjon.style.display = "block";
	konstr_seksjon.style.display = "none";
	tek09_seksjon.style.display = "none";
	rapport_seksjon.style.display = "none";
	
} 

function konstr()
{
	var intro_tab = document.getElementById("intro_tab"); 
	var innlogging_tab = document.getElementById("innlogging_tab"); 
	var aapne_tab = document.getElementById("aapne_tab"); 
	var konstr_tab = document.getElementById("konstr_tab"); 
	var tek09_tab = document.getElementById("tek09_tab"); 
	var rapport_tab = document.getElementById("rapport_tab"); 
	intro_tab.className = "plain"
	innlogging_tab.className = "plain"
	aapne_tab.className = "plain"
	konstr_tab.className = "selected"
	tek09_tab.className = "plain";
	rapport_tab.className = "plain";

	var intro_seksjon = document.getElementById("intro_seksjon");
	var innlogging_seksjon = document.getElementById("innlogging_seksjon");
	var aapne_seksjon = document.getElementById("aapne_seksjon");
	var konstr_seksjon = document.getElementById("konstr_seksjon");
	var tek09_seksjon = document.getElementById("tek09_seksjon");
	var rapport_seksjon = document.getElementById("rapport_seksjon");
	intro_seksjon.style.display = "none";
	innlogging_seksjon.style.display = "none";
	aapne_seksjon.style.display = "none";
	konstr_seksjon.style.display = "block";
	tek09_seksjon.style.display = "none";
	rapport_seksjon.style.display = "none";
	
	beregn_uverdi();
} 

function tek09()
{
	var intro_tab = document.getElementById("intro_tab"); 
	var innlogging_tab = document.getElementById("innlogging_tab"); 
	var aapne_tab = document.getElementById("aapne_tab"); 
	var konstr_tab = document.getElementById("konstr_tab"); 
	var tek09_tab = document.getElementById("tek09_tab"); 
	var rapport_tab = document.getElementById("rapport_tab"); 
	intro_tab.className = "plain"
	innlogging_tab.className = "plain"
	aapne_tab.className = "plain"
	konstr_tab.className = "plain"
	tek09_tab.className = "selected";
	rapport_tab.className = "plain";

	var intro_seksjon = document.getElementById("intro_seksjon");
	var innlogging_seksjon = document.getElementById("innlogging_seksjon");
	var aapne_seksjon = document.getElementById("aapne_seksjon");
	var konstr_seksjon = document.getElementById("konstr_seksjon");
	var tek09_seksjon = document.getElementById("tek09_seksjon");
	var rapport_seksjon = document.getElementById("rapport_seksjon");
	intro_seksjon.style.display = "none";
	innlogging_seksjon.style.display = "none";
	aapne_seksjon.style.display = "none";
	konstr_seksjon.style.display = "none";
	tek09_seksjon.style.display = "block";
	rapport_seksjon.style.display = "none";
	
	sett_eval_data09();
	beregn_tek09();
} 

function rapport()
{
	var intro_tab = document.getElementById("intro_tab"); 
	var aapne_tab = document.getElementById("aapne_tab"); 
	var innlogging_tab = document.getElementById("innlogging_tab"); 
	var konstr_tab = document.getElementById("konstr_tab"); 
	var tek09_tab = document.getElementById("tek09_tab"); 
	var rapport_tab = document.getElementById("rapport_tab"); 
	intro_tab.className = "plain"
	innlogging_tab.className = "plain"
	aapne_tab.className = "plain"
	konstr_tab.className = "plain"
	tek09_tab.className = "plain";
	rapport_tab.className = "selected";

	var intro_seksjon = document.getElementById("intro_seksjon");
	var innlogging_seksjon = document.getElementById("innlogging_seksjon");
	var aapne_seksjon = document.getElementById("aapne_seksjon");
	var konstr_seksjon = document.getElementById("konstr_seksjon");
	var tek09_seksjon = document.getElementById("tek09_seksjon");
	var rapport_seksjon = document.getElementById("rapport_seksjon");
	intro_seksjon.style.display = "none";
	innlogging_seksjon.style.display = "none";
	aapne_seksjon.style.display = "none";
	konstr_seksjon.style.display = "none";
	tek09_seksjon.style.display = "none";
	rapport_seksjon.style.display = "block";

	oppdater_rapport();
} 

function logg_inn()
{
	var logg_inn_tab = document.getElementById("logg_inn_tab"); 
	var registrering_tab = document.getElementById("registrering_tab"); 
	logg_inn_tab.className = "selected"
	registrering_tab.className = "plain"

	var logg_inn_seksjon = document.getElementById("logg_inn_seksjon");
	var registrering_seksjon = document.getElementById("registrering_seksjon");
	logg_inn_seksjon.style.display = "block";
	registrering_seksjon.style.display = "none";
} 

function lag_xml_objekt()
{
	if(window.XMLHttpRequest){
    	return new XMLHttpRequest();
    } else if(window.ActiveXObject){
    	return new ActiveXObject("Microsoft.XMLHTTP");
    } else {
       return null;
    }
}

function logg_inn_btn()
{
	var brukernavn = document.getElementById("brukernavn").value;
	if (brukernavn == "") {
		var melding = document.getElementById("melding_innlogging");
		melding.innerHTML = "<font color='Red'>Du måste lägga in ett användarnamn";
		return;
	}
	var passord = document.getElementById("passord").value;
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_logg_inn(xml.responseXML);
			}
		}
		var melding = document.getElementById("melding_innlogging");
		melding.innerHTML = "Kontrollerar användardata, vänligen vänta";
		xml.open("POST", "asp/logg_inn.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukernavn + "' passord='" + passord + "' />\n";
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function svar_logg_inn(xml_respons)
{
	var ok = xml_respons.getElementsByTagName("bruker")[0].getAttribute("ok");
	if (ok == "true") {
		brukerdata.navn = document.getElementById("brukernavn").value;
		brukerdata.passord = document.getElementById("passord").value;
		brukerdata.innlogget = true;
		sett_brukerdata();
		les_beregninger();
		aapne();
    } else {
		var melding = document.getElementById("melding_innlogging");
		melding.innerHTML = "<font color='Red'>Fel andvändarnamn/lösenord";
	}
}

function send_passord_btn()
{
	var brukernavn = document.getElementById("brukernavn").value;
	if (brukernavn == "") {
		var melding = document.getElementById("melding_innlogging");
		melding.innerHTML = "<font color='Red'>Du måste lägga in ett användarnamn";
		return;
	}
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_send_passord(xml.responseXML);
			}
		}
		xml.open("POST", "asp/send_passord.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukernavn + "' />\n";
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function svar_send_passord(xml_respons)
{
	var ok = xml_respons.getElementsByTagName("bruker")[0].getAttribute("ok");
	if (ok == "true") {
		var melding = document.getElementById("melding_innlogging");
		melding.innerHTML = "Lösenordet sänds till registrerad E-postadress.";
    } else {
		var melding = document.getElementById("melding_innlogging");
		melding.innerHTML = "<font color='Red'>Kan inte hitta denna andvändaren";
	}
}

function logg_ut()
{
	brukerdata.navn = "";
	brukerdata.passord = "";
	brukerdata.innlogget = false;
	navn_beregning = "";
	arrayBeregninger.splice(0, arrayBeregninger.length);
	konstr_kategori = 0;
	konstr_type = 0;
	overflateareal = 200;
	klimasone = 0;
	klimasone09 = 0;
	oppvarming = 0;
	boligareal = 100;
	lokalerareal = 100;
	bygningstype = 0;
	arrayKonstr.splice(0, arrayKonstr.length);
	arrayVindu.splice(0, arrayVindu.length);
	arrayDor.splice(0, arrayDor.length);
	arrayKuldebro.splice(0, arrayKuldebro.length);
	init_data();
	intro();
}

function sett_brukerdata()
{
	var brukernavn = document.getElementById("brukernavn");
	brukernavn.value = brukerdata.navn;
	brukernavn.disabled = brukerdata.innlogget;
	var passord = document.getElementById("passord");
	passord.value = "";
	passord.disabled = brukerdata.innlogget;
	document.getElementById("logg_inn_btn").disabled = brukerdata.innlogget;
	document.getElementById("send_passord_btn").disabled = brukerdata.innlogget;
	var melding_innlogging = document.getElementById("melding_innlogging");
	if (brukerdata.innlogget)
		melding_innlogging.innerHTML = "Du är redan inloggad.";

	var aapne_radio = document.getElementById("aapne_radio");
	aapne_radio.disabled = !brukerdata.innlogget;
	var ny_radio = document.getElementById("ny_radio");
	ny_radio.disabled = !brukerdata.innlogget;
	var aapne_melding = document.getElementById("aapne_melding");
	var lagre_melding = document.getElementById("lagre_melding");
	if (brukerdata.innlogget) {
		aapne_melding.innerHTML = "";
		lagre_melding.innerHTML = "";
	} else {
		aapne_melding.innerHTML = 
			"Du måste vara <a href='javascript:innlogging()'>inloggad</a> för att kunna öppna en beräkning.";
		lagre_melding.innerHTML = 
			"Du måste vara <a href='javascript:innlogging()'>inloggad</a> för att kunna starta en ny beräkning.";
	}
	var aapne_liste = document.getElementById("aapne_liste");
	var aapne_btn = document.getElementById("aapne_btn");
	var navn_beregning = document.getElementById("navn_beregning");
	var lagre_btn = document.getElementById("lagre_btn");
	if (brukerdata.innlogget) {
		aapne_liste.disabled = ny_radio.checked;
		aapne_btn.disabled = ny_radio.checked;
		navn_beregning.disabled = aapne_radio.checked;
		lagre_btn.disabled = aapne_radio.checked;
	} else {
		aapne_liste.disabled = true;
		aapne_btn.disabled = true;
		navn_beregning.disabled = true;
		lagre_btn.disabled = true;
	}
	document.getElementById("reg_brukernavn").disabled = brukerdata.innlogget;
	document.getElementById("reg_passord").disabled = brukerdata.innlogget;
	document.getElementById("reg_passord2").disabled = brukerdata.innlogget;
	document.getElementById("reg_epost").disabled = brukerdata.innlogget;
	document.getElementById("reg_epost2").disabled = brukerdata.innlogget;
	document.getElementById("reg_navn").disabled = brukerdata.innlogget;
	document.getElementById("reg_yrke").disabled = brukerdata.innlogget;
	document.getElementById("reg_telefon").disabled = brukerdata.innlogget;
	document.getElementById("ikke_info").disabled = brukerdata.innlogget;
	document.getElementById("registrering").disabled = brukerdata.innlogget;
	oppdater_statuslinje();
}

function oppdater_statuslinje()
{
	var statuslinje = document.getElementById("statuslinje");
	if (brukerdata.innlogget) {
		if (navn_beregning == "") {
			statuslinje.innerHTML = "<font size='-2'>Inloggad som " + brukerdata.navn + 
			                        "; <a href='javascript:logg_ut()'>Logga ur</a></font>";
		} else {
			statuslinje.innerHTML = "<font size='-2'>Inloggad som " + brukerdata.navn + 
									"; beräkning: " + navn_beregning +
			                        "; <a href='javascript:logg_ut()'>Logga ur</a></font>";
		}
	} else {
		statuslinje.innerHTML = "<font  size='-2'><a href='javascript:innlogging()'>Inte inloggad</a></font>";
	}
}

function les_beregninger()
{
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_les_beregninger(xml.responseXML);
			}
		}
		xml.open("POST", "asp/les_beregninger.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukerdata.navn + "'\n";
		xmlstring += "	passord='" + brukerdata.passord + "' />\n";
		xmlstring += "<beregning bruker='" + brukerdata.navn + "' />\n";
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function svar_les_beregninger(xml_respons)
{
	var arrayData = xml_respons.getElementsByTagName("Beregning");
	var i;
	var beregning;
	for (i = 0; i < arrayData.length; i++) {
		beregning = new Object();
		beregning.navn = arrayData[i].getAttribute('navn');
		beregning.overflateareal = Number(arrayData[i].getAttribute('overflateareal'));
		beregning.klimasone = Number(arrayData[i].getAttribute('klimasone'));
		beregning.klimasone09 = Number(arrayData[i].getAttribute('klimasone09'));
		beregning.oppvarming = Number(arrayData[i].getAttribute('oppvarming'));
		beregning.boligareal = Number(arrayData[i].getAttribute('boligareal'));
		beregning.lokalerareal = Number(arrayData[i].getAttribute('lokalerareal'));
		beregning.bygningstype = Number(arrayData[i].getAttribute('bygningstype'));
		arrayBeregninger.push(beregning);
	}
	sett_beregningsliste();
}

function sett_beregningsliste()
{
	var listeboks = document.getElementById("aapne_liste");
	listeboks.options.length = 0;
	var i;
	for (i = 0; i < arrayBeregninger.length; i++) {
		listeboks.options[i] = new Option(arrayBeregninger[i].navn, arrayBeregninger[i], false, false);
	}
}

function str_to_bool(str)
{
	if (str.indexOf("true") >= 0)
		return true;
	else
		return false;
}
function registrering()
{
	var logg_inn_tab = document.getElementById("logg_inn_tab"); 
	var registrering_tab = document.getElementById("registrering_tab"); 
	logg_inn_tab.className = "plain"
	registrering_tab.className = "selected"

	var logg_inn_seksjon = document.getElementById("logg_inn_seksjon");
	var registrering_seksjon = document.getElementById("registrering_seksjon");
	logg_inn_seksjon.style.display = "none";
	registrering_seksjon.style.display = "block";
} 

function reg_btn()
{
	var brukernavn = document.getElementById("reg_brukernavn").value;
	var passord = document.getElementById("reg_passord").value;
	var passord2 = document.getElementById("reg_passord2").value;
	var epost = document.getElementById("reg_epost").value;
	var epost2 = document.getElementById("reg_epost2").value;
	var navn = document.getElementById("reg_navn").value;
	var yrke_droplist = document.getElementById("reg_yrke");
	var index = yrke_droplist.selectedIndex;
	var yrke = yrke_droplist.options[index].text;
	var telefon = document.getElementById("reg_telefon").value;
	var ikke_info = document.getElementById("ikke_info").checked;
	var melding = document.getElementById("melding_reg");
	if (sjekk_brukernavn(brukernavn, melding) == false) {
		return;
	}
	if (sjekk_passord(passord, melding) == false) {
		return;
	}
	if (sjekk_epost(epost, melding) == false) {
		return;
	}
	if (passord != passord2) {
		melding.innerHTML = "<font color='Red'>De två lösenorden är olika";
		return;
	}
	if (epost != epost2) {
		melding.innerHTML = "<font color='Red'>De två E-postadressen är olika";
		return;
	}
	if (yrke == "Välj yrke") {
		melding.innerHTML = "<font color='Red'>Du måste veljä ett yrke";
		return;
	}
	melding.innerHTML = "Kontrollerar registreringsdata; vänligen vänta";

	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_registrering(xml.responseXML);
			}
		}
		xml.open("POST", "asp/registrering.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukernavn + "'\n";
		xmlstring += "passord='" + passord + "'\n";
		xmlstring += "epost='" + epost + "'\n";
		xmlstring += "fullt_navn='" + navn + "'\n";
		xmlstring += "stilling='" + yrke + "'\n";
		xmlstring += "telefon='" + telefon + "'\n";
		xmlstring += "ikke_info='" + ikke_info + "'\n";
		xmlstring += "yrke='" + yrke + "' />\n";
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function svar_registrering(xml_respons)
{
	var ok = xml_respons.getElementsByTagName("Bruker")[0].getAttribute('ok');
	if (ok == "false") {
		var melding = document.getElementById("melding_reg");
		melding.innerHTML = "<font color='Red'>Användarnamnet finns redan, du måste prova ett annat.";
	} else if (ok == "error") {
		var melding = document.getElementById("melding_reg");
		melding.innerHTML = "<font color='Red'>Användarnamnet godkänns inte.";
	} else {
		var melding = document.getElementById("melding_reg");
		melding.innerHTML = "Du är nu registrerad och kan <a href='javascript:logg_inn()'>logga in</a>";
	}
}

function sjekk_brukernavn(brukernavn, melding)
{
	var i;
	var char;
	var chars = 0;
	for (i = 0; i < brukernavn.length; i++) {
		char = brukernavn.charAt(i);
		if (char != " ") {
			chars++;
		}
	}
	if (chars < 3) {
		melding.innerHTML = "<font color='Red'>Användarnamnet måste innehålle minst tre tecken (mellanrom reknas inte)";
		return false;
	}
	return true;
}

function sjekk_passord(passord, melding)
{
	var i;
	var char;
	var chars = 0;
	for (i = 0; i < passord.length; i++) {
		char = passord.charAt(i);
		if (char == " ") {
			melding.innerHTML = "<font color='Red'>Lösenordet får inte innehålla mellanrum";
			return false;
		} else {
			chars++;
		}
	}
	if (chars < 5) {
		melding.innerHTML = "<font color='Red'>Lösenordet måste innehålla minst fem tecken";
		return false;
	}
	return true;
}

function sjekk_epost(epost, melding)
{
	var i;
	var char;
	var leading_chars = 0;
	var middle_chars = 0;
	var trailing_chars = 0;
	var dot = false;
	var at = false;
	for (i = 0; i < epost.length; i++) {
		char = epost.charAt(i);
		if (char == " ") {
			melding.innerHTML = "<font color='Red'>E-postadressen kan inte innehålla mellanrum";
			return false;
		} else if (char == "@") {
			at = true;
		} else if (char == ".") {
			dot = true;
		} else {
			if (at == false)
				leading_chars++;
			if (at == false && dot == false)
				middle_chars++;
			if (at == true && dot == true)
				trailing_chars++;
		}
	}
	if (at == false) {
		melding.innerHTML = "<font color='Red'>E-postadressen måste innehålla tecknet @";
		return false;
	}
	if (dot == false) {
		melding.innerHTML = "<font color='Red'>E-postadressen måste innehålla minst en punkt (dot)";
		return false;
	}
	if (leading_chars == 0 || middle_chars == 0 || trailing_chars == 0) {
		melding.innerHTML = "<font color='Red'>E-postadressen godkänns inte";
		return false;
	}
	return true;
}

function ny_beregning()
{
	var aapne_liste = document.getElementById("aapne_liste");
	aapne_liste.disabled = true;
	var aapne_btn = document.getElementById("aapne_btn");
	aapne_btn.disabled = true;
	var navn_beregning = document.getElementById("navn_beregning");
	navn_beregning.disabled = false;
	var lagre_btn = document.getElementById("lagre_btn");
	lagre_btn.disabled = false;
}

function aapne_beregning()
{
	var aapne_liste = document.getElementById("aapne_liste");
	aapne_liste.disabled = false;
	var aapne_btn = document.getElementById("aapne_btn");
	aapne_btn.disabled = false;
	var navn_beregning = document.getElementById("navn_beregning");
	navn_beregning.disabled = true;
	var lagre_btn = document.getElementById("lagre_btn");
	lagre_btn.disabled = true;
}

function aapne_btn()
{
	var aapne_liste = document.getElementById("aapne_liste");
	var melding = document.getElementById("aapne_melding");
	indeks_beregning = aapne_liste.selectedIndex;
	if (indeks_beregning < 0) {
		melding.innerHTML = "<font color='Red'>Du måste välja en beräkning i listan";
		return;
	}
	melding.innerHTML = "Läser beräkningsdata; vänligen vänta";
	navn_beregning = arrayBeregninger[indeks_beregning].navn;
	oppdater_statuslinje();
	overflateareal = arrayBeregninger[indeks_beregning].overflateareal;
	klimasone = arrayBeregninger[indeks_beregning].klimasone;
	klimasone09 = arrayBeregninger[indeks_beregning].klimasone09;
	oppvarming = arrayBeregninger[indeks_beregning].oppvarming;
	boligareal = arrayBeregninger[indeks_beregning].boligareal;
	lokalerareal = arrayBeregninger[indeks_beregning].lokalerareal;
	bygningstype = arrayBeregninger[indeks_beregning].bygningstype;
	sett_eval_data09();
	oppdater_rapport();
	les_vindu_data();
	les_dor_data();
	les_kuldebro_data();
	les_konstr_data();
}

function les_vindu_data()
{
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_les_vindu_data(xml.responseXML);
			}
		}
		xml.open("POST", "asp/les_vinduer.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukerdata.navn + "'\n";
		xmlstring += "	passord='" + brukerdata.passord + "' />\n";
		xmlstring += "<konstruksjon bruker='" + brukerdata.navn + "'\n";
		xmlstring += "	beregning='" + navn_beregning + "' />\n";
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function svar_les_vindu_data(xml_respons)
{
	var arrayData = xml_respons.getElementsByTagName("Vindu");
	arrayVindu.splice(0, arrayVindu.length);
	var i;
	var objVindu;
	for (i = 0; i < arrayData.length; i++) {
		objVindu = new Object;
		objVindu.navn = arrayData[i].getAttribute('navn');
		objVindu.uverdi = Number(arrayData[i].getAttribute('uverdi'));
		objVindu.areal = Number(arrayData[i].getAttribute('areal'));
		arrayVindu.push(objVindu);
	}
	sett_vinduliste();
}

function les_dor_data()
{
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_les_dor_data(xml.responseXML);
			}
		}
		xml.open("POST", "asp/les_dorer.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukerdata.navn + "'\n";
		xmlstring += "	passord='" + brukerdata.passord + "' />\n";
		xmlstring += "<konstruksjon bruker='" + brukerdata.navn + "'\n";
		xmlstring += "	beregning='" + navn_beregning + "' />\n";
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function svar_les_dor_data(xml_respons)
{
	var arrayData = xml_respons.getElementsByTagName("Dor");
	arrayDor.splice(0, arrayDor.length);
	var i;
	var objDor;
	for (i = 0; i < arrayData.length; i++) {
		objDor = new Object;
		objDor.navn = arrayData[i].getAttribute('navn');
		objDor.uverdi = Number(arrayData[i].getAttribute('uverdi'));
		objDor.areal = Number(arrayData[i].getAttribute('areal'));
		arrayDor.push(objDor);
	}
	sett_dorliste();
}

function les_kuldebro_data()
{
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_les_kuldebro_data(xml.responseXML);
			}
		}
		xml.open("POST", "asp/les_kuldebroer.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukerdata.navn + "'\n";
		xmlstring += "	passord='" + brukerdata.passord + "' />\n";
		xmlstring += "<konstruksjon bruker='" + brukerdata.navn + "'\n";
		xmlstring += "	beregning='" + navn_beregning + "' />\n";
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function svar_les_kuldebro_data(xml_respons)
{
	var arrayData = xml_respons.getElementsByTagName("Kuldebro");
	arrayKuldebro.splice(0, arrayKuldebro.length);
	var i;
	var objKuldebro;
	for (i = 0; i < arrayData.length; i++) {
		objKuldebro = new Object;
		objKuldebro.navn = arrayData[i].getAttribute('navn');
		objKuldebro.verdi = Number(arrayData[i].getAttribute('verdi'));
		objKuldebro.lengde = Number(arrayData[i].getAttribute('lengde'));
		arrayKuldebro.push(objKuldebro);
	}
	sett_kuldebroliste();
}

function les_konstr_data()
{
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_les_konstr_data(xml.responseXML);
			}
		}
		xml.open("POST", "asp/les_konstruksjoner.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukerdata.navn + "'\n";
		xmlstring += "	passord='" + brukerdata.passord + "' />\n";
		xmlstring += "<konstruksjon bruker='" + brukerdata.navn + "'\n";
		xmlstring += "	beregning='" + navn_beregning + "' />\n";
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function svar_les_konstr_data(xml_respons)
{
	var arrayData = xml_respons.getElementsByTagName("Konstruksjon");
	arrayKonstr.splice(0, arrayKonstr.length);
	var i;
	var kategori;
	var type;
	var objKonstr;
	for (i = 0; i < arrayData.length; i++) {
		kategori = arrayData[i].getAttribute('kategori');
		type = arrayData[i].getAttribute('type');
		if (kategori == "vegg")
			objKonstr = les_vegg_konstr(arrayData[i], type);
		else if (kategori == "tak")
			objKonstr = les_tak_konstr(arrayData[i], type);
		else if (kategori == "gulv")
			objKonstr = les_gulv_konstr(arrayData[i], type);

		objKonstr.navn = arrayData[i].getAttribute('navn');
		objKonstr.uverdi = Number(arrayData[i].getAttribute('uverdi'));
		objKonstr.areal = Number(arrayData[i].getAttribute('areal'));
		arrayKonstr.push(objKonstr);
	}
	sett_konstrliste();
	var melding = document.getElementById("aapne_melding");
	melding.innerHTML = "";
	konstr();
}

function les_vegg_konstr(data, type)
{
	var i;
	for (i = 0; i < arrayVeggKonstr.length; i++) {
		if (arrayVeggKonstr[i].navn == type) {
			switch(arrayVeggNavn[i]) {
				case "trevegg":
					return les_trevegg_konstr(data, i);
				case "flexvegg":
					return les_flexvegg_konstr(data, i);
				case "reisverksvegg":
				case "murvegg":
					return les_murvegg_konstr(data, i);
				case "kjellervegg":
					return les_kjellervegg_konstr(data, i);
			}
			break;
		}
	}
}
	
function les_tak_konstr(data, type)
{
	var i;
	for (i = 0; i < arrayTakKonstr.length; i++) {
		if (arrayTakKonstr[i].navn == type) {
			switch(arrayTakNavn[i]) {
				case "kaldtloft":
					return les_kaldtloft_konstr(data, i);
				case "skratak":
					return les_skratak_konstr(data, i);
				case "atakstol":
					return les_atakstol_konstr(data, i);
				case "torvtak":
					return les_torvtak_konstr(data, i);
				case "flattak":
					return les_flattak_konstr(data, i);
			}
			break;
		}
	}
}

function les_gulv_konstr(data, type)
{
	var i;
	for (i = 0; i < arrayGulvKonstr.length; i++) {
		if (arrayGulvKonstr[i].navn == type) {
			switch(arrayGulvNavn[i]) {
				case "gulvgrunn":
					return les_gulvgrunn_konstr(data, i);
				case "gulvkjeller":
					return les_gulvkjeller_konstr(data, i);
				case "bjelkelag":
					return les_bjelkelag_konstr(data, i);
				case "dekke":
					return les_dekke_konstr(data, i);
			}
			break;
		}
	}
}

function les_trevegg_konstr(data, type)
{
	var objKonstr = new Object();
	objKonstr.kategori = 0; // vegg
	objKonstr.type = type;
	objKonstr.utv_utforing = str_to_bool(data.getAttribute('iso1'));
	objKonstr.utv_utforing_iso_valg = data.getAttribute('iso1_navn');
	objKonstr.egendef_utv_utforing_iso = str_to_bool(data.getAttribute('iso1_egendef'));
	objKonstr.utv_utforing_iso_varmeledning = Number(data.getAttribute('iso1_varmeledning'));
	objKonstr.utv_utforing_iso_tykkelse = Number(data.getAttribute('iso1_tykkelse'));

	objKonstr.iso_valg = data.getAttribute('iso2_navn');
	objKonstr.egendef_iso = str_to_bool(data.getAttribute('iso2_egendef'));
	objKonstr.iso_varmeledning = Number(data.getAttribute('iso2_varmeledning'));
	objKonstr.iso_tykkelse = Number(data.getAttribute('iso2_tykkelse'));

	objKonstr.innv_utforing = str_to_bool(data.getAttribute('iso3'));
	objKonstr.innv_utforing_iso_valg = data.getAttribute('iso3_navn');
	objKonstr.egendef_innv_utforing_iso = str_to_bool(data.getAttribute('iso3_egendef'));
	objKonstr.innv_utforing_iso_varmeledning = Number(data.getAttribute('iso3_varmeledning'));
	objKonstr.innv_utforing_iso_tykkelse = Number(data.getAttribute('iso3_tykkelse'));

	objKonstr.ekstralag_std = str_to_bool(data.getAttribute('iso4'));
	objKonstr.ekstralag_std_iso_valg = data.getAttribute('iso4_navn');
	objKonstr.egendef_ekstralag_std_iso = str_to_bool(data.getAttribute('iso4_egendef'));
	objKonstr.ekstralag_std_iso_varmeledning = Number(data.getAttribute('iso4_varmeledning'));
	objKonstr.ekstralag_std_iso_tykkelse = Number(data.getAttribute('iso4_tykkelse'));

	objKonstr.utv_kledning_valg = data.getAttribute('matr1_navn');
	objKonstr.egendef_utv_kledning = str_to_bool(data.getAttribute('matr1_egendef'));
	objKonstr.utv_kledning_varmeledning = Number(data.getAttribute('matr1_varmeledning'));
	objKonstr.utv_kledning_tykkelse = Number(data.getAttribute('matr1_tykkelse'));

	objKonstr.vindtetting_valg = data.getAttribute('matr2_navn');
	objKonstr.egendef_vindtetting = str_to_bool(data.getAttribute('matr2_egendef'));
	objKonstr.vindtetting_varmeledning = Number(data.getAttribute('matr2_varmeledning'));
	objKonstr.vindtetting_tykkelse = Number(data.getAttribute('matr2_tykkelse'));

	objKonstr.innv_kledning_valg = data.getAttribute('matr3_navn');
	objKonstr.egendef_innv_kledning = str_to_bool(data.getAttribute('matr3_egendef'));
	objKonstr.innv_kledning_varmeledning = Number(data.getAttribute('matr3_varmeledning'));
	objKonstr.innv_kledning_tykkelse = Number(data.getAttribute('matr3_tykkelse'));

	objKonstr.ekstralag_plate = str_to_bool(data.getAttribute('matr4'));
	objKonstr.ekstralag_plate_valg = data.getAttribute('matr4_navn');
	objKonstr.egendef_ekstralag_plate = str_to_bool(data.getAttribute('matr4_egendef'));
	objKonstr.ekstralag_plate_varmeledning = Number(data.getAttribute('matr4_varmeledning'));
	objKonstr.ekstralag_plate_tykkelse = Number(data.getAttribute('matr4_tykkelse'));

	objKonstr.utv_utforing_valg = data.getAttribute('spikerslag1_navn');
	objKonstr.egendef_utv_utforing = str_to_bool(data.getAttribute('spikerslag1_egendef'));
	objKonstr.utv_utforing_varmeledning = Number(data.getAttribute('spikerslag1_varmeledning'));
	objKonstr.utv_utforing_arealandel = Number(data.getAttribute('spikerslag1_arealandel'));
	
	objKonstr.reisverk_valg = data.getAttribute('spikerslag2_navn');
	objKonstr.egendef_reisverk = str_to_bool(data.getAttribute('spikerslag2_egendef'));
	objKonstr.reisverk_varmeledning = Number(data.getAttribute('spikerslag2_varmeledning'));
	objKonstr.reisverk_arealandel = Number(data.getAttribute('spikerslag2_arealandel'));
	
	objKonstr.innv_utforing_valg = data.getAttribute('spikerslag3_navn');
	objKonstr.egendef_innv_utforing = str_to_bool(data.getAttribute('spikerslag3_egendef'));
	objKonstr.innv_utforing_varmeledning = Number(data.getAttribute('spikerslag3_varmeledning'));
	objKonstr.innv_utforing_arealandel = Number(data.getAttribute('spikerslag3_arealandel'));
	
	objKonstr.ekstralag_std_valg = data.getAttribute('spikerslag4_navn');
	objKonstr.egendef_ekstralag_std = str_to_bool(data.getAttribute('spikerslag4_egendef'));
	objKonstr.ekstralag_std_varmeledning = Number(data.getAttribute('spikerslag4_varmeledning'));
	objKonstr.ekstralag_std_arealandel = Number(data.getAttribute('spikerslag4_arealandel'));
	
	objKonstr.luftlag = str_to_bool(data.getAttribute('luftlag'));
	objKonstr.luftlag_valg = data.getAttribute('luftlag_navn');
	objKonstr.luftlag_tykkelse = Number(data.getAttribute('luftlag_tykkelse'));
	
	return objKonstr;
}

function les_murvegg_konstr(data, type)
{
	var objKonstr = new Object();
	objKonstr.kategori = 0; // vegg
	objKonstr.type = type;
	objKonstr.utv_utforing = str_to_bool(data.getAttribute('iso1'));
	objKonstr.utv_utforing_iso_valg = data.getAttribute('iso1_navn');
	objKonstr.egendef_utv_utforing_iso = str_to_bool(data.getAttribute('iso1_egendef'));
	objKonstr.utv_utforing_iso_varmeledning = Number(data.getAttribute('iso1_varmeledning'));
	objKonstr.utv_utforing_iso_tykkelse = Number(data.getAttribute('iso1_tykkelse'));

	objKonstr.innv_utforing = str_to_bool(data.getAttribute('iso2'));
	objKonstr.innv_utforing_iso_valg = data.getAttribute('iso2_navn');
	objKonstr.egendef_innv_utforing_iso = str_to_bool(data.getAttribute('iso2_egendef'));
	objKonstr.innv_utforing_iso_varmeledning = Number(data.getAttribute('iso2_varmeledning'));
	objKonstr.innv_utforing_iso_tykkelse = Number(data.getAttribute('iso2_tykkelse'));

	objKonstr.ekstralag_std = str_to_bool(data.getAttribute('iso3'));
	objKonstr.ekstralag_std_iso_valg = data.getAttribute('iso3_navn');
	objKonstr.egendef_ekstralag_std_iso = str_to_bool(data.getAttribute('iso3_egendef'));
	objKonstr.ekstralag_std_iso_varmeledning = Number(data.getAttribute('iso3_varmeledning'));
	objKonstr.ekstralag_std_iso_tykkelse = Number(data.getAttribute('iso3_tykkelse'));

	objKonstr.reisverk_valg = data.getAttribute('matr1_navn');
	objKonstr.egendef_reisverk = str_to_bool(data.getAttribute('matr1_egendef'));
	objKonstr.reisverk_varmeledning = Number(data.getAttribute('matr1_varmeledning'));
	objKonstr.reisverk_tykkelse = Number(data.getAttribute('matr1_tykkelse'));

	objKonstr.utv_kledning_valg = data.getAttribute('matr2_navn');
	objKonstr.egendef_utv_kledning = str_to_bool(data.getAttribute('matr2_egendef'));
	objKonstr.utv_kledning_varmeledning = Number(data.getAttribute('matr2_varmeledning'));
	objKonstr.utv_kledning_tykkelse = Number(data.getAttribute('matr2_tykkelse'));

	objKonstr.vindtetting_valg = data.getAttribute('matr3_navn');
	objKonstr.egendef_vindtetting = str_to_bool(data.getAttribute('matr3_egendef'));
	objKonstr.vindtetting_varmeledning = Number(data.getAttribute('matr3_varmeledning'));
	objKonstr.vindtetting_tykkelse = Number(data.getAttribute('matr3_tykkelse'));

	objKonstr.innv_kledning_valg = data.getAttribute('matr4_navn');
	objKonstr.egendef_innv_kledning = str_to_bool(data.getAttribute('matr4_egendef'));
	objKonstr.innv_kledning_varmeledning = Number(data.getAttribute('matr4_varmeledning'));
	objKonstr.innv_kledning_tykkelse = Number(data.getAttribute('matr4_tykkelse'));

	objKonstr.ekstralag_plate = str_to_bool(data.getAttribute('matr5'));
	objKonstr.ekstralag_plate_valg = data.getAttribute('matr5_navn');
	objKonstr.egendef_ekstralag_plate = str_to_bool(data.getAttribute('matr5_egendef'));
	objKonstr.ekstralag_plate_varmeledning = Number(data.getAttribute('matr5_varmeledning'));
	objKonstr.ekstralag_plate_tykkelse = Number(data.getAttribute('matr5_tykkelse'));

	objKonstr.utv_utforing_valg = data.getAttribute('spikerslag1_navn');
	objKonstr.egendef_utv_utforing = str_to_bool(data.getAttribute('spikerslag1_egendef'));
	objKonstr.utv_utforing_varmeledning = Number(data.getAttribute('spikerslag1_varmeledning'));
	objKonstr.utv_utforing_arealandel = Number(data.getAttribute('spikerslag1_arealandel'));
	
	objKonstr.innv_utforing_valg = data.getAttribute('spikerslag2_navn');
	objKonstr.egendef_innv_utforing = str_to_bool(data.getAttribute('spikerslag2_egendef'));
	objKonstr.innv_utforing_varmeledning = Number(data.getAttribute('spikerslag2_varmeledning'));
	objKonstr.innv_utforing_arealandel = Number(data.getAttribute('spikerslag2_arealandel'));
	
	objKonstr.ekstralag_std_valg = data.getAttribute('spikerslag3_navn');
	objKonstr.egendef_ekstralag_std = str_to_bool(data.getAttribute('spikerslag3_egendef'));
	objKonstr.ekstralag_std_varmeledning = Number(data.getAttribute('spikerslag3_varmeledning'));
	objKonstr.ekstralag_std_arealandel = Number(data.getAttribute('spikerslag3_arealandel'));
	
	objKonstr.luftlag = str_to_bool(data.getAttribute('luftlag'));
	objKonstr.luftlag_valg = data.getAttribute('luftlag_navn');
	objKonstr.luftlag_tykkelse = Number(data.getAttribute('luftlag_tykkelse'));
	
	return objKonstr;
}

function les_flexvegg_konstr(data, type)
{
	var objKonstr = new Object();
	objKonstr.kategori = 0; // vegg
	objKonstr.type = type;
	objKonstr.utv_utforing_iso_valg = data.getAttribute('iso1_navn');
	objKonstr.egendef_utv_utforing_iso = str_to_bool(data.getAttribute('iso1_egendef'));
	objKonstr.utv_utforing_iso_varmeledning = Number(data.getAttribute('iso1_varmeledning'));
	objKonstr.utv_utforing_iso_tykkelse = Number(data.getAttribute('iso1_tykkelse'));

	objKonstr.bindingsverk_iso_valg = data.getAttribute('iso2_navn');
	objKonstr.egendef_bindingsverk_iso = str_to_bool(data.getAttribute('iso2_egendef'));
	objKonstr.bindingsverk_iso_varmeledning = Number(data.getAttribute('iso2_varmeledning'));
	objKonstr.bindingsverk_iso_tykkelse = Number(data.getAttribute('iso2_tykkelse'));

	objKonstr.innv_utforing = str_to_bool(data.getAttribute('iso3'));
	objKonstr.innv_utforing_iso_valg = data.getAttribute('iso3_navn');
	objKonstr.egendef_innv_utforing_iso = str_to_bool(data.getAttribute('iso3_egendef'));
	objKonstr.innv_utforing_iso_varmeledning = Number(data.getAttribute('iso3_varmeledning'));
	objKonstr.innv_utforing_iso_tykkelse = Number(data.getAttribute('iso2_tykkelse'));

	objKonstr.ekstralag_std = str_to_bool(data.getAttribute('iso4'));
	objKonstr.ekstralag_std_iso_valg = data.getAttribute('iso4_navn');
	objKonstr.egendef_ekstralag_std_iso = str_to_bool(data.getAttribute('iso4_egendef'));
	objKonstr.ekstralag_std_iso_varmeledning = Number(data.getAttribute('iso4_varmeledning'));
	objKonstr.ekstralag_std_iso_tykkelse = Number(data.getAttribute('iso4_tykkelse'));

	objKonstr.reisverk_valg = data.getAttribute('matr1_navn');
	objKonstr.egendef_reisverk = str_to_bool(data.getAttribute('matr1_egendef'));
	objKonstr.reisverk_varmeledning = Number(data.getAttribute('matr1_varmeledning'));
	objKonstr.reisverk_tykkelse = Number(data.getAttribute('matr1_tykkelse'));

	objKonstr.utv_kledning_valg = data.getAttribute('matr2_navn');
	objKonstr.egendef_utv_kledning = str_to_bool(data.getAttribute('matr2_egendef'));
	objKonstr.utv_kledning_varmeledning = Number(data.getAttribute('matr2_varmeledning'));
	objKonstr.utv_kledning_tykkelse = Number(data.getAttribute('matr2_tykkelse'));

	objKonstr.vindtetting_valg = data.getAttribute('matr3_navn');
	objKonstr.egendef_vindtetting = str_to_bool(data.getAttribute('matr3_egendef'));
	objKonstr.vindtetting_varmeledning = Number(data.getAttribute('matr3_varmeledning'));
	objKonstr.vindtetting_tykkelse = Number(data.getAttribute('matr3_tykkelse'));

	objKonstr.innv_kledning_valg = data.getAttribute('matr4_navn');
	objKonstr.egendef_innv_kledning = str_to_bool(data.getAttribute('matr4_egendef'));
	objKonstr.innv_kledning_varmeledning = Number(data.getAttribute('matr4_varmeledning'));
	objKonstr.innv_kledning_tykkelse = Number(data.getAttribute('matr4_tykkelse'));

	objKonstr.ekstralag_plate = str_to_bool(data.getAttribute('matr5'));
	objKonstr.ekstralag_plate_valg = data.getAttribute('matr5_navn');
	objKonstr.egendef_ekstralag_plate = str_to_bool(data.getAttribute('matr5_egendef'));
	objKonstr.ekstralag_plate_varmeledning = Number(data.getAttribute('matr5_varmeledning'));
	objKonstr.ekstralag_plate_tykkelse = Number(data.getAttribute('matr5_tykkelse'));

	objKonstr.bindingsverk_valg = data.getAttribute('spikerslag1_navn');
	objKonstr.egendef_bindingsverk = str_to_bool(data.getAttribute('spikerslag1_egendef'));
	objKonstr.bindingsverk_varmeledning = Number(data.getAttribute('spikerslag1_varmeledning'));
	objKonstr.bindingsverk_arealandel = Number(data.getAttribute('spikerslag1_arealandel'));
	
	objKonstr.innv_utforing_valg = data.getAttribute('spikerslag2_navn');
	objKonstr.egendef_innv_utforing = str_to_bool(data.getAttribute('spikerslag2_egendef'));
	objKonstr.innv_utforing_varmeledning = Number(data.getAttribute('spikerslag2_varmeledning'));
	objKonstr.innv_utforing_arealandel = Number(data.getAttribute('spikerslag2_arealandel'));
	
	objKonstr.ekstralag_std_valg = data.getAttribute('spikerslag3_navn');
	objKonstr.egendef_ekstralag_std = str_to_bool(data.getAttribute('spikerslag3_egendef'));
	objKonstr.ekstralag_std_varmeledning = Number(data.getAttribute('spikerslag3_varmeledning'));
	objKonstr.ekstralag_std_arealandel = Number(data.getAttribute('spikerslag3_arealandel'));
	
	objKonstr.luftlag = str_to_bool(data.getAttribute('luftlag'));
	objKonstr.luftlag_valg = data.getAttribute('luftlag_navn');
	objKonstr.luftlag_tykkelse = Number(data.getAttribute('luftlag_tykkelse'));
	
	objKonstr.type_baering = Number(data.getAttribute('div1'));
	objKonstr.feste_tetthet =  Number(data.getAttribute('div2'));
	objKonstr.feste_diameter =  Number(data.getAttribute('div3'));
	objKonstr.feste_varmeledning =  Number(data.getAttribute('div4'));
	
	return objKonstr;
}

function les_kjellervegg_konstr(data, type)
{
	var objKonstr = new Object();
	objKonstr.kategori = 0; // vegg
	objKonstr.type = type;
	objKonstr.utv_utforing = str_to_bool(data.getAttribute('iso1'));
	objKonstr.utv_utforing_iso_valg = data.getAttribute('iso1_navn');
	objKonstr.egendef_utv_utforing_iso = str_to_bool(data.getAttribute('iso1_egendef'));
	objKonstr.utv_utforing_iso_varmeledning = Number(data.getAttribute('iso1_varmeledning'));
	objKonstr.utv_utforing_iso_tykkelse = Number(data.getAttribute('iso1_tykkelse'));

	objKonstr.innv_utforing = str_to_bool(data.getAttribute('iso2'));
	objKonstr.innv_utforing_iso_valg = data.getAttribute('iso2_navn');
	objKonstr.egendef_innv_utforing_iso = str_to_bool(data.getAttribute('iso2_egendef'));
	objKonstr.innv_utforing_iso_varmeledning = Number(data.getAttribute('iso2_varmeledning'));
	objKonstr.innv_utforing_iso_tykkelse = Number(data.getAttribute('iso2_tykkelse'));

	objKonstr.ekstralag_std = str_to_bool(data.getAttribute('iso3'));
	objKonstr.ekstralag_std_iso_valg = data.getAttribute('iso3_navn');
	objKonstr.egendef_ekstralag_std_iso = str_to_bool(data.getAttribute('iso3_egendef'));
	objKonstr.ekstralag_std_iso_varmeledning = Number(data.getAttribute('iso3_varmeledning'));
	objKonstr.ekstralag_std_iso_tykkelse = Number(data.getAttribute('iso3_tykkelse'));

	objKonstr.utv_iso = str_to_bool(data.getAttribute('iso4'));
	objKonstr.utv_iso_valg = data.getAttribute('iso4_navn');
	objKonstr.egendef_utv_iso = str_to_bool(data.getAttribute('iso4_egendef'));
	objKonstr.utv_iso_varmeledning = Number(data.getAttribute('iso4_varmeledning'));
	objKonstr.utv_iso_tykkelse = Number(data.getAttribute('iso4_tykkelse'));

	objKonstr.baering_valg = data.getAttribute('matr1_navn');
	objKonstr.egendef_baering = str_to_bool(data.getAttribute('matr1_egendef'));
	objKonstr.baering_varmeledning = Number(data.getAttribute('matr1_varmeledning'));
	objKonstr.baering_tykkelse = Number(data.getAttribute('matr1_tykkelse'));

	objKonstr.utv_kledning_valg = data.getAttribute('matr2_navn');
	objKonstr.egendef_utv_kledning = str_to_bool(data.getAttribute('matr2_egendef'));
	objKonstr.utv_kledning_varmeledning = Number(data.getAttribute('matr2_varmeledning'));
	objKonstr.utv_kledning_tykkelse = Number(data.getAttribute('matr2_tykkelse'));

	objKonstr.innv_kledning_valg = data.getAttribute('matr3_navn');
	objKonstr.egendef_innv_kledning = str_to_bool(data.getAttribute('matr3_egendef'));
	objKonstr.innv_kledning_varmeledning = Number(data.getAttribute('matr3_varmeledning'));
	objKonstr.innv_kledning_tykkelse = Number(data.getAttribute('matr3_tykkelse'));

	objKonstr.ekstralag_plate = str_to_bool(data.getAttribute('matr4'));
	objKonstr.ekstralag_plate_valg = data.getAttribute('matr4_navn');
	objKonstr.egendef_ekstralag_plate = str_to_bool(data.getAttribute('matr4_egendef'));
	objKonstr.ekstralag_plate_varmeledning = Number(data.getAttribute('matr4_varmeledning'));
	objKonstr.ekstralag_plate_tykkelse = Number(data.getAttribute('matr4_tykkelse'));

	objKonstr.utv_utforing_valg = data.getAttribute('spikerslag1_navn');
	objKonstr.egendef_utv_utforing = str_to_bool(data.getAttribute('spikerslag1_egendef'));
	objKonstr.utv_utforing_varmeledning = Number(data.getAttribute('spikerslag1_varmeledning'));
	objKonstr.utv_utforing_arealandel = Number(data.getAttribute('spikerslag1_arealandel'));
	
	objKonstr.innv_utforing_valg = data.getAttribute('spikerslag2_navn');
	objKonstr.egendef_innv_utforing = str_to_bool(data.getAttribute('spikerslag2_egendef'));
	objKonstr.innv_utforing_varmeledning = Number(data.getAttribute('spikerslag2_varmeledning'));
	objKonstr.innv_utforing_arealandel = Number(data.getAttribute('spikerslag2_arealandel'));
	
	objKonstr.ekstralag_std_valg = data.getAttribute('spikerslag3_navn');
	objKonstr.egendef_ekstralag_std = str_to_bool(data.getAttribute('spikerslag3_egendef'));
	objKonstr.ekstralag_std_varmeledning = Number(data.getAttribute('spikerslag3_varmeledning'));
	objKonstr.ekstralag_std_arealandel = Number(data.getAttribute('spikerslag3_arealandel'));
	
	objKonstr.grunn_valg = data.getAttribute('grunn_navn');
	objKonstr.egendef_grunn = str_to_bool(data.getAttribute('grunn_egendef'));
	objKonstr.grunn_varmekap = Number(data.getAttribute('grunn_varmekap'));
	objKonstr.grunn_varmeledning = Number(data.getAttribute('grunn_varmeledning'));
	
	objKonstr.oppfyllingshoyde =  Number(data.getAttribute('div1'));
	objKonstr.hoyde =  Number(data.getAttribute('div2'));

	return objKonstr;
}

function les_kaldtloft_konstr(data, type)
{
	var objKonstr = new Object();
	objKonstr.kategori = 1; // tak
	objKonstr.type = type;
	objKonstr.iso_valg = data.getAttribute('iso1_navn');
	objKonstr.egendef_iso = str_to_bool(data.getAttribute('iso1_egendef'));
	objKonstr.iso_varmeledning = Number(data.getAttribute('iso1_varmeledning'));
	objKonstr.iso_tykkelse = Number(data.getAttribute('iso1_tykkelse'));

	objKonstr.iso_loft = str_to_bool(data.getAttribute('iso2'));
	objKonstr.iso_loft_valg = data.getAttribute('iso2_navn');
	objKonstr.egendef_iso_loft = str_to_bool(data.getAttribute('iso2_egendef'));
	objKonstr.iso_loft_varmeledning = Number(data.getAttribute('iso2_varmeledning'));
	objKonstr.iso_loft_tykkelse = Number(data.getAttribute('iso2_tykkelse'));

	objKonstr.nedforing = str_to_bool(data.getAttribute('iso3'));
	objKonstr.nedforing_iso_valg = data.getAttribute('iso3_navn');
	objKonstr.egendef_nedforing_iso = str_to_bool(data.getAttribute('iso3_egendef'));
	objKonstr.nedforing_iso_varmeledning = Number(data.getAttribute('iso3_varmeledning'));
	objKonstr.nedforing_iso_tykkelse = Number(data.getAttribute('iso3_tykkelse'));

	objKonstr.ekstralag_std = str_to_bool(data.getAttribute('iso4'));
	objKonstr.ekstralag_std_iso_valg = data.getAttribute('iso4_navn');
	objKonstr.egendef_ekstralag_std_iso = str_to_bool(data.getAttribute('iso4_egendef'));
	objKonstr.ekstralag_std_iso_varmeledning = Number(data.getAttribute('iso4_varmeledning'));
	objKonstr.ekstralag_std_iso_tykkelse = Number(data.getAttribute('iso4_tykkelse'));

	objKonstr.undertak_valg = data.getAttribute('matr1_navn');
	objKonstr.egendef_undertak = str_to_bool(data.getAttribute('matr1_egendef'));
	objKonstr.undertak_varmeledning = Number(data.getAttribute('matr1_varmeledning'));
	objKonstr.undertak_tykkelse = Number(data.getAttribute('matr1_tykkelse'));

	objKonstr.dekke = str_to_bool(data.getAttribute('matr2'));
	objKonstr.dekke_valg = data.getAttribute('matr2_navn');
	objKonstr.egendef_dekke = str_to_bool(data.getAttribute('matr2_egendef'));
	objKonstr.dekke_varmeledning = Number(data.getAttribute('matr2_varmeledning'));
	objKonstr.dekke_tykkelse = Number(data.getAttribute('matr2_tykkelse'));

	objKonstr.ekstralag_plate = str_to_bool(data.getAttribute('matr3'));
	objKonstr.ekstralag_plate_valg = data.getAttribute('matr3_navn');
	objKonstr.egendef_ekstralag_plate = str_to_bool(data.getAttribute('matr3_egendef'));
	objKonstr.ekstralag_plate_varmeledning = Number(data.getAttribute('matr3_varmeledning'));
	objKonstr.ekstralag_plate_tykkelse = Number(data.getAttribute('matr3_tykkelse'));

	objKonstr.bjelkelag_valg = data.getAttribute('spikerslag1_navn');
	objKonstr.egendef_bjelkelag = str_to_bool(data.getAttribute('spikerslag1_egendef'));
	objKonstr.bjelkelag_varmeledning = Number(data.getAttribute('spikerslag1_varmeledning'));
	objKonstr.bjelkelag_arealandel = Number(data.getAttribute('spikerslag1_arealandel'));
	
	objKonstr.nedforing_valg = data.getAttribute('spikerslag2_navn');
	objKonstr.egendef_nedforing = str_to_bool(data.getAttribute('spikerslag2_egendef'));
	objKonstr.nedforing_varmeledning = Number(data.getAttribute('spikerslag2_varmeledning'));
	objKonstr.nedforing_arealandel = Number(data.getAttribute('spikerslag2_arealandel'));
	
	objKonstr.ekstralag_std_valg = data.getAttribute('spikerslag3_navn');
	objKonstr.egendef_ekstralag_std = str_to_bool(data.getAttribute('spikerslag3_egendef'));
	objKonstr.ekstralag_std_varmeledning = Number(data.getAttribute('spikerslag3_varmeledning'));
	objKonstr.ekstralag_std_arealandel = Number(data.getAttribute('spikerslag3_arealandel'));
	
	objKonstr.bjelkelag_h_valg = data.getAttribute('bjelkelag_hoyde_navn'); 
	objKonstr.egendef_bjelkelag_h = str_to_bool(data.getAttribute('bjelkelag_hoyde_egendef')); 
	objKonstr.bjelkelag_hoyde = data.getAttribute('bjelkelag_hoyde'); 
	
	objKonstr.varmemotstand_loft =  Number(data.getAttribute('div1'));

	return objKonstr;
}

function les_skratak_konstr(data, type)
{
	var objKonstr = new Object();
	objKonstr.kategori = 1; // tak
	objKonstr.type = type;
	objKonstr.iso_valg = data.getAttribute('iso1_navn');
	objKonstr.egendef_iso = str_to_bool(data.getAttribute('iso1_egendef'));
	objKonstr.iso_varmeledning = Number(data.getAttribute('iso1_varmeledning'));
	objKonstr.iso_tykkelse = Number(data.getAttribute('iso1_tykkelse'));

	objKonstr.iso2 = str_to_bool(data.getAttribute('iso2'));
	objKonstr.iso2_valg = data.getAttribute('iso2_navn');
	objKonstr.egendef_iso2 = str_to_bool(data.getAttribute('iso2_egendef'));
	objKonstr.iso2_varmeledning = Number(data.getAttribute('iso2_varmeledning'));
	objKonstr.iso2_tykkelse = Number(data.getAttribute('iso2_tykkelse'));

	objKonstr.oppforing = str_to_bool(data.getAttribute('iso3'));
	objKonstr.oppforing_iso_valg = data.getAttribute('iso3_navn');
	objKonstr.egendef_oppforing_iso = str_to_bool(data.getAttribute('iso3_egendef'));
	objKonstr.oppforing_iso_varmeledning = Number(data.getAttribute('iso3_varmeledning'));
	objKonstr.oppforing_iso_tykkelse = Number(data.getAttribute('iso3_tykkelse'));

	objKonstr.nedforing = str_to_bool(data.getAttribute('iso4'));
	objKonstr.nedforing_iso_valg = data.getAttribute('iso4_navn');
	objKonstr.egendef_nedforing_iso = str_to_bool(data.getAttribute('iso4_egendef'));
	objKonstr.nedforing_iso_varmeledning = Number(data.getAttribute('iso4_varmeledning'));
	objKonstr.nedforing_iso_tykkelse = Number(data.getAttribute('iso4_tykkelse'));

	objKonstr.ekstralag_std = str_to_bool(data.getAttribute('iso5'));
	objKonstr.ekstralag_std_iso_valg = data.getAttribute('iso5_navn');
	objKonstr.egendef_ekstralag_std_iso = str_to_bool(data.getAttribute('iso5_egendef'));
	objKonstr.ekstralag_std_iso_varmeledning = Number(data.getAttribute('iso5_varmeledning'));
	objKonstr.ekstralag_std_iso_tykkelse = Number(data.getAttribute('iso5_tykkelse'));

	objKonstr.yttertak_valg = data.getAttribute('matr1_navn');
	objKonstr.egendef_yttertak = str_to_bool(data.getAttribute('matr1_egendef'));
	objKonstr.yttertak_varmeledning = Number(data.getAttribute('matr1_varmeledning'));
	objKonstr.yttertak_tykkelse = Number(data.getAttribute('matr1_tykkelse'));

	objKonstr.ekstralag_plate = str_to_bool(data.getAttribute('matr2'));
	objKonstr.ekstralag_plate_valg = data.getAttribute('matr2_navn');
	objKonstr.egendef_ekstralag_plate = str_to_bool(data.getAttribute('matr2_egendef'));
	objKonstr.ekstralag_plate_varmeledning = Number(data.getAttribute('matr2_varmeledning'));
	objKonstr.ekstralag_plate_tykkelse = Number(data.getAttribute('matr2_tykkelse'));

	objKonstr.undertak = str_to_bool(data.getAttribute('matr3'));
	objKonstr.undertak_valg = data.getAttribute('matr3_navn');
	objKonstr.egendef_undertak = str_to_bool(data.getAttribute('matr3_egendef'));
	objKonstr.undertak_varmeledning = Number(data.getAttribute('matr3_varmeledning'));
	objKonstr.undertak_tykkelse = Number(data.getAttribute('matr3_tykkelse'));

	objKonstr.taktekking_valg = data.getAttribute('matr4_navn');

	objKonstr.sperrer_valg = data.getAttribute('spikerslag1_navn');
	objKonstr.egendef_sperrer = str_to_bool(data.getAttribute('spikerslag1_egendef'));
	objKonstr.sperrer_varmeledning = Number(data.getAttribute('spikerslag1_varmeledning'));
	objKonstr.sperrer_arealandel = Number(data.getAttribute('spikerslag1_arealandel'));
	
	objKonstr.oppforing_valg = data.getAttribute('spikerslag2_navn');
	objKonstr.egendef_oppforing = str_to_bool(data.getAttribute('spikerslag2_egendef'));
	objKonstr.oppforing_varmeledning = Number(data.getAttribute('spikerslag2_varmeledning'));
	objKonstr.oppforing_arealandel = Number(data.getAttribute('spikerslag2_arealandel'));
	
	objKonstr.nedforing_valg = data.getAttribute('spikerslag3_navn');
	objKonstr.egendef_nedforing = str_to_bool(data.getAttribute('spikerslag3_egendef'));
	objKonstr.nedforing_varmeledning = Number(data.getAttribute('spikerslag3_varmeledning'));
	objKonstr.nedforing_arealandel = Number(data.getAttribute('spikerslag3_arealandel'));
	
	objKonstr.ekstralag_std_valg = data.getAttribute('spikerslag4_navn');
	objKonstr.egendef_ekstralag_std = str_to_bool(data.getAttribute('spikerslag4_egendef'));
	objKonstr.ekstralag_std_varmeledning = Number(data.getAttribute('spikerslag4_varmeledning'));
	objKonstr.ekstralag_std_arealandel = Number(data.getAttribute('spikerslag4_arealandel'));
	
	return objKonstr;
}

function les_torvtak_konstr(data, type)
{
	var objKonstr = new Object();
	objKonstr.kategori = 1; // tak
	objKonstr.type = type;
	objKonstr.iso_valg = data.getAttribute('iso1_navn');
	objKonstr.egendef_iso = str_to_bool(data.getAttribute('iso1_egendef'));
	objKonstr.iso_varmeledning = Number(data.getAttribute('iso1_varmeledning'));
	objKonstr.iso_tykkelse = Number(data.getAttribute('iso1_tykkelse'));

	objKonstr.iso2_valg = data.getAttribute('iso2_navn');
	objKonstr.egendef_iso2 = str_to_bool(data.getAttribute('iso2_egendef'));
	objKonstr.iso2_varmeledning = Number(data.getAttribute('iso2_varmeledning'));
	objKonstr.iso2_tykkelse = Number(data.getAttribute('iso2_tykkelse'));

	objKonstr.nedforing = str_to_bool(data.getAttribute('iso3'));
	objKonstr.nedforing_iso_valg = data.getAttribute('iso3_navn');
	objKonstr.egendef_nedforing_iso = str_to_bool(data.getAttribute('iso3_egendef'));
	objKonstr.nedforing_iso_varmeledning = Number(data.getAttribute('iso3_varmeledning'));
	objKonstr.nedforing_iso_tykkelse = Number(data.getAttribute('iso3_tykkelse'));

	objKonstr.ekstralag_std = str_to_bool(data.getAttribute('iso4'));
	objKonstr.ekstralag_std_iso_valg = data.getAttribute('iso4_navn');
	objKonstr.egendef_ekstralag_std_iso = str_to_bool(data.getAttribute('iso4_egendef'));
	objKonstr.ekstralag_std_iso_varmeledning = Number(data.getAttribute('iso4_varmeledning'));
	objKonstr.ekstralag_std_iso_tykkelse = Number(data.getAttribute('iso4_tykkelse'));

	objKonstr.undertak_valg = data.getAttribute('matr1_navn');
	objKonstr.egendef_undertak = str_to_bool(data.getAttribute('matr1_egendef'));
	objKonstr.undertak_varmeledning = Number(data.getAttribute('matr1_varmeledning'));
	objKonstr.undertak_tykkelse = Number(data.getAttribute('matr1_tykkelse'));

	objKonstr.baering_valg = data.getAttribute('matr2_navn');
	objKonstr.egendef_baering = str_to_bool(data.getAttribute('matr2_egendef'));
	objKonstr.baering_varmeledning = Number(data.getAttribute('matr2_varmeledning'));
	objKonstr.baering_tykkelse = Number(data.getAttribute('matr2_tykkelse'));

	objKonstr.ekstralag_plate = str_to_bool(data.getAttribute('matr3'));
	objKonstr.ekstralag_plate_valg = data.getAttribute('matr3_navn');
	objKonstr.egendef_ekstralag_plate = str_to_bool(data.getAttribute('matr3_egendef'));
	objKonstr.ekstralag_plate_varmeledning = Number(data.getAttribute('matr3_varmeledning'));
	objKonstr.ekstralag_plate_tykkelse = Number(data.getAttribute('matr3_tykkelse'));

	objKonstr.torv_valg = data.getAttribute('matr4_navn');
	objKonstr.egendef_torv = str_to_bool(data.getAttribute('matr4_egendef'));
	objKonstr.torv_varmeledning = Number(data.getAttribute('matr4_varmeledning'));
	objKonstr.torv_tykkelse = Number(data.getAttribute('matr4_tykkelse'));

	objKonstr.tetteskikt_valg = data.getAttribute('matr5_navn');
	objKonstr.egendef_tetteskikt = str_to_bool(data.getAttribute('matr4_egendef'));
	objKonstr.tetteskikt_varmeledning = Number(data.getAttribute('matr4_varmeledning'));
	objKonstr.tetteskikt_tykkelse = Number(data.getAttribute('matr4_tykkelse'));

	objKonstr.nedforing_valg = data.getAttribute('spikerslag1_navn');
	objKonstr.egendef_nedforing = str_to_bool(data.getAttribute('spikerslag1_egendef'));
	objKonstr.nedforing_varmeledning = Number(data.getAttribute('spikerslag1_varmeledning'));
	objKonstr.nedforing_arealandel = Number(data.getAttribute('spikerslag1_arealandel'));
	
	objKonstr.ekstralag_std_valg = data.getAttribute('spikerslag2_navn');
	objKonstr.egendef_ekstralag_std = str_to_bool(data.getAttribute('spikerslag2_egendef'));
	objKonstr.ekstralag_std_varmeledning = Number(data.getAttribute('spikerslag2_varmeledning'));
	objKonstr.ekstralag_std_arealandel = Number(data.getAttribute('spikerslag2_arealandel'));
	
	return objKonstr;
}

function les_flattak_konstr(data, type)
{
	var objKonstr = new Object();
	objKonstr.kategori = 1; // tak
	objKonstr.type = type;
	objKonstr.iso1 = str_to_bool(data.getAttribute('iso1'));
	objKonstr.iso1_valg = data.getAttribute('iso1_navn');
	objKonstr.egendef_iso1 = str_to_bool(data.getAttribute('iso1_egendef'));
	objKonstr.iso1_varmeledning = Number(data.getAttribute('iso1_varmeledning'));
	objKonstr.iso1_tykkelse = Number(data.getAttribute('iso1_tykkelse'));

	objKonstr.iso2 = str_to_bool(data.getAttribute('iso2'));
	objKonstr.iso2_valg = data.getAttribute('iso2_navn');
	objKonstr.egendef_iso2 = str_to_bool(data.getAttribute('iso2_egendef'));
	objKonstr.iso2_varmeledning = Number(data.getAttribute('iso2_varmeledning'));
	objKonstr.iso2_tykkelse = Number(data.getAttribute('iso2_tykkelse'));

	objKonstr.iso3_valg = data.getAttribute('iso3_navn');
	objKonstr.egendef_iso3 = str_to_bool(data.getAttribute('iso3_egendef'));
	objKonstr.iso3_varmeledning = Number(data.getAttribute('iso3_varmeledning'));
	objKonstr.iso3_tykkelse = Number(data.getAttribute('iso3_tykkelse'));

	objKonstr.nedforing = str_to_bool(data.getAttribute('iso4'));
	objKonstr.nedforing_iso_valg = data.getAttribute('iso4_navn');
	objKonstr.egendef_nedforing_iso = str_to_bool(data.getAttribute('iso4_egendef'));
	objKonstr.nedforing_iso_varmeledning = Number(data.getAttribute('iso4_varmeledning'));
	objKonstr.nedforing_iso_tykkelse = Number(data.getAttribute('iso4_tykkelse'));

	objKonstr.ekstralag_std = str_to_bool(data.getAttribute('iso5'));
	objKonstr.ekstralag_std_iso_valg = data.getAttribute('iso5_navn');
	objKonstr.egendef_ekstralag_std_iso = str_to_bool(data.getAttribute('iso5_egendef'));
	objKonstr.ekstralag_std_iso_varmeledning = Number(data.getAttribute('iso5_varmeledning'));
	objKonstr.ekstralag_std_iso_tykkelse = Number(data.getAttribute('iso5_tykkelse'));

	objKonstr.undertak_valg = data.getAttribute('matr1_navn');
	objKonstr.egendef_undertak = str_to_bool(data.getAttribute('matr1_egendef'));
	objKonstr.undertak_varmeledning = Number(data.getAttribute('matr1_varmeledning'));
	objKonstr.undertak_tykkelse = Number(data.getAttribute('matr1_tykkelse'));

	objKonstr.baering_valg = data.getAttribute('matr2_navn');
	objKonstr.egendef_baering = str_to_bool(data.getAttribute('matr2_egendef'));
	objKonstr.baering_varmeledning = Number(data.getAttribute('matr2_varmeledning'));
	objKonstr.baering_tykkelse = Number(data.getAttribute('matr2_tykkelse'));

	objKonstr.ekstralag_plate = str_to_bool(data.getAttribute('matr3'));
	objKonstr.ekstralag_plate_valg = data.getAttribute('matr3_navn');
	objKonstr.egendef_ekstralag_plate = str_to_bool(data.getAttribute('matr3_egendef'));
	objKonstr.ekstralag_plate_varmeledning = Number(data.getAttribute('matr3_varmeledning'));
	objKonstr.ekstralag_plate_tykkelse = Number(data.getAttribute('matr3_tykkelse'));

	objKonstr.tekking_valg = data.getAttribute('matr4_navn');
	objKonstr.egendef_tekking = str_to_bool(data.getAttribute('matr4_egendef'));
	objKonstr.tekking_varmeledning = Number(data.getAttribute('matr4_varmeledning'));
	objKonstr.tekking_tykkelse = Number(data.getAttribute('matr4_tykkelse'));

	objKonstr.nedforing_valg = data.getAttribute('spikerslag1_navn');
	objKonstr.egendef_nedforing = str_to_bool(data.getAttribute('spikerslag1_egendef'));
	objKonstr.nedforing_varmeledning = Number(data.getAttribute('spikerslag1_varmeledning'));
	objKonstr.nedforing_arealandel = Number(data.getAttribute('spikerslag1_arealandel'));
	
	objKonstr.ekstralag_std_valg = data.getAttribute('spikerslag2_navn');
	objKonstr.egendef_ekstralag_std = str_to_bool(data.getAttribute('spikerslag2_egendef'));
	objKonstr.ekstralag_std_varmeledning = Number(data.getAttribute('spikerslag2_varmeledning'));
	objKonstr.ekstralag_std_arealandel = Number(data.getAttribute('spikerslag2_arealandel'));
	
	objKonstr.feste_tetthet =  Number(data.getAttribute('div1'));
	objKonstr.feste_diameter =  Number(data.getAttribute('div2'));
	objKonstr.feste_varmeledning =  Number(data.getAttribute('div3'));

	return objKonstr;
}

function les_gulvgrunn_konstr(data, type)
{
	var objKonstr = new Object();
	objKonstr.kategori = 2; // golv
	objKonstr.type = type;
	objKonstr.iso_valg = data.getAttribute('iso1_navn');
	objKonstr.egendef_iso = str_to_bool(data.getAttribute('iso1_egendef'));
	objKonstr.iso_varmeledning = Number(data.getAttribute('iso1_varmeledning'));
	objKonstr.iso_tykkelse = Number(data.getAttribute('iso1_tykkelse'));

	objKonstr.iso2 = str_to_bool(data.getAttribute('iso2'));
	objKonstr.iso2_valg = data.getAttribute('iso2_navn');
	objKonstr.egendef_iso2 = str_to_bool(data.getAttribute('iso2_egendef'));
	objKonstr.iso2_varmeledning = Number(data.getAttribute('iso2_varmeledning'));
	objKonstr.iso2_tykkelse = Number(data.getAttribute('iso2_tykkelse'));

	objKonstr.iso3 = str_to_bool(data.getAttribute('iso3'));
	objKonstr.iso3_valg = data.getAttribute('iso3_navn');
	objKonstr.egendef_iso3 = str_to_bool(data.getAttribute('iso3_egendef'));
	objKonstr.iso3_varmeledning = Number(data.getAttribute('iso3_varmeledning'));
	objKonstr.iso3_tykkelse = Number(data.getAttribute('iso3_tykkelse'));

	objKonstr.oppforing = str_to_bool(data.getAttribute('iso4'));
	objKonstr.oppforing_iso_valg = data.getAttribute('iso4_navn');
	objKonstr.egendef_oppforing_iso = str_to_bool(data.getAttribute('iso4_egendef'));
	objKonstr.oppforing_iso_varmeledning = Number(data.getAttribute('iso4_varmeledning'));
	objKonstr.oppforing_iso_tykkelse = Number(data.getAttribute('iso4_tykkelse'));

	objKonstr.ekstralag_std = str_to_bool(data.getAttribute('iso5'));
	objKonstr.ekstralag_std_iso_valg = data.getAttribute('iso5_navn');
	objKonstr.egendef_ekstralag_std_iso = str_to_bool(data.getAttribute('iso5_egendef'));
	objKonstr.ekstralag_std_iso_varmeledning = Number(data.getAttribute('iso5_varmeledning'));
	objKonstr.ekstralag_std_iso_tykkelse = Number(data.getAttribute('iso5_tykkelse'));

	objKonstr.kantiso = str_to_bool(data.getAttribute('kantiso'));
	objKonstr.kantiso_valg = data.getAttribute('kantiso_navn');
	objKonstr.egendef_kantiso = str_to_bool(data.getAttribute('kantiso_egendef'));
	objKonstr.kantiso_varmeledning = Number(data.getAttribute('kantiso_varmeledning'));
	objKonstr.kantiso_tykkelse = Number(data.getAttribute('kantiso_tykkelse'));
	objKonstr.kantiso_dybde = Number(data.getAttribute('kantiso_dybde'));

	objKonstr.markiso = str_to_bool(data.getAttribute('markiso'));
	objKonstr.markiso_valg = data.getAttribute('markiso_navn');
	objKonstr.egendef_markiso = str_to_bool(data.getAttribute('markiso_egendef'));
	objKonstr.markiso_varmeledning = Number(data.getAttribute('markiso_varmeledning'));
	objKonstr.markiso_tykkelse = Number(data.getAttribute('markiso_tykkelse'));
	objKonstr.markiso_dybde = Number(data.getAttribute('markiso_dybde'));

	objKonstr.betong_valg = data.getAttribute('matr1_navn');
	objKonstr.egendef_betong = str_to_bool(data.getAttribute('matr1_egendef'));
	objKonstr.betong_varmeledning = Number(data.getAttribute('matr1_varmeledning'));
	objKonstr.betong_tykkelse = Number(data.getAttribute('matr1_tykkelse'));

	objKonstr.overflate_valg = data.getAttribute('matr2_navn');
	objKonstr.egendef_overflate = str_to_bool(data.getAttribute('matr2_egendef'));
	objKonstr.overflate_varmeledning = Number(data.getAttribute('matr2_varmeledning'));
	objKonstr.overflate_tykkelse = Number(data.getAttribute('matr2_tykkelse'));

	objKonstr.ekstralag_plate = str_to_bool(data.getAttribute('matr3'));
	objKonstr.ekstralag_plate_valg = data.getAttribute('matr3_navn');
	objKonstr.egendef_ekstralag_plate = str_to_bool(data.getAttribute('matr3_egendef'));
	objKonstr.ekstralag_plate_varmeledning = Number(data.getAttribute('matr3_varmeledning'));
	objKonstr.ekstralag_plate_tykkelse = Number(data.getAttribute('matr3_tykkelse'));

	objKonstr.oppforing_valg = data.getAttribute('spikerslag1_navn');
	objKonstr.egendef_oppforing = str_to_bool(data.getAttribute('spikerslag1_egendef'));
	objKonstr.oppforing_varmeledning = Number(data.getAttribute('spikerslag1_varmeledning'));
	objKonstr.oppforing_arealandel = Number(data.getAttribute('spikerslag1_arealandel'));
	
	objKonstr.ekstralag_std_valg = data.getAttribute('spikerslag2_navn');
	objKonstr.egendef_ekstralag_std = str_to_bool(data.getAttribute('spikerslag2_egendef'));
	objKonstr.ekstralag_std_varmeledning = Number(data.getAttribute('spikerslag2_varmeledning'));
	objKonstr.ekstralag_std_arealandel = Number(data.getAttribute('spikerslag2_arealandel'));
	
	objKonstr.grunn_valg = data.getAttribute('grunn_navn');
	objKonstr.egendef_grunn = str_to_bool(data.getAttribute('grunn_egendef'));
	objKonstr.grunn_varmekap = Number(data.getAttribute('grunn_varmekap'));
	objKonstr.grunn_varmeledning = Number(data.getAttribute('grunn_varmeledning'));
	
	objKonstr.ytterkant =  Number(data.getAttribute('div1'));
	objKonstr.tykkelse_vegg =  Number(data.getAttribute('div2'));

	return objKonstr;
}

function les_gulvkjeller_konstr(data, type)
{
	var objKonstr = new Object();
	objKonstr.kategori = 2; // golv
	objKonstr.type = type;
	objKonstr.iso_valg = data.getAttribute('iso1_navn');
	objKonstr.egendef_iso = str_to_bool(data.getAttribute('iso1_egendef'));
	objKonstr.iso_varmeledning = Number(data.getAttribute('iso1_varmeledning'));
	objKonstr.iso_tykkelse = Number(data.getAttribute('iso1_tykkelse'));

	objKonstr.iso2 = str_to_bool(data.getAttribute('iso2'));
	objKonstr.iso2_valg = data.getAttribute('iso2_navn');
	objKonstr.egendef_iso2 = str_to_bool(data.getAttribute('iso2_egendef'));
	objKonstr.iso2_varmeledning = Number(data.getAttribute('iso2_varmeledning'));
	objKonstr.iso2_tykkelse = Number(data.getAttribute('iso2_tykkelse'));

	objKonstr.iso3 = str_to_bool(data.getAttribute('iso3'));
	objKonstr.iso3_valg = data.getAttribute('iso3_navn');
	objKonstr.egendef_iso3 = str_to_bool(data.getAttribute('iso3_egendef'));
	objKonstr.iso3_varmeledning = Number(data.getAttribute('iso3_varmeledning'));
	objKonstr.iso3_tykkelse = Number(data.getAttribute('iso3_tykkelse'));

	objKonstr.oppforing = str_to_bool(data.getAttribute('iso4'));
	objKonstr.oppforing_iso_valg = data.getAttribute('iso4_navn');
	objKonstr.egendef_oppforing_iso = str_to_bool(data.getAttribute('iso4_egendef'));
	objKonstr.oppforing_iso_varmeledning = Number(data.getAttribute('iso4_varmeledning'));
	objKonstr.oppforing_iso_tykkelse = Number(data.getAttribute('iso4_tykkelse'));

	objKonstr.ekstralag_std = str_to_bool(data.getAttribute('iso5'));
	objKonstr.ekstralag_std_iso_valg = data.getAttribute('iso5_navn');
	objKonstr.egendef_ekstralag_std_iso = str_to_bool(data.getAttribute('iso5_egendef'));
	objKonstr.ekstralag_std_iso_varmeledning = Number(data.getAttribute('iso5_varmeledning'));
	objKonstr.ekstralag_std_iso_tykkelse = Number(data.getAttribute('iso5_tykkelse'));

	objKonstr.betong_valg = data.getAttribute('matr1_navn');
	objKonstr.egendef_betong = str_to_bool(data.getAttribute('matr1_egendef'));
	objKonstr.betong_varmeledning = Number(data.getAttribute('matr1_varmeledning'));
	objKonstr.betong_tykkelse = Number(data.getAttribute('matr1_tykkelse'));

	objKonstr.overflate_valg = data.getAttribute('matr2_navn');
	objKonstr.egendef_overflate = str_to_bool(data.getAttribute('matr2_egendef'));
	objKonstr.overflate_varmeledning = Number(data.getAttribute('matr2_varmeledning'));
	objKonstr.overflate_tykkelse = Number(data.getAttribute('matr2_tykkelse'));

	objKonstr.ekstralag_plate = str_to_bool(data.getAttribute('matr3'));
	objKonstr.ekstralag_plate_valg = data.getAttribute('matr3_navn');
	objKonstr.egendef_ekstralag_plate = str_to_bool(data.getAttribute('matr3_egendef'));
	objKonstr.ekstralag_plate_varmeledning = Number(data.getAttribute('matr3_varmeledning'));
	objKonstr.ekstralag_plate_tykkelse = Number(data.getAttribute('matr3_tykkelse'));

	objKonstr.oppforing_valg = data.getAttribute('spikerslag1_navn');
	objKonstr.egendef_oppforing = str_to_bool(data.getAttribute('spikerslag1_egendef'));
	objKonstr.oppforing_varmeledning = Number(data.getAttribute('spikerslag1_varmeledning'));
	objKonstr.oppforing_arealandel = Number(data.getAttribute('spikerslag1_arealandel'));
	
	objKonstr.ekstralag_std_valg = data.getAttribute('spikerslag2_navn');
	objKonstr.egendef_ekstralag_std = str_to_bool(data.getAttribute('spikerslag2_egendef'));
	objKonstr.ekstralag_std_varmeledning = Number(data.getAttribute('spikerslag2_varmeledning'));
	objKonstr.ekstralag_std_arealandel = Number(data.getAttribute('spikerslag2_arealandel'));
	
	objKonstr.grunn_valg = data.getAttribute('grunn_navn');
	objKonstr.egendef_grunn = str_to_bool(data.getAttribute('grunn_egendef'));
	objKonstr.grunn_varmekap = Number(data.getAttribute('grunn_varmekap'));
	objKonstr.grunn_varmeledning = Number(data.getAttribute('grunn_varmeledning'));
	
	objKonstr.oppfyllingshoyde = Number(data.getAttribute('div1'));
	objKonstr.ytterkant = Number(data.getAttribute('div2'));
	objKonstr.tykkelse_vegger = Number(data.getAttribute('div3'));

	return objKonstr;
}

function les_bjelkelag_konstr(data, type)
{
	var objKonstr = new Object();
	objKonstr.kategori = 2; // golv
	objKonstr.type = type;
	objKonstr.iso_valg = data.getAttribute('iso1_navn');
	objKonstr.egendef_iso = str_to_bool(data.getAttribute('iso1_egendef'));
	objKonstr.iso_varmeledning = Number(data.getAttribute('iso1_varmeledning'));
	objKonstr.iso_tykkelse = Number(data.getAttribute('iso1_tykkelse'));

	objKonstr.oppforing = str_to_bool(data.getAttribute('iso2'));
	objKonstr.oppforing_iso_valg = data.getAttribute('iso2_navn');
	objKonstr.egendef_oppforing_iso = str_to_bool(data.getAttribute('iso2_egendef'));
	objKonstr.oppforing_iso_varmeledning = Number(data.getAttribute('iso2_varmeledning'));
	objKonstr.oppforing_iso_tykkelse = Number(data.getAttribute('iso2_tykkelse'));

	objKonstr.nedforing = str_to_bool(data.getAttribute('iso3'));
	objKonstr.nedforing_iso_valg = data.getAttribute('iso3_navn');
	objKonstr.egendef_nedforing_iso = str_to_bool(data.getAttribute('iso3_egendef'));
	objKonstr.nedforing_iso_varmeledning = Number(data.getAttribute('iso3_varmeledning'));
	objKonstr.nedforing_iso_tykkelse = Number(data.getAttribute('iso3_tykkelse'));

	objKonstr.ekstralag_std = str_to_bool(data.getAttribute('iso4'));
	objKonstr.ekstralag_std_iso_valg = data.getAttribute('iso4_navn');
	objKonstr.egendef_ekstralag_std_iso = str_to_bool(data.getAttribute('iso4_egendef'));
	objKonstr.ekstralag_std_iso_varmeledning = Number(data.getAttribute('iso4_varmeledning'));
	objKonstr.ekstralag_std_iso_tykkelse = Number(data.getAttribute('iso4_tykkelse'));

	objKonstr.undertak_valg = data.getAttribute('matr1_navn');
	objKonstr.egendef_undertak = str_to_bool(data.getAttribute('matr1_egendef'));
	objKonstr.undertak_varmeledning = Number(data.getAttribute('matr1_varmeledning'));
	objKonstr.undertak_tykkelse = Number(data.getAttribute('matr1_tykkelse'));

	objKonstr.dekke = str_to_bool(data.getAttribute('matr2'));
	objKonstr.dekke_valg = data.getAttribute('matr2_navn');
	objKonstr.egendef_dekke = str_to_bool(data.getAttribute('matr2_egendef'));
	objKonstr.dekke_varmeledning = Number(data.getAttribute('matr2_varmeledning'));
	objKonstr.dekke_tykkelse = Number(data.getAttribute('matr2_tykkelse'));

	objKonstr.ekstralag_plate = str_to_bool(data.getAttribute('matr3'));
	objKonstr.ekstralag_plate_valg = data.getAttribute('matr3_navn');
	objKonstr.egendef_ekstralag_plate = str_to_bool(data.getAttribute('matr3_egendef'));
	objKonstr.ekstralag_plate_varmeledning = Number(data.getAttribute('matr3_varmeledning'));
	objKonstr.ekstralag_plate_tykkelse = Number(data.getAttribute('matr3_tykkelse'));

	objKonstr.innvendig_valg = data.getAttribute('matr4_navn');
	objKonstr.egendef_innvendig = str_to_bool(data.getAttribute('matr4_egendef'));
	objKonstr.innvendig_varmeledning = Number(data.getAttribute('matr4_varmeledning'));
	objKonstr.innvendig_tykkelse = Number(data.getAttribute('matr4_tykkelse'));

	objKonstr.bjelkelag_valg = data.getAttribute('spikerslag1_navn');
	objKonstr.egendef_bjelkelag = str_to_bool(data.getAttribute('spikerslag1_egendef'));
	objKonstr.bjelkelag_varmeledning = Number(data.getAttribute('spikerslag1_varmeledning'));
	objKonstr.bjelkelag_arealandel = Number(data.getAttribute('spikerslag1_arealandel'));
	
	objKonstr.oppforing_valg = data.getAttribute('spikerslag2_navn');
	objKonstr.egendef_oppforing = str_to_bool(data.getAttribute('spikerslag2_egendef'));
	objKonstr.oppforing_varmeledning = Number(data.getAttribute('spikerslag2_varmeledning'));
	objKonstr.oppforing_arealandel = Number(data.getAttribute('spikerslag2_arealandel'));
	
	objKonstr.nedforing_valg = data.getAttribute('spikerslag3_navn');
	objKonstr.egendef_nedforing = str_to_bool(data.getAttribute('spikerslag3_egendef'));
	objKonstr.nedforing_varmeledning = Number(data.getAttribute('spikerslag3_varmeledning'));
	objKonstr.nedforing_arealandel = Number(data.getAttribute('spikerslag3_arealandel'));
	
	objKonstr.ekstralag_std_valg = data.getAttribute('spikerslag4_navn');
	objKonstr.egendef_ekstralag_std = str_to_bool(data.getAttribute('spikerslag4_egendef'));
	objKonstr.ekstralag_std_varmeledning = Number(data.getAttribute('spikerslag4_varmeledning'));
	objKonstr.ekstralag_std_arealandel = Number(data.getAttribute('spikerslag4_arealandel'));
	
	objKonstr.varmemotstand_kjeller = Number(data.getAttribute('div1'));
	
	return objKonstr;
}

function les_dekke_konstr(data, type)
{
	var objKonstr = new Object();
	objKonstr.kategori = 2; // golv
	objKonstr.type = type;

	objKonstr.oppforing = str_to_bool(data.getAttribute('iso1'));
	objKonstr.oppforing_iso_valg = data.getAttribute('iso1_navn');
	objKonstr.egendef_oppforing_iso = str_to_bool(data.getAttribute('iso1_egendef'));
	objKonstr.oppforing_iso_varmeledning = Number(data.getAttribute('iso1_varmeledning'));
	objKonstr.oppforing_iso_tykkelse = Number(data.getAttribute('iso1_tykkelse'));

	objKonstr.nedforing = str_to_bool(data.getAttribute('iso2'));
	objKonstr.nedforing_iso_valg = data.getAttribute('iso2_navn');
	objKonstr.egendef_nedforing_iso = str_to_bool(data.getAttribute('iso2_egendef'));
	objKonstr.nedforing_iso_varmeledning = Number(data.getAttribute('iso2_varmeledning'));
	objKonstr.nedforing_iso_tykkelse = Number(data.getAttribute('iso2_tykkelse'));

	objKonstr.ekstralag_std = str_to_bool(data.getAttribute('iso3'));
	objKonstr.ekstralag_std_iso_valg = data.getAttribute('iso3_navn');
	objKonstr.egendef_ekstralag_std_iso = str_to_bool(data.getAttribute('iso3_egendef'));
	objKonstr.ekstralag_std_iso_varmeledning = Number(data.getAttribute('iso3_varmeledning'));
	objKonstr.ekstralag_std_iso_tykkelse = Number(data.getAttribute('iso3_tykkelse'));

	objKonstr.undertak_valg = data.getAttribute('matr1_navn');
	objKonstr.egendef_undertak = str_to_bool(data.getAttribute('matr1_egendef'));
	objKonstr.undertak_varmeledning = Number(data.getAttribute('matr1_varmeledning'));
	objKonstr.undertak_tykkelse = Number(data.getAttribute('matr1_tykkelse'));

	objKonstr.dekke_valg = data.getAttribute('matr2_navn');
	objKonstr.egendef_dekke = str_to_bool(data.getAttribute('matr2_egendef'));
	objKonstr.dekke_varmeledning = Number(data.getAttribute('matr2_varmeledning'));
	objKonstr.dekke_tykkelse = Number(data.getAttribute('matr2_tykkelse'));

	objKonstr.ekstralag_plate = str_to_bool(data.getAttribute('matr3'));
	objKonstr.ekstralag_plate_valg = data.getAttribute('matr3_navn');
	objKonstr.egendef_ekstralag_plate = str_to_bool(data.getAttribute('matr3_egendef'));
	objKonstr.ekstralag_plate_varmeledning = Number(data.getAttribute('matr3_varmeledning'));
	objKonstr.ekstralag_plate_tykkelse = Number(data.getAttribute('matr3_tykkelse'));

	objKonstr.innvendig_valg = data.getAttribute('matr4_navn');
	objKonstr.egendef_innvendig = str_to_bool(data.getAttribute('matr4_egendef'));
	objKonstr.innvendig_varmeledning = Number(data.getAttribute('matr4_varmeledning'));
	objKonstr.innvendig_tykkelse = Number(data.getAttribute('matr4_tykkelse'));

	objKonstr.oppforing_valg = data.getAttribute('spikerslag1_navn');
	objKonstr.egendef_oppforing = str_to_bool(data.getAttribute('spikerslag1_egendef'));
	objKonstr.oppforing_varmeledning = Number(data.getAttribute('spikerslag1_varmeledning'));
	objKonstr.oppforing_arealandel = Number(data.getAttribute('spikerslag1_arealandel'));
	
	objKonstr.nedforing_valg = data.getAttribute('spikerslag2_navn');
	objKonstr.egendef_nedforing = str_to_bool(data.getAttribute('spikerslag2_egendef'));
	objKonstr.nedforing_varmeledning = Number(data.getAttribute('spikerslag2_varmeledning'));
	objKonstr.nedforing_arealandel = Number(data.getAttribute('spikerslag2_arealandel'));
	
	objKonstr.ekstralag_std_valg = data.getAttribute('spikerslag3_navn');
	objKonstr.egendef_ekstralag_std = str_to_bool(data.getAttribute('spikerslag3_egendef'));
	objKonstr.ekstralag_std_varmeledning = Number(data.getAttribute('spikerslag3_varmeledning'));
	objKonstr.ekstralag_std_arealandel = Number(data.getAttribute('spikerslag3_arealandel'));
	
	objKonstr.varmemotstand_kjeller = Number(data.getAttribute('div1'));

	return objKonstr;
}

function sett_konstrliste()
{
	var listeboks = document.getElementById("konstr_liste");
	listeboks.options.length = 0;
	var i;
	for (i = 0; i < arrayKonstr.length; i++) {
		listeboks.options[i] = new Option(arrayKonstr[i].navn, arrayKonstr[i], false, false);
	}
}

function lagre_btn()
{
	var navn_beregning = document.getElementById("navn_beregning").value;
	var melding = document.getElementById("lagre_melding");
	var i;
	var char;
	var chars = 0;
	for (i = 0; i < navn_beregning.length; i++) {
		char = navn_beregning.charAt(i);
		if (char != " ") {
			chars++;
		}
	}
	if (chars < 1) {
		melding.innerHTML = "<font color='Red'>Beräkningen måste ges ett namn";
		return;
	}
	for (i = 0; i < arrayBeregninger.length; i++) {
		if (arrayBeregninger[i].navn == navn_beregning) {
			melding.innerHTML = "<font color='Red'>Det finns redan en beräkning med detta namn.";
			return;
		}
	}
	melding.innerHTML = "";
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_lagre_beregning(xml.responseXML);
			}
		}
		xml.open("POST", "asp/lagre_beregning.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukerdata.navn + "'\n";
		xmlstring += "passord='" + brukerdata.passord + "' />\n";
		xmlstring += "<beregning navn='" + document.getElementById("navn_beregning").value + "'\n";
		xmlstring += "bruker='" + brukerdata.navn + "'\n";
		xmlstring += "klimasone='" + klimasone + "'\n";
		xmlstring += "klimasone09='" + klimasone09 + "'\n";
		xmlstring += "bygningstype='" + bygningstype + "'\n";
		xmlstring += "overflateareal='" + overflateareal + "'\n";
		xmlstring += "boligareal='" + boligareal + "'\n";
		xmlstring += "lokalerareal='" + lokalerareal + "'\n";
		xmlstring += "oppvarming='" + oppvarming + "' />\n";
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function svar_lagre_beregning(xml_respons)
{
	var ok = xml_respons.getElementsByTagName("Beregning")[0].getAttribute('ok');
	if (ok == "true") {
		var beregning = new Object();
		beregning.overflateareal = overflateareal;
		beregning.klimasone = klimasone;
		beregning.klimasone09 = klimasone09;
		beregning.oppvarming = oppvarming;
		beregning.boligareal = boligareal;
		beregning.lokalerareal = lokalerareal;
		beregning.bygningstype = bygningstype;
		beregning.navn = document.getElementById("navn_beregning").value;
		var listeboks = document.getElementById("aapne_liste");
		indeks_beregning = listeboks.options.length;
		listeboks.options[indeks_beregning] = new Option(beregning.navn, beregning.navn, false, false);
		arrayBeregninger.push(beregning);
		navn_beregning = beregning.navn;
		oppdater_statuslinje();
		konstr();
	}
}

function oppdater_beregning()
{
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_oppdater_beregning(xml.responseXML);
			}
		}
		xml.open("POST", "asp/oppdater_beregning.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukerdata.navn + "' \n";
		xmlstring += "passord='" + brukerdata.passord + "' />\n";
		xmlstring += "<beregning navn='" + navn_beregning + "'\n";
		xmlstring += "bygningstype='" + bygningstype + "'\n";
		xmlstring += "overflateareal='" + overflateareal + "'\n";
		xmlstring += "klimasone='" + klimasone + "'\n";
		xmlstring += "klimasone09='" + klimasone09 + "'\n";
		xmlstring += "oppvarming='" + oppvarming + "'\n";
		xmlstring += "boligareal='" + boligareal + "'\n";
		xmlstring += "lokalerareal='" + lokalerareal + "' />\n";
		xmlstring += "<beregning navn='" + navn_beregning + "'\n";
		xmlstring += "bruker='" + brukerdata.navn + "' />\n";
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function svar_oppdater_beregning(xml_respons)
{
	var ok = xml_respons.getElementsByTagName("Beregning")[0].getAttribute('ok');
	if (ok != "true") {
		arrayBeregninger[indeks_beregning].overflateareal = overflateareal;
		arrayBeregninger[indeks_beregning].klimasone = klimasone;
		arrayBeregninger[indeks_beregning].klimasone09 = klimasone09;
		arrayBeregninger[indeks_beregning].oppvarming = oppvarming;
		arrayBeregninger[indeks_beregning].boligareal = boligareal;
		arrayBeregninger[indeks_beregning].lokalerareal = lokalerareal;
		arrayBeregninger[indeks_beregning].bygningstype = bygningstype;
	}
}

function finn_konstr_kategori(kat)
{
	switch(kat)
	{
		case 0:
			return "vegg";
		case 1:
			return "tak";
		case 2:
			return "gulv";
	}
	return "";
}

function svar_ny_konstr(xml_respons)
{
	var ok = xml_respons.getElementsByTagName("Konstruksjon")[0].getAttribute('ok');
	if (ok == "false") {
		// melding feil
	}
}

function svar_oppd_konstr(xml_respons)
{
	var ok = xml_respons.getElementsByTagName("Konstruksjon")[0].getAttribute('ok');
	if (ok == "false") {
		// melding feil
	}
}

function svar_sl_konstr(xml_respons)
{
	var ok = xml_respons.getElementsByTagName("Konstruksjon")[0].getAttribute('ok');
	if (ok == "true") {
		// melding ok
	} else {
		// melding feil
	}
}

function svar_nytt_vindu(xml_respons)
{
	var ok = xml_respons.getElementsByTagName("Vindu")[0].getAttribute('ok');
	if (ok == "false") {
		// melding feil
	}
}

function svar_oppd_vindu(xml_respons)
{
	var ok = xml_respons.getElementsByTagName("Vindu")[0].getAttribute('ok');
	if (ok == "false") {
		// melding feil
	}
}

function svar_sl_vindu(xml_respons)
{
	var ok = xml_respons.getElementsByTagName("Vindu")[0].getAttribute('ok');
	if (ok == "true") {
		// melding ok
	} else {
		// melding feil
	}
}

function svar_ny_dor(xml_respons)
{
	var ok = xml_respons.getElementsByTagName("Dor")[0].getAttribute('ok');
	if (ok == "false") {
		// melding feil
	}
}

function svar_oppd_dor(xml_respons)
{
	var ok = xml_respons.getElementsByTagName("Dor")[0].getAttribute('ok');
	if (ok == "false") {
		// melding feil
	}
}

function svar_sl_dor(xml_respons)
{
	var ok = xml_respons.getElementsByTagName("Dor")[0].getAttribute('ok');
	if (ok == "true") {
		// melding ok
	} else {
		// melding feil
	}
}

function svar_ny_kuldebro(xml_respons)
{
	var ok = xml_respons.getElementsByTagName("Kuldebro")[0].getAttribute('ok');
	if (ok == "false") {
		// melding feil
	}
}

function svar_oppd_kuldebro(xml_respons)
{
	var ok = xml_respons.getElementsByTagName("Kuldebro")[0].getAttribute('ok');
	if (ok == "false") {
		// melding feil
	}
}

function svar_sl_kuldebro(xml_respons)
{
	var ok = xml_respons.getElementsByTagName("Kuldebro")[0].getAttribute('ok');
	if (ok == "true") {
		// melding ok
	} else {
		// melding feil
	}
}

function nytt_vindu(objNyttVindu)
{
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_nytt_vindu(xml.responseXML);
			}
		}
		xml.open("POST", "asp/lagre_vindu.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukerdata.navn + "'\n";
		xmlstring += "passord='" + brukerdata.passord + "' />\n";
		xmlstring += "<vindu bruker='" + brukerdata.navn + "'\n";
		xmlstring += "beregning='" + navn_beregning + "'\n";
		xmlstring += "navn='" + objNyttVindu.navn + "'\n";
		xmlstring += "areal='" + objNyttVindu.areal + "'\n";
		xmlstring += "uverdi='" + objNyttVindu.uverdi + "'\n";
		xmlstring += " />\n"
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function oppd_vindu(objNyttVindu, objGmlVindu)
{
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_oppd_vindu(xml.responseXML);
			}
		}
		xml.open("POST", "asp/oppdater_vindu.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukerdata.navn + "'\n";
		xmlstring += "passord='" + brukerdata.passord + "' />\n";
		xmlstring += "<konstr \n";
		xmlstring += "bruker='" + brukerdata.navn + "'\n";
		xmlstring += "beregning='" + navn_beregning + "'\n";
		xmlstring += "navn='" + objNyttVindu.navn + "'\n";
		xmlstring += "uverdi='" + objNyttVindu.uverdi + "'\n";
		xmlstring += "areal='" + objNyttVindu.areal + "'\n";
		xmlstring += " />\n"
		xmlstring += "<konstr bruker='" + brukerdata.navn + "'\n";
		xmlstring += "beregning='" + navn_beregning + "'\n";
		xmlstring += "navn='" + objGmlVindu.navn + "' />\n";
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function sl_vindu(objVindu)
{
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_sl_vindu(xml.responseXML);
			}
		}
		xml.open("POST", "asp/slett_vindu.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukerdata.navn + "'\n";
		xmlstring += "passord='" + brukerdata.passord + "' />\n";
		xmlstring += "<konstr \n";

		xmlstring += "bruker='" + brukerdata.navn + "'\n";
		xmlstring += "beregning='" + navn_beregning + "'\n";
		xmlstring += "navn='" + objVindu.navn + "'";
		xmlstring += "/>\n";
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function ny_dor(objNyDor)
{
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_ny_dor(xml.responseXML);
			}
		}
		xml.open("POST", "asp/lagre_dor.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukerdata.navn + "'\n";
		xmlstring += "passord='" + brukerdata.passord + "' />\n";
		xmlstring += "<dor bruker='" + brukerdata.navn + "'\n";
		xmlstring += "beregning='" + navn_beregning + "'\n";
		xmlstring += "navn='" + objNyDor.navn + "'\n";
		xmlstring += "areal='" + objNyDor.areal + "'\n";
		xmlstring += "uverdi='" + objNyDor.uverdi + "'\n";
		xmlstring += " />\n"
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function oppd_dor(objNyDor, objGmlDor)
{
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_oppd_dor(xml.responseXML);
			}
		}
		xml.open("POST", "asp/oppdater_dor.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukerdata.navn + "'\n";
		xmlstring += "passord='" + brukerdata.passord + "' />\n";
		xmlstring += "<konstr \n";
		xmlstring += "bruker='" + brukerdata.navn + "'\n";
		xmlstring += "beregning='" + navn_beregning + "'\n";
		xmlstring += "navn='" + objNyDor.navn + "'\n";
		xmlstring += "uverdi='" + objNyDor.uverdi + "'\n";
		xmlstring += "areal='" + objNyDor.areal + "'\n";
		xmlstring += " />\n"
		xmlstring += "<konstr bruker='" + brukerdata.navn + "'\n";
		xmlstring += "beregning='" + navn_beregning + "'\n";
		xmlstring += "navn='" + objGmlDor.navn + "' />\n";
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function sl_dor(objDor)
{
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_sl_dor(xml.responseXML);
			}
		}
		xml.open("POST", "asp/slett_dor.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukerdata.navn + "'\n";
		xmlstring += "passord='" + brukerdata.passord + "' />\n";
		xmlstring += "<konstr \n";

		xmlstring += "bruker='" + brukerdata.navn + "'\n";
		xmlstring += "beregning='" + navn_beregning + "'\n";
		xmlstring += "navn='" + objDor.navn + "'";
		xmlstring += "/>\n";
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function ny_kuldebro(objNyKuldebro)
{
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_ny_kuldebro(xml.responseXML);
			}
		}
		xml.open("POST", "asp/lagre_kuldebro.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukerdata.navn + "'\n";
		xmlstring += "passord='" + brukerdata.passord + "' />\n";
		xmlstring += "<kuldebro bruker='" + brukerdata.navn + "'\n";
		xmlstring += "beregning='" + navn_beregning + "'\n";
		xmlstring += "navn='" + objNyKuldebro.navn + "'\n";
		xmlstring += "lengde='" + objNyKuldebro.lengde + "'\n";
		xmlstring += "verdi='" + objNyKuldebro.verdi + "'\n";
		xmlstring += " />\n"
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function oppd_kuldebro(objNyKuldebro, objGmlKuldebro)
{
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_oppd_kuldebro(xml.responseXML);
			}
		}
		xml.open("POST", "asp/oppdater_kuldebro.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukerdata.navn + "'\n";
		xmlstring += "passord='" + brukerdata.passord + "' />\n";
		xmlstring += "<kuldebro \n";
		xmlstring += "bruker='" + brukerdata.navn + "'\n";
		xmlstring += "beregning='" + navn_beregning + "'\n";
		xmlstring += "navn='" + objNyKuldebro.navn + "'\n";
		xmlstring += "verdi='" + objNyKuldebro.verdi + "'\n";
		xmlstring += "lengde='" + objNyKuldebro.lengde + "'\n";
		xmlstring += " />\n"
		xmlstring += "<konstr bruker='" + brukerdata.navn + "'\n";
		xmlstring += "beregning='" + navn_beregning + "'\n";
		xmlstring += "navn='" + objGmlKuldebro.navn + "' />\n";
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function sl_kuldebro(objKuldebro)
{
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_sl_kuldebro(xml.responseXML);
			}
		}
		xml.open("POST", "asp/slett_kuldebro.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukerdata.navn + "'\n";
		xmlstring += "passord='" + brukerdata.passord + "' />\n";
		xmlstring += "<kuldebro \n";

		xmlstring += "bruker='" + brukerdata.navn + "'\n";
		xmlstring += "beregning='" + navn_beregning + "'\n";
		xmlstring += "navn='" + objKuldebro.navn + "'";
		xmlstring += "/>\n";
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function ny_konstr(objNyKonstr)
{
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_ny_konstr(xml.responseXML);
			}
		}
		xml.open("POST", "asp/lagre_konstr.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukerdata.navn + "'\n";
		xmlstring += "passord='" + brukerdata.passord + "' />\n";
		xmlstring += "<konstr bruker='" + brukerdata.navn + "'\n";
		xmlstring += "beregning='" + navn_beregning + "'\n";
		xmlstring += "navn='" + objNyKonstr.navn + "'\n";
		xmlstring += "uverdi='" + objNyKonstr.uverdi + "'\n";
		var konstr_kategori = finn_konstr_kategori(objNyKonstr.kategori);
		xmlstring += "kategori='" + konstr_kategori + "'\n";
		var konstr_type = arrayKonstrType[objNyKonstr.kategori][objNyKonstr.type].navn;
		xmlstring += "type='" + konstr_type + "'\n";
		xmlstring += "areal='" + objNyKonstr.areal + "'\n";
		if (konstr_kategori == "vegg")
			xmlstring += ny_vegg_konstr(objNyKonstr);
		else if (konstr_kategori == "tak")
			xmlstring += ny_tak_konstr(objNyKonstr);
		else if (konstr_kategori == "gulv")
			xmlstring += ny_gulv_konstr(objNyKonstr);
		xmlstring += " />\n"
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function oppd_konstr(objNyKonstr, objGmlKonstr)
{
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_oppd_konstr(xml.responseXML);
			}
		}
		xml.open("POST", "asp/oppdater_konstr.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukerdata.navn + "'\n";
		xmlstring += "passord='" + brukerdata.passord + "' />\n";
		xmlstring += "<konstr \n";
		xmlstring += "bruker='" + brukerdata.navn + "'\n";
		xmlstring += "beregning='" + navn_beregning + "'\n";
		xmlstring += "navn='" + objNyKonstr.navn + "'\n";
		xmlstring += "uverdi='" + objNyKonstr.uverdi + "'\n";
		var konstr_kategori = finn_konstr_kategori(objNyKonstr.kategori);
		xmlstring += "kategori='" + konstr_kategori + "'\n";
		var konstr_type = arrayKonstrType[objNyKonstr.kategori][objNyKonstr.type].navn;
		xmlstring += "type='" + konstr_type + "'\n";
		xmlstring += "areal='" + objNyKonstr.areal + "'\n";
		if (konstr_kategori == "vegg")
			xmlstring += ny_vegg_konstr(objNyKonstr);
		else if (konstr_kategori == "tak")
			xmlstring += ny_tak_konstr(objNyKonstr);
		else if (konstr_kategori == "gulv")
			xmlstring += ny_gulv_konstr(objNyKonstr);
		xmlstring += " />\n"
		xmlstring += "<konstr bruker='" + brukerdata.navn + "'\n";
		xmlstring += "beregning='" + navn_beregning + "'\n";
		xmlstring += "navn='" + objGmlKonstr.navn + "'\n";
		konstr_type = arrayKonstrType[objGmlKonstr.kategori][objGmlKonstr.type].navn;
		xmlstring += "type='" + konstr_type + "' />\n";
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function sl_konstr(objKonstr, type)
{
	var xml = lag_xml_objekt();
	if (xml) {
		xml.onreadystatechange = function(){
			if(xml.readyState == 4){
				svar_sl_konstr(xml.responseXML);
			}
		}
		xml.open("POST", "asp/slett_konstr.asp", true);
		xml.setRequestHeader("Content-Type", "xml/text");
		var xmlstring = "<?xml version='1.0' encoding='utf-8'?>\n";
		xmlstring += "<data>\n";
		xmlstring += "<bruker navn='" + brukerdata.navn + "'\n";
		xmlstring += "passord='" + brukerdata.passord + "' />\n";
		xmlstring += "<konstr \n";
		xmlstring += "bruker='" + brukerdata.navn + "'\n";
		xmlstring += "beregning='" + navn_beregning + "'\n";
		xmlstring += "navn='" + objKonstr.navn + "'";
		if (type != "") {
			xmlstring += "type='" + type + "'";
		}
		xmlstring += "/>\n";
		xmlstring += "</data>";
		xml.send(xmlstring);
	}
}

function ny_vegg_konstr(objNyKonstr)
{
	if (arrayKonstrNavn[objNyKonstr.kategori][objNyKonstr.type] == "trevegg")
		return ny_trevegg(objNyKonstr);
	if (arrayKonstrNavn[objNyKonstr.kategori][objNyKonstr.type] == "reisverksvegg")
		return ny_murvegg(objNyKonstr); // samme inputvariabler som murvegg
	if (arrayKonstrNavn[objNyKonstr.kategori][objNyKonstr.type] == "flexvegg")
		return ny_flexvegg(objNyKonstr);
	if (arrayKonstrNavn[objNyKonstr.kategori][objNyKonstr.type] == "murvegg")
		return ny_murvegg(objNyKonstr);
	if (arrayKonstrNavn[objNyKonstr.kategori][objNyKonstr.type] == "kjellervegg")
		return ny_kjellervegg(objNyKonstr);
}

function ny_tak_konstr(objNyKonstr)
{
	if (arrayKonstrNavn[objNyKonstr.kategori][objNyKonstr.type] == "kaldtloft")
		return ny_kaldtloft(objNyKonstr);
	if (arrayKonstrNavn[objNyKonstr.kategori][objNyKonstr.type] == "skratak")
		return ny_skratak(objNyKonstr);
	if (arrayKonstrNavn[objNyKonstr.kategori][objNyKonstr.type] == "atakstol") {
		lagrer_atakstol = true;
		objAtakstol = objNyKonstr;
		return ny_atakstol(objNyKonstr);
	}
	if (arrayKonstrNavn[objNyKonstr.kategori][objNyKonstr.type] == "torvtak")
		return ny_torvtak(objNyKonstr);
	if (arrayKonstrNavn[objNyKonstr.kategori][objNyKonstr.type] == "flattak")
		return ny_flattak(objNyKonstr);
}

function ny_gulv_konstr(objNyKonstr)
{
	if (arrayKonstrNavn[objNyKonstr.kategori][objNyKonstr.type] == "gulvgrunn")
		return ny_gulvgrunn(objNyKonstr);
	if (arrayKonstrNavn[objNyKonstr.kategori][objNyKonstr.type] == "gulvkjeller")
		return ny_gulvkjeller(objNyKonstr);
	if (arrayKonstrNavn[objNyKonstr.kategori][objNyKonstr.type] == "bjelkelag")
		return ny_bjelkelag(objNyKonstr);
	if (arrayKonstrNavn[objNyKonstr.kategori][objNyKonstr.type] == "dekke")
		return ny_dekke(objNyKonstr);
}

function lag_iso_xml(lead, aktiv, navn, egendef, varmeledning, tykkelse)
{
	var xmlstring = lead + "='" + aktiv + "'\n";
	xmlstring += lead + "_navn='" + navn + "'\n";
	xmlstring += lead + "_egendef='" + egendef + "'\n";
	xmlstring += lead + "_varmeledning='" + varmeledning + "'\n";
	xmlstring += lead + "_tykkelse='" + tykkelse + "'\n";
	return xmlstring;
}

function lag_kantiso_xml(lead, aktiv, navn, egendef, varmeledning, tykkelse, dybde)
{
	var xmlstring = lead + "='" + aktiv + "'\n";
	xmlstring += lead + "_navn='" + navn + "'\n";
	xmlstring += lead + "_egendef='" + egendef + "'\n";
	xmlstring += lead + "_varmeledning='" + varmeledning + "'\n";
	xmlstring += lead + "_tykkelse='" + tykkelse + "'\n";
	xmlstring += lead + "_dybde='" + dybde + "'\n";
	return xmlstring;
}

function lag_spikerslag_xml(lead, aktiv, navn, egendef, varmeledning, arealandel)
{
	var xmlstring = lead + "='" + aktiv + "'\n";
	xmlstring += lead + "_navn='" + navn + "'\n";
	xmlstring += lead + "_egendef='" + egendef + "'\n";
	xmlstring += lead + "_varmeledning='" + varmeledning + "'\n";
	xmlstring += lead + "_arealandel='" + arealandel + "'\n";
	return xmlstring;
}

function lag_luftlag_xml(aktiv, navn, tykkelse)
{
	var xmlstring = "luftlag='" + aktiv + "'\n";
	xmlstring += "luftlag_navn='" + navn + "'\n";
	xmlstring += "luftlag_tykkelse='" + tykkelse + "'\n";
	return xmlstring;
}

function lag_grunn_xml(navn, egendef, varmekap, varmeledning)
{
	var xmlstring = "grunn_navn='" + navn + "'\n";
	xmlstring += "grunn_egendef='" + egendef + "'\n";
	xmlstring += "grunn_varmekap='" + varmekap + "'\n";
	xmlstring += "grunn_varmeledning='" + varmeledning + "'\n";
	return xmlstring;
}

function lag_div_xml(div1, div2, div3, div4) // brukes til å lagre diverse enkeltverdier
{
	var xmlstring = "div1='" + div1 + "'\n";
	xmlstring += "div2='" + div2 + "'\n";
	xmlstring += "div3='" + div3 + "'\n";
	xmlstring += "div4='" + div4 + "'\n";
	return xmlstring;
}

function lag_bjelkelag_h_xml(navn, egendef, hoyde)
{
	var xmlstring = "bjelkelag_hoyde_navn='" + navn + "'\n";
	xmlstring += "bjelkelag_hoyde_egendef='" + egendef + "'\n";
	xmlstring += "bjelkelag_hoyde='" + hoyde + "'\n";
	return xmlstring;
}

function ny_trevegg(objKonstr)
{
	var xmlstring = lag_iso_xml("iso1", 
								objKonstr.utv_utforing,
								objKonstr.utv_utforing_iso_valg,
								objKonstr.egendef_utv_utforing_iso,
								objKonstr.utv_utforing_iso_varmeledning,
								objKonstr.utv_utforing_iso_tykkelse);
	xmlstring += lag_iso_xml("iso2",
							 true, // hovudisolering kan ikke slås av
							 objKonstr.iso_valg,
							 objKonstr.egendef_iso,
							 objKonstr.iso_varmeledning,
							 objKonstr.iso_tykkelse);
	xmlstring += lag_iso_xml("iso3",
							 objKonstr.innv_utforing,
							 objKonstr.innv_utforing_iso_valg,
							 objKonstr.egendef_innv_utforing_iso,
							 objKonstr.innv_utforing_iso_varmeledning,
							 objKonstr.innv_utforing_iso_tykkelse);
	xmlstring += lag_iso_xml("iso4",
							 objKonstr.ekstralag_std,
							 objKonstr.ekstralag_std_iso_valg,
							 objKonstr.egendef_ekstralag_std_iso,
							 objKonstr.ekstralag_std_iso_varmeledning,
							 objKonstr.ekstralag_std_iso_tykkelse);
	xmlstring += lag_iso_xml("iso5", false, "", false, 0, 0);
	xmlstring += lag_iso_xml("iso6", false, "", false, 0, 0);
	xmlstring += lag_kantiso_xml("kantiso", false, "", false, 0, 0, 0);
	xmlstring += lag_kantiso_xml("markiso", false, "", false, 0, 0, 0);
	xmlstring += lag_iso_xml("matr1",
							 true,
							 objKonstr.utv_kledning_valg,
							 objKonstr.egendef_utv_kledning,
							 objKonstr.utv_kledning_varmeledning,
							 objKonstr.utv_kledning_tykkelse);
	xmlstring += lag_iso_xml("matr2",
							 true,
							 objKonstr.vindtetting_valg,
							 objKonstr.egendef_vindtetting,
							 objKonstr.vindtetting_varmeledning,
							 objKonstr.vindtetting_tykkelse);
	xmlstring += lag_iso_xml("matr3",
							 true,
							 objKonstr.innv_kledning_valg,
							 objKonstr.egendef_innv_kledning,
							 objKonstr.innv_kledning_varmeledning,
							 objKonstr.innv_kledning_tykkelse);
	xmlstring += lag_iso_xml("matr4",
							 objKonstr.ekstralag_plate,
							 objKonstr.ekstralag_plate_valg,
							 objKonstr.egendef_ekstralag_plate,
							 objKonstr.ekstralag_plate_varmeledning,
							 objKonstr.ekstralag_plate_tykkelse);
	xmlstring += lag_iso_xml("matr5", false, "", false, 0, 0);
	xmlstring += lag_spikerslag_xml("spikerslag1",
							 		true,
							 		objKonstr.utv_utforing_valg,
							 		objKonstr.egendef_utv_utforing,
							 		objKonstr.utv_utforing_varmeledning,
							 		objKonstr.utv_utforing_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag2",
							 		true,
							 		objKonstr.reisverk_valg,
							 		objKonstr.egendef_reisverk,
							 		objKonstr.reisverk_varmeledning,
							 		objKonstr.reisverk_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag3",
							 		true,
							 		objKonstr.innv_utforing_valg,
							 		objKonstr.egendef_innv_utforing,
							 		objKonstr.innv_utforing_varmeledning,
							 		objKonstr.innv_utforing_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag4",
							 		true,
							 		objKonstr.ekstralag_std_valg,
							 		objKonstr.egendef_ekstralag_std,
							 		objKonstr.ekstralag_std_varmeledning,
							 		objKonstr.ekstralag_std_arealandel);
	xmlstring += lag_luftlag_xml(objKonstr.luftlag,
								 objKonstr.luftlag_valg,
							     objKonstr.luftlag_tykkelse);
	xmlstring += lag_grunn_xml("", false, 0, 0);
	xmlstring += lag_bjelkelag_h_xml("", false, 0);
	xmlstring += lag_div_xml(0, 0, 0, 0);

	return xmlstring;
}

function ny_murvegg(objKonstr)
{
	var xmlstring = lag_iso_xml("iso1", 
								objKonstr.utv_utforing,
								objKonstr.utv_utforing_iso_valg,
								objKonstr.egendef_utv_utforing_iso,
								objKonstr.utv_utforing_iso_varmeledning,
								objKonstr.utv_utforing_iso_tykkelse);
	xmlstring += lag_iso_xml("iso2",
							 objKonstr.innv_utforing,
							 objKonstr.innv_utforing_iso_valg,
							 objKonstr.egendef_innv_utforing_iso,
							 objKonstr.innv_utforing_iso_varmeledning,
							 objKonstr.innv_utforing_iso_tykkelse);
	xmlstring += lag_iso_xml("iso3",
							 objKonstr.ekstralag_std,
							 objKonstr.ekstralag_std_iso_valg,
							 objKonstr.egendef_ekstralag_std_iso,
							 objKonstr.ekstralag_std_iso_varmeledning,
							 objKonstr.ekstralag_std_iso_tykkelse);
	xmlstring += lag_iso_xml("iso4", false, "", false, 0, 0);
	xmlstring += lag_iso_xml("iso5", false, "", false, 0, 0);
	xmlstring += lag_iso_xml("iso6", false, "", false, 0, 0);
	xmlstring += lag_kantiso_xml("kantiso", false, "", false, 0, 0, 0);
	xmlstring += lag_kantiso_xml("markiso", false, "", false, 0, 0, 0);
	xmlstring += lag_iso_xml("matr1",
							 true,
							 objKonstr.reisverk_valg,
							 objKonstr.egendef_reisverk,
							 objKonstr.reisverk_varmeledning,
							 objKonstr.reisverk_tykkelse);
	xmlstring += lag_iso_xml("matr2",
							 true,
							 objKonstr.utv_kledning_valg,
							 objKonstr.egendef_utv_kledning,
							 objKonstr.utv_kledning_varmeledning,
							 objKonstr.utv_kledning_tykkelse);
	xmlstring += lag_iso_xml("matr3",
							 true,
							 objKonstr.vindtetting_valg,
							 objKonstr.egendef_vindtetting,
							 objKonstr.vindtetting_varmeledning,
							 objKonstr.vindtetting_tykkelse);
	xmlstring += lag_iso_xml("matr4",
							 true,
							 objKonstr.innv_kledning_valg,
							 objKonstr.egendef_innv_kledning,
							 objKonstr.innv_kledning_varmeledning,
							 objKonstr.innv_kledning_tykkelse);
	xmlstring += lag_iso_xml("matr5",
							 objKonstr.ekstralag_plate,
							 objKonstr.ekstralag_plate_valg,
							 objKonstr.egendef_ekstralag_plate,
							 objKonstr.ekstralag_plate_varmeledning,
							 objKonstr.ekstralag_plate_tykkelse);
	xmlstring += lag_spikerslag_xml("spikerslag1",
							 		true,
							 		objKonstr.utv_utforing_valg,
							 		objKonstr.egendef_utv_utforing,
							 		objKonstr.utv_utforing_varmeledning,
							 		objKonstr.utv_utforing_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag2",
							 		true,
							 		objKonstr.innv_utforing_valg,
							 		objKonstr.egendef_innv_utforing,
							 		objKonstr.innv_utforing_varmeledning,
							 		objKonstr.innv_utforing_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag3",
							 		true,
							 		objKonstr.ekstralag_std_valg,
							 		objKonstr.egendef_ekstralag_std,
							 		objKonstr.ekstralag_std_varmeledning,
							 		objKonstr.ekstralag_std_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag4", false, "", false, 0, 0);
	xmlstring += lag_luftlag_xml(objKonstr.luftlag,
								 objKonstr.luftlag_valg,
							     objKonstr.luftlag_tykkelse);

	xmlstring += lag_grunn_xml("", false, 0, 0);
	xmlstring += lag_bjelkelag_h_xml("", false, 0);
	xmlstring += lag_div_xml(0, 0, 0, 0);

	return xmlstring;
}

function ny_flexvegg(objKonstr)
{
	var xmlstring = lag_iso_xml("iso1", 
								objKonstr.utv_utforing,
								objKonstr.utv_utforing_iso_valg,
								objKonstr.egendef_utv_utforing_iso,
								objKonstr.utv_utforing_iso_varmeledning,
								objKonstr.utv_utforing_iso_tykkelse);
	xmlstring += lag_iso_xml("iso2",
							 true,
							 objKonstr.bindingsverk_iso_valg,
							 objKonstr.egendef_bindingsverk_iso,
							 objKonstr.bindingsverk_iso_varmeledning,
							 objKonstr.bindingsverk_iso_tykkelse);
	xmlstring += lag_iso_xml("iso3",
							 objKonstr.innv_utforing,
							 objKonstr.innv_utforing_iso_valg,
							 objKonstr.egendef_innv_utforing_iso,
							 objKonstr.innv_utforing_iso_varmeledning,
							 objKonstr.innv_utforing_iso_tykkelse);
	xmlstring += lag_iso_xml("iso4",
							 objKonstr.ekstralag_std,
							 objKonstr.ekstralag_std_iso_valg,
							 objKonstr.egendef_ekstralag_std_iso,
							 objKonstr.ekstralag_std_iso_varmeledning,
							 objKonstr.ekstralag_std_iso_tykkelse);
	xmlstring += lag_iso_xml("iso5", false, "", false, 0, 0);
	xmlstring += lag_iso_xml("iso6", false, "", false, 0, 0);
	xmlstring += lag_kantiso_xml("kantiso", false, "", false, 0, 0, 0);
	xmlstring += lag_kantiso_xml("markiso", false, "", false, 0, 0, 0);
	xmlstring += lag_iso_xml("matr1",
							 true,
							 objKonstr.reisverk_valg,
							 objKonstr.egendef_reisverk,
							 objKonstr.reisverk_varmeledning,
							 objKonstr.reisverk_tykkelse);
	xmlstring += lag_iso_xml("matr2",
							 true,
							 objKonstr.utv_kledning_valg,
							 objKonstr.egendef_utv_kledning,
							 objKonstr.utv_kledning_varmeledning,
							 objKonstr.utv_kledning_tykkelse);
	xmlstring += lag_iso_xml("matr3",
							 true,
							 objKonstr.vindtetting_valg,
							 objKonstr.egendef_vindtetting,
							 objKonstr.vindtetting_varmeledning,
							 objKonstr.vindtetting_tykkelse);
	xmlstring += lag_iso_xml("matr4",
							 true,
							 objKonstr.innv_kledning_valg,
							 objKonstr.egendef_innv_kledning,
							 objKonstr.innv_kledning_varmeledning,
							 objKonstr.innv_kledning_tykkelse);
	xmlstring += lag_iso_xml("matr5",
							 objKonstr.ekstralag_plate,
							 objKonstr.ekstralag_plate_valg,
							 objKonstr.egendef_ekstralag_plate,
							 objKonstr.ekstralag_plate_varmeledning,
							 objKonstr.ekstralag_plate_tykkelse);
	xmlstring += lag_spikerslag_xml("spikerslag1",
							 		true,
							 		objKonstr.bindingsverk_valg,
							 		objKonstr.bindingsverk_utforing,
							 		objKonstr.bindingsverk_varmeledning,
							 		objKonstr.bindingsverk_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag2",
							 		true,
							 		objKonstr.innv_utforing_valg,
							 		objKonstr.egendef_innv_utforing,
							 		objKonstr.innv_utforing_varmeledning,
							 		objKonstr.innv_utforing_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag3",
							 		true,
							 		objKonstr.ekstralag_std_valg,
							 		objKonstr.egendef_ekstralag_std,
							 		objKonstr.ekstralag_std_varmeledning,
							 		objKonstr.ekstralag_std_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag4", false, "", false, 0, 0);
	xmlstring += lag_luftlag_xml(objKonstr.luftlag,
								 objKonstr.luftlag_valg,
							     objKonstr.luftlag_tykkelse);

	xmlstring += lag_grunn_xml("", false, 0, 0);
	xmlstring += lag_bjelkelag_h_xml("", false, 0);
	xmlstring += lag_div_xml(objKonstr.type_baering,
							 objKonstr.feste_tetthet, 
							 objKonstr.feste_diameter, 
							 objKonstr.feste_varmeledning);

	return xmlstring;
}

function ny_kjellervegg(objKonstr)
{
	var xmlstring = lag_iso_xml("iso1", 
								objKonstr.utv_utforing,
								objKonstr.utv_utforing_iso_valg,
								objKonstr.egendef_utv_utforing_iso,
								objKonstr.utv_utforing_iso_varmeledning,
								objKonstr.utv_utforing_iso_tykkelse);
	xmlstring += lag_iso_xml("iso2",
							 objKonstr.innv_utforing,
							 objKonstr.innv_utforing_iso_valg,
							 objKonstr.egendef_innv_utforing_iso,
							 objKonstr.innv_utforing_iso_varmeledning,
							 objKonstr.innv_utforing_iso_tykkelse);
	xmlstring += lag_iso_xml("iso3",
							 objKonstr.ekstralag_std,
							 objKonstr.ekstralag_std_iso_valg,
							 objKonstr.egendef_ekstralag_std_iso,
							 objKonstr.ekstralag_std_iso_varmeledning,
							 objKonstr.ekstralag_std_iso_tykkelse);
	xmlstring += lag_iso_xml("iso4", 
							 objKonstr.utv_iso,
							 objKonstr.utv_iso_valg,
							 objKonstr.egendef_utv_iso,
							 objKonstr.utv_iso_varmeledning,
							 objKonstr.utv_iso_tykkelse);
	xmlstring += lag_iso_xml("iso5", false, "", false, 0, 0);
	xmlstring += lag_iso_xml("iso6", false, "", false, 0, 0);
	xmlstring += lag_kantiso_xml("kantiso", false, "", false, 0, 0, 0);
	xmlstring += lag_kantiso_xml("markiso", false, "", false, 0, 0, 0);
	xmlstring += lag_iso_xml("matr1",
							 true,
							 objKonstr.baering_valg,
							 objKonstr.egendef_baering,
							 objKonstr.baering_varmeledning,
							 objKonstr.baering_tykkelse);
	xmlstring += lag_iso_xml("matr2",
							 true,
							 objKonstr.utv_kledning_valg,
							 objKonstr.egendef_utv_kledning,
							 objKonstr.utv_kledning_varmeledning,
							 objKonstr.utv_kledning_tykkelse);
	xmlstring += lag_iso_xml("matr3",
							 true,
							 objKonstr.innv_kledning_valg,
							 objKonstr.egendef_innv_kledning,
							 objKonstr.innv_kledning_varmeledning,
							 objKonstr.innv_kledning_tykkelse);
	xmlstring += lag_iso_xml("matr4",
							 objKonstr.ekstralag_plate,
							 objKonstr.ekstralag_plate_valg,
							 objKonstr.egendef_ekstralag_plate,
							 objKonstr.ekstralag_plate_varmeledning,
							 objKonstr.ekstralag_plate_tykkelse);
	xmlstring += lag_iso_xml("matr5", false, "", false, 0, 0);
	xmlstring += lag_spikerslag_xml("spikerslag1",
							 		true,
							 		objKonstr.utv_utforing_valg,
							 		objKonstr.egendef_utv_utforing,
							 		objKonstr.utv_utforing_varmeledning,
							 		objKonstr.utv_utforing_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag2",
							 		true,
							 		objKonstr.innv_utforing_valg,
							 		objKonstr.egendef_innv_utforing,
							 		objKonstr.innv_utforing_varmeledning,
							 		objKonstr.innv_utforing_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag3",
							 		true,
							 		objKonstr.ekstralag_std_valg,
							 		objKonstr.egendef_ekstralag_std,
							 		objKonstr.ekstralag_std_varmeledning,
							 		objKonstr.ekstralag_std_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag4", false, "", false, 0, 0);
	xmlstring += lag_luftlag_xml(false, "", 0);
	xmlstring += lag_grunn_xml(objKonstr.grunn_valg,
							   objKonstr.egendef_grunn,
							   objKonstr.grunn_varmekap,
							   objKonstr.grunn_varmeledning);
	xmlstring += lag_bjelkelag_h_xml("", false, 0);
	xmlstring += lag_div_xml(objKonstr.oppfyllingshoyde, 
							 objKonstr.hoyde, 0, 0);

	return xmlstring;
}

function ny_kaldtloft(objKonstr)
{
	var xmlstring = lag_iso_xml("iso1", 
								true,
								objKonstr.iso_valg,
								objKonstr.egendef_iso,
								objKonstr.iso_varmeledning,
								objKonstr.iso_tykkelse);
	xmlstring += lag_iso_xml("iso2",
							 objKonstr.iso_loft,
							 objKonstr.iso_loft_valg,
							 objKonstr.egendef_iso_loft,
							 objKonstr.iso_loft_varmeledning,
							 objKonstr.iso_loft_tykkelse);
	xmlstring += lag_iso_xml("iso3",
							 objKonstr.nedforing,
							 objKonstr.nedforing_iso_valg,
							 objKonstr.egendef_nedforing_iso,
							 objKonstr.nedforing_iso_varmeledning,
							 objKonstr.nedforing_iso_tykkelse);
	xmlstring += lag_iso_xml("iso4",
							 objKonstr.ekstralag_std,
							 objKonstr.ekstralag_std_iso_valg,
							 objKonstr.egendef_ekstralag_std_iso,
							 objKonstr.ekstralag_std_iso_varmeledning,
							 objKonstr.ekstralag_std_iso_tykkelse);
	xmlstring += lag_iso_xml("iso5", false, "", false, 0, 0);
	xmlstring += lag_iso_xml("iso6", false, "", false, 0, 0);
	xmlstring += lag_kantiso_xml("kantiso", false, "", false, 0, 0, 0);
	xmlstring += lag_kantiso_xml("markiso", false, "", false, 0, 0, 0);
	xmlstring += lag_iso_xml("matr1",
							 true,
							 objKonstr.undertak_valg,
							 objKonstr.egendef_undertak,
							 objKonstr.undertak_varmeledning,
							 objKonstr.undertak_tykkelse);
	xmlstring += lag_iso_xml("matr2",
							 objKonstr.dekke,
							 objKonstr.dekke_valg,
							 objKonstr.egendef_dekke,
							 objKonstr.dekke_varmeledning,
							 objKonstr.dekke_tykkelse);
	xmlstring += lag_iso_xml("matr3",
							 objKonstr.ekstralag_plate,
							 objKonstr.ekstralag_plate_valg,
							 objKonstr.egendef_ekstralag_plate,
							 objKonstr.ekstralag_plate_varmeledning,
							 objKonstr.ekstralag_plate_tykkelse);
	xmlstring += lag_iso_xml("matr4", false, "", false, 0, 0);
	xmlstring += lag_iso_xml("matr5", false, "", false, 0, 0);
	xmlstring += lag_spikerslag_xml("spikerslag1",
							 		true,
							 		objKonstr.bjelkelag_valg,
							 		objKonstr.egendef_bjelkelag,
							 		objKonstr.bjelkelag_varmeledning,
							 		objKonstr.bjelkelag_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag2",
							 		true,
							 		objKonstr.nedforing_valg,
							 		objKonstr.egendef_nedforing,
							 		objKonstr.nedforing_varmeledning,
							 		objKonstr.nedforing_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag3",
							 		true,
							 		objKonstr.ekstralag_std_valg,
							 		objKonstr.egendef_ekstralag_std,
							 		objKonstr.ekstralag_std_varmeledning,
							 		objKonstr.ekstralag_std_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag4", false, "", false, 0, 0);
	xmlstring += lag_luftlag_xml(false, "", 0);
	xmlstring += lag_grunn_xml("", false, 0, 0);
	xmlstring += lag_bjelkelag_h_xml(objKonstr.bjelkelag_h_valg, 
									 objKonstr.egendef_bjelkelag_h, 
									 objKonstr.bjelkelag_hoyde);
	xmlstring += lag_div_xml(objKonstr.varmemotstand_loft, 0, 0, 0);

	return xmlstring;
}

function ny_skratak(objKonstr)
{
	var xmlstring = lag_iso_xml("iso1", 
								true,
								objKonstr.iso_valg,
								objKonstr.egendef_iso,
								objKonstr.iso_varmeledning,
								objKonstr.iso_tykkelse);
	xmlstring += lag_iso_xml("iso2", 
							objKonstr.iso2,
							objKonstr.iso2_valg,
							objKonstr.egendef_iso2,
							objKonstr.iso2_varmeledning,
							objKonstr.iso2_tykkelse);
	xmlstring += lag_iso_xml("iso3",
							 objKonstr.oppforing,
							 objKonstr.oppforing_iso_valg,
							 objKonstr.egendef_oppforing_iso,
							 objKonstr.oppforing_iso_varmeledning,
							 objKonstr.oppforing_iso_tykkelse);
	xmlstring += lag_iso_xml("iso4",
							 objKonstr.nedforing,
							 objKonstr.nedforing_iso_valg,
							 objKonstr.egendef_nedforing_iso,
							 objKonstr.nedforing_iso_varmeledning,
							 objKonstr.nedforing_iso_tykkelse);
	xmlstring += lag_iso_xml("iso5",
							 objKonstr.ekstralag_std,
							 objKonstr.ekstralag_std_iso_valg,
							 objKonstr.egendef_ekstralag_std_iso,
							 objKonstr.ekstralag_std_iso_varmeledning,
							 objKonstr.ekstralag_std_iso_tykkelse);
	xmlstring += lag_iso_xml("iso6", false, "", false, 0, 0);
	xmlstring += lag_kantiso_xml("kantiso", false, "", false, 0, 0, 0);
	xmlstring += lag_kantiso_xml("markiso", false, "", false, 0, 0, 0);
	xmlstring += lag_iso_xml("matr1",
							 true,
							 objKonstr.yttertak_valg,
							 objKonstr.egendef_yttertak,
							 objKonstr.ytterrtak_varmeledning,
							 objKonstr.yttertak_tykkelse);
	xmlstring += lag_iso_xml("matr2",
							 objKonstr.ekstralag_plate,
							 objKonstr.ekstralag_plate_valg,
							 objKonstr.egendef_ekstralag_plate,
							 objKonstr.ekstralag_plate_varmeledning,
							 objKonstr.ekstralag_plate_tykkelse);
	xmlstring += lag_iso_xml("matr3", 
							 true, 
							 objKonstr.undertak_valg, 
							 objKonstr.egendef_undertak, 
							 objKonstr.undertak_varmeledning, 
							 objKonstr.undertak_tykkelse);
	xmlstring += lag_iso_xml("matr4", 
							 true,
							 objKonstr.taktekking_valg, 
							 false, 0, 0);
	xmlstring += lag_iso_xml("matr5", false, "", false, 0, 0);
	xmlstring += lag_spikerslag_xml("spikerslag1",
							 		true,
							 		objKonstr.sperrer_valg,
							 		objKonstr.egendef_sperrer,
							 		objKonstr.sperrer_varmeledning,
							 		objKonstr.sperrer_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag2",
							 		objKonstr.oppforing,
							 		objKonstr.oppforing_valg,
							 		objKonstr.egendef_oppforing,
							 		objKonstr.oppforing_varmeledning,
							 		objKonstr.oppforing_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag3",
							 		objKonstr.nedforing,
							 		objKonstr.nedforing_valg,
							 		objKonstr.egendef_nedforing,
							 		objKonstr.nedforing_varmeledning,
							 		objKonstr.nedforing_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag4",
							 		true,
							 		objKonstr.ekstralag_std_valg,
							 		objKonstr.egendef_ekstralag_std,
							 		objKonstr.ekstralag_std_varmeledning,
							 		objKonstr.ekstralag_std_arealandel);
	xmlstring += lag_luftlag_xml(false, "", 0);
	xmlstring += lag_grunn_xml("", false, 0, 0);
	xmlstring += lag_bjelkelag_h_xml("", false, 0); 
	xmlstring += lag_div_xml(0, 0, 0, 0);

	return xmlstring;
}

function ny_torvtak(objKonstr)
{
	var xmlstring = lag_iso_xml("iso1", 
								true,
								objKonstr.iso_valg,
								objKonstr.egendef_iso,
								objKonstr.iso_varmeledning,
								objKonstr.iso_tykkelse);
	xmlstring += lag_iso_xml("iso2",
							 objKonstr.iso2,
							 objKonstr.iso2_valg,
							 objKonstr.egendef_iso2,
							 objKonstr.iso2_varmeledning,
							 objKonstr.iso2_tykkelse);
	xmlstring += lag_iso_xml("iso3",
							 objKonstr.nedforing,
							 objKonstr.nedforing_iso_valg,
							 objKonstr.egendef_nedforing_iso,
							 objKonstr.nedforing_iso_varmeledning,
							 objKonstr.nedforing_iso_tykkelse);
	xmlstring += lag_iso_xml("iso4",
							 objKonstr.ekstralag_std,
							 objKonstr.ekstralag_std_iso_valg,
							 objKonstr.egendef_ekstralag_std_iso,
							 objKonstr.ekstralag_std_iso_varmeledning,
							 objKonstr.ekstralag_std_iso_tykkelse);
	xmlstring += lag_iso_xml("iso5", false, "", false, 0, 0);
	xmlstring += lag_iso_xml("iso6", false, "", false, 0, 0);
	xmlstring += lag_kantiso_xml("kantiso", false, "", false, 0, 0, 0);
	xmlstring += lag_kantiso_xml("markiso", false, "", false, 0, 0, 0);
	xmlstring += lag_iso_xml("matr1",
							 true,
							 objKonstr.undertak_valg,
							 objKonstr.egendef_undertak,
							 objKonstr.undertak_varmeledning,
							 objKonstr.undertak_tykkelse);
	xmlstring += lag_iso_xml("matr2",
							 true,
							 objKonstr.baering_valg,
							 objKonstr.egendef_baering,
							 objKonstr.baering_varmeledning,
							 objKonstr.baering_tykkelse);
	xmlstring += lag_iso_xml("matr3",
							 objKonstr.ekstralag_plate,
							 objKonstr.ekstralag_plate_valg,
							 objKonstr.egendef_ekstralag_plate,
							 objKonstr.ekstralag_plate_varmeledning,
							 objKonstr.ekstralag_plate_tykkelse);
	xmlstring += lag_iso_xml("matr4", 
							 true, 
							 objKonstr.torv_valg, 
							 objKonstr.egendef_torv, 
							 objKonstr.torv_varmeledning, 
							 objKonstr.torv_tykkelse);
	xmlstring += lag_iso_xml("matr5", 
							 true,
							 objKonstr.tetteskikt_valg, 
							 objKonstr.egendef_tetteskikt, 
							 objKonstr.tetteskikt_varmeledning,
							 objKonstr.tetteskikt_tykkelse);
	xmlstring += lag_spikerslag_xml("spikerslag1",
							 		objKonstr.nedforing,
							 		objKonstr.nedforing_valg,
							 		objKonstr.egendef_nedforing,
							 		objKonstr.nedforing_varmeledning,
							 		objKonstr.nedforing_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag2",
							 		true,
							 		objKonstr.ekstralag_std_valg,
							 		objKonstr.egendef_ekstralag_std,
							 		objKonstr.ekstralag_std_varmeledning,
							 		objKonstr.ekstralag_std_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag3", false, "", false, 0, 0);
	xmlstring += lag_spikerslag_xml("spikerslag4", false, "", false, 0, 0);
	xmlstring += lag_luftlag_xml(false, "", 0);
	xmlstring += lag_grunn_xml("", false, 0, 0);
	xmlstring += lag_bjelkelag_h_xml("", false, 0); 
	xmlstring += lag_div_xml(0, 0, 0, 0);

	return xmlstring;
}

function ny_flattak(objKonstr)
{
	var xmlstring = lag_iso_xml("iso1", 
								objKonstr.iso1,
								objKonstr.iso1_valg,
								objKonstr.egendef_iso1,
								objKonstr.iso1_varmeledning,
								objKonstr.iso1_tykkelse);
	xmlstring += lag_iso_xml("iso2",
							 objKonstr.iso2,
							 objKonstr.iso2_valg,
							 objKonstr.egendef_iso2,
							 objKonstr.iso2_varmeledning,
							 objKonstr.iso2_tykkelse);
	xmlstring += lag_iso_xml("iso3",
							 true,
							 objKonstr.iso3_valg,
							 objKonstr.egendef_iso3,
							 objKonstr.iso3_varmeledning,
							 objKonstr.iso3_tykkelse);
	xmlstring += lag_iso_xml("iso4",
							 objKonstr.nedforing,
							 objKonstr.nedforing_iso_valg,
							 objKonstr.egendef_nedforing_iso,
							 objKonstr.nedforing_iso_varmeledning,
							 objKonstr.nedforing_iso_tykkelse);
	xmlstring += lag_iso_xml("iso5",
							 objKonstr.ekstralag_std,
							 objKonstr.ekstralag_std_iso_valg,
							 objKonstr.egendef_ekstralag_std_iso,
							 objKonstr.ekstralag_std_iso_varmeledning,
							 objKonstr.ekstralag_std_iso_tykkelse);
	xmlstring += lag_iso_xml("iso6", false, "", false, 0, 0);
	xmlstring += lag_kantiso_xml("kantiso", false, "", false, 0, 0, 0);
	xmlstring += lag_kantiso_xml("markiso", false, "", false, 0, 0, 0);
	xmlstring += lag_iso_xml("matr1",
							 true,
							 objKonstr.undertak_valg,
							 objKonstr.egendef_undertak,
							 objKonstr.undertak_varmeledning,
							 objKonstr.undertak_tykkelse);
	xmlstring += lag_iso_xml("matr2",
							 true,
							 objKonstr.baering_valg,
							 objKonstr.egendef_baering,
							 objKonstr.baering_varmeledning,
							 objKonstr.baering_tykkelse);
	xmlstring += lag_iso_xml("matr3",
							 objKonstr.ekstralag_plate,
							 objKonstr.ekstralag_plate_valg,
							 objKonstr.egendef_ekstralag_plate,
							 objKonstr.ekstralag_plate_varmeledning,
							 objKonstr.ekstralag_plate_tykkelse);
	xmlstring += lag_iso_xml("matr4", 
							 true,
							 objKonstr.tekking_valg, 
							 objKonstr.egendef_tekking, 
							 objKonstr.tekking_varmeledning,
							 objKonstr.tekking_tykkelse);
	xmlstring += lag_iso_xml("matr5", false, "", false, 0, 0); 
	xmlstring += lag_spikerslag_xml("spikerslag1",
							 		objKonstr.nedforing,
							 		objKonstr.nedforing_valg,
							 		objKonstr.egendef_nedforing,
							 		objKonstr.nedforing_varmeledning,
							 		objKonstr.nedforing_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag2",
							 		true,
							 		objKonstr.ekstralag_std_valg,
							 		objKonstr.egendef_ekstralag_std,
							 		objKonstr.ekstralag_std_varmeledning,
							 		objKonstr.ekstralag_std_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag3", false, "", false, 0, 0);
	xmlstring += lag_spikerslag_xml("spikerslag4", false, "", false, 0, 0);
	xmlstring += lag_luftlag_xml(false, "", 0);
	xmlstring += lag_grunn_xml("", false, 0, 0);
	xmlstring += lag_bjelkelag_h_xml("", false, 0); 
	xmlstring += lag_div_xml(objKonstr.feste_tetthet, 
							 objKonstr.feste_diameter, 
							 objKonstr.feste_varmeledning, 0);

	return xmlstring;
}

function ny_gulvgrunn(objKonstr)
{
	var xmlstring = lag_iso_xml("iso1", 
								true,
								objKonstr.iso_valg,
								objKonstr.egendef_iso,
								objKonstr.iso_varmeledning,
								objKonstr.iso_tykkelse);
	xmlstring += lag_iso_xml("iso2",
							 objKonstr.iso2,
							 objKonstr.iso2_valg,
							 objKonstr.egendef_iso2,
							 objKonstr.iso2_varmeledning,
							 objKonstr.iso2_tykkelse);
	xmlstring += lag_iso_xml("iso3",
							 objKonstr.iso3,
							 objKonstr.iso3_valg,
							 objKonstr.egendef_iso3,
							 objKonstr.iso3_varmeledning,
							 objKonstr.iso3_tykkelse);
	xmlstring += lag_iso_xml("iso4", 
							 objKonstr.oppforing,
							 objKonstr.oppforing_iso_valg,
							 objKonstr.egendef_oppforing_iso,
							 objKonstr.oppforing_iso_varmeledning,
							 objKonstr.oppforing_iso_tykkelse);
	xmlstring += lag_iso_xml("iso5",
							 objKonstr.ekstralag_std,
							 objKonstr.ekstralag_std_iso_valg,
							 objKonstr.egendef_ekstralag_std_iso,
							 objKonstr.ekstralag_std_iso_varmeledning,
							 objKonstr.ekstralag_std_iso_tykkelse);
	xmlstring += lag_iso_xml("iso6", false, "", false, 0, 0);
	xmlstring += lag_kantiso_xml("kantiso",
							 	 objKonstr.kantiso,
							 	 objKonstr.kantiso_valg,
							 	 objKonstr.egendef_kantiso,
							 	 objKonstr.kantiso_varmeledning,
							 	 objKonstr.kantiso_tykkelse,
								 objKonstr.kantiso_dybde);
	xmlstring += lag_kantiso_xml("markiso",
							 	 objKonstr.markiso,
							 	 objKonstr.markiso_valg,
							 	 objKonstr.egendef_markiso,
							 	 objKonstr.markiso_varmeledning,
							 	 objKonstr.markiso_tykkelse,
								 objKonstr.markiso_dybde);
	xmlstring += lag_iso_xml("matr1",
							 true,
							 objKonstr.betong_valg,
							 objKonstr.egendef_betong,
							 objKonstr.betong_varmeledning,
							 objKonstr.betong_tykkelse);
	xmlstring += lag_iso_xml("matr2",
							 true,
							 objKonstr.overflate_valg,
							 objKonstr.egendef_overflate,
							 objKonstr.overflate_varmeledning,
							 objKonstr.overflate_tykkelse);
	xmlstring += lag_iso_xml("matr3",
							 objKonstr.ekstralag_plate,
							 objKonstr.ekstralag_plate_valg,
							 objKonstr.egendef_ekstralag_plate,
							 objKonstr.ekstralag_plate_varmeledning,
							 objKonstr.ekstralag_plate_tykkelse);
	xmlstring += lag_iso_xml("matr4", false, "", false, 0, 0);
	xmlstring += lag_iso_xml("matr5", false, "", false, 0, 0);
	xmlstring += lag_spikerslag_xml("spikerslag1",
							 		true,
							 		objKonstr.oppforing_valg,
							 		objKonstr.egendef_oppforing,
							 		objKonstr.oppforing_varmeledning,
							 		objKonstr.oppforing_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag2",
							 		true,
							 		objKonstr.ekstralag_std_valg,
							 		objKonstr.egendef_ekstralag_std,
							 		objKonstr.ekstralag_std_varmeledning,
							 		objKonstr.ekstralag_std_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag3", false, "", false, 0, 0);
	xmlstring += lag_spikerslag_xml("spikerslag4", false, "", false, 0, 0);
	xmlstring += lag_luftlag_xml(false, "", 0);
	xmlstring += lag_grunn_xml(objKonstr.grunn_valg,
							   objKonstr.egendef_grunn,
							   objKonstr.grunn_varmekap,
							   objKonstr.grunn_varmeledning);
	xmlstring += lag_bjelkelag_h_xml("", false, 0);
	xmlstring += lag_div_xml(objKonstr.ytterkant, objKonstr.tykkelse_vegg, 0, 0);

	return xmlstring;
}

function ny_gulvkjeller(objKonstr)
{
	var xmlstring = lag_iso_xml("iso1", 
								true,
								objKonstr.iso_valg,
								objKonstr.egendef_iso,
								objKonstr.iso_varmeledning,
								objKonstr.iso_tykkelse);
	xmlstring += lag_iso_xml("iso2",
							 objKonstr.iso2,
							 objKonstr.iso2_valg,
							 objKonstr.egendef_iso2,
							 objKonstr.iso2_varmeledning,
							 objKonstr.iso2_tykkelse);
	xmlstring += lag_iso_xml("iso3",
							 objKonstr.iso3,
							 objKonstr.iso3_valg,
							 objKonstr.egendef_iso3,
							 objKonstr.iso3_varmeledning,
							 objKonstr.iso3_tykkelse);
	xmlstring += lag_iso_xml("iso4", 
							 objKonstr.oppforing,
							 objKonstr.oppforing_iso_valg,
							 objKonstr.egendef_oppforing_iso,
							 objKonstr.oppforing_iso_varmeledning,
							 objKonstr.oppforing_iso_tykkelse);
	xmlstring += lag_iso_xml("iso5",
							 objKonstr.ekstralag_std,
							 objKonstr.ekstralag_std_iso_valg,
							 objKonstr.egendef_ekstralag_std_iso,
							 objKonstr.ekstralag_std_iso_varmeledning,
							 objKonstr.ekstralag_std_iso_tykkelse);
	xmlstring += lag_iso_xml("iso6", false, "", false, 0, 0);
	xmlstring += lag_kantiso_xml("kantiso", false, "", false, 0, 0, 0);
	xmlstring += lag_kantiso_xml("markiso", false, "", false, 0, 0, 0);
	xmlstring += lag_iso_xml("matr1",
							 true,
							 objKonstr.betong_valg,
							 objKonstr.egendef_betong,
							 objKonstr.betong_varmeledning,
							 objKonstr.betong_tykkelse);
	xmlstring += lag_iso_xml("matr2",
							 true,
							 objKonstr.overflate_valg,
							 objKonstr.egendef_overflate,
							 objKonstr.overflate_varmeledning,
							 objKonstr.overflate_tykkelse);
	xmlstring += lag_iso_xml("matr3",
							 objKonstr.ekstralag_plate,
							 objKonstr.ekstralag_plate_valg,
							 objKonstr.egendef_ekstralag_plate,
							 objKonstr.ekstralag_plate_varmeledning,
							 objKonstr.ekstralag_plate_tykkelse);
	xmlstring += lag_iso_xml("matr4", false, "", false, 0, 0);
	xmlstring += lag_iso_xml("matr5", false, "", false, 0, 0);
	xmlstring += lag_spikerslag_xml("spikerslag1",
							 		true,
							 		objKonstr.oppforing_valg,
							 		objKonstr.egendef_oppforing,
							 		objKonstr.oppforing_varmeledning,
							 		objKonstr.oppforing_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag2",
							 		true,
							 		objKonstr.ekstralag_std_valg,
							 		objKonstr.egendef_ekstralag_std,
							 		objKonstr.ekstralag_std_varmeledning,
							 		objKonstr.ekstralag_std_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag3", false, "", false, 0, 0);
	xmlstring += lag_spikerslag_xml("spikerslag4", false, "", false, 0, 0);
	xmlstring += lag_luftlag_xml(false, "", 0);
	xmlstring += lag_grunn_xml(objKonstr.grunn_valg,
							   objKonstr.egendef_grunn,
							   objKonstr.grunn_varmekap,
							   objKonstr.grunn_varmeledning);
	xmlstring += lag_bjelkelag_h_xml("", false, 0);
	xmlstring += lag_div_xml(objKonstr.oppfyllingshoyde, 
							 objKonstr.ytterkant,
							 objKonstr.tykkelse_vegger, 0);

	return xmlstring;
}

function ny_bjelkelag(objKonstr)
{
	var xmlstring = lag_iso_xml("iso1", 
								true,
								objKonstr.iso_valg,
								objKonstr.egendef_iso,
								objKonstr.iso_varmeledning,
								objKonstr.iso_tykkelse);
	xmlstring += lag_iso_xml("iso2",
							 objKonstr.oppforing,
							 objKonstr.oppforing_iso_valg,
							 objKonstr.egendef_oppforing_iso,
							 objKonstr.oppforing_iso_varmeledning,
							 objKonstr.oppforing_iso_tykkelse);
	xmlstring += lag_iso_xml("iso3",
							 objKonstr.nedforing,
							 objKonstr.nedforing_iso_valg,
							 objKonstr.egendef_nedforing_iso,
							 objKonstr.nedforing_iso_varmeledning,
							 objKonstr.nedforing_iso_tykkelse);
	xmlstring += lag_iso_xml("iso4",
							 objKonstr.ekstralag_std,
							 objKonstr.ekstralag_std_iso_valg,
							 objKonstr.egendef_ekstralag_std_iso,
							 objKonstr.ekstralag_std_iso_varmeledning,
							 objKonstr.ekstralag_std_iso_tykkelse);
	xmlstring += lag_iso_xml("iso5", false, "", false, 0, 0);
	xmlstring += lag_iso_xml("iso6", false, "", false, 0, 0);
	xmlstring += lag_kantiso_xml("kantiso", false, "", false, 0, 0, 0);
	xmlstring += lag_kantiso_xml("markiso", false, "", false, 0, 0, 0);
	xmlstring += lag_iso_xml("matr1",
							 true,
							 objKonstr.undertak_valg,
							 objKonstr.egendef_undertak,
							 objKonstr.undertak_varmeledning,
							 objKonstr.undertak_tykkelse);
	xmlstring += lag_iso_xml("matr2",
							 objKonstr.dekke,
							 objKonstr.dekke_valg,
							 objKonstr.egendef_dekke,
							 objKonstr.dekke_varmeledning,
							 objKonstr.dekke_tykkelse);
	xmlstring += lag_iso_xml("matr3",
							 objKonstr.ekstralag_plate,
							 objKonstr.ekstralag_plate_valg,
							 objKonstr.egendef_ekstralag_plate,
							 objKonstr.ekstralag_plate_varmeledning,
							 objKonstr.ekstralag_plate_tykkelse);
	xmlstring += lag_iso_xml("matr4", 
							 true, 
							 objKonstr.innvendig_valg, 
							 objKonstr.egendef_innvendig, 
							 objKonstr.innvendig_varmeledning, 
							 objKonstr.innvendig_tykkelse);
	xmlstring += lag_iso_xml("matr5", false, "", false, 0, 0);
	xmlstring += lag_spikerslag_xml("spikerslag1",
							 		true,
							 		objKonstr.bjelkelag_valg,
							 		objKonstr.egendef_bjelkelag,
							 		objKonstr.bjelkelag_varmeledning,
							 		objKonstr.bjelkelag_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag2",
							 		true,
							 		objKonstr.oppforing_valg,
							 		objKonstr.egendef_oppforing,
							 		objKonstr.oppforing_varmeledning,
							 		objKonstr.oppforing_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag3",
							 		true,
							 		objKonstr.nedforing_valg,
							 		objKonstr.egendef_nedforing,
							 		objKonstr.nedforing_varmeledning,
							 		objKonstr.nedforing_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag4",
							 		true,
							 		objKonstr.ekstralag_std_valg,
							 		objKonstr.egendef_ekstralag_std,
							 		objKonstr.ekstralag_std_varmeledning,
							 		objKonstr.ekstralag_std_arealandel);
	xmlstring += lag_luftlag_xml(false, "", 0);
	xmlstring += lag_grunn_xml("", false, 0, 0);
	xmlstring += lag_bjelkelag_h_xml("", false, 0); 
	xmlstring += lag_div_xml(objKonstr.varmemotstand_kjeller, 0, 0, 0);

	return xmlstring;
}

function ny_dekke(objKonstr)
{
	var xmlstring = lag_iso_xml("iso1", 
								objKonstr.oppforing,
							 	objKonstr.oppforing_iso_valg,
							 	objKonstr.egendef_oppforing_iso,
							 	objKonstr.oppforing_iso_varmeledning,
							 	objKonstr.oppforing_iso_tykkelse);
	xmlstring += lag_iso_xml("iso2",
							 objKonstr.nedforing,
							 objKonstr.nedforing_iso_valg,
							 objKonstr.egendef_nedforing_iso,
							 objKonstr.nedforing_iso_varmeledning,
							 objKonstr.nedforing_iso_tykkelse);
	xmlstring += lag_iso_xml("iso3",
							 objKonstr.ekstralag_std,
							 objKonstr.ekstralag_std_iso_valg,
							 objKonstr.egendef_ekstralag_std_iso,
							 objKonstr.ekstralag_std_iso_varmeledning,
							 objKonstr.ekstralag_std_iso_tykkelse);
	xmlstring += lag_iso_xml("iso4", false, "", false, 0, 0);
	xmlstring += lag_iso_xml("iso5", false, "", false, 0, 0);
	xmlstring += lag_iso_xml("iso6", false, "", false, 0, 0);
	xmlstring += lag_kantiso_xml("kantiso", false, "", false, 0, 0, 0);
	xmlstring += lag_kantiso_xml("markiso", false, "", false, 0, 0, 0);
	xmlstring += lag_iso_xml("matr1",
							 true,
							 objKonstr.undertak_valg,
							 objKonstr.egendef_undertak,
							 objKonstr.undertak_varmeledning,
							 objKonstr.undertak_tykkelse);
	xmlstring += lag_iso_xml("matr2",
							 true,
							 objKonstr.dekke_valg,
							 objKonstr.egendef_dekke,
							 objKonstr.dekke_varmeledning,
							 objKonstr.dekke_tykkelse);
	xmlstring += lag_iso_xml("matr3",
							 objKonstr.ekstralag_plate,
							 objKonstr.ekstralag_plate_valg,
							 objKonstr.egendef_ekstralag_plate,
							 objKonstr.ekstralag_plate_varmeledning,
							 objKonstr.ekstralag_plate_tykkelse);
	xmlstring += lag_iso_xml("matr4", 
							 true, 
							 objKonstr.innvendig_valg, 
							 objKonstr.egendef_innvendig, 
							 objKonstr.innvendig_varmeledning, 
							 objKonstr.innvendig_tykkelse);
	xmlstring += lag_iso_xml("matr5", false, "", false, 0, 0);
	xmlstring += lag_spikerslag_xml("spikerslag1",
							 		true,
							 		objKonstr.oppforing_valg,
							 		objKonstr.egendef_oppforing,
							 		objKonstr.oppforing_varmeledning,
							 		objKonstr.oppforing_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag2",
							 		true,
							 		objKonstr.nedforing_valg,
							 		objKonstr.egendef_nedforing,
							 		objKonstr.nedforing_varmeledning,
							 		objKonstr.nedforing_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag3",
							 		true,
							 		objKonstr.ekstralag_std_valg,
							 		objKonstr.egendef_ekstralag_std,
							 		objKonstr.ekstralag_std_varmeledning,
							 		objKonstr.ekstralag_std_arealandel);
	xmlstring += lag_spikerslag_xml("spikerslag4", false, "", false, 0, 0);
	xmlstring += lag_luftlag_xml(false, "", 0);
	xmlstring += lag_grunn_xml("", false, 0, 0);
	xmlstring += lag_bjelkelag_h_xml("", false, 0); 
	xmlstring += lag_div_xml(objKonstr.varmemotstand_kjeller, 0, 0, 0);

	return xmlstring;
}

function konstr_kat(kat)
{
	if (konstr_kategori == kat)
		return;

	reset_konstr_type(kat);
	
	var gml_lbl = document.getElementById(arrayKonstrKategori[konstr_kategori] + "_lbl");
	gml_lbl.innerHTML = arrayKonstrKategoriHTML[konstr_kategori];
	var ny_lbl = document.getElementById(arrayKonstrKategori[kat] + "_lbl");
	ny_lbl.innerHTML = "<strong>" + arrayKonstrKategoriHTML[kat] + "</strong>";

	var gml_form = document.getElementById(arrayKonstrNavn[konstr_kategori][konstr_type] + "_form");
	gml_form.style.display = "none";
	var ny_form = document.getElementById(arrayKonstrNavn[kat][0] + "_form");
	ny_form.style.display = "block";

	var ill = document.getElementById("konstr_ill");
	ill.src = "Images/" + arrayIll[kat][0];

	konstr_kategori = kat;
	konstr_type = 0;

	sett_uverdikrav();

	sett_konstrdata(arrayKonstrType[konstr_kategori][konstr_type]);

	beregn_uverdi();
}


function konstr_type_valg(type)
{
	if (konstr_type == type)
		return;

	var gml_form = document.getElementById(arrayKonstrNavn[konstr_kategori][konstr_type] + "_form");
	gml_form.style.display = "none";
	konstr_type = type;
	var ny_form = document.getElementById(arrayKonstrNavn[konstr_kategori][type] + "_form");
	ny_form.style.display = "block";

	var ill = document.getElementById("konstr_ill");
	ill.src = "Images/" + arrayIll[konstr_kategori][type];
	
	konstr_type = type;

	sett_uverdikrav();

	sett_konstrdata(arrayKonstrType[konstr_kategori][type]);
	
	beregn_uverdi();
}

function egendef_iso(checkbox)
{
	if (checkbox.checked) {
		var droplist = document.getElementById(checkbox.name + "_liste");
		droplist.disabled = true;
		var edit1 = document.getElementById(checkbox.name + "_tykkelse");
		edit1.disabled = false;
		var edit2 = document.getElementById(checkbox.name + "_varmeledning");
		edit2.disabled = false;
	} else {
		var droplist = document.getElementById(checkbox.name + "_liste");
		droplist.disabled = false;
		var edit1 = document.getElementById(checkbox.name + "_tykkelse");
		edit1.disabled = true;
		var edit2 = document.getElementById(checkbox.name + "_varmeledning");
		edit2.disabled = true;
		iso_valg(droplist);
	}
}

function egendef_utv_iso(checkbox)
{
	if (checkbox.checked) {
		var droplist = document.getElementById(checkbox.name + "_liste");
		droplist.disabled = true;
		var edit1 = document.getElementById(checkbox.name + "_tykkelse");
		edit1.disabled = false;
		var edit2 = document.getElementById(checkbox.name + "_varmeledning");
		edit2.disabled = false;
	} else {
		var droplist = document.getElementById(checkbox.name + "_liste");
		droplist.disabled = false;
		var edit1 = document.getElementById(checkbox.name + "_tykkelse");
		edit1.disabled = true;
		var edit2 = document.getElementById(checkbox.name + "_varmeledning");
		edit2.disabled = true;
		utv_iso_valg(droplist);
	}
}

function egendef_material(checkbox)
{
	if (checkbox.checked) {
		var droplist = document.getElementById(checkbox.name + "_liste");
		droplist.disabled = true;
		var edit1 = document.getElementById(checkbox.name + "_tykkelse");
		edit1.disabled = false;
		var edit2 = document.getElementById(checkbox.name + "_varmeledning");
		edit2.disabled = false;
	} else {
		var droplist = document.getElementById(checkbox.name + "_liste");
		droplist.disabled = false;
		var edit1 = document.getElementById(checkbox.name + "_tykkelse");
		edit1.disabled = true;
		var edit2 = document.getElementById(checkbox.name + "_varmeledning");
		edit2.disabled = true;
		material_valg(droplist);
	}
}

function egendef_kantiso(checkbox)
{
	if (checkbox.checked) {
		var droplist = document.getElementById(checkbox.name + "_liste");
		droplist.disabled = true;
		var edit1 = document.getElementById(checkbox.name + "_tykkelse");
		edit1.disabled = false;
		var edit2 = document.getElementById(checkbox.name + "_varmeledning");
		edit2.disabled = false;
		var edit2 = document.getElementById(checkbox.name + "_dybde");
		edit2.disabled = false;
	} else {
		var droplist = document.getElementById(checkbox.name + "_liste");
		droplist.disabled = false;
		var edit1 = document.getElementById(checkbox.name + "_tykkelse");
		edit1.disabled = true;
		var edit2 = document.getElementById(checkbox.name + "_varmeledning");
		edit2.disabled = true;
		var edit2 = document.getElementById(checkbox.name + "_dybde");
		edit2.disabled = true;
		kantiso_valg(droplist);
	}
}

function egendef_markiso(checkbox)
{
	if (checkbox.checked) {
		var droplist = document.getElementById(checkbox.name + "_liste");
		droplist.disabled = true;
		var edit1 = document.getElementById(checkbox.name + "_tykkelse");
		edit1.disabled = false;
		var edit2 = document.getElementById(checkbox.name + "_varmeledning");
		edit2.disabled = false;
		var edit2 = document.getElementById(checkbox.name + "_dybde");
		edit2.disabled = false;
	} else {
		var droplist = document.getElementById(checkbox.name + "_liste");
		droplist.disabled = false;
		var edit1 = document.getElementById(checkbox.name + "_tykkelse");
		edit1.disabled = true;
		var edit2 = document.getElementById(checkbox.name + "_varmeledning");
		edit2.disabled = true;
		var edit2 = document.getElementById(checkbox.name + "_dybde");
		edit2.disabled = true;
		markiso_valg(droplist);
	}
}

function egendef_grunn(checkbox)
{
	if (checkbox.checked) {
		var droplist = document.getElementById(checkbox.name + "_liste");
		droplist.disabled = true;
		var edit1 = document.getElementById(checkbox.name + "_varmekap");
		edit1.disabled = false;
		var edit2 = document.getElementById(checkbox.name + "_varmeledning");
		edit2.disabled = false;
	} else {
		var droplist = document.getElementById(checkbox.name + "_liste");
		droplist.disabled = false;
		var edit1 = document.getElementById(checkbox.name + "_varmekap");
		edit1.disabled = true;
		var edit2 = document.getElementById(checkbox.name + "_varmeledning");
		edit2.disabled = true;
		grunnforhold_valg(droplist);
	}
}

function egendef_skraiso(checkbox)
{
	if (checkbox.checked) {
		var droplist = document.getElementById(checkbox.name + "_liste");
		droplist.disabled = true;
		var edit2 = document.getElementById(checkbox.name + "_varmeledning");
		edit2.disabled = false;
	} else {
		var droplist = document.getElementById(checkbox.name + "_liste");
		droplist.disabled = false;
		var edit2 = document.getElementById(checkbox.name + "_varmeledning");
		edit2.disabled = true;
		skraiso_valg(droplist);
	}
	beregn_uverdi();
}

function egendef_reisverk(checkbox)
{
	if (checkbox.checked) {
		var droplist = document.getElementById(checkbox.name + "_liste");
		droplist.disabled = true;
		var edit1 = document.getElementById(checkbox.name + "_arealandel");
		edit1.disabled = false;
		var edit2 = document.getElementById(checkbox.name + "_varmeledning");
		edit2.disabled = false;
	} else {
		var droplist = document.getElementById(checkbox.name + "_liste");
		droplist.disabled = false;
		var edit1 = document.getElementById(checkbox.name + "_arealandel");
		edit1.disabled = true;
		var edit2 = document.getElementById(checkbox.name + "_varmeledning");
		edit2.disabled = true;
		spikerslag_valg(droplist);
	}
}

function egendef_plate(checkbox)
{
	if (checkbox.checked) {
		var droplist = document.getElementById(checkbox.name + "_liste");
		droplist.disabled = true;
		var edit = document.getElementById(checkbox.name + "_varmeledning");
		edit.disabled = false;
	} else {
		var droplist = document.getElementById(checkbox.name + "_liste");
		droplist.disabled = false;
		var edit = document.getElementById(checkbox.name + "_varmeledning");
		edit.disabled = true;
		plate_valg(droplist);
	}
}

function egendef_bjelkelag_h(checkbox)
{
	if (checkbox.checked) {
		var droplist = document.getElementById(checkbox.name + "_liste");
		droplist.disabled = true;
		var edit = document.getElementById(checkbox.name + "oyde");
		edit.disabled = false;
	} else {
		var droplist = document.getElementById(checkbox.name + "_liste");
		droplist.disabled = false;
		var edit = document.getElementById(checkbox.name + "oyde");
		edit.disabled = true;
		bjelkelag_h_valg(droplist);
	}
}

function utforing(checkbox)
{
	var droplist = document.getElementById(checkbox.name + "_liste");
	var checkbox_egendef = document.getElementById("egendef_" + checkbox.name);
	var edit_arealandel = document.getElementById(checkbox.name + "_arealandel");
	var edit_varmeledning = document.getElementById(checkbox.name + "_varmeledning");
	var droplist_iso = document.getElementById(checkbox.name + "_iso_liste");
	var checkbox_egendef_iso = document.getElementById("egendef_" + checkbox.name + "_iso");
	var edit_iso_tykkelse = document.getElementById(checkbox.name + "_iso_tykkelse");
	var edit_iso_varmeledning = document.getElementById(checkbox.name + "_iso_varmeledning");
	if (checkbox.checked) {
		droplist.disabled = checkbox_egendef.checked;
		checkbox_egendef.disabled = false;
		edit_arealandel.disabled = !checkbox_egendef.checked;
		edit_varmeledning.disabled = !checkbox_egendef.checked;
		droplist_iso.disabled = checkbox_egendef_iso.checked;
		checkbox_egendef_iso.disabled = false;
		edit_iso_tykkelse.disabled = !checkbox_egendef_iso.checked;
		edit_iso_varmeledning.disabled = !checkbox_egendef_iso.checked;
	} else {
		droplist.disabled = true;
		checkbox_egendef.disabled = true;
		edit_arealandel.disabled = true;
		edit_varmeledning.disabled = true;
		droplist_iso.disabled = true;
		checkbox_egendef_iso.disabled = true;
		edit_iso_tykkelse.disabled = true;
		edit_iso_varmeledning.disabled = true;
	}
	beregn_uverdi();
}

function utforing_undertak(checkbox)
{
	var droplist = document.getElementById(checkbox.name + "_undertak_liste");
	var checkbox_egendef = document.getElementById("egendef_" + checkbox.name + "_undertak");
	var edit_varmeledning = document.getElementById(checkbox.name + "_undertak_varmeledning");
	var edit_tykkelse = document.getElementById(checkbox.name + "_undertak_tykkelse");
	if (checkbox.checked) {
		droplist.disabled = checkbox_egendef.checked;
		checkbox_egendef.disabled = false;
		edit_varmeledning.disabled = !checkbox_egendef.checked;
		edit_tykkelse.disabled = !checkbox_egendef.checked;
	} else {
		droplist.disabled = true;
		checkbox_egendef.disabled = true;
		edit_varmeledning.disabled = true;
		edit_tykkelse.disabled = true;
	}
	utforing(checkbox);
}

function ekstralag_plate(checkbox)
{
	var droplist = document.getElementById(checkbox.name + "_liste");
	var checkbox_egendef = document.getElementById("egendef_" + checkbox.name);
	var edit_varmeledning = document.getElementById(checkbox.name + "_varmeledning");
	var edit_tykkelse = document.getElementById(checkbox.name + "_tykkelse");
	if (checkbox.checked) {
		droplist.disabled = checkbox_egendef.checked;
		checkbox_egendef.disabled = false;
		edit_varmeledning.disabled = !checkbox_egendef.checked;
		edit_tykkelse.disabled = false;
	} else {
		droplist.disabled = true;
		checkbox_egendef.disabled = true;
		edit_varmeledning.disabled = true;
		edit_tykkelse.disabled = true;
	}
	beregn_uverdi();
}

function luftlag(checkbox)
{
	var droplist = document.getElementById(checkbox.name + "_liste");
	var edit_tykkelse = document.getElementById(checkbox.name + "_tykkelse");
	if (checkbox.checked) {
		droplist.disabled = false;
		edit_tykkelse.disabled = false;
	} else {
		droplist.disabled = true;
		edit_tykkelse.disabled = true;
	}
	beregn_uverdi();
}

function homogen_iso(checkbox)
{
	var droplist_iso = document.getElementById(checkbox.name + "_liste");
	var checkbox_egendef_iso = document.getElementById("egendef_" + checkbox.name);
	var edit_iso_tykkelse = document.getElementById(checkbox.name + "_tykkelse");
	var edit_iso_varmeledning = document.getElementById(checkbox.name + "_varmeledning");
	if (checkbox.checked) {
		droplist_iso.disabled = checkbox_egendef_iso.checked;
		checkbox_egendef_iso.disabled = false;
		edit_iso_tykkelse.disabled = !checkbox_egendef_iso.checked;
		edit_iso_varmeledning.disabled = !checkbox_egendef_iso.checked;
	} else {
		droplist_iso.disabled = true;
		checkbox_egendef_iso.disabled = true;
		edit_iso_tykkelse.disabled = true;
		edit_iso_varmeledning.disabled = true;
	}
	beregn_uverdi();
}

function skraisolasjon(checkbox)
{
	var edit_iso_tykkelse = document.getElementById(checkbox.name + "_tykkelse");
	edit_iso_tykkelse.disabled = !checkbox.checked;

	var droplist_iso = document.getElementById(checkbox.name + "_liste");
	var checkbox_egendef_iso = document.getElementById("egendef_" + checkbox.name);
	var edit_iso_varmeledning = document.getElementById(checkbox.name + "_varmeledning");
	if (checkbox.checked) {
		droplist_iso.disabled = checkbox_egendef_iso.checked;
		checkbox_egendef_iso.disabled = false;
		edit_iso_varmeledning.disabled = !checkbox_egendef_iso.checked;
	} else {
		droplist_iso.disabled = true;
		checkbox_egendef_iso.disabled = true;
		edit_iso_varmeledning.disabled = true;
	}
	beregn_uverdi();
}

function kantiso(checkbox) // brukes også for markisolering
{
	var droplist = document.getElementById(checkbox.name + "_liste");
	var checkbox_egendef = document.getElementById("egendef_" + checkbox.name);
	var edit_tykkelse = document.getElementById(checkbox.name + "_tykkelse");
	var edit_varmeledning = document.getElementById(checkbox.name + "_varmeledning");
	var edit_dybde = document.getElementById(checkbox.name + "_dybde");
	if (checkbox.checked) {
		droplist.disabled = checkbox_egendef.checked;
		checkbox_egendef.disabled = false;
		edit_tykkelse.disabled = !checkbox_egendef.checked;
		edit_varmeledning.disabled = !checkbox_egendef.checked;
		edit_dybde.disabled = !checkbox_egendef.checked;
	} else {
		droplist.disabled = true;
		checkbox_egendef.disabled = true;
		edit_tykkelse.disabled = true;
		edit_varmeledning.disabled = true;
		edit_dybde.disabled = true;
	}
	beregn_uverdi();
}

function flexvegg_baering(n)
{
	var homogen = n == 0;
	var egendef_reisverk = document.getElementById("egendef_flexvegg_reisverk").checked;
	document.getElementById("flexvegg_reisverk_liste").disabled = !homogen || egendef_reisverk;
	document.getElementById("egendef_flexvegg_reisverk").disabled = !homogen;
	document.getElementById("flexvegg_reisverk_varmeledning").disabled = !homogen || !egendef_reisverk;
	document.getElementById("flexvegg_reisverk_tykkelse").disabled = !homogen || !egendef_reisverk;
	var egendef_bindingsverk = document.getElementById("egendef_flexvegg_bindingsverk").checked;
	document.getElementById("flexvegg_bindingsverk_liste").disabled = homogen || egendef_bindingsverk;
	document.getElementById("egendef_flexvegg_bindingsverk").disabled = homogen;
	document.getElementById("flexvegg_bindingsverk_varmeledning").disabled = homogen || !egendef_bindingsverk;
	document.getElementById("flexvegg_bindingsverk_arealandel").disabled = homogen || !egendef_bindingsverk;
	var egendef_iso = document.getElementById("egendef_flexvegg_bindingsverk_iso").checked;
	document.getElementById("flexvegg_bindingsverk_iso_liste").disabled = homogen || egendef_iso;
	document.getElementById("egendef_flexvegg_bindingsverk_iso").disabled = homogen;
	document.getElementById("flexvegg_bindingsverk_iso_varmeledning").disabled = homogen || !egendef_iso;
	document.getElementById("flexvegg_bindingsverk_iso_tykkelse").disabled = homogen || !egendef_iso;
	beregn_uverdi();
}

function generelt_tab(form)
{
	var generelt = document.getElementById(form + "_generelt");
	var klimaskjerm = document.getElementById(form + "_klimaskjerm");
	var utvendig = document.getElementById(form + "_utvendig");
	var baering = document.getElementById(form + "_baering");
	var innvendig = document.getElementById(form + "_innvendig");
	var ekstralag = document.getElementById(form + "_ekstralag");
	var ekstralag2 = document.getElementById(form + "_ekstralag2");
	if (generelt != null)
		generelt.style.display = "block";
	if (klimaskjerm != null)
		klimaskjerm.style.display = "none";
	if (utvendig != null)
		utvendig.style.display = "none";
	if (baering != null)
		baering.style.display = "none";
	if (innvendig != null)
		innvendig.style.display = "none";
	if (ekstralag != null)
		ekstralag.style.display = "none";
	if (ekstralag2 != null)
		ekstralag2.style.display = "none";
	var generelt_tab = document.getElementById(form + "_generelt_tab");
	var klimaskjerm_tab = document.getElementById(form + "_klimaskjerm_tab");
	var utvendig_tab = document.getElementById(form + "_utvendig_tab");
	var baering_tab = document.getElementById(form + "_baering_tab");
	var innvendig_tab = document.getElementById(form + "_innvendig_tab");
	var ekstralag_tab = document.getElementById(form + "_ekstralag_tab");
	var ekstralag2_tab = document.getElementById(form + "_ekstralag2_tab");
	if (generelt_tab != null)
		generelt_tab.className = "selected"
	if (klimaskjerm_tab != null)
		klimaskjerm_tab.className = "plain"
	if (utvendig_tab != null)
		utvendig_tab.className = "plain"
	if (baering_tab != null)
		baering_tab.className = "plain"
	if (innvendig_tab != null)
		innvendig_tab.className = "plain"
	if (ekstralag_tab != null)
		ekstralag_tab.className = "plain"
	if (ekstralag2_tab != null)
		ekstralag2_tab.className = "plain"
}

function klimaskjerm_tab(form)
{
	var generelt = document.getElementById(form + "_generelt");
	var klimaskjerm = document.getElementById(form + "_klimaskjerm");
	var utvendig = document.getElementById(form + "_utvendig");
	var baering = document.getElementById(form + "_baering");
	var innvendig = document.getElementById(form + "_innvendig");
	var ekstralag = document.getElementById(form + "_ekstralag");
	var ekstralag2 = document.getElementById(form + "_ekstralag2");
	if (generelt != null)
		generelt.style.display = "none";
	if (klimaskjerm != null)
		klimaskjerm.style.display = "block";
	if (utvendig != null)
		utvendig.style.display = "none";
	if (baering != null)
		baering.style.display = "none";
	if (innvendig != null)
		innvendig.style.display = "none";
	if (ekstralag != null)
		ekstralag.style.display = "none";
	if (ekstralag2 != null)
		ekstralag2.style.display = "none";
	var generelt_tab = document.getElementById(form + "_generelt_tab");
	var klimaskjerm_tab = document.getElementById(form + "_klimaskjerm_tab");
	var utvendig_tab = document.getElementById(form + "_utvendig_tab");
	var baering_tab = document.getElementById(form + "_baering_tab");
	var innvendig_tab = document.getElementById(form + "_innvendig_tab");
	var ekstralag_tab = document.getElementById(form + "_ekstralag_tab");
	var ekstralag2_tab = document.getElementById(form + "_ekstralag2_tab");
	if (generelt_tab != null)
		generelt_tab.className = "plain"
	if (klimaskjerm_tab != null)
		klimaskjerm_tab.className = "selected"
	if (utvendig_tab != null)
		utvendig_tab.className = "plain"
	if (baering_tab != null)
		baering_tab.className = "plain"
	if (innvendig_tab != null)
		innvendig_tab.className = "plain"
	if (ekstralag_tab != null)
		ekstralag_tab.className = "plain"
	if (ekstralag2_tab != null)
		ekstralag2_tab.className = "plain"
}

function utvendig_tab(form)
{
	var generelt = document.getElementById(form + "_generelt");
	var klimaskjerm = document.getElementById(form + "_klimaskjerm");
	var utvendig = document.getElementById(form + "_utvendig");
	var baering = document.getElementById(form + "_baering");
	var innvendig = document.getElementById(form + "_innvendig");
	var ekstralag = document.getElementById(form + "_ekstralag");
	var ekstralag2 = document.getElementById(form + "_ekstralag2");
	if (generelt != null)
		generelt.style.display = "none";
	if (klimaskjerm != null)
		klimaskjerm.style.display = "none";
	if (utvendig != null)
		utvendig.style.display = "block";
	if (baering != null)
		baering.style.display = "none";
	if (innvendig != null)
		innvendig.style.display = "none";
	if (ekstralag != null)
		ekstralag.style.display = "none";
	if (ekstralag2 != null)
		ekstralag2.style.display = "none";
	var generelt_tab = document.getElementById(form + "_generelt_tab");
	var klimaskjerm_tab = document.getElementById(form + "_klimaskjerm_tab");
	var utvendig_tab = document.getElementById(form + "_utvendig_tab");
	var baering_tab = document.getElementById(form + "_baering_tab");
	var innvendig_tab = document.getElementById(form + "_innvendig_tab");
	var ekstralag_tab = document.getElementById(form + "_ekstralag_tab");
	var ekstralag2_tab = document.getElementById(form + "_ekstralag2_tab");
	if (generelt_tab != null)
		generelt_tab.className = "plain"
	if (klimaskjerm_tab != null)
		klimaskjerm_tab.className = "plain"
	if (utvendig_tab != null)
		utvendig_tab.className = "selected"
	if (baering_tab != null)
		baering_tab.className = "plain"
	if (innvendig_tab != null)
		innvendig_tab.className = "plain"
	if (ekstralag_tab != null)
		ekstralag_tab.className = "plain"
	if (ekstralag2_tab != null)
		ekstralag2_tab.className = "plain"
}

function baering_tab(form)
{
	var generelt = document.getElementById(form + "_generelt");
	var klimaskjerm = document.getElementById(form + "_klimaskjerm");
	var utvendig = document.getElementById(form + "_utvendig");
	var baering = document.getElementById(form + "_baering");
	var innvendig = document.getElementById(form + "_innvendig");
	var ekstralag = document.getElementById(form + "_ekstralag");
	var ekstralag2 = document.getElementById(form + "_ekstralag2");
	if (generelt != null)
		generelt.style.display = "none";
	if (klimaskjerm != null)
		klimaskjerm.style.display = "none";
	if (utvendig != null)
		utvendig.style.display = "none";
	if (baering != null)
		baering.style.display = "block";
	if (innvendig != null)
		innvendig.style.display = "none";
	if (ekstralag != null)
		ekstralag.style.display = "none";
	if (ekstralag2 != null)
		ekstralag2.style.display = "none";
	var generelt_tab = document.getElementById(form + "_generelt_tab");
	var klimaskjerm_tab = document.getElementById(form + "_klimaskjerm_tab");
	var utvendig_tab = document.getElementById(form + "_utvendig_tab");
	var baering_tab = document.getElementById(form + "_baering_tab");
	var innvendig_tab = document.getElementById(form + "_innvendig_tab");
	var ekstralag_tab = document.getElementById(form + "_ekstralag_tab");
	var ekstralag2_tab = document.getElementById(form + "_ekstralag2_tab");
	if (generelt_tab != null)
		generelt_tab.className = "plain"
	if (klimaskjerm_tab != null)
		klimaskjerm_tab.className = "plain"
	if (utvendig_tab != null)
		utvendig_tab.className = "plain"
	if (baering_tab != null)
		baering_tab.className = "selected"
	if (innvendig_tab != null)
		innvendig_tab.className = "plain"
	if (ekstralag_tab != null)
		ekstralag_tab.className = "plain"
	if (ekstralag2_tab != null)
		ekstralag2_tab.className = "plain"
}

function innvendig_tab(form)
{
	var generelt = document.getElementById(form + "_generelt");
	var klimaskjerm = document.getElementById(form + "_klimaskjerm");
	var utvendig = document.getElementById(form + "_utvendig");
	var baering = document.getElementById(form + "_baering");
	var innvendig = document.getElementById(form + "_innvendig");
	var ekstralag = document.getElementById(form + "_ekstralag");
	var ekstralag2 = document.getElementById(form + "_ekstralag2");
	if (generelt != null)
		generelt.style.display = "none";
	if (klimaskjerm != null)
		klimaskjerm.style.display = "none";
	if (utvendig != null)
		utvendig.style.display = "none";
	if (baering != null)
		baering.style.display = "none";
	if (innvendig != null)
		innvendig.style.display = "block";
	if (ekstralag != null)
		ekstralag.style.display = "none";
	if (ekstralag2 != null)
		ekstralag2.style.display = "none";
	var generelt_tab = document.getElementById(form + "_generelt_tab");
	var klimaskjerm_tab = document.getElementById(form + "_klimaskjerm_tab");
	var utvendig_tab = document.getElementById(form + "_utvendig_tab");
	var baering_tab = document.getElementById(form + "_baering_tab");
	var innvendig_tab = document.getElementById(form + "_innvendig_tab");
	var ekstralag_tab = document.getElementById(form + "_ekstralag_tab");
	var ekstralag2_tab = document.getElementById(form + "_ekstralag2_tab");
	if (generelt_tab != null)
		generelt_tab.className = "plain"
	if (klimaskjerm_tab != null)
		klimaskjerm_tab.className = "plain"
	if (utvendig_tab != null)
		utvendig_tab.className = "plain"
	if (baering_tab != null)
		baering_tab.className = "plain"
	if (innvendig_tab != null)
		innvendig_tab.className = "selected"
	if (ekstralag_tab != null)
		ekstralag_tab.className = "plain"
	if (ekstralag2_tab != null)
		ekstralag2_tab.className = "plain"
}

function ekstralag_tab(form)
{
	var generelt = document.getElementById(form + "_generelt");
	var klimaskjerm = document.getElementById(form + "_klimaskjerm");
	var utvendig = document.getElementById(form + "_utvendig");
	var baering = document.getElementById(form + "_baering");
	var innvendig = document.getElementById(form + "_innvendig");
	var ekstralag = document.getElementById(form + "_ekstralag");
	var ekstralag2 = document.getElementById(form + "_ekstralag2");
	if (generelt != null)
		generelt.style.display = "none";
	if (klimaskjerm != null)
		klimaskjerm.style.display = "none";
	if (utvendig != null)
		utvendig.style.display = "none";
	if (baering != null)
		baering.style.display = "none";
	if (innvendig != null)
		innvendig.style.display = "none";
	if (ekstralag != null)
		ekstralag.style.display = "block";
	if (ekstralag2 != null)
		ekstralag2.style.display = "none";
	var generelt_tab = document.getElementById(form + "_generelt_tab");
	var klimaskjerm_tab = document.getElementById(form + "_klimaskjerm_tab");
	var utvendig_tab = document.getElementById(form + "_utvendig_tab");
	var baering_tab = document.getElementById(form + "_baering_tab");
	var innvendig_tab = document.getElementById(form + "_innvendig_tab");
	var ekstralag_tab = document.getElementById(form + "_ekstralag_tab");
	var ekstralag2_tab = document.getElementById(form + "_ekstralag2_tab");
	if (generelt_tab != null)
		generelt_tab.className = "plain"
	if (klimaskjerm_tab != null)
		klimaskjerm_tab.className = "plain"
	if (utvendig_tab != null)
		utvendig_tab.className = "plain"
	if (baering_tab != null)
		baering_tab.className = "plain"
	if (innvendig_tab != null)
		innvendig_tab.className = "plain"
	if (ekstralag_tab != null)
		ekstralag_tab.className = "selected"
	if (ekstralag2_tab != null)
		ekstralag2_tab.className = "plain"
}

function ekstralag2_tab(form)
{
	var generelt = document.getElementById(form + "_generelt");
	var klimaskjerm = document.getElementById(form + "_klimaskjerm");
	var utvendig = document.getElementById(form + "_utvendig");
	var baering = document.getElementById(form + "_baering");
	var innvendig = document.getElementById(form + "_innvendig");
	var ekstralag = document.getElementById(form + "_ekstralag");
	var ekstralag2 = document.getElementById(form + "_ekstralag2");
	if (generelt != null)
		generelt.style.display = "none";
	if (klimaskjerm != null)
		klimaskjerm.style.display = "none";
	if (utvendig != null)
		utvendig.style.display = "none";
	if (baering != null)
		baering.style.display = "none";
	if (innvendig != null)
		innvendig.style.display = "none";
	if (ekstralag != null)
		ekstralag.style.display = "none";
	if (ekstralag2 != null)
		ekstralag2.style.display = "block";
	var generelt_tab = document.getElementById(form + "_generelt_tab");
	var klimaskjerm_tab = document.getElementById(form + "_klimaskjerm_tab");
	var utvendig_tab = document.getElementById(form + "_utvendig_tab");
	var baering_tab = document.getElementById(form + "_baering_tab");
	var innvendig_tab = document.getElementById(form + "_innvendig_tab");
	var ekstralag_tab = document.getElementById(form + "_ekstralag_tab");
	var ekstralag2_tab = document.getElementById(form + "_ekstralag2_tab");
	if (generelt_tab != null)
		generelt_tab.className = "plain"
	if (klimaskjerm_tab != null)
		klimaskjerm_tab.className = "plain"
	if (utvendig_tab != null)
		utvendig_tab.className = "plain"
	if (baering_tab != null)
		baering_tab.className = "plain"
	if (innvendig_tab != null)
		innvendig_tab.className = "plain"
	if (ekstralag_tab != null)
		ekstralag_tab.className = "plain"
	if (ekstralag2_tab != null)
		ekstralag2_tab.className = "selected"
}

var arrayMaterial = [{navn:"Träpanel", tykkelse:22, varmeledning:0.14, bilde:"bordkledning.jpg"},
					 {navn:"Fasadtegel", tykkelse:120, varmeledning:0.6, bilde:"tegl.jpg"},
					 {navn:"Fasadplåt", tykkelse:6, varmeledning:50, bilde:"stalplate.jpg"},
					 {navn:"Plåt", tykkelse:4, varmeledning:50, bilde:"stalplate.jpg", horbilde:"stalplate.jpg"},
					 {navn:"Inget", tykkelse:0, varmeledning:0.14, bilde:"eps.jpg"},
					 {navn:"Ingen", tykkelse:0, varmeledning:0.14, bilde:"eps.jpg"},
					 {navn:"Vindskydd på rulle", tykkelse:1, varmeledning:0.1, bilde:"eps.jpg"},
					 {navn:"6 mm gips", tykkelse:6, varmeledning:0.25, 
					  bilde:"gipsvegg.jpg", skrabilde:"gips_skra.jpg", horbilde:"gipsplate.jpg"},
					 {navn:"9 mm gips", tykkelse:9, varmeledning:0.25, 
					  bilde:"gipsvegg.jpg", skrabilde:"gips_skra.jpg", horbilde:"gipsplate.jpg"},
					 {navn:"12 mm porös träfiberskiva", tykkelse:12, varmeledning:0.05, 
					  bilde:"trefiberplate.jpg", horbilde:"trepanelundertak.jpg"},
					 {navn:"11 mm träfiberskiva", tykkelse:11, varmeledning:0.14, 
					  bilde:"trefiberplate.jpg", horbilde:"trepanelundertak.jpg"},
					 {navn:"12 mm träpanel", tykkelse:12, varmeledning:0.14, 
					  bilde:"trepanel.jpg", skrabilde:"trepanel_skra.jpg", horbilde:"trepanelundertak.jpg"},
					 {navn:"13 mm gips", tykkelse:13, varmeledning:0.25, bilde:"gipsvegg.jpg", horbilde:"gipsplate.jpg"},
					 {navn:"12 mm spånskiva", tykkelse:12, varmeledning:0.14, 
					  bilde:"trepanel.jpg", horbilde:"trepanelundertak.jpg"},
					 {navn:"15 mm spånskiva", tykkelse:15, varmeledning:0.14, 
					  bilde:"trepanel.jpg", horbilde:"trepanelundertak.jpg"},
					 {navn:"15 mm träpanel", tykkelse:15, varmeledning:0.14, 
					  bilde:"trepanel.jpg", skrabilde:"trepanel_skra.jpg", horbilde:"trepanelundertak.jpg"},
					 {navn:"Puts", tykkelse:8, varmeledning:1, bilde:"murpuss.jpg"},
					 {navn:"Fasadputs", tykkelse:20, varmeledning:1, bilde:"murpuss.jpg"},
					 {navn:"Ventilerad fasadputs", tykkelse:18, varmeledning:0.48, bilde:"puts.jpg"},
					 {navn:"4,5 mm mineritsskiva", tykkelse:4.5, varmeledning:0.30, bilde:"gipsplate.jpg"},

					 {navn:"75 mm plankvägg", tykkelse:75, varmeledning:0.14, bilde:"massivtre.jpg"},
					 {navn:"5\" liggtimmer", tykkelse:125, varmeledning:0.14, bilde:"laftetvegg.jpg"},
					 {navn:"6\" liggtimmer", tykkelse:150, varmeledning:0.14, bilde:"laftetvegg.jpg"},

					 {navn:"120 mm lättklinkerblock", tykkelse:120, varmeledning:0.21, bilde:"lettklinkervegg.jpg"},
					 {navn:"150 mm lättklinkerblock", tykkelse:150, varmeledning:0.21, bilde:"lettklinkervegg.jpg"},
					 {navn:"190 mm lättklinkerblock", tykkelse:190, varmeledning:0.21, bilde:"lettklinkervegg.jpg"},
					 {navn:"200 mm lättklinkerblock", tykkelse:200, varmeledning:0.21, bilde:"lettklinkervegg.jpg"},
					 {navn:"250 mm lättklinkerblock", tykkelse:250, varmeledning:0.21, bilde:"lettklinkervegg.jpg"},
					 {navn:"290 mm lättklinkerblock", tykkelse:290, varmeledning:0.21, bilde:"lettklinkervegg.jpg"},
					 {navn:"350 mm lättklinkerblock", tykkelse:350, varmeledning:0.21, bilde:"lettklinkervegg.jpg"},
					 {navn:"250 mm lättklinker isolerblock", tykkelse:250, varmeledning:0.07, bilde:"250mmisoblokk.jpg"},
					 {navn:"290 mm lättklinker isolerblock", tykkelse:290, varmeledning:0.07, bilde:"300mmisoblokk.jpg"},
					 {navn:"350 mm lättklinker isolerblock", tykkelse:350, varmeledning:0.07, bilde:"300mmisoblokk.jpg"},
					 {navn:"400 mm lättklinker isolerblock", tykkelse:400, varmeledning:0.07, bilde:"300mmisoblokk.jpg"},
					 {navn:"1/2 sten tegel", tykkelse:120, varmeledning:0.6, bilde:"tegl.jpg"},
					 {navn:"100 mm betong", tykkelse:100, varmeledning:1.7, 
					 	bilde:"betongvegg.jpg", horbilde:"betong.jpg"},
					 {navn:"150 mm betong", tykkelse:150, varmeledning:1.7, 
					 	bilde:"betongvegg.jpg", horbilde:"betong.jpg"},
					 {navn:"200 mm betong", tykkelse:200, varmeledning:1.7, 
					 	bilde:"betongvegg.jpg", horbilde:"betong.jpg"},
					 {navn:"Ventilerad beklädnad", tykkelse:58, varmeledning:1.5, bilde:"luftetbordkledning.jpg"},
					 
					 {navn:"30 mm Rockwool Akustikskiva", tykkelse:30, varmeledning:0.034, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"50 mm Rockwool Akustikskiva", tykkelse:50, varmeledning:0.034, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"75 mm Rockwool Akustikskiva", tykkelse:75, varmeledning:0.034, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"100 mm Rockwool Akustikskiva", tykkelse:100, varmeledning:0.034, horbilde:"rw_tung_gulv.jpg"},
					
					 {navn:"Kakel/skiffer", tykkelse:10, varmeledning:0.75, bilde:"klinkerfliser.jpg"},
					 {navn:"Avjämningsmassa med kakel/skiffer", tykkelse:50, varmeledning:1.5, bilde:"pastopfliser.jpg"},
					 {navn:"Trägolv", tykkelse:21, varmeledning:0.14, bilde:"tregulv.jpg"},
					 {navn:"Parkett", tykkelse:15, varmeledning:0.14, bilde:"parkett.jpg"},
					 {navn:"150 mm bärande TRP-plåt", tykkelse:150, varmeledning:50, horbilde:"korr_stalplate.jpg"},
					 {navn:"200 mm håldäck", tykkelse:200, varmeledning:1, horbilde:"hulldekke.jpg"},
					 {navn:"200 mm lättklinkerbetong", tykkelse:200, varmeledning:0.27, horbilde:"lecadekke.jpg"},
					 {navn:"150 mm lättbetong", tykkelse:150, varmeledning:0.14, horbilde:"horgassbetong.jpg"},
					 {navn:"200 mm lättbetong", tykkelse:200, varmeledning:0.14, horbilde:"horgassbetong.jpg"},
					 {navn:"240 mm lättbetong", tykkelse:240, varmeledning:0.14, horbilde:"horgassbetong.jpg"},
					 {navn:"300 mm lättbetong", tykkelse:300, varmeledning:0.14, horbilde:"horgassbetong.jpg"},
					 {navn:"140 mm massivträ", tykkelse:140, varmeledning:0.14, 
					 	bilde:"massivtre.jpg", horbilde:"hormassivtre.jpg"},
					 {navn:"100 mm massivträ", tykkelse:100, varmeledning:0.14, 
					 	bilde:"massivtre.jpg", horbilde:"hormassivtre.jpg"},
					 {navn:"80 mm armerad betong", tykkelse:80, varmeledning:1.7, bilde:"betong.jpg"},
					 {navn:"100 mm armerad betong", tykkelse:100, varmeledning:1.7, bilde:"betong.jpg"},
					 {navn:"80 mm fiberbetong", tykkelse:80, varmeledning:0.5, bilde:"betong.jpg"},
					 {navn:"Tätskiktsmatta/Takduk", tykkelse:5, varmeledning:0.5, horbilde:"asfaltbelegg.jpg"},
					 {navn:"Helsvetsad tätskiktsmatta", tykkelse:5, varmeledning:0.2, horbilde:"takfolie.jpg"},
					 {navn:"Råspont", tykkelse:21, varmeledning:0.14, horbilde:"tregulv.jpg"},
					 {navn:"Träfiberskiva", tykkelse:15, varmeledning:0.14, horbilde:"sponplate.jpg"},
					 {navn:"Underlagstak", tykkelse:0.5, varmeledning:1.0, horbilde:"takfolie.jpg"}
];

function material_valg(droplist)
{
	var index = droplist.selectedIndex;
	var verdi = droplist.options[index].text;
	for (i = 0; i < arrayMaterial.length; i++) {
		if (arrayMaterial[i].navn == verdi) {
			index = i;
			break;
		}
	}	
	var navn = droplist.name;
	var edit_tykkelse = document.getElementById(navn + "_tykkelse");
	edit_tykkelse.value = arrayMaterial[index].tykkelse;
	var edit_varmeledning = document.getElementById(navn + "_varmeledning");
	edit_varmeledning.value = arrayMaterial[index].varmeledning;
	beregn_uverdi();
}

var arrayPlate = [{navn:"Trä", varmeledning:0.14, bilde:"trepanel.jpg", horbilde:"tregulv.jpg"},
				  {navn:"Porös träfiberskiva", varmeledning:0.05, bilde:"trefiberplate.jpg", horbilde:"sponplate.jpg"},
				  {navn:"Gips", varmeledning:0.25, bilde:"gipsvegg.jpg", horbilde:"gipsplate.jpg"},
				  {navn:"Hård träfiberskiva", varmeledning:0.14, bilde:"trefiberplate.jpg", horbilde:"sponplate.jpg"},
				  {navn:"Plywood", varmeledning:0.13, bilde:"trefiberplate.jpg", horbilde:"sponplate.jpg"},
				  {navn:"OSB", varmeledning:0.13, bilde:"trefiberplate.jpg", horbilde:"sponplate.jpg"},
				  {navn:"Medelhård träfiberskiva", varmeledning:0.1, bilde:"trefiberplate.jpg", horbilde:"sponplate.jpg"},
				  {navn:"Spånskiva", varmeledning:0.14, bilde:"trefiberplate.jpg", horbilde:"sponplate.jpg"}];

function plate_valg(droplist)
{
	var index = droplist.selectedIndex;
	var verdi = droplist.options[index].text;
	for (i = 0; i < arrayPlate.length; i++) {
		if (arrayPlate[i].navn == verdi) {
			index = i;
			break;
		}
	}	
	var navn = droplist.name;
	var edit_varmeledning = document.getElementById(navn + "_varmeledning");
	edit_varmeledning.value = arrayPlate[index].varmeledning;
	beregn_uverdi();
}

var arrayKuldebroVerdi = [
					{navn:"", verdi:0},
					{navn:"Vertikalt ytterväggshörn (0,034 W/mK)", verdi:0.034},
					{navn:"Utfackningsvägg i trä/mellanbjälklag eller vägg i betong (0,093 W/mK)", verdi:0.093},
					{navn:"Yttervägg i trä/mellanbjälklag i trä (0,033 W/mK)", verdi:0.033},
					{navn:"Yttervägg i trä/vindsbjälklag i trä (0,023 W/mK)", verdi:0.023},
					{navn:"Yttervägg i lättbetong/takbjälklag i lättbetong (0,082 W/mK)", verdi:0.082},
					{navn:"Yttervägg i trä/snedtak i trä (0,018 W/mK)", verdi:0.018},
					{navn:"Snedtak/ventilerad nock (0,020 W/mK)", verdi:0.020},
					{navn:"L - kantbalk vid platta på mark/yttervägg (0,15 W/mK)", verdi:0.15},
					{navn:"F - kantbalk vid platta på mark/yttervägg (0,06 W/mK)", verdi:0.06},
					{navn:"Yttervägg och bjälklag i trä/källarvägg i betong (0,015 W/mK)", verdi:0.015},
					{navn:"Källarvägg i betong/källargolv (0,10 W/mK)", verdi:0.1},
					{navn:"Köldbrygga vid fönster/dörr. Träregelvägg utan utvändig isolering (0,033 W/mK)", verdi:0.033},
					{navn:"Köldbrygga vid fönster/dörr. Träregelvägg med utvändig isolering (0,037 W/mK)", verdi:0.037},
					{navn:"Köldbrygga vid fönster/dörr. Betongvägg med tegelfasad (0,034 W/mK)", verdi:0.034}
];
var arrayKuldebroTekst = [
	"",
	"Schablonvärde avser isolerad vägg med 45*195 mm bärande reglar ytterst och 45*45 mm korslagda reglar på insidan. Normalvärdet ligger i intervallet 0,030 – 0,060.",
	"Schablonvärde avser 45*195 mm isolerad regelvägg monterad 45 mm utanför betongkant, 50 mm utvändigt obrutet isolerskikt och 200 mm bjälklag/vägg i betong. Normalvärdet ligger i intervallet 0,040 – 0,200.",
	"Schablonvärde avser 45*195 mm isolerad regelvägg, 50 mm utvändigt obrutet isolerskikt och 220 mm bjälklag med isolering. Normalvärdet ligger i intervallet 0,020 – 0,040.",
	"Schablonvärde avser isolerad vägg med 45*45 mm reglar på utsidan och 45*195 mm bärande reglar. Takstolar med underram 145 mm på cc 1200 mm och 500 mm isolering. Normalvärdet ligger i intervallet 0,015 – 0,030.",
	"Schablonvärde avser vägg och bjälklag av 300 mm lättbetong. På bjälklaget antas uppstolpade takstolar och 500 mm isolering. Normalvärdet ligger i intervallet 0,050 – 0,090.",
	"Schablonvärde avser isolerad vägg med 45*195 mm bärande reglar. Takbjälkar på cc 1200 mm och 300 mm isolering. Normalvärdet ligger i intervallet 0,015 – 0,030.",
	"Schablonvärde avser snedtak med takjälkar på cc 1200 mm och 300 mm isolering. Normalvärdet ligger i intervallet 0,015 – 0,025.",
	"Hela konstruktionens olika dimensioner och markförhållanden är avgörande för värmeförlusten. Schablonvärde avser 300 och 400 L-kantelement, konstant isolering under betongplattan och väggtjocklek 300 mm. Normalvärdet ligger i intervallet 0,050 – 0,200.",
	"Hela konstruktionens olika dimensioner och markförhållanden är avgörande för värmeförlusten. Schablonvärde avser 300 och 400 F-kantelement, konstant isolering under betongplattan och väggtjocklek 300 mm. Normalvärdet ligger i intervallet 0,020 – 0,100.",
	"Schablonvärde avser 45*195 mm isolerad regelvägg, 220 mm bjälklag med isolering och källarvägg i betong med 100 mm utvändig och invändig isolering. Normalvärdet ligger i intervallet 0,010 – 0,030.",
	"Hela konstruktionens olika dimensioner och markförhållanden är avgörande för värmeförlusten. Schablonvärde avser 150 mm betongvägg 2,1 m under mark utvändig och invändig isolering samt källargolv med 200 mm konstant isolering. Normalvärdet ligger i intervallet 0,030 – 0,250.",
	"Fönstrets/dörrens placering och infästning i väggen är avgörande för köldbryggans värde. Schablonvärde avser vägg med 45*195 mm träreglar och fönstret placerat centriskt i väggen. Normalvärdet ligger i intervallet 0,020 – 0,055.",
	"Fönstrets/dörrens placering och infästning i väggen är avgörande för köldbryggans värde. Schablonvärde avser vägg med 45*195 mm träreglar och 50 mm utvändig obruten isolering med fönstret placerat centriskt i träregelväggen. Normalvärdet ligger i intervallet 0,020 – 0,055.",
	"Fönstrets/dörrens placering och infästning i väggen är avgörande för köldbryggans värde. Schablonvärde avser 45*195 mm träreglar utanpå 200 mm betongvägg och fönstret placerat centriskt i träregelväggen. Normalvärdet ligger i intervallet 0,020 – 0,055."
];

function kuldebro09_valg(droplist)
{
	var index = droplist.selectedIndex;
	var verdi = droplist.options[index].text;
	for (i = 0; i < arrayPlate.length; i++) {
		if (arrayKuldebroVerdi[i].navn == verdi) {
			index = i;
			break;
		}
	}	
	var edit = document.getElementById("tek09_verdi_kuldebro_input");
	edit.value = arrayKuldebroVerdi[index].verdi;
	var tekst = document.getElementById("tek09_kuldebro_tekst");
	tekst.innerHTML = arrayKuldebroTekst[index];
}

var arrayIsolasjon = [{navn:"Ingen isolering", tykkelse:0, varmeledning:0.037, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					   {navn:"45 mm FlexiBatts", tykkelse:45, varmeledning:0.037, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					  {navn:"70 mm FlexiBatts", tykkelse:70, varmeledning:0.037, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					  {navn:"95 mm FlexiBatts", tykkelse:95, varmeledning:0.037, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					  {navn:"120 mm FlexiBatts", tykkelse:120, varmeledning:0.037, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					  {navn:"145 mm FlexiBatts", tykkelse:145, varmeledning:0.037, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					  {navn:"170 mm FlexiBatts", tykkelse:170, varmeledning:0.037, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					  {navn:"195 mm FlexiBatts", tykkelse:195, varmeledning:0.037, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					  {navn:"220 mm FlexiBatts", tykkelse:220, varmeledning:0.037, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					   {navn:"45 mm FlexiBatts Energy", tykkelse:45, varmeledning:0.034, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					  {navn:"70 mm FlexiBatts Energy", tykkelse:70, varmeledning:0.034, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					  {navn:"95 mm FlexiBatts Energy", tykkelse:95, varmeledning:0.034, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					  {navn:"120 mm FlexiBatts Energy", tykkelse:120, varmeledning:0.034, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					  {navn:"145 mm FlexiBatts Energy", tykkelse:145, varmeledning:0.034, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					  {navn:"170 mm FlexiBatts Energy", tykkelse:170, varmeledning:0.034, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					  {navn:"195 mm FlexiBatts Energy", tykkelse:195, varmeledning:0.034, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					  {navn:"220 mm FlexiBatts Energy", tykkelse:220, varmeledning:0.034, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					  {navn:"95 mm Bjälklagsskiva med vindskydd", tykkelse:95, varmeledning:0.037, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					  {navn:"120 mm Bjälklagsskiva med vindskydd", tykkelse:120, varmeledning:0.037, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					  {navn:"145 mm Bjälklagsskiva med vindskydd", tykkelse:145, varmeledning:0.037, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					  {navn:"170 mm Bjälklagsskiva med vindskydd", tykkelse:170, varmeledning:0.037, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					  {navn:"195 mm Bjälklagsskiva med vindskydd", tykkelse:195, varmeledning:0.037, 
					   bilde:"rw_lett_vegg.jpg", bilde2:"innlekting_vegg.jpg",
					   skrabilde:"rw_skra.jpg", skrabilde2:"utlekting_skra.jpg",
					   horbilde:"rw_gulv.jpg", horbilde2:"trelekter.jpg"},
					 {navn:"100 mm Granulate PRO öppet", tykkelse:100, varmeledning:0.042,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"200 mm Granulate PRO öppet", tykkelse:200, varmeledning:0.042,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"250 mm Granulate PRO öppet", tykkelse:250, varmeledning:0.042,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"300 mm Granulate PRO öppet", tykkelse:300, varmeledning:0.042,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"350 mm Granulate PRO öppet", tykkelse:350, varmeledning:0.042,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"400 mm Granulate PRO öppet", tykkelse:400, varmeledning:0.042,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"450 mm Granulate PRO öppet", tykkelse:450, varmeledning:0.042,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"500 mm Granulate PRO öppet", tykkelse:500, varmeledning:0.042,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"550 mm Granulate PRO öppet", tykkelse:550, varmeledning:0.042,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"600 mm Granulate PRO öppet", tykkelse:600, varmeledning:0.042,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"100 mm Granulate PRO sluten", tykkelse:100, varmeledning:0.037,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"200 mm Granulate PRO sluten", tykkelse:200, varmeledning:0.037,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"250 mm Granulate PRO sluten", tykkelse:250, varmeledning:0.037,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"300 mm Granulate PRO sluten", tykkelse:300, varmeledning:0.037,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"350 mm Granulate PRO sluten", tykkelse:350, varmeledning:0.037,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"400 mm Granulate PRO sluten", tykkelse:400, varmeledning:0.037,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"450 mm Granulate PRO sluten", tykkelse:450, varmeledning:0.037,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"500 mm Granulate PRO sluten", tykkelse:500, varmeledning:0.037,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"550 mm Granulate PRO sluten", tykkelse:550, varmeledning:0.037,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"600 mm Granulate PRO sluten", tykkelse:600, varmeledning:0.037,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"100 mm Isolerasjälv vindsull", tykkelse:100, varmeledning:0.045,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"200 mm Isolerasjälv vindsull", tykkelse:200, varmeledning:0.045,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"250 mm Isolerasjälv vindsull", tykkelse:250, varmeledning:0.045,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"300 mm Isolerasjälv vindsull", tykkelse:300, varmeledning:0.045,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"350 mm Isolerasjälv vindsull", tykkelse:350, varmeledning:0.045,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"400 mm Isolerasjälv vindsull", tykkelse:400, varmeledning:0.045,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"450 mm Isolerasjälv vindsull", tykkelse:450, varmeledning:0.045,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"500 mm Isolerasjälv vindsull", tykkelse:500, varmeledning:0.045,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"550 mm Isolerasjälv vindsull", tykkelse:550, varmeledning:0.045,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"600 mm Isolerasjälv vindsull", tykkelse:600, varmeledning:0.045,
					  bilde:"rw_lett_vegg.jpg", horbilde:"rw_gulv.jpg"},
					 {navn:"50 mm Skalmursskiva", tykkelse:50, 
					 	varmeledning:0.034, bilde:"rw_tung_vegg.jpg", horbilde:"rw_tung_gulv.jpg"},
					 {navn:"80 mm Skalmursskiva", tykkelse:80, varmeledning:0.034, 
					 	bilde:"rw_tung_vegg.jpg", horbilde:"rw_tung_gulv.jpg"},
					 {navn:"100 mm Skalmursskiva", tykkelse:100, varmeledning:0.034, 
					 	bilde:"rw_tung_vegg.jpg", horbilde:"rw_tung_gulv.jpg"},
					 {navn:"120 mm Skalmursskiva", tykkelse:120, varmeledning:0.034, 
					 	bilde:"rw_tung_vegg.jpg", horbilde:"rw_tung_gulv.jpg"},
					 {navn:"150 mm Skalmursskiva", tykkelse:150, varmeledning:0.034, 
					 	bilde:"rw_tung_vegg.jpg", horbilde:"rw_tung_gulv.jpg"},
					 {navn:"30 mm Västkustskiva", tykkelse:30, varmeledning:0.035, bilde:"rw_tung_vegg.jpg"},
					 {navn:"50 mm Västkustskiva", tykkelse:50, varmeledning:0.035, bilde:"rw_tung_vegg.jpg"},
					 {navn:"80 mm Västkustskiva", tykkelse:80, varmeledning:0.035, bilde:"rw_tung_vegg.jpg"},
					 {navn:"30 mm Putsskiva", tykkelse:30, varmeledning:0.035, bilde:"rw_tung_vegg.jpg"},
					 {navn:"50 mm Putsskiva", tykkelse:50, varmeledning:0.035, bilde:"rw_tung_vegg.jpg"},
					 {navn:"80 mm Putsskiva", tykkelse:80, varmeledning:0.035, bilde:"rw_tung_vegg.jpg"},
					 {navn:"100 mm Putsskiva", tykkelse:100, varmeledning:0.035, bilde:"rw_tung_vegg.jpg"},
					 {navn:"120 mm Putsskiva", tykkelse:120, varmeledning:0.035, bilde:"rw_tung_vegg.jpg"},
					 {navn:"150 mm Putsskiva", tykkelse:150, varmeledning:0.035, bilde:"rw_tung_vegg.jpg"},
					 {navn:"50 mm Dräneringsskiva", tykkelse:50, varmeledning:0.04, bilde:"rw_tung_vegg.jpg"},
					 {navn:"75 mm Dräneringsskiva", tykkelse:75, varmeledning:0.04, bilde:"rw_tung_vegg.jpg"},
					 {navn:"100 mm Dräneringsskiva", tykkelse:100, varmeledning:0.04, bilde:"rw_tung_vegg.jpg"},
					 {navn:"50 mm Dräneringsskiva", tykkelse:50, varmeledning:0.04, bilde:"rw_tung_vegg.jpg"},
					 {navn:"20 mm Stegljudskiva", tykkelse:20, varmeledning:0.037, 
					  horbilde:"rw_tung_gulv.jpg", horbilde2:"trelekter.jpg"},
					 {navn:"50 mm Stegljudskiva", tykkelse:50, varmeledning:0.037, 
					  horbilde:"rw_tung_gulv.jpg", horbilde2:"trelekter.jpg"},
					 {navn:"50 mm Hardrock Energy", tykkelse:50, varmeledning:0.036, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"70 mm Hardrock Energy", tykkelse:70, varmeledning:0.036, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"80 mm Hardrock Energy", tykkelse:80, varmeledning:0.036, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"100 mm Hardrock Energy", tykkelse:100, varmeledning:0.036, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"120 mm Hardrock Energy", tykkelse:120, varmeledning:0.036, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"140 mm Hardrock Energy", tykkelse:140, varmeledning:0.036, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"150 mm Hardrock Energy", tykkelse:150, varmeledning:0.036, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"170 mm Hardrock Energy", tykkelse:170, varmeledning:0.036, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"180 mm Hardrock Energy", tykkelse:180, varmeledning:0.036, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"200 mm Hardrock Energy", tykkelse:200, varmeledning:0.036, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"50 mm Hardrock Takfall 1:40", tykkelse:50, varmeledning:0.039, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"35 mm Hardrock Takfall 1:60", tykkelse:35, varmeledning:0.039, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"50 mm Betongunderlag Energy", tykkelse:50, varmeledning:0.035, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"60 mm Betongunderlag Energy", tykkelse:60, varmeledning:0.035, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"100 mm Betongunderlag Energy", tykkelse:100, varmeledning:0.035, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"120 mm Betongunderlag Energy", tykkelse:120, varmeledning:0.035, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"150 mm Betongunderlag Energy", tykkelse:150, varmeledning:0.035, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"160 mm Betongunderlag Energy", tykkelse:160, varmeledning:0.035, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"200 mm Betongunderlag Energy", tykkelse:200, varmeledning:0.035, horbilde:"rw_tung_gulv.jpg"},
					 {navn:"40 mm Stålunderlag Energy", tykkelse:40, varmeledning:0.036, horbilde:"rw_gulv.jpg"},
					 {navn:"50 mm Stålunderlag Energy", tykkelse:50, varmeledning:0.036, horbilde:"rw_gulv.jpg"},
					 {navn:"60 mm Stålunderlag Energy", tykkelse:60, varmeledning:0.036, horbilde:"rw_gulv.jpg"},
					 {navn:"80 mm Stålunderlag Energy", tykkelse:80, varmeledning:0.036, horbilde:"rw_gulv.jpg"},
					 {navn:"100 mm Stålunderlag Energy", tykkelse:100, varmeledning:0.036, horbilde:"rw_gulv.jpg"},
					 {navn:"120 mm Stålunderlag Energy", tykkelse:120, varmeledning:0.036, horbilde:"rw_gulv.jpg"},
					 {navn:"130 mm Stålunderlag Energy", tykkelse:130, varmeledning:0.036, horbilde:"rw_gulv.jpg"},
					 {navn:"140 mm Stålunderlag Energy", tykkelse:140, varmeledning:0.036, horbilde:"rw_gulv.jpg"},
					 {navn:"150 mm Stålunderlag Energy", tykkelse:150, varmeledning:0.036, horbilde:"rw_gulv.jpg"},
					 {navn:"160 mm Stålunderlag Energy", tykkelse:160, varmeledning:0.036, horbilde:"rw_gulv.jpg"},
					 {navn:"20 mm Takboard", tykkelse:20, varmeledning:0.039, horbilde:"rw_gulv.jpg"},
					 {navn:"50 mm Ljudunderlagsskiva", tykkelse:50, varmeledning:0.037, horbilde:"rw_gulv.jpg"},
					 {navn:"145 mm Takstolsskiva med vindskydd", tykkelse:145, varmeledning:0.037, horbilde:"rw_gulv.jpg"},
					 {navn:"170 mm Takstolsskiva med vindskydd", tykkelse:170, varmeledning:0.037, horbilde:"rw_gulv.jpg"},
					 {navn:"195 mm Takstolsskiva med vindskydd", tykkelse:195, varmeledning:0.037, horbilde:"rw_gulv.jpg"},
					 {navn:"220 mm Takstolsskiva med vindskydd", tykkelse:220, varmeledning:0.037, horbilde:"rw_gulv.jpg"},
					 {navn:"230 mm Takstolsskiva med vindskydd", tykkelse:230, varmeledning:0.037, horbilde:"rw_gulv.jpg"},
					 {navn:"50 mm S80", tykkelse:50, varmeledning:0.038, horbilde:"eps.jpg"},
					 {navn:"70 mm S80", tykkelse:70, varmeledning:0.038, horbilde:"eps.jpg"},
					 {navn:"80 mm S80", tykkelse:80, varmeledning:0.038, horbilde:"eps.jpg"},
					 {navn:"100 mm S80", tykkelse:100, varmeledning:0.038, horbilde:"eps.jpg"},
					 {navn:"150 mm S80", tykkelse:150, varmeledning:0.038, horbilde:"eps.jpg"},
					 {navn:"200 mm S80", tykkelse:200, varmeledning:0.038, horbilde:"eps.jpg"},
					 {navn:"50 mm S150", tykkelse:50, varmeledning:0.035, horbilde:"eps.jpg"},
					 {navn:"70 mm S150", tykkelse:70, varmeledning:0.035, horbilde:"eps.jpg"},
					 {navn:"80 mm S150", tykkelse:80, varmeledning:0.035, horbilde:"eps.jpg"},
					 {navn:"100 mm S150", tykkelse:100, varmeledning:0.035, horbilde:"eps.jpg"},
					 {navn:"150 mm S150", tykkelse:150, varmeledning:0.035, horbilde:"eps.jpg"},
					 {navn:"200 mm S150", tykkelse:200, varmeledning:0.035, horbilde:"eps.jpg"},
					 {navn:"50 mm XPS", tykkelse:50, varmeledning:0.034, horbilde:"eps.jpg"},
					 {navn:"70 mm XPS", tykkelse:70, varmeledning:0.034, horbilde:"eps.jpg"},
					 {navn:"80 mm XPS", tykkelse:80, varmeledning:0.034, horbilde:"eps.jpg"},
					 {navn:"100 mm XPS", tykkelse:100, varmeledning:0.034, horbilde:"eps.jpg"},
					 {navn:"50 mm Markskiva Industri", tykkelse:50, varmeledning:0.037, 
					  horbilde:"rw_tung_gulv.jpg", horbilde2:"trelekter.jpg"},
					 {navn:"70 mm Markskiva Industri", tykkelse:70, varmeledning:0.037, 
					  horbilde:"rw_tung_gulv.jpg", horbilde2:"trelekter.jpg"},
					 {navn:"80 mm Markskiva Industri", tykkelse:80, varmeledning:0.037, 
					  horbilde:"rw_tung_gulv.jpg", horbilde2:"trelekter.jpg"},
					 {navn:"100 mm Markskiva Industri", tykkelse:100, varmeledning:0.037,
					  horbilde:"rw_tung_gulv.jpg", horbilde2:"trelekter.jpg"},
					 {navn:"50 mm Fasadskiva", tykkelse:50, varmeledning:0.035, bilde:"rw_tung_gulv.jpg"},
					 {navn:"80 mm Fasadskiva", tykkelse:80, varmeledning:0.035, bilde:"rw_tung_gulv.jpg"},
					 {navn:"100 mm Fasadskiva", tykkelse:100, varmeledning:0.035, bilde:"rw_tung_gulv.jpg"},
					 {navn:"120 mm Fasadskiva", tykkelse:120, varmeledning:0.035, bilde:"rw_tung_gulv.jpg"},
					 {navn:"150 mm Fasadskiva", tykkelse:150, varmeledning:0.035, bilde:"rw_tung_gulv.jpg"},
					 {navn:"180 mm Fasadskiva", tykkelse:180, varmeledning:0.035, bilde:"rw_tung_gulv.jpg"},
					 {navn:"100 mm Flex Systemskiva", tykkelse:100, varmeledning:0.035, bilde:"rw_tung_gulv.jpg"},
					 {navn:"150 mm Flex Systemskiva", tykkelse:150, varmeledning:0.035, bilde:"rw_tung_gulv.jpg"},
					 {navn:"175 mm Flex Systemskiva", tykkelse:175, varmeledning:0.035, bilde:"rw_tung_gulv.jpg"},
					 {navn:"200 mm Flex Systemskiva", tykkelse:200, varmeledning:0.035, bilde:"rw_tung_gulv.jpg"},
					 {navn:"225 mm Flex Systemskiva", tykkelse:225, varmeledning:0.035, bilde:"rw_tung_gulv.jpg"},
					 {navn:"250 mm Flex Systemskiva", tykkelse:250, varmeledning:0.035, bilde:"rw_tung_gulv.jpg"},
					 {navn:"30 mm KanalBatts 65", tykkelse:30, varmeledning:0.035, 
					 	bilde:"rw_tung_gulv.jpg", horbilde:"rw_tung_gulv.jpg"},
					 {navn:"50 mm KanalBatts 65", tykkelse:50, varmeledning:0.035, 
					 	bilde:"rw_tung_gulv.jpg", horbilde:"rw_tung_gulv.jpg"},
					 {navn:"100 mm KanalBatts 65", tykkelse:100, varmeledning:0.035, 
					 	bilde:"rw_tung_gulv.jpg", horbilde:"rw_tung_gulv.jpg"}
];

function iso_valg(droplist)
{
	var index = droplist.selectedIndex;
	var verdi = droplist.options[index].text;
	for (i = 0; i < arrayIsolasjon.length; i++) {
		if (arrayIsolasjon[i].navn == verdi) {
			index = i;
			break;
		}
	}	
	var navn = droplist.name;
	var edit_tykkelse = document.getElementById(navn + "_tykkelse");
	edit_tykkelse.value = arrayIsolasjon[index].tykkelse;
	var edit_varmeledning = document.getElementById(navn + "_varmeledning");
	edit_varmeledning.value = arrayIsolasjon[index].varmeledning;
	beregn_uverdi();
}

var arrayKantisolasjon = [
						 {navn:"H-sockel 400 mm höjd", tykkelse:100, varmeledning:0.036, dybde:400},
						 {navn:"H-sockel 600 mm höjd", tykkelse:100, varmeledning:0.036, dybde:600},
						 {navn:"L-element 300 mm", tykkelse:100, varmeledning:0.038, dybde:300},
						 {navn:"L-element 400 mm", tykkelse:100, varmeledning:0.038, dybde:400},
						 {navn:"L-element 500 mm", tykkelse:100, varmeledning:0.038, dybde:500},
						 {navn:"L-element 600 mm", tykkelse:100, varmeledning:0.038, dybde:600},
						 {navn:"50 mm S80", tykkelse:50, varmeledning:0.038, dybde:600},
						 {navn:"70 mm S80", tykkelse:70, varmeledning:0.038, dybde:600},
						 {navn:"80 mm S80", tykkelse:80, varmeledning:0.038, dybde:600},
						 {navn:"100 mm S80", tykkelse:100, varmeledning:0.038, dybde:600},
						 {navn:"50 mm S150", tykkelse:50, varmeledning:0.035, dybde:600},
						 {navn:"70 mm S150", tykkelse:70, varmeledning:0.035, dybde:600},
						 {navn:"80 mm S150", tykkelse:80, varmeledning:0.035, dybde:600},
						 {navn:"100 mm S150", tykkelse:100, varmeledning:0.035, dybde:600},
						 {navn:"50 mm XPS", tykkelse:50, varmeledning:0.034, dybde:600},
						 {navn:"70 mm XPS", tykkelse:70, varmeledning:0.034, dybde:600},
						 {navn:"80 mm XPS", tykkelse:80, varmeledning:0.034, dybde:600},
						 {navn:"100 mm XPS", tykkelse:100, varmeledning:0.034, dybde:600},
						 {navn:"50 mm Markskiva Industri", tykkelse:50, varmeledning:0.037, dybde:600},
						 {navn:"70 mm Markskiva Industri", tykkelse:70, varmeledning:0.037, dybde:600},
						 {navn:"80 mm Markskiva Industri", tykkelse:80, varmeledning:0.037, dybde:600},
						 {navn:"100 mm Markskiva Industri", tykkelse:100, varmeledning:0.037, dybde:600}
];

function kantiso_valg(droplist)
{
	var index = droplist.selectedIndex;
	var verdi = droplist.options[index].text;
	for (i = 0; i < arrayKantisolasjon.length; i++) {
		if (arrayKantisolasjon[i].navn == verdi) {
			index = i;
			break;
		}
	}	
	var navn = droplist.name;
	var edit_tykkelse = document.getElementById(navn + "_tykkelse");
	edit_tykkelse.value = arrayKantisolasjon[index].tykkelse;
	var edit_varmeledning = document.getElementById(navn + "_varmeledning");
	edit_varmeledning.value = arrayKantisolasjon[index].varmeledning;
	var edit_dybde = document.getElementById(navn + "_dybde");
	edit_dybde.value = arrayKantisolasjon[index].dybde;
	beregn_uverdi();
}

var arrayMarkisolasjon = [
						 {navn:"50 mm S150", tykkelse:50, varmeledning:0.052, dybde:600},
						 {navn:"70 mm S150", tykkelse:70, varmeledning:0.052, dybde:600},
						 {navn:"80 mm S150", tykkelse:80, varmeledning:0.052, dybde:600},
						 {navn:"100 mm S150", tykkelse:100, varmeledning:0.052, dybde:600},
						 {navn:"50 mm", tykkelse:50, varmeledning:0.038, dybde:600},
						 {navn:"70 mm", tykkelse:70, varmeledning:0.038, dybde:600},
						 {navn:"80 mm", tykkelse:80, varmeledning:0.038, dybde:600},
						 {navn:"100 mm", tykkelse:100, varmeledning:0.038, dybde:600},
						 {navn:"50 mm Markskiva Industri", tykkelse:50, varmeledning:0.055, dybde:600},
						 {navn:"70 mm Markskiva Industri", tykkelse:70, varmeledning:0.055, dybde:600},
						 {navn:"80 mm Markskiva Industri", tykkelse:80, varmeledning:0.055, dybde:600},
						 {navn:"100 mm Markskiva Industri", tykkelse:100, varmeledning:0.055, dybde:600}
];

function markiso_valg(droplist)
{
	var index = droplist.selectedIndex;
	var verdi = droplist.options[index].text;
	for (i = 0; i < arrayMarkisolasjon.length; i++) {
		if (arrayMarkisolasjon[i].navn == verdi) {
			index = i;
			break;
		}
	}	
	var navn = droplist.name;
	var edit_tykkelse = document.getElementById(navn + "_tykkelse");
	edit_tykkelse.value = arrayMarkisolasjon[index].tykkelse;
	var edit_varmeledning = document.getElementById(navn + "_varmeledning");
	edit_varmeledning.value = arrayMarkisolasjon[index].varmeledning;
	var edit_dybde = document.getElementById(navn + "_dybde");
	edit_dybde.value = arrayMarkisolasjon[index].dybde;
	beregn_uverdi();
}

function utv_iso_valg(droplist)
{
	var index = droplist.selectedIndex;
	var verdi = droplist.options[index].text;
	var i;
	for (i = 0; i < arrayIsolasjon.length; i++) {
		if (arrayIsolasjon[i].navn == verdi) {
			index = i;
			break;
		}
	}
	var navn = droplist.name;
	var indeks1 = verdi.indexOf("Murplate");
	var indeks2 = verdi.indexOf("RockVegg");
	var indeks3 = verdi.indexOf("Fasadeplate");
	if (indeks1 >= 0 || indeks2 >= 0 || indeks3 >= 0) {
		var id = navn.substring(0, navn.length - 4); // fjerner iso
		var edit_arealandel = document.getElementById(id + "_arealandel");
		edit_arealandel.value = "0";
		var droplist_spikerslag = document.getElementById(id + "_liste");
		var opts = droplist_spikerslag.options;
		for (i = 0; i < opts.length; i++) {
			if (opts[i].text.indexOf("Ingen") >= 0) {
				droplist_spikerslag.selectedIndex = i;
				break;
			}
		}
	}
	var edit_tykkelse = document.getElementById(navn + "_tykkelse");
	edit_tykkelse.value = arrayIsolasjon[index].tykkelse;
	var edit_varmeledning = document.getElementById(navn + "_varmeledning");
	edit_varmeledning.value = arrayIsolasjon[index].varmeledning;
	beregn_uverdi();
}

var arraySpikerslag = [{navn:"45 mm träreglar (cc 450 mm)", arealandel:14, varmeledning:0.14},
					   {navn:"45 mm träreglar (cc 600 mm)", arealandel:12, varmeledning:0.14},
					   {navn:"95 mm träreglar (cc 600 mm)", arealandel:14, varmeledning:0.14},
					   {navn:"45 mm träreglar (cc 1200 mm)", arealandel:5, varmeledning:0.14},
					   {navn:"Lättreglar (cc 600 mm)", arealandel:8, varmeledning:0.14},
					   {navn:"Lättreglar (cc 1200 mm)", arealandel:4, varmeledning:0.14},
					   {navn:"36 mm heltrebjelker (cc 60 cm)", arealandel:7, varmeledning:0.14},
					   {navn:"Bjelker med I-profil (cc 60 cm)", arealandel:6, varmeledning:0.14},
					   {navn:"36 mm heltresperrer (cc 60 cm)", arealandel:7, varmeledning:0.14},
				       {navn:"Stålstendere uten slisser", arealandel:9, varmeledning:3},
				       {navn:"Stålstendere med slisser", arealandel:9, varmeledning:2},
					   {navn:"48 mm heltrebjelker (cc 90 cm)", arealandel:6, varmeledning:0.14},
					   {navn:"36 mm heltrebjelker (cc 90 cm)", arealandel:5, varmeledning:0.14},
					   {navn:"Bjelker med I-profil (cc 90 cm)", arealandel:3, varmeledning:0.14},
					   {navn:"36 mm takstoler av heltre (cc 60 cm)", arealandel:7, varmeledning:0.14},
					   {navn:"48 mm takstoler av heltre (cc 60 cm)", arealandel:9, varmeledning:0.14},
					   {navn:"Takstoler med I-profil (cc 60 cm)", arealandel:6, varmeledning:0.14},
					   {navn:"Inga (obruten isolering)", arealandel:0, varmeledning:0.14}];

function spikerslag_valg(droplist)
{
	var index = droplist.selectedIndex;
	var verdi = droplist.options[index].text;
	for (i = 0; i < arraySpikerslag.length; i++) {
		if (arraySpikerslag[i].navn == verdi) {
			index = i;
			break;
		}
	}	
	var navn = droplist.name;
	var edit_arealandel = document.getElementById(navn + "_arealandel");
	edit_arealandel.value = arraySpikerslag[index].arealandel;
	var edit_varmeledning = document.getElementById(navn + "_varmeledning");
	edit_varmeledning.value = arraySpikerslag[index].varmeledning;
	beregn_uverdi();
}

var arrayBjelkelag_h = [{navn:"0 mm (inga bjälkar)", hoyde:0},
						{navn:"95 mm", hoyde:95},
						{navn:"120 mm", hoyde:120},
						{navn:"145 mm", hoyde:145},
						{navn:"170 mm", hoyde:170},
						{navn:"195 mm", hoyde:195},
						{navn:"220 mm", hoyde:220},
						{navn:"250 mm", hoyde:250},
					    {navn:"300 mm", hoyde:300}];

function bjelkelag_h_valg(droplist)
{
	var index = droplist.selectedIndex;
	var verdi = droplist.options[index].text;
	for (i = 0; i < arrayBjelkelag_h.length; i++) {
		if (arrayBjelkelag_h[i].navn == verdi) {
			index = i;
			break;
		}
	}	
	var navn = droplist.name + "oyde";
	var edit_hoyde = document.getElementById(navn);
	edit_hoyde.value = arrayBjelkelag_h[index].hoyde;
	beregn_uverdi();
}

var arrayGrunnforhold = [{navn:"Berg", varmekap:556, varmeledning:3.5, bilde:"fjell.jpg"},
						 {navn:"Sprängsten", varmekap:556, varmeledning:2.5, bilde:"pukk.jpg"},
						 {navn:"Morän, icke dränerad sand och grus", varmekap:556, varmeledning:2.0, bilde:"sand.jpg"},
						 {navn:"Lera, silt, dränerad sand och grus", varmekap:833, varmeledning:1.5, bilde:"leire.jpg"}];

function grunnforhold_valg(droplist)
{
	var index = droplist.selectedIndex;
	var verdi = droplist.options[index].text;
	for (i = 0; i < arrayGrunnforhold.length; i++) {
		if (arrayGrunnforhold[i].navn == verdi) {
			index = i;
			break;
		}
	}	
	var navn = droplist.name;
	var edit_varmekap = document.getElementById(navn + "_varmekap");
	edit_varmekap.value = arrayGrunnforhold[index].varmekap;
	var edit_varmeledning = document.getElementById(navn + "_varmeledning");
	edit_varmeledning.value = arrayGrunnforhold[index].varmeledning;
	beregn_uverdi();
}

var arrayTaktekking = [{navn:"Takpannor", hoyde:20, bilde:"takstein.jpg"},
					   {navn:"Tätskiktsmatta/Takduk", hoyde:11, bilde:"takpapp.jpg"},
					   {navn:"Shingel", hoyde:11, bilde:"takpapp.jpg"},
					   {navn:"Plåt", hoyde:12, bilde:"takplater.jpg"}];

function taktekking_valg(droplist)
{
/*	var index = droplist.selectedIndex;
	var verdi = droplist.options[index].text;
	for (i = 0; i < arrayMaterial.length; i++) {
		if (arrayTaktekking[i].navn == verdi) {
			index = i;
			break;
		}
	}	
	var navn = droplist.name;
	var edit_tykkelse = document.getElementById(navn + "_tykkelse");
	edit_tykkelse.value = arrayMaterial[index].tykkelse;
	var edit_varmeledning = document.getElementById(navn + "_varmeledning");
	edit_varmeledning.value = arrayMaterial[index].varmeledning; */
	beregn_uverdi();
}

function beregn_uverdi()
{
	var uverdikravI;
	var uverdikravII;
	var uverdikravIII;
	switch(konstr_kategori)
	{
		case 0:
			beregnet_uverdi = beregn_uverdi_vegg();
			uverdikravI = arrayKravIVegg[konstr_type];
			uverdikravII = arrayKravIIVegg[konstr_type];
			uverdikravIII = arrayKravIIIVegg[konstr_type];
			break;
		case 1:
			beregnet_uverdi = beregn_uverdi_tak();
			uverdikravI = arrayKravITak[konstr_type];
			uverdikravII = arrayKravIITak[konstr_type];
			uverdikravIII = arrayKravIIITak[konstr_type];
			break;
		case 2:
			beregnet_uverdi = beregn_uverdi_gulv();
			uverdikravI = arrayKravIGulv[konstr_type];
			uverdikravII = arrayKravIIGulv[konstr_type];
			uverdikravIII = arrayKravIIIGulv[konstr_type];
			break;
	}
	beregnet_uverdi = Math.round(beregnet_uverdi * 1000) / 1000;

	var img_trafikklysI = "redlight.jpg";
	var img_trafikklysII = "redlight.jpg";
	var img_trafikklysIII = "redlight.jpg";
	if (beregnet_uverdi <= uverdikravI) {
		img_trafikklysI = "greenlight.jpg";
	}
	if (beregnet_uverdi <= uverdikravII) {
		img_trafikklysII = "greenlight.jpg";
	}
	if (beregnet_uverdi <= uverdikravIII) {
		img_trafikklysIII = "greenlight.jpg";
	}
	var trafikklysI = document.getElementById("trafikklys_uverdi_I");
	trafikklysI.src = "Images/" + img_trafikklysI;
	var uverdi_cell = document.getElementById("beregnet_uverdi");
	var uverdi_str = tre_desimaler(beregnet_uverdi);
	uverdi_cell.innerHTML = "<strong>" + uverdi_str + " W/m&sup2;K</strong>";
	var krav_uverdi_cellI = document.getElementById("krav_uverdi_I");
	uverdi_strI = to_desimaler(uverdikravI);
	krav_uverdi_cellI.innerHTML = "<strong>" + uverdi_strI + " W/m&sup2;K</strong>";
	
	var trafikklysII = document.getElementById("trafikklys_uverdi_II");
	trafikklysII.src = "Images/" + img_trafikklysII;
	var krav_uverdi_cellII = document.getElementById("krav_uverdi_II");
	uverdi_strII = to_desimaler(uverdikravII);
	krav_uverdi_cellII.innerHTML = "<strong>" + uverdi_strII + " W/m&sup2;K</strong>";
	
	var trafikklysIII = document.getElementById("trafikklys_uverdi_III");
	trafikklysIII.src = "Images/" + img_trafikklysIII;
	var krav_uverdi_cellIII = document.getElementById("krav_uverdi_III");
	uverdi_strIII = to_desimaler(uverdikravIII);
	krav_uverdi_cellIII.innerHTML = "<strong>" + uverdi_strIII + " W/m&sup2;K</strong>";

	document.getElementById("tykkelse_konstr").innerHTML = "<strong>" + tykkelse_konstr + " mm</strong>";

	// Fjern feilmelding
	var feilmelding = document.getElementById("konstr_melding")
	feilmelding.innerHTML = "Om vill överföra beräkningarna till rapporten och beräkna U<sub>m</sub> måste du lagra alla vägg-, tak, och golvkonstruktioner i byggnaden här.";
}

function to_desimaler(verdi)
{
	var str = String(verdi);
	var punktum = str.indexOf(".");
	if (punktum == -1) {
		str += ".00";
	} else {
		if (punktum + 2 == str.length)
			str += "0";
	}
	return str;
}

function tre_desimaler(verdi)
{
	var str = String(verdi);
	var punktum = str.indexOf(".");
	if (punktum == -1) {
		str += ".000";
	} else {
		if (punktum + 3 == str.length)
			str += "0";
		if (punktum + 2 == str.length)
			str += "00";
	}
	return str;
}

function les_tall(id, minverdi, maksverdi, stdverdi)
{
	var str_val = document.getElementById(id).value;
	var verdi = Number(str_val.replace(",", "."));
	if (isNaN(verdi) || verdi < minverdi || verdi > maksverdi) {
		verdi = stdverdi;
	}
	return verdi;
}

function finn_bildefil(id, data)
{
	var droplist = document.getElementById(id);
	var index = 0;
	var verdi = droplist.options[droplist.selectedIndex].text;
	for (i = 0; i < data.length; i++) {
		if (data[i].navn == verdi) {
			index = i;
			break;
		}
	}
	return data[index].bilde;
}

function finn_taktekking(id)
{
	var droplist = document.getElementById(id);
	var index = 0;
	var verdi = droplist.options[droplist.selectedIndex].text;
	for (i = 0; i < arrayTaktekking.length; i++) {
		if (arrayTaktekking[i].navn == verdi) {
			index = i;
			break;
		}
	}
	return arrayTaktekking[index];
}

function finn_bildefil2(id, data)
{
	var droplist = document.getElementById(id);
	var index = 0;
	var verdi = droplist.options[droplist.selectedIndex].text;
	for (i = 0; i < data.length; i++) {
		if (data[i].navn == verdi) {
			index = i;
			break;
		}
	}
	return data[index].bilde2;
}

function finn_horbildefil(id, data)
{
	var droplist = document.getElementById(id);
	var index = 0;
	var verdi = droplist.options[droplist.selectedIndex].text;
	for (i = 0; i < data.length; i++) {
		if (data[i].navn == verdi) {
			index = i;
			break;
		}
	}
	return data[index].horbilde;
}

function finn_horbildefil2(id, data)
{
	var droplist = document.getElementById(id);
	var index = 0;
	var verdi = droplist.options[droplist.selectedIndex].text;
	for (i = 0; i < data.length; i++) {
		if (data[i].navn == verdi) {
			index = i;
			break;
		}
	}
	return data[index].horbilde2;
}

function finn_skrabildefil(id, data)
{
	var droplist = document.getElementById(id);
	var index = 0;
	var verdi = droplist.options[droplist.selectedIndex].text;
	for (i = 0; i < data.length; i++) {
		if (data[i].navn == verdi) {
			index = i;
			break;
		}
	}
	return data[index].skrabilde;
}

function finn_skrabildefil2(id, data)
{
	var droplist = document.getElementById(id);
	var index = 0;
	var verdi = droplist.options[droplist.selectedIndex].text;
	for (i = 0; i < data.length; i++) {
		if (data[i].navn == verdi) {
			index = i;
			break;
		}
	}
	return data[index].skrabilde2;
}

function beregn_uverdi_vegg()
{
	var konstr = arrayVeggNavn[konstr_type];
	if (konstr == "kjellervegg") {
		return beregn_uverdi_kjellervegg();
	}
	var antall_ikke_h = finn_antall_ikke_h_vegg(konstr);
	if (antall_ikke_h >= 3)
		return beregn_uverdi_vegg3(konstr);
	if (antall_ikke_h == 2)
		return beregn_uverdi_vegg2(konstr);
	if (antall_ikke_h == 1)
		return beregn_uverdi_vegg1(konstr);
	
	var lag_konstr = new Array();
	var lag_ute = { height: 75, file:"ute_vert.jpg" };
	var lag_inne = { size: 75, file: "inne_vert.jpg" };
	var bredde_konstr = 0;
	var varmemotstand = 0;
	var varmemotstand_du = 0; // varmeledning for ikke-homogene isoleringslager
	var tykkelse = 0;
	var varmeledning = 0;
	tykkelse_konstr = 0;

	var luftlag = document.getElementById(konstr + "_luftlag").checked;
	var vent = "";
	if (luftlag) {
		tykkelse = les_tall(konstr + "_luftlag_tykkelse", 0, 1000, 40) / 1000;
		var droplist = document.getElementById(konstr + "_luftlag_liste");
		var index = droplist.selectedIndex;
		var vent = droplist.options[index].text;
		var hro = 5.1; // Antar temp på 10C for strålingskoeff
		var e1 = 0.5; // Emmisivitet settes lik 0.5
		var e2 = 0.5; // Emmisivitet settes lik 0.5
		var E = 1 / (1 / e1 + 1 / e2 - 1);
		var ht = E * hro;
		var ha = 0.025 / tykkelse;
		if (ha < 1.25)
			ha = 1.25;
		var vm = 1 / (ha + ht);
		if (vent == "Oventilerad") {
			varmemotstand += vm;
		} else if (vent == "Svagt ventilerad") {
			varmemotstand += vm / 2; // Regner med halve varmemotstanden (1000mm2 åpninger)
		}
	}

	tykkelse = les_tall(konstr + "_utv_kledning_tykkelse", 0, 10000, 30) / 1000; // mm -> m
	if (!luftlag  || luftlag && vent != "Väl ventilerad") {
		varmeledning = les_tall(konstr + "_utv_kledning_varmeledning", 0.001, 100, 0.12); 
		varmemotstand += tykkelse / varmeledning;
	}
	
	var bildefil = finn_bildefil(konstr + "_utv_kledning_liste", arrayMaterial);
	tykkelse_konstr += tykkelse * 1000;
	var bredde = Math.round(tykkelse * 200);
	var lag_kledning = {size:bredde, file:bildefil};
	lag_konstr.push(lag_kledning);
	bredde_konstr += bredde;

	if (luftlag) {
		var bildeluftelag = "luftlekting.jpg";
		if (bildefil == "tegl.jpg")
			bildeluftelag = "luftspalte.jpg";
		tykkelse = les_tall(konstr + "_luftlag_tykkelse", 0, 1000, 40);
		tykkelse_konstr += tykkelse;
		var bredde = Math.round(tykkelse / 5);
		var lag_lufting = {size:bredde, file:bildeluftelag};
		lag_konstr.push(lag_lufting);
		bredde_konstr += bredde;
	}

	tykkelse = les_tall(konstr + "_vindtetting_tykkelse", 0, 10000, 30) / 1000; // mm -> m
	varmeledning = les_tall(konstr + "_vindtetting_varmeledning", 0.001, 100, 0.12); 
	varmemotstand += tykkelse / varmeledning;

	if (tykkelse > 0) {
		var bildefil = finn_bildefil(konstr + "_vindtetting_liste", arrayMaterial);
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_vindtetting = {size:bredde, file:bildefil};
		lag_konstr.push(lag_vindtetting);
		bredde_konstr += bredde;
	}
	var varmeledning2 = 0;
	var arealandel = 0;
	var varmemotstand_flex = 0;
	var tykkelse_flex = 0;
	if (konstr == "flexvegg") {
		tykkelse_flex = les_tall(konstr + "_utv_utforing_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning = les_tall(konstr + "_utv_utforing_iso_varmeledning", 0.001, 100, 0.12);
		varmemotstand += tykkelse_flex / varmeledning;
		varmemotstand_flex = tykkelse_flex / varmeledning;
		bildefil = finn_bildefil(konstr + "_utv_utforing_iso_liste", arrayIsolasjon);
		tykkelse_konstr = tykkelse_flex * 1000;
		var bredde = Math.round(tykkelse_flex * 200);
		var lag_utforing = {size:bredde, file:bildefil};
		lag_konstr.push(lag_utforing);
		bredde_konstr += bredde;
		if (document.getElementById("flexvegg_homogen_radio").checked) {
			varmeledning = les_tall(konstr + "_reisverk_varmeledning", 0.001, 100, 0.5);
			tykkelse = les_tall(konstr + "_reisverk_tykkelse", 0, 10000, 200) / 1000;
			varmemotstand += tykkelse / varmeledning;
			var bildefil = finn_bildefil(konstr + "_reisverk_liste", arrayMaterial);
			tykkelse_konstr += tykkelse * 1000;
			var bredde = Math.round(tykkelse * 200);
			var lag_reisverk = {size:bredde, file:bildefil};
			lag_konstr.push(lag_reisverk);
			bredde_konstr += bredde;
		} else {
			arealandel = les_tall(konstr + "_bindingsverk_arealandel", 0, 100, 9) / 100;
			varmeledning = les_tall(konstr + "_bindingsverk_varmeledning", 0.001, 100, 0.12);
			tykkelse = les_tall(konstr + "_bindingsverk_iso_tykkelse", 0, 10000, 200) / 1000;
			varmeledning2 = les_tall(konstr + "_bindingsverk_iso_varmeledning", 0.001, 100, 0.037);
			var vm1 = arealandel * tykkelse / varmeledning + (1 - arealandel) * tykkelse / varmeledning2;
			var vm2 = tykkelse / (arealandel * varmeledning + (1 - arealandel) * varmeledning2);
			varmemotstand += (vm1 + vm2) / 2;
			if (arealandel > 0)
				varmemotstand_du += (vm1 + vm2) / 2;
			var bildefil = finn_bildefil(konstr + "_bindingsverk_iso_liste", arrayIsolasjon);
			tykkelse_konstr += tykkelse * 1000;
			var bredde = Math.round(tykkelse * 200);
			var lag_iso = {size:bredde, file:bildefil};
			lag_konstr.push(lag_iso);
			bredde_konstr += bredde;
		}
	} else {
		var utv_utforing = document.getElementById(konstr + "_utv_utforing").checked;
		if (utv_utforing) {
			arealandel = les_tall(konstr + "_utv_utforing_arealandel", 0, 100, 9) / 100 // prosent;
			varmeledning = les_tall(konstr + "_utv_utforing_varmeledning", 0.001, 100, 0.12);
			tykkelse = les_tall(konstr + "_utv_utforing_iso_tykkelse", 0, 10000, 50) / 1000;
			varmeledning2 = les_tall(konstr + "_utv_utforing_iso_varmeledning", 0.001, 100, 0.037);
			var vm1 = arealandel * tykkelse / varmeledning + (1 - arealandel) * tykkelse / varmeledning2;
			var vm2 = tykkelse / (arealandel * varmeledning + (1 - arealandel) * varmeledning2);
			varmemotstand += (vm1 + vm2) / 2;
			if (arealandel > 0) {
				varmemotstand_du += (vm1 + vm2) / 2;
				bildefil = finn_bildefil2(konstr + "_utv_utforing_liste", arrayIsolasjon);
			} else {
				bildefil = finn_bildefil(konstr + "_utv_utforing_liste", arrayIsolasjon);
			}
			tykkelse_konstr += tykkelse * 1000;
			var bredde = Math.round(tykkelse * 200);
			var lag_utforing = {size:bredde, file:bildefil};
			lag_konstr.push(lag_utforing);
			bredde_konstr += bredde;
		}
		if (konstr == "murvegg" || konstr == "reisverksvegg") {
			varmeledning = les_tall(konstr + "_reisverk_varmeledning", 0.001, 100, 0.5);
			tykkelse = les_tall(konstr + "_reisverk_tykkelse", 0, 10000, 200) / 1000;
			varmemotstand += tykkelse / varmeledning;
			var bildefil = finn_bildefil(konstr + "_reisverk_liste", arrayMaterial);
			tykkelse_konstr += tykkelse * 1000;
			var bredde = Math.round(tykkelse * 200);
			var lag_reisverk = {size:bredde, file:bildefil};
			lag_konstr.push(lag_reisverk);
			bredde_konstr += bredde;
		} else { // tre eller stål
			arealandel = les_tall(konstr + "_reisverk_arealandel", 0, 100, 9) / 100;
			varmeledning = les_tall(konstr + "_reisverk_varmeledning", 0.001, 100, 0.12);
			tykkelse = les_tall(konstr + "_iso_tykkelse", 0, 10000, 200) / 1000;
			varmeledning2 = les_tall(konstr + "_iso_varmeledning", 0.001, 100, 0.037);
			var vm1 = arealandel * tykkelse / varmeledning + (1 - arealandel) * tykkelse / varmeledning2;
			var vm2 = tykkelse / (arealandel * varmeledning + (1 - arealandel) * varmeledning2);
			varmemotstand += (vm1 + vm2) / 2;
			if (arealandel > 0)
				varmemotstand_du += (vm1 + vm2) / 2;
			var bildefil = finn_bildefil(konstr + "_iso_liste", arrayIsolasjon);
			tykkelse_konstr += tykkelse * 1000;
			var bredde = Math.round(tykkelse * 200);
			var lag_iso = {size:bredde, file:bildefil};
			lag_konstr.push(lag_iso);
			bredde_konstr += bredde;
		}
	}
	var innv_utforing = document.getElementById(konstr + "_innv_utforing").checked;
	if (innv_utforing) {
		arealandel = les_tall(konstr + "_innv_utforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall(konstr + "_innv_utforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall(konstr + "_innv_utforing_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall(konstr + "_innv_utforing_iso_varmeledning", 0.001, 100, 0.037);
		var vm1 = arealandel * tykkelse / varmeledning + (1 - arealandel) * tykkelse / varmeledning2;
		var vm2 = tykkelse / (arealandel * varmeledning + (1 - arealandel) * varmeledning2);
		varmemotstand += (vm1 + vm2) / 2;
		if (arealandel > 0) {
			varmemotstand_du += (vm1 + vm2) / 2;
			bildefil = finn_bildefil2(konstr + "_innv_utforing_liste", arrayIsolasjon);
		} else {
			bildefil = finn_bildefil(konstr + "_innv_utforing_liste", arrayIsolasjon);
		}
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_utforing = {size:bredde, file:bildefil};
		lag_konstr.push(lag_utforing);
		bredde_konstr += bredde
	}
	
	tykkelse = les_tall(konstr + "_innv_kledning_tykkelse", 0, 10000, 25) / 1000;
	varmeledning = les_tall(konstr + "_innv_kledning_varmeledning", 0.001, 100, 0.12);
	varmemotstand += tykkelse / varmeledning;

	bildefil = finn_bildefil(konstr + "_innv_kledning_liste", arrayMaterial);
	tykkelse_konstr += tykkelse * 1000;
	bredde = Math.round(tykkelse * 200);
	lag_kledning = {size:bredde, file:bildefil};
	lag_konstr.push(lag_kledning);
	bredde_konstr += bredde;

	var ekstralag = document.getElementById(konstr + "_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall(konstr + "_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall(konstr + "_ekstralag_std_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall(konstr + "_ekstralag_std_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall(konstr + "_ekstralag_std_iso_varmeledning", 0.001, 100, 0.037);
		var vm1 = arealandel * tykkelse / varmeledning + (1 - arealandel) * tykkelse / varmeledning2;
		var vm2 = tykkelse / (arealandel * varmeledning + (1 - arealandel) * varmeledning2);
		varmemotstand += (vm1 + vm2) / 2;
		if (arealandel > 0) {
			varmemotstand_du += (vm1 + vm2) / 2;
			bildefil = finn_bildefil2(konstr + "_ekstralag_std_liste", arrayIsolasjon);
		} else {
			bildefil = finn_bildefil(konstr + "_ekstralag_std_liste", arrayIsolasjon);
		}
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_utforing = {size:bredde, file:bildefil};
		lag_konstr.push(lag_utforing);
		bredde_konstr += bredde
	}

	var ekstralag_plate = document.getElementById(konstr + "_ekstralag_plate").checked;
	if (ekstralag_plate) {
		varmeledning = les_tall(konstr + "_ekstralag_plate_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall(konstr + "_ekstralag_plate_tykkelse", 0, 10000, 50) / 1000;
		varmemotstand += tykkelse / varmeledning;
		var bildefil = finn_bildefil(konstr + "_ekstralag_plate_liste", arrayPlate);
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_plate = {size:bredde, file:bildefil};
		lag_konstr.push(lag_plate);
		bredde_konstr += bredde
	}
	tykkelse_konstr = Math.round(tykkelse_konstr);

	if (bredde_konstr > 1200) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 16);
			bredde_konstr += lag_konstr[i].size;
		}
	} if (bredde_konstr > 600) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 8);
			bredde_konstr += lag_konstr[i].size;
		}
	} else 	if (bredde_konstr > 300) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 4);
			bredde_konstr += lag_konstr[i].size;
		}
	} else if (bredde_konstr > 150) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 2);
			bredde_konstr += lag_konstr[i].size;
		}
	}
	var pos = Math.round((150 - bredde_konstr) / 2);
	oppdater_detalj_vegg(lag_konstr, lag_inne, lag_ute, pos);

	var utv_overgang_vegg = 0.04;
	if (luftlag && vent == "Väl ventilerad") {
		utv_overgang_vegg = 0.13;
	}

	var innv_overgang_vegg = 0.13;
	var delta_u = 0.01 * Math.pow(varmemotstand_du / varmemotstand, 2);
	var delta_uf = 0;
	if (konstr == "flexvegg") {
		var feste_tetthet = les_tall("flexvegg_feste_tetthet", 0.01, 10, 0.3);	
		var feste_diameter = les_tall("flexvegg_feste_diameter", 0.1, 1000, 22) / 1000;	
		var feste_varmeledning = les_tall("flexvegg_feste_varmeledning", 0.01, 1000, 50);
		var feste_areal = Math.PI * Math.pow(feste_diameter, 2) / 4;
		delta_uf = 0.8 * (feste_varmeledning * feste_areal * feste_tetthet) / tykkelse_flex;
		delta_uf *= Math.pow(varmemotstand_flex / varmemotstand, 2);
	}
	var uverdi = delta_u + delta_uf + 1 / (varmemotstand + utv_overgang_vegg + innv_overgang_vegg);

	return uverdi;
}

function finn_antall_ikke_h_vegg(konstr)
{
	var antall_ikke_h = 0;
	if (konstr == "flexvegg") {
		if (!document.getElementById("flexvegg_homogen_radio").checked) {
			arealandel = les_tall(konstr + "_bindingsverk_arealandel", 0, 100, 9) / 100;
			if (arealandel > 0)
				antall_ikke_h++;
		}
	} else {
		var utv_utforing = document.getElementById(konstr + "_utv_utforing").checked;
		if (utv_utforing) {
			arealandel = les_tall(konstr + "_utv_utforing_arealandel", 0, 100, 9) / 100 // prosent;
			if (arealandel > 0)
				antall_ikke_h++;
		}
		if (konstr != "murvegg" && konstr != "reisverksvegg") {
			arealandel = les_tall(konstr + "_reisverk_arealandel", 0, 100, 9) / 100;
			if (arealandel > 0)
				antall_ikke_h++;
		}
	}

	var innv_utforing = document.getElementById(konstr + "_innv_utforing").checked;
	if (innv_utforing) {
		arealandel = les_tall(konstr + "_innv_utforing_arealandel", 0, 100, 9) / 100 // prosent;
		if (arealandel > 0)
			antall_ikke_h++;	
	}
	
	var ekstralag = document.getElementById(konstr + "_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall(konstr + "_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		if (arealandel > 0)
			antall_ikke_h++;
	}
	return antall_ikke_h;
}

function beregn_uverdi_vegg3(konstr) // beregning med semi-nøyaktig metode (3 eller fler ikke-h. lag)
{
	var lag_konstr = new Array();
	var lag_ute = { height: 75, file: "ute_vert.jpg" };
	var lag_inne = { size: 75, file: "inne_vert.jpg" };
	var bredde_konstr = 0;
	var varmemotstand_legering = 0;
	var varmemotstand_iso = 0;
	var varmemotstand_tre = 0;
	var arealandel = 0;
	var arealandel_tre = 0;
	var tykkelse = 0;
	var tykkelse_hovediso = 0;
	var varmemotstand_hovediso = 0;
	var tykkelse_ikke_h = 0;
	var varmeledning = 0;
	var utv_overgang_vegg = 0.04;
	var innv_overgang_vegg = 0.13;
	tykkelse_konstr = 0;

	var luftlag = document.getElementById(konstr + "_luftlag").checked;
	var vent = "";
	if (luftlag) {
		tykkelse = les_tall(konstr + "_luftlag_tykkelse", 0, 1000, 40) / 1000;
		var droplist = document.getElementById(konstr + "_luftlag_liste");
		var index = droplist.selectedIndex;
		var vent = droplist.options[index].text;
		var hro = 5.1; // Antar temp på 10C for strålingskoeff
		var e1 = 0.5; // Emmisivitet settes lik 0.5
		var e2 = 0.5; // Emmisivitet settes lik 0.5
		var E = 1 / (1 / e1 + 1 / e2 - 1);
		var ht = E * hro;
		var ha = 0.025 / tykkelse;
		if (ha < 1.25)
			ha = 1.25;
		var vm = 1 / (ha + ht);
		if (vent == "Oventilerad") {
			varmemotstand_legering += vm;
		} else if (vent == "Svagt ventilerad") {
			varmemotstand_legering += vm / 2; // Regner med halve varmemotstanden (1000mm2 åpninger)
		} else if (vent == "Väl ventilerad") {
			utv_overgang_vegg = 0.13; // ref 6946			
		}
	}

	tykkelse = les_tall(konstr + "_utv_kledning_tykkelse", 0, 10000, 30) / 1000; // mm -> m
	if (!luftlag  || luftlag && vent != "Väl ventilerad") {
		varmeledning = les_tall(konstr + "_utv_kledning_varmeledning", 0.001, 100, 0.12); 
		varmemotstand_legering += tykkelse / varmeledning;
	}
	
	var bildefil = finn_bildefil(konstr + "_utv_kledning_liste", arrayMaterial);
	tykkelse_konstr += tykkelse * 1000;
	var bredde = Math.round(tykkelse * 200);
	var lag_kledning = {size:bredde, file:bildefil};
	lag_konstr.push(lag_kledning);
	bredde_konstr += bredde;

	if (luftlag) {
		var bildeluftelag = "luftlekting.jpg";
		if (bildefil == "tegl.jpg")
			bildeluftelag = "luftspalte.jpg";
		tykkelse = les_tall(konstr + "_luftlag_tykkelse", 0, 1000, 40);
		tykkelse_konstr += tykkelse;
		var bredde = Math.round(tykkelse / 5);
		var lag_lufting = {size:bredde, file:bildeluftelag};
		lag_konstr.push(lag_lufting);
		bredde_konstr += bredde;
	}

	tykkelse = les_tall(konstr + "_vindtetting_tykkelse", 0, 10000, 30) / 1000; // mm -> m
	varmeledning = les_tall(konstr + "_vindtetting_varmeledning", 0.001, 100, 0.12); 
	varmemotstand_legering += tykkelse / varmeledning;
	varmemotstand_iso = varmemotstand_tre = varmemotstand_legering;

	if (tykkelse > 0) {
		var bildefil = finn_bildefil(konstr + "_vindtetting_liste", arrayMaterial);
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_vindtetting = {size:bredde, file:bildefil};
		lag_konstr.push(lag_vindtetting);
		bredde_konstr += bredde;
	}
	var varmeledning2 = 0;
	var arealandel = 0;
	var varmemotstand_flex = 0;
	if (konstr == "flexvegg") {
		tykkelse_hovediso = les_tall(konstr + "_utv_utforing_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning = les_tall(konstr + "_utv_utforing_iso_varmeledning", 0.001, 100, 0.12);
		varmemotstand_hovediso = tykkelse_hovediso / varmeledning;
		varmemotstand_legering += varmemotstand_hovediso;
		varmemotstand_tre += varmemotstand_hovediso;
		varmemotstand_iso += varmemotstand_hovediso;
		bildefil = finn_bildefil(konstr + "_utv_utforing_iso_liste", arrayIsolasjon);
		tykkelse_konstr += tykkelse_hovediso * 1000;
		var bredde = Math.round(tykkelse_hovediso * 200);
		var lag_utforing = {size:bredde, file:bildefil};
		lag_konstr.push(lag_utforing);
		bredde_konstr += bredde;
		if (document.getElementById("flexvegg_homogen_radio").checked) {
			varmeledning = les_tall(konstr + "_reisverk_varmeledning", 0.001, 100, 0.5);
			tykkelse = les_tall(konstr + "_reisverk_tykkelse", 0, 10000, 200) / 1000;
			varmemotstand_legering += tykkelse / varmeledning;
			varmemotstand_iso = varmemotstand_tre = varmemotstand_legering;
			var bildefil = finn_bildefil(konstr + "_reisverk_liste", arrayMaterial);
			tykkelse_konstr += tykkelse * 1000;
			var bredde = Math.round(tykkelse * 200);
			var lag_reisverk = {size:bredde, file:bildefil};
			lag_konstr.push(lag_reisverk);
			bredde_konstr += bredde;
		} else {
			arealandel = les_tall(konstr + "_bindingsverk_arealandel", 0, 100, 9) / 100;
			varmeledning = les_tall(konstr + "_bindingsverk_varmeledning", 0.001, 100, 0.12);
			tykkelse = les_tall(konstr + "_bindingsverk_iso_tykkelse", 0, 10000, 200) / 1000;
			varmeledning2 = les_tall(konstr + "_bindingsverk_iso_varmeledning", 0.001, 100, 0.037);
			if (arealandel > 0) {
				var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
				varmemotstand_legering += tykkelse / varmeledn_legering;
				var vmiso = tykkelse / varmeledning2;
				var vmtre = tykkelse / varmeledning;
				varmemotstand_iso += vmiso;
				varmemotstand_tre += vmtre;
				arealandel_tre += arealandel * tykkelse;
				tykkelse_ikke_h += tykkelse;
			} else {
				var vmiso = tykkelse / varmeledning2;
				varmemotstand_iso += vmiso;
				varmemotstand_tre += vmiso;
				varmemotstand_legering += vmiso;
			}
			var bildefil = finn_bildefil(konstr + "_bindingsverk_iso_liste", arrayIsolasjon);
			tykkelse_konstr += tykkelse * 1000;
			var bredde = Math.round(tykkelse * 200);
			var lag_iso = {size:bredde, file:bildefil};
			lag_konstr.push(lag_iso);
			bredde_konstr += bredde;
		}
	} else {
		var utv_utforing = document.getElementById(konstr + "_utv_utforing").checked;
		if (utv_utforing) {
			arealandel = les_tall(konstr + "_utv_utforing_arealandel", 0, 100, 9) / 100 // prosent;
			varmeledning = les_tall(konstr + "_utv_utforing_varmeledning", 0.001, 100, 0.12);
			tykkelse = les_tall(konstr + "_utv_utforing_iso_tykkelse", 0, 10000, 50) / 1000;
			tykkelse_hovediso = tykkelse;
			varmeledning2 = les_tall(konstr + "_utv_utforing_iso_varmeledning", 0.001, 100, 0.037);
			if (arealandel > 0) {
				var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
				varmemotstand_hovediso = tykkelse / varmeledn_legering;
				varmemotstand_legering += varmemotstand_hovediso;
				var vmiso = tykkelse / varmeledning2;
				var vmtre = tykkelse / varmeledning;
				varmemotstand_iso += vmiso;
				varmemotstand_tre += vmtre;
				arealandel_tre += arealandel * tykkelse;
				tykkelse_ikke_h += tykkelse;
			} else {
				var vmiso = tykkelse / varmeledning2;
				var vmiso = tykkelse / varmeledning2;
				varmemotstand_tre += vmiso;
				varmemotstand_iso += vmiso;
				varmemotstand_hovediso = vmiso;
				varmemotstand_legering += vmiso;
			}
			if (arealandel > 0.03)
				bildefil = finn_bildefil2(konstr + "_utv_utforing_liste", arrayIsolasjon);
			else
				bildefil = finn_bildefil(konstr + "_utv_utforing_liste", arrayIsolasjon);
			tykkelse_konstr += tykkelse * 1000;
			var bredde = Math.round(tykkelse * 200);
			var lag_utforing = {size:bredde, file:bildefil};
			lag_konstr.push(lag_utforing);
			bredde_konstr += bredde;
		}
		if (konstr == "murvegg" || konstr == "reisverksvegg") {
			varmeledning = les_tall(konstr + "_reisverk_varmeledning", 0.001, 100, 0.5);
			tykkelse = les_tall(konstr + "_reisverk_tykkelse", 0, 10000, 200) / 1000;
			var vm = tykkelse / varmeledning;
			varmemotstand_legering += vm;
			varmemotstand_iso += vm;
			varmemotstand_tre += vm;
			var bildefil = finn_bildefil(konstr + "_reisverk_liste", arrayMaterial);
			tykkelse_konstr += tykkelse * 1000;
			var bredde = Math.round(tykkelse * 200);
			var lag_reisverk = {size:bredde, file:bildefil};
			lag_konstr.push(lag_reisverk);
			bredde_konstr += bredde;
		} else { // tre eller stål
			arealandel = les_tall(konstr + "_reisverk_arealandel", 0, 100, 9) / 100;
			varmeledning = les_tall(konstr + "_reisverk_varmeledning", 0.001, 100, 0.12);
			tykkelse = les_tall(konstr + "_iso_tykkelse", 0, 10000, 200) / 1000;
			varmeledning2 = les_tall(konstr + "_iso_varmeledning", 0.001, 100, 0.037);
			if (arealandel > 0) {
				var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
				varmemotstand_legering += tykkelse / varmeledn_legering;
				var vmiso = tykkelse / varmeledning2;
				var vmtre = tykkelse / varmeledning;
				varmemotstand_iso += vmiso;
				varmemotstand_tre += vmtre;
				arealandel_tre += arealandel * tykkelse;
				tykkelse_ikke_h += tykkelse;
			} else {
				var vmiso = tykkelse / varmeledning2;
				varmemotstand_tre += vmiso;
				varmemotstand_iso += vmiso;
				varmemotstand_legering += vmiso;
			}
			bildefil = finn_bildefil(konstr + "_iso_liste", arrayIsolasjon);
			tykkelse_konstr += tykkelse * 1000;
			var bredde = Math.round(tykkelse * 200);
			var lag_iso = {size:bredde, file:bildefil};
			lag_konstr.push(lag_iso);
			bredde_konstr += bredde;
		}
	}

	var innv_utforing = document.getElementById(konstr + "_innv_utforing").checked;
	if (innv_utforing) {
		arealandel = les_tall(konstr + "_innv_utforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall(konstr + "_innv_utforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall(konstr + "_innv_utforing_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall(konstr + "_innv_utforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmtre;
			arealandel_tre += arealandel * tykkelse;
			tykkelse_ikke_h += tykkelse
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand_tre += vmiso;
			varmemotstand_iso += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_bildefil2(konstr + "_innv_utforing_liste", arrayIsolasjon);
		} else {
			bildefil = finn_bildefil(konstr + "_innv_utforing_liste", arrayIsolasjon);
		}
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_utforing = {size:bredde, file:bildefil};
		lag_konstr.push(lag_utforing);
		bredde_konstr += bredde
	}
	
	tykkelse = les_tall(konstr + "_innv_kledning_tykkelse", 0, 10000, 25) / 1000;
	varmeledning = les_tall(konstr + "_innv_kledning_varmeledning", 0.001, 100, 0.12);
	vm = tykkelse / varmeledning;
	varmemotstand_legering += vm;
	varmemotstand_iso += vm;
	varmemotstand_tre += vm;

	bildefil = finn_bildefil(konstr + "_innv_kledning_liste", arrayMaterial);
	tykkelse_konstr += tykkelse * 1000;
	bredde = Math.round(tykkelse * 200);
	lag_kledning = {size:bredde, file:bildefil};
	lag_konstr.push(lag_kledning);
	bredde_konstr += bredde;

	var ekstralag = document.getElementById(konstr + "_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall(konstr + "_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall(konstr + "_ekstralag_std_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall(konstr + "_ekstralag_std_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall(konstr + "_ekstralag_std_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmtre;
			arealandel_tre += arealandel * tykkelse;
			tykkelse_ikke_h += tykkelse;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_bildefil2(konstr + "_ekstralag_std_liste", arrayIsolasjon);
		} else {
			bildefil = finn_bildefil(konstr + "_ekstralag_std_liste", arrayIsolasjon);
		}
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_utforing = {size:bredde, file:bildefil};
		lag_konstr.push(lag_utforing);
		bredde_konstr += bredde
	}

	var ekstralag_plate = document.getElementById(konstr + "_ekstralag_plate").checked;
	if (ekstralag_plate) {
		varmeledning = les_tall(konstr + "_ekstralag_plate_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall(konstr + "_ekstralag_plate_tykkelse", 0, 10000, 50) / 1000;
		vm += tykkelse / varmeledning;
		varmemotstand_legering += vm;
		varmemotstand_tre += vm;
		varmemotstand_iso += vm;
		var bildefil = finn_bildefil(konstr + "_ekstralag_plate_liste", arrayPlate);
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_plate = {size:bredde, file:bildefil};
		lag_konstr.push(lag_plate);
		bredde_konstr += bredde
	}
	tykkelse_konstr = Math.round(tykkelse_konstr);

	if (bredde_konstr > 1200) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 16);
			bredde_konstr += lag_konstr[i].size;
		}
	} if (bredde_konstr > 600) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 8);
			bredde_konstr += lag_konstr[i].size;
		}
	} else 	if (bredde_konstr > 300) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 4);
			bredde_konstr += lag_konstr[i].size;
		}
	} else if (bredde_konstr > 150) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 2);
			bredde_konstr += lag_konstr[i].size;
		}
	}
	var pos = Math.round((150 - bredde_konstr) / 2);
	oppdater_detalj_vegg(lag_konstr, lag_inne, lag_ute, pos);
	
	varmemotstand_legering += utv_overgang_vegg + innv_overgang_vegg;
	varmemotstand_tre += utv_overgang_vegg + innv_overgang_vegg;
	varmemotstand_iso += utv_overgang_vegg + innv_overgang_vegg;
	arealandel_tre /= tykkelse_ikke_h;
	var arealandel_iso = 1 - arealandel_tre;

	var varmemotstand_skott = 1 / (arealandel_tre / varmemotstand_tre + 
								   arealandel_iso / varmemotstand_iso);
	var varmemotstand = (varmemotstand_legering + varmemotstand_skott) / 2;
	var delta_uf = 0;
	if (konstr == "flexvegg") {
		var feste_tetthet = les_tall("flexvegg_feste_tetthet", 0.01, 10, 0.3);	
		var feste_diameter = les_tall("flexvegg_feste_diameter", 0.1, 1000, 22) / 1000;	
		var feste_varmeledning = les_tall("flexvegg_feste_varmeledning", 0.01, 1000, 50);
		var feste_areal = Math.PI * Math.pow(feste_diameter, 2) / 4;
		delta_uf = 0.8 * (feste_varmeledning * feste_areal * feste_tetthet) / tykkelse_hovediso;
		delta_uf *= Math.pow(varmemotstand_hovediso / varmemotstand, 2);
	}
	/*
	var kuldebro = document.getElementById(konstr + "_kuldebro_check").checked;
	if (kuldebro && tykkelse_hovediso > 0) {
		var feste_tetthet = les_tall(konstr + "_kuldebro_antall", 0.1, 100, 3);	
		var feste_diameter = les_tall(konstr + "_kuldebro_diameter", 0.1, 1000, 8) / 1000;	
		var feste_varmeledning = les_tall(konstr + "_kuldebro_varmeledning", 0.01, 1000, 50);
		var feste_areal = Math.PI * Math.pow(feste_diameter, 2) / 4;
		delta_uf = 0.8 * (feste_varmeledning * feste_areal * feste_tetthet) / tykkelse_hovediso;
		delta_uf *= Math.pow(varmemotstand_hovediso / varmemotstand, 2);
	}
	*/
	var uverdi = delta_uf + 1 / varmemotstand;

	return uverdi;
}

function beregn_uverdi_vegg2(konstr) // beregning med nøyaktig metode (maks 2 ikke-h. lag)

{
	var lag_konstr = new Array();
	var lag_ute = { height: 75, file: "ute_vert.jpg" };
	var lag_inne = { size: 75, file: "inne_vert.jpg" };
	var bredde_konstr = 0;
	var varmemotstand_legering = 0;
	var varmemotstand1 = 0;
	var varmemotstand2 = 0;
	var varmemotstand3 = 0;
	var varmemotstand4 = 0;
	var arealandel = 0;
	var arealandel1 = 0;
	var arealandel2 = 0;
	var arealandel3 = 0;
	var arealandel4 = 0.01; // antar 1% arealandel for kryss
	var tykkelse = 0;
	var tykkelse_hovediso = 0;
	var varmemotstand_hovediso = 0;
	var varmeledning = 0;
	var utv_overgang_vegg = 0.04;
	var innv_overgang_vegg = 0.13;
	var lag1 = false;
	tykkelse_konstr = 0;

	var luftlag = document.getElementById(konstr + "_luftlag").checked;
	var vent = "";
	if (luftlag) {
		tykkelse = les_tall(konstr + "_luftlag_tykkelse", 0, 1000, 40) / 1000;
		var droplist = document.getElementById(konstr + "_luftlag_liste");
		var index = droplist.selectedIndex;
		var vent = droplist.options[index].text;
		var hro = 5.1; // Antar temp på 10C for strålingskoeff
		var e1 = 0.5; // Emmisivitet settes lik 0.5
		var e2 = 0.5; // Emmisivitet settes lik 0.5
		var E = 1 / (1 / e1 + 1 / e2 - 1);
		var ht = E * hro;
		var ha = 0.025 / tykkelse;
		if (ha < 1.25)
			ha = 1.25;
		var vm = 1 / (ha + ht);
		if (vent == "Oventilerad") {
			varmemotstand_legering += vm;
		} else if (vent == "Svagt ventilerad") {
			varmemotstand_legering += vm / 2; // Regner med halve varmemotstanden (1000mm2 åpninger)
		} else if (vent == "Väl ventilerad") {
			utv_overgang_vegg = 0.13; // ref 6946			
		}
	}

	tykkelse = les_tall(konstr + "_utv_kledning_tykkelse", 0, 10000, 30) / 1000; // mm -> m
	if (!luftlag  || luftlag && vent != "Väl ventilerad") {
		varmeledning = les_tall(konstr + "_utv_kledning_varmeledning", 0.001, 100, 0.12); 
		varmemotstand_legering += tykkelse / varmeledning;
	}
	
	var bildefil = finn_bildefil(konstr + "_utv_kledning_liste", arrayMaterial);
	tykkelse_konstr += tykkelse * 1000;
	var bredde = Math.round(tykkelse * 200);
	var lag_kledning = {size:bredde, file:bildefil};
	lag_konstr.push(lag_kledning);
	bredde_konstr += bredde;

	if (luftlag) {
		var bildeluftelag = "luftlekting.jpg";
		if (bildefil == "tegl.jpg")
			bildeluftelag = "luftspalte.jpg";
		tykkelse = les_tall(konstr + "_luftlag_tykkelse", 0, 1000, 40);
		tykkelse_konstr += tykkelse;
		var bredde = Math.round(tykkelse / 5);
		var lag_lufting = {size:bredde, file:bildeluftelag};
		lag_konstr.push(lag_lufting);
		bredde_konstr += bredde;
	}

	tykkelse = les_tall(konstr + "_vindtetting_tykkelse", 0, 10000, 30) / 1000; // mm -> m
	varmeledning = les_tall(konstr + "_vindtetting_varmeledning", 0.001, 100, 0.12); 
	varmemotstand_legering += tykkelse / varmeledning;
	varmemotstand1 = varmemotstand2 = varmemotstand3 = varmemotstand4 = varmemotstand_legering;

	if (tykkelse > 0) {
		var bildefil = finn_bildefil(konstr + "_vindtetting_liste", arrayMaterial);
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_vindtetting = {size:bredde, file:bildefil};
		lag_konstr.push(lag_vindtetting);
		bredde_konstr += bredde;
	}
	var varmeledning2 = 0;
	var arealandel = 0;
	var varmemotstand_flex = 0;
	if (konstr == "flexvegg") {
		tykkelse_hovediso = les_tall(konstr + "_utv_utforing_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning = les_tall(konstr + "_utv_utforing_iso_varmeledning", 0.001, 100, 0.12);
		varmemotstand_hovediso = tykkelse_hovediso / varmeledning;
		varmemotstand_legering += varmemotstand_hovediso;
		varmemotstand1 = varmemotstand2 = varmemotstand3 = varmemotstand4 = varmemotstand_legering;
		bildefil = finn_bildefil(konstr + "_utv_utforing_iso_liste", arrayIsolasjon);
		tykkelse_konstr += tykkelse_hovediso * 1000;
		var bredde = Math.round(tykkelse_hovediso * 200);
		var lag_utforing = {size:bredde, file:bildefil};
		lag_konstr.push(lag_utforing);
		bredde_konstr += bredde;
		if (document.getElementById("flexvegg_homogen_radio").checked) {
			varmeledning = les_tall(konstr + "_reisverk_varmeledning", 0.001, 100, 0.5);
			tykkelse = les_tall(konstr + "_reisverk_tykkelse", 0, 10000, 200) / 1000;
			varmemotstand_legering += tykkelse / varmeledning;
			varmemotstand1 = varmemotstand2 = varmemotstand3 = varmemotstand4 = varmemotstand_legering;
			var bildefil = finn_bildefil(konstr + "_reisverk_liste", arrayMaterial);
			tykkelse_konstr += tykkelse * 1000;
			var bredde = Math.round(tykkelse * 200);
			var lag_reisverk = {size:bredde, file:bildefil};
			lag_konstr.push(lag_reisverk);
			bredde_konstr += bredde;
		} else {
			arealandel = les_tall(konstr + "_bindingsverk_arealandel", 0, 100, 9) / 100;
			varmeledning = les_tall(konstr + "_bindingsverk_varmeledning", 0.001, 100, 0.12);
			tykkelse = les_tall(konstr + "_bindingsverk_iso_tykkelse", 0, 10000, 200) / 1000;
			varmeledning2 = les_tall(konstr + "_bindingsverk_iso_varmeledning", 0.001, 100, 0.037);
			if (arealandel > 0) {
				var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
				varmemotstand_legering += tykkelse / varmeledn_legering;
				var vmiso = tykkelse / varmeledning2;
				var vmtre = tykkelse / varmeledning;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmtre;
				varmemotstand3 += vmiso;
				varmemotstand4 += vmtre;
				arealandel2 = arealandel;
				lag1 = true;
			} else {
				var vmiso = tykkelse / varmeledning2;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				varmemotstand3 += vmiso;
				varmemotstand4 += vmiso;
				varmemotstand_legering += vmiso;
			}
			var bildefil = finn_bildefil(konstr + "_bindingsverk_iso_liste", arrayIsolasjon);
			tykkelse_konstr += tykkelse * 1000;
			var bredde = Math.round(tykkelse * 200);
			var lag_iso = {size:bredde, file:bildefil};
			lag_konstr.push(lag_iso);
			bredde_konstr += bredde;
		}
	} else {
		var utv_utforing = document.getElementById(konstr + "_utv_utforing").checked;
		if (utv_utforing) {
			arealandel = les_tall(konstr + "_utv_utforing_arealandel", 0, 100, 9) / 100 // prosent;
			varmeledning = les_tall(konstr + "_utv_utforing_varmeledning", 0.001, 100, 0.12);
			tykkelse = les_tall(konstr + "_utv_utforing_iso_tykkelse", 0, 10000, 50) / 1000;
			tykkelse_hovediso = tykkelse;
			varmeledning2 = les_tall(konstr + "_utv_utforing_iso_varmeledning", 0.001, 100, 0.037);
			if (arealandel > 0) {
				var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
				varmemotstand_hovediso = tykkelse / varmeledn_legering;
				varmemotstand_legering += varmemotstand_hovediso;
				var vmiso = tykkelse / varmeledning2;
				var vmtre = tykkelse / varmeledning;
				if (lag1) {
					varmemotstand1 += vmiso;
					varmemotstand2 += vmiso;
					varmemotstand3 += vmtre;
					varmemotstand4 += vmtre;
					arealandel3 = arealandel;
					arealandel1 = 1 - arealandel2 - arealandel3 - arealandel4;
				} else {
					varmemotstand1 += vmiso;
					varmemotstand2 += vmtre;
					varmemotstand3 += vmiso;
					varmemotstand4 += vmtre;
					arealandel2 = arealandel;
					lag1 = true;
				}
			} else {
				var vmiso = tykkelse / varmeledning2;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				varmemotstand3 += vmiso;
				varmemotstand4 += vmiso;
				varmemotstand_hovediso = vmiso;
				varmemotstand_legering += vmiso;
			}
			if (arealandel > 0.03)
				bildefil = finn_bildefil2(konstr + "_utv_utforing_liste", arrayIsolasjon);
			else
				bildefil = finn_bildefil(konstr + "_utv_utforing_liste", arrayIsolasjon);
			tykkelse_konstr += tykkelse * 1000;
			var bredde = Math.round(tykkelse * 200);
			var lag_utforing = {size:bredde, file:bildefil};
			lag_konstr.push(lag_utforing);
			bredde_konstr += bredde;
		}
		if (konstr == "murvegg" || konstr == "reisverksvegg") {
			varmeledning = les_tall(konstr + "_reisverk_varmeledning", 0.001, 100, 0.5);
			tykkelse = les_tall(konstr + "_reisverk_tykkelse", 0, 10000, 200) / 1000;
			var vm = tykkelse / varmeledning;
			varmemotstand_legering += vm;
			varmemotstand1 += vm;
			varmemotstand2 += vm;
			varmemotstand3 += vm;
			varmemotstand4 += vm;
			var bildefil = finn_bildefil(konstr + "_reisverk_liste", arrayMaterial);
			tykkelse_konstr += tykkelse * 1000;
			var bredde = Math.round(tykkelse * 200);
			var lag_reisverk = {size:bredde, file:bildefil};
			lag_konstr.push(lag_reisverk);
			bredde_konstr += bredde;
		} else { // tre eller stål
			arealandel = les_tall(konstr + "_reisverk_arealandel", 0, 100, 9) / 100;
			varmeledning = les_tall(konstr + "_reisverk_varmeledning", 0.001, 100, 0.12);
			tykkelse = les_tall(konstr + "_iso_tykkelse", 0, 10000, 200) / 1000;
			varmeledning2 = les_tall(konstr + "_iso_varmeledning", 0.001, 100, 0.037);
			if (arealandel > 0) {
				var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
				varmemotstand_legering += tykkelse / varmeledn_legering;
				var vmiso = tykkelse / varmeledning2;
				var vmtre = tykkelse / varmeledning;
				if (lag1) {
					varmemotstand1 += vmiso;
					varmemotstand2 += vmiso;
					varmemotstand3 += vmtre;
					varmemotstand4 += vmtre;
					arealandel3 = arealandel;
					arealandel1 = 1 - arealandel2 - arealandel3 - arealandel4;
				} else {
					varmemotstand1 += vmiso;
					varmemotstand2 += vmtre;
					varmemotstand3 += vmiso;
					varmemotstand4 += vmtre;
					arealandel2 = arealandel;
					lag1 = true;
				}
			} else {
				var vmiso = tykkelse / varmeledning2;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				varmemotstand3 += vmiso;
				varmemotstand4 += vmiso;
				varmemotstand_legering += vmiso;
			}
			bildefil = finn_bildefil(konstr + "_iso_liste", arrayIsolasjon);
			tykkelse_konstr += tykkelse * 1000;
			var bredde = Math.round(tykkelse * 200);
			var lag_iso = {size:bredde, file:bildefil};
			lag_konstr.push(lag_iso);
			bredde_konstr += bredde;
		}
	}

	var innv_utforing = document.getElementById(konstr + "_innv_utforing").checked;
	if (innv_utforing) {
		arealandel = les_tall(konstr + "_innv_utforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall(konstr + "_innv_utforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall(konstr + "_innv_utforing_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall(konstr + "_innv_utforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			if (lag1) {
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				varmemotstand3 += vmtre;
				varmemotstand4 += vmtre;
				arealandel3 = arealandel;
				arealandel1 = 1 - arealandel2 - arealandel3 - arealandel4;
			} else {
				varmemotstand1 += vmiso;
				varmemotstand2 += vmtre;
				varmemotstand3 += vmiso;
				varmemotstand4 += vmtre;
				arealandel2 = arealandel;
				lag1 = true;
			}
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand3 += vmiso;
			varmemotstand4 += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_bildefil2(konstr + "_innv_utforing_liste", arrayIsolasjon);
		} else {
			bildefil = finn_bildefil(konstr + "_innv_utforing_liste", arrayIsolasjon);
		}
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_utforing = {size:bredde, file:bildefil};
		lag_konstr.push(lag_utforing);
		bredde_konstr += bredde
	}
	
	tykkelse = les_tall(konstr + "_innv_kledning_tykkelse", 0, 10000, 25) / 1000;
	varmeledning = les_tall(konstr + "_innv_kledning_varmeledning", 0.001, 100, 0.12);
	vm = tykkelse / varmeledning;
	varmemotstand_legering += vm;
	varmemotstand1 += vm;
	varmemotstand2 += vm;
	varmemotstand3 += vm;
	varmemotstand4 += vm;

	bildefil = finn_bildefil(konstr + "_innv_kledning_liste", arrayMaterial);
	tykkelse_konstr += tykkelse * 1000;
	bredde = Math.round(tykkelse * 200);
	lag_kledning = {size:bredde, file:bildefil};
	lag_konstr.push(lag_kledning);
	bredde_konstr += bredde;

	var ekstralag = document.getElementById(konstr + "_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall(konstr + "_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall(konstr + "_ekstralag_std_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall(konstr + "_ekstralag_std_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall(konstr + "_ekstralag_std_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			if (lag1) {
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				varmemotstand3 += vmtre;
				varmemotstand4 += vmtre;
				arealandel3 = arealandel;
				arealandel1 = 1 - arealandel2 - arealandel3 - arealandel4;
			} else {
				varmemotstand1 += vmiso;
				varmemotstand2 += vmtre;
				varmemotstand3 += vmiso;
				varmemotstand4 += vmtre;
				arealandel2 = arealandel;
				lag1 = true;
			}
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand3 += vmiso;
			varmemotstand4 += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_bildefil2(konstr + "_ekstralag_std_liste", arrayIsolasjon);
		} else {
			bildefil = finn_bildefil(konstr + "_ekstralag_std_liste", arrayIsolasjon);
		}
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_utforing = {size:bredde, file:bildefil};
		lag_konstr.push(lag_utforing);
		bredde_konstr += bredde
	}

	var ekstralag_plate = document.getElementById(konstr + "_ekstralag_plate").checked;
	if (ekstralag_plate) {
		varmeledning = les_tall(konstr + "_ekstralag_plate_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall(konstr + "_ekstralag_plate_tykkelse", 0, 10000, 50) / 1000;
		vm += tykkelse / varmeledning;
		varmemotstand_legering += vm;
		varmemotstand1 += vm;
		varmemotstand2 += vm;
		varmemotstand3 += vm;
		varmemotstand4 += vm;
		var bildefil = finn_bildefil(konstr + "_ekstralag_plate_liste", arrayPlate);
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_plate = {size:bredde, file:bildefil};
		lag_konstr.push(lag_plate);
		bredde_konstr += bredde
	}
	tykkelse_konstr = Math.round(tykkelse_konstr);

	if (bredde_konstr > 1200) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 16);
			bredde_konstr += lag_konstr[i].size;
		}
	} if (bredde_konstr > 600) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 8);
			bredde_konstr += lag_konstr[i].size;
		}
	} else 	if (bredde_konstr > 300) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 4);
			bredde_konstr += lag_konstr[i].size;
		}
	} else if (bredde_konstr > 150) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 2);
			bredde_konstr += lag_konstr[i].size;
		}
	}
	var pos = Math.round((150 - bredde_konstr) / 2);
	oppdater_detalj_vegg(lag_konstr, lag_inne, lag_ute, pos);
	
	varmemotstand_legering += utv_overgang_vegg + innv_overgang_vegg
	varmemotstand1 += utv_overgang_vegg + innv_overgang_vegg
	varmemotstand2 += utv_overgang_vegg + innv_overgang_vegg
	varmemotstand3 += utv_overgang_vegg + innv_overgang_vegg
	varmemotstand4 += utv_overgang_vegg + innv_overgang_vegg

	var varmemotstand_skott = 1 / (arealandel1 / varmemotstand1 + 
								   arealandel2 / varmemotstand2 +
								   arealandel3 / varmemotstand3 +
								   arealandel4 / varmemotstand4)
	var varmemotstand = (varmemotstand_legering + varmemotstand_skott) / 2;
	var delta_uf = 0;
	if (konstr == "flexvegg") {
		var feste_tetthet = les_tall("flexvegg_feste_tetthet", 0.01, 10, 0.3);	
		var feste_diameter = les_tall("flexvegg_feste_diameter", 0.1, 1000, 22) / 1000;	
		var feste_varmeledning = les_tall("flexvegg_feste_varmeledning", 0.01, 1000, 50);
		var feste_areal = Math.PI * Math.pow(feste_diameter, 2) / 4;
		delta_uf = 0.8 * (feste_varmeledning * feste_areal * feste_tetthet) / tykkelse_hovediso;
		delta_uf *= Math.pow(varmemotstand_hovediso / varmemotstand, 2);
	}
	/*
	var kuldebro = document.getElementById(konstr + "_kuldebro_check").checked;
	if (kuldebro && tykkelse_hovediso > 0) {
		var feste_tetthet = les_tall(konstr + "_kuldebro_antall", 0.1, 100, 3);	
		var feste_diameter = les_tall(konstr + "_kuldebro_diameter", 0.1, 1000, 8) / 1000;	
		var feste_varmeledning = les_tall(konstr + "_kuldebro_varmeledning", 0.01, 1000, 50);
		var feste_areal = Math.PI * Math.pow(feste_diameter, 2) / 4;
		delta_uf = 0.8 * (feste_varmeledning * feste_areal * feste_tetthet) / tykkelse_hovediso;
		delta_uf *= Math.pow(varmemotstand_hovediso / varmemotstand, 2);
	}
	*/
	var uverdi = delta_uf + 1 / varmemotstand;

	return uverdi;
}

function beregn_uverdi_vegg1(konstr) // beregning med nøyaktig metode (maks 1 ikke-h. lag)
{
	var lag_konstr = new Array();
	var lag_ute = { height: 75, file: "ute_vert.jpg" };
	var lag_inne = { size: 75, file: "inne_vert.jpg" };
	var bredde_konstr = 0;
	var varmemotstand_legering = 0;
	var varmemotstand1 = 0;
	var varmemotstand2 = 0;
	var tykkelse_hovediso = 0;
	var varmemotstand_hovediso = 0;
	var arealandel = 0;
	var arealandel1 = 0;
	var tykkelse = 0;
	var tykkelse_flex = 0;
	var varmeledning = 0;
	var utv_overgang_vegg = 0.04;
	var innv_overgang_vegg = 0.13;
	tykkelse_konstr = 0;

	var luftlag = document.getElementById(konstr + "_luftlag").checked;
	var vent = "";
	if (luftlag) {
		tykkelse = les_tall(konstr + "_luftlag_tykkelse", 0, 1000, 40) / 1000;
		var droplist = document.getElementById(konstr + "_luftlag_liste");
		var index = droplist.selectedIndex;
		var vent = droplist.options[index].text;
		var hro = 5.1; // Antar temp på 10C for strålingskoeff
		var e1 = 0.5; // Emmisivitet settes lik 0.5
		var e2 = 0.5; // Emmisivitet settes lik 0.5
		var E = 1 / (1 / e1 + 1 / e2 - 1);
		var ht = E * hro;
		var ha = 0.025 / tykkelse;
		if (ha < 1.25)
			ha = 1.25;
		var vm = 1 / (ha + ht);
		if (vent == "Oventilerad") {
			varmemotstand_legering += vm;
		} else if (vent == "Svagt ventilerad") {
			varmemotstand_legering += vm / 2; // Regner med halve varmemotstanden (1000mm2 åpninger)
		} else if (vent == "Väl ventilerad") {
			utv_overgang_vegg = 0.13; // ref 6946			
		}
	}

	tykkelse = les_tall(konstr + "_utv_kledning_tykkelse", 0, 10000, 30) / 1000; // mm -> m
	if (!luftlag  || luftlag && vent != "Väl ventilerad") {
		varmeledning = les_tall(konstr + "_utv_kledning_varmeledning", 0.001, 100, 0.12); 
		varmemotstand_legering += tykkelse / varmeledning;
	}
	
	var bildefil = finn_bildefil(konstr + "_utv_kledning_liste", arrayMaterial);
	tykkelse_konstr += tykkelse * 1000;
	var bredde = Math.round(tykkelse * 200);
	var lag_kledning = {size:bredde, file:bildefil};
	lag_konstr.push(lag_kledning);
	bredde_konstr += bredde;

	if (luftlag) {
		var bildeluftelag = "luftlekting.jpg";
		if (bildefil == "tegl.jpg")
			bildeluftelag = "luftspalte.jpg";
		tykkelse = les_tall(konstr + "_luftlag_tykkelse", 0, 1000, 40);
		tykkelse_konstr += tykkelse;
		var bredde = Math.round(tykkelse / 5);
		var lag_lufting = {size:bredde, file:bildeluftelag};
		lag_konstr.push(lag_lufting);
		bredde_konstr += bredde;
	}

	tykkelse = les_tall(konstr + "_vindtetting_tykkelse", 0, 10000, 30) / 1000; // mm -> m
	varmeledning = les_tall(konstr + "_vindtetting_varmeledning", 0.001, 100, 0.12); 
	varmemotstand_legering += tykkelse / varmeledning;
	varmemotstand1 = varmemotstand2 = varmemotstand_legering;

	if (tykkelse > 0) {
		var bildefil = finn_bildefil(konstr + "_vindtetting_liste", arrayMaterial);
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_vindtetting = {size:bredde, file:bildefil};
		lag_konstr.push(lag_vindtetting);
		bredde_konstr += bredde;
	}
	var varmeledning2 = 0;
	var arealandel = 0;
	var varmemotstand_flex = 0;
	if (konstr == "flexvegg") {
		tykkelse_hovediso = les_tall(konstr + "_utv_utforing_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning = les_tall(konstr + "_utv_utforing_iso_varmeledning", 0.001, 100, 0.12);
		varmemotstand_hovediso = tykkelse_hovediso / varmeledning;
		varmemotstand_legering += varmemotstand_hovediso;
		varmemotstand1 = varmemotstand2 = varmemotstand_legering;
		bildefil = finn_bildefil(konstr + "_utv_utforing_iso_liste", arrayIsolasjon);
		tykkelse_konstr += tykkelse_hovediso * 1000;
		var bredde = Math.round(tykkelse_hovediso * 200);
		var lag_utforing = {size:bredde, file:bildefil};
		lag_konstr.push(lag_utforing);
		bredde_konstr += bredde;
		if (document.getElementById("flexvegg_homogen_radio").checked) {
			varmeledning = les_tall(konstr + "_reisverk_varmeledning", 0.001, 100, 0.5);
			tykkelse = les_tall(konstr + "_reisverk_tykkelse", 0, 10000, 200) / 1000;
			varmemotstand_legering += tykkelse / varmeledning;
			varmemotstand1 = varmemotstand2 = varmemotstand_legering;
			var bildefil = finn_bildefil(konstr + "_reisverk_liste", arrayMaterial);
			tykkelse_konstr += tykkelse * 1000;
			var bredde = Math.round(tykkelse * 200);
			var lag_reisverk = {size:bredde, file:bildefil};
			lag_konstr.push(lag_reisverk);
			bredde_konstr += bredde;
		} else {
			arealandel = les_tall(konstr + "_bindingsverk_arealandel", 0, 100, 9) / 100;
			varmeledning = les_tall(konstr + "_bindingsverk_varmeledning", 0.001, 100, 0.12);
			tykkelse = les_tall(konstr + "_bindingsverk_iso_tykkelse", 0, 10000, 200) / 1000;
			varmeledning2 = les_tall(konstr + "_bindingsverk_iso_varmeledning", 0.001, 100, 0.037);
			if (arealandel > 0) {
				var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
				varmemotstand_legering += tykkelse / varmeledn_legering;
				var vmiso = tykkelse / varmeledning2;
				var vmtre = tykkelse / varmeledning;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmtre;
				arealandel1 = arealandel;
			} else {
				var vmiso = tykkelse / varmeledning2;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				varmemotstand_legering += vmiso;
			}
			var bildefil = finn_bildefil(konstr + "_bindingsverk_iso_liste", arrayIsolasjon);
			tykkelse_konstr += tykkelse * 1000;
			var bredde = Math.round(tykkelse * 200);
			var lag_iso = {size:bredde, file:bildefil};
			lag_konstr.push(lag_iso);
			bredde_konstr += bredde;
		}
	} else {
		var utv_utforing = document.getElementById(konstr + "_utv_utforing").checked;
		if (utv_utforing) {
			arealandel = les_tall(konstr + "_utv_utforing_arealandel", 0, 100, 9) / 100 // prosent;
			varmeledning = les_tall(konstr + "_utv_utforing_varmeledning", 0.001, 100, 0.12);
			tykkelse = les_tall(konstr + "_utv_utforing_iso_tykkelse", 0, 10000, 50) / 1000;
			tykkelse_hovediso = tykkelse;
			varmeledning2 = les_tall(konstr + "_utv_utforing_iso_varmeledning", 0.001, 100, 0.037);
			if (arealandel > 0) {
				var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
				varmemotstand_hovediso = tykkelse / varmeledn_legering;
				varmemotstand_legering += varmemotstand_hovediso;
				var vmiso = tykkelse / varmeledning2;
				var vmtre = tykkelse / varmeledning;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmtre;
				arealandel1 = arealandel;
			} else {
				var vmiso = tykkelse / varmeledning2;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				varmemotstand_hovediso = vmiso;
				varmemotstand_legering += vmiso;
			}
			if (arealandel > 0.03)
				bildefil = finn_bildefil2(konstr + "_utv_utforing_liste", arrayIsolasjon);
			else
				bildefil = finn_bildefil(konstr + "_utv_utforing_liste", arrayIsolasjon);
			tykkelse_konstr += tykkelse * 1000;
			var bredde = Math.round(tykkelse * 200);
			var lag_utforing = {size:bredde, file:bildefil};
			lag_konstr.push(lag_utforing);
			bredde_konstr += bredde;
		}
		if (konstr == "murvegg" || konstr == "reisverksvegg") {
			varmeledning = les_tall(konstr + "_reisverk_varmeledning", 0.001, 100, 0.5);
			tykkelse = les_tall(konstr + "_reisverk_tykkelse", 0, 10000, 200) / 1000;
			var vm = tykkelse / varmeledning;
			varmemotstand_legering += vm;
			varmemotstand1 += vm;
			varmemotstand2 += vm;
			var bildefil = finn_bildefil(konstr + "_reisverk_liste", arrayMaterial);
			tykkelse_konstr += tykkelse * 1000;
			var bredde = Math.round(tykkelse * 200);
			var lag_reisverk = {size:bredde, file:bildefil};
			lag_konstr.push(lag_reisverk);
			bredde_konstr += bredde;
		} else { // tre eller stål
			arealandel = les_tall(konstr + "_reisverk_arealandel", 0, 100, 9) / 100;
			varmeledning = les_tall(konstr + "_reisverk_varmeledning", 0.001, 100, 0.12);
			tykkelse = les_tall(konstr + "_iso_tykkelse", 0, 10000, 200) / 1000;
			varmeledning2 = les_tall(konstr + "_iso_varmeledning", 0.001, 100, 0.037);
			if (arealandel > 0) {
				var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
				varmemotstand_legering += tykkelse / varmeledn_legering;
				var vmiso = tykkelse / varmeledning2;
				var vmtre = tykkelse / varmeledning;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmtre;
				arealandel1 = arealandel;
			} else {
				var vmiso = tykkelse / varmeledning2;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				varmemotstand_legering += vmiso;
			}
			bildefil = finn_bildefil(konstr + "_iso_liste", arrayIsolasjon);
			tykkelse_konstr += tykkelse * 1000;
			var bredde = Math.round(tykkelse * 200);
			var lag_iso = {size:bredde, file:bildefil};
			lag_konstr.push(lag_iso);
			bredde_konstr += bredde;
		}
	}

	var innv_utforing = document.getElementById(konstr + "_innv_utforing").checked;
	if (innv_utforing) {
		arealandel = les_tall(konstr + "_innv_utforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall(konstr + "_innv_utforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall(konstr + "_innv_utforing_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall(konstr + "_innv_utforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmtre;
			arealandel1 = arealandel;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_bildefil2(konstr + "_innv_utforing_liste", arrayIsolasjon);
		} else {
			bildefil = finn_bildefil(konstr + "_innv_utforing_liste", arrayIsolasjon);
		}
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_utforing = {size:bredde, file:bildefil};
		lag_konstr.push(lag_utforing);
		bredde_konstr += bredde
	}
	
	tykkelse = les_tall(konstr + "_innv_kledning_tykkelse", 0, 10000, 25) / 1000;
	varmeledning = les_tall(konstr + "_innv_kledning_varmeledning", 0.001, 100, 0.12);
	vm = tykkelse / varmeledning;
	varmemotstand_legering += vm;
	varmemotstand1 += vm;
	varmemotstand2 += vm;

	bildefil = finn_bildefil(konstr + "_innv_kledning_liste", arrayMaterial);
	tykkelse_konstr += tykkelse * 1000;
	bredde = Math.round(tykkelse * 200);
	lag_kledning = {size:bredde, file:bildefil};
	lag_konstr.push(lag_kledning);
	bredde_konstr += bredde;

	var ekstralag = document.getElementById(konstr + "_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall(konstr + "_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall(konstr + "_ekstralag_std_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall(konstr + "_ekstralag_std_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall(konstr + "_ekstralag_std_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmtre;
			arealandel1 = arealandel;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_bildefil2(konstr + "_ekstralag_std_liste", arrayIsolasjon);
		} else {
			bildefil = finn_bildefil(konstr + "_ekstralag_std_liste", arrayIsolasjon);
		}
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_utforing = {size:bredde, file:bildefil};
		lag_konstr.push(lag_utforing);
		bredde_konstr += bredde
	}

	var ekstralag_plate = document.getElementById(konstr + "_ekstralag_plate").checked;
	if (ekstralag_plate) {
		varmeledning = les_tall(konstr + "_ekstralag_plate_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall(konstr + "_ekstralag_plate_tykkelse", 0, 10000, 50) / 1000;
		vm += tykkelse / varmeledning;
		varmemotstand_legering += vm;
		varmemotstand1 += vm;
		varmemotstand2 += vm;
		var bildefil = finn_bildefil(konstr + "_ekstralag_plate_liste", arrayPlate);
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_plate = {size:bredde, file:bildefil};
		lag_konstr.push(lag_plate);
		bredde_konstr += bredde
	}
	tykkelse_konstr = Math.round(tykkelse_konstr);

	if (bredde_konstr > 1200) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 16);
			bredde_konstr += lag_konstr[i].size;
		}
	} if (bredde_konstr > 600) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 8);
			bredde_konstr += lag_konstr[i].size;
		}
	} else 	if (bredde_konstr > 300) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 4);
			bredde_konstr += lag_konstr[i].size;
		}
	} else if (bredde_konstr > 150) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 2);
			bredde_konstr += lag_konstr[i].size;
		}
	}
	var pos = Math.round((150 - bredde_konstr) / 2);
	oppdater_detalj_vegg(lag_konstr, lag_inne, lag_ute, pos);
	
	varmemotstand_legering += utv_overgang_vegg + innv_overgang_vegg;
	varmemotstand1 += utv_overgang_vegg + innv_overgang_vegg;
	varmemotstand2 += utv_overgang_vegg + innv_overgang_vegg;

	var varmemotstand_skott = 1 / ((1- arealandel1) / varmemotstand1 + arealandel1 / varmemotstand2);
	var varmemotstand = (varmemotstand_legering + varmemotstand_skott) / 2;
	var delta_uf = 0;
	if (konstr == "flexvegg") {
		var feste_tetthet = les_tall("flexvegg_feste_tetthet", 0.01, 10, 0.3);	
		var feste_diameter = les_tall("flexvegg_feste_diameter", 0.1, 1000, 22) / 1000;	
		var feste_varmeledning = les_tall("flexvegg_feste_varmeledning", 0.01, 1000, 50);
		var feste_areal = Math.PI * Math.pow(feste_diameter, 2) / 4;
		delta_uf = 0.8 * (feste_varmeledning * feste_areal * feste_tetthet) / tykkelse_hovediso;
		delta_uf *= Math.pow(varmemotstand_hovediso / varmemotstand, 2);
	}
/*
	var kuldebro = document.getElementById(konstr + "_kuldebro_check").checked;
	if (kuldebro && tykkelse_hovediso > 0) {
		var feste_tetthet = les_tall(konstr + "_kuldebro_antall", 0.1, 100, 3);	
		var feste_diameter = les_tall(konstr + "_kuldebro_diameter", 0.1, 1000, 8) / 1000;	
		var feste_varmeledning = les_tall(konstr + "_kuldebro_varmeledning", 0.01, 1000, 50);
		var feste_areal = Math.PI * Math.pow(feste_diameter, 2) / 4;
		delta_uf = 0.8 * (feste_varmeledning * feste_areal * feste_tetthet) / tykkelse_hovediso;
		delta_uf *= Math.pow(varmemotstand_hovediso / varmemotstand, 2);
	}
*/
	var uverdi = delta_uf + 1 / varmemotstand;

	return uverdi;
}

function beregn_uverdi_kjellervegg()
{
	var antall_ikke_h = finn_antall_ikke_h_kjellervegg();
	if (antall_ikke_h >= 3)
		return beregn_uverdi_kjellervegg3();
	if (antall_ikke_h == 2)
		return beregn_uverdi_kjellervegg2();
	if (antall_ikke_h == 1)
		return beregn_uverdi_kjellervegg1();

	var tykkelse;
	var varmeledning;
	var varmemotstand_over = 0;
	var varmemotstand_over_du = 0;
	var varmemotstand_under = 0;
	var varmemotstand_under_du = 0;

	var areal = les_tall("kjellervegg_areal", 1, 100000, 50);
	var hoyde = les_tall("kjellervegg_hoyde", 0.1, 10, 2.4);
	var oppf_hoyde = les_tall("kjellervegg_oppfyllingshoyde", 0.1, hoyde, 1);

	var varmekap_grunn = les_tall("kjellervegg_grunn_varmekap", 0.1, 10000, 556);
	var varmeledn_grunn = les_tall("kjellervegg_grunn_varmeledning", 0.001, 100, 1.5);

	var lag_konstr = new Array();
	var bildefil = finn_bildefil("kjellervegg_grunn_liste", arrayGrunnforhold);
	var hoyde_grunn = Math.round(150 * oppf_hoyde / hoyde);
	var lag_grunn = { height:hoyde_grunn, size:75, file:bildefil};
	var lag_ute = { height:150 - hoyde_grunn, size:75, file:"ute_vert.jpg" };
	var lag_inne = { size:75, file:"inne_vert.jpg" };
	var lag_utv_iso = { size:0, file:"eps.jpg" };
	var lag_utv_utforing = { size:0, file:"eps.jpg" };
	var bredde_konstr = 0;
	
	tykkelse = les_tall("kjellervegg_utv_kledning_tykkelse", 0, 10000, 30) / 1000; // mm -> m
	varmeledning = les_tall("kjellervegg_utv_kledning_varmeledning", 0.001, 100, 0.12); 
	varmemotstand_over += tykkelse / varmeledning;
	
	var bildefil = finn_bildefil("kjellervegg_utv_kledning_liste", arrayMaterial);
	var bredde = Math.round(tykkelse * 200);
	var lag_utv_kledning = {size:bredde, file:bildefil};
	bredde_konstr += bredde;

	var utv_utforing = document.getElementById("kjellervegg_utv_utforing").checked;
	if (utv_utforing) {
		arealandel = les_tall("kjellervegg_utv_utforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("kjellervegg_utv_utforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kjellervegg_utv_utforing_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall("kjellervegg_utv_utforing_iso_varmeledning", 0.001, 100, 0.037);
		var vm1 = arealandel * tykkelse / varmeledning + (1 - arealandel) * tykkelse / varmeledning2;
		var vm2 = tykkelse / (arealandel * varmeledning + (1 - arealandel) * varmeledning2);
		varmemotstand_over += (vm1 + vm2) / 2;
		if (arealandel > 0) {
			varmemotstand_over_du += (vm1 + vm2) / 2;
			bildefil = finn_bildefil2("kjellervegg_utv_utforing_liste", arrayIsolasjon);
		} else {
			bildefil = finn_bildefil("kjellervegg_utv_utforing_liste", arrayIsolasjon);
		}
		var bredde = Math.round(tykkelse * 200);
		lag_utv_utforing = {size:bredde, file:bildefil};
		bredde_konstr += bredde
	}

	var utv_iso = document.getElementById("kjellervegg_utv_iso").checked;
	if (utv_iso) {
		tykkelse = les_tall("kjellervegg_utv_iso_tykkelse", 0 , 1000, 50) / 1000;
		varmeledning = les_tall("kjellervegg_utv_iso_varmeledning", 0.0001, 100, 0.037);
		varmemotstand_under += tykkelse / varmeledning;
		bildefil = finn_bildefil("kjellervegg_utv_iso_liste", arrayIsolasjon);
		var bredde = Math.round(tykkelse * 200);
		lag_utv_iso = {size:bredde, file:bildefil};
		if (bredde > bredde_konstr)
			bredde_konstr = bredde
	}
	
	tykkelse = les_tall("kjellervegg_baering_tykkelse", 1, 1000, 80) / 1000;
	varmeledning = les_tall("kjellervegg_baering_varmeledning", 0.0001, 100, 1.5);
	varmemotstand_over += tykkelse / varmeledning;
	varmemotstand_under += tykkelse / varmeledning;
	bildefil = finn_bildefil("kjellervegg_baering_liste", arrayMaterial);
	var bredde = Math.round(tykkelse * 200);
	var lag_baering = {size:bredde, file:bildefil};
	lag_konstr.push(lag_baering);
	bredde_konstr += bredde;

	var utforing = document.getElementById("kjellervegg_innv_utforing").checked;
	if (utforing) {
		arealandel = les_tall("kjellervegg_innv_utforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("kjellervegg_innv_utforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kjellervegg_innv_utforing_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall("kjellervegg_innv_utforing_iso_varmeledning", 0.001, 100, 0.037);
		var vm1 = arealandel * tykkelse / varmeledning + (1 - arealandel) * tykkelse / varmeledning2;
		var vm2 = tykkelse / (arealandel * varmeledning + (1 - arealandel) * varmeledning2);
		varmemotstand_over += (vm1 + vm2) / 2;
		varmemotstand_under += (vm1 + vm2) / 2;
		if (arealandel > 0) {
			varmemotstand_over_du += (vm1 + vm2) / 2;
			varmemotstand_under_du += (vm1 + vm2) / 2;
			bildefil = finn_bildefil2("kjellervegg_innv_utforing_liste", arrayIsolasjon);
		} else {
			bildefil = finn_bildefil("kjellervegg_innv_utforing_liste", arrayIsolasjon);
		}
		var bredde = Math.round(tykkelse * 200);
		var lag_utforing = {size:bredde, file:bildefil};
		lag_konstr.push(lag_utforing);
		bredde_konstr += bredde
	}

	tykkelse = les_tall("kjellervegg_innv_kledning_tykkelse", 0, 10000, 25) / 1000;
	varmeledning = les_tall("kjellervegg_innv_kledning_varmeledning", 0.001, 100, 0.12);
	varmemotstand_over += tykkelse / varmeledning;
	varmemotstand_under += tykkelse / varmeledning;

	bildefil = finn_bildefil("kjellervegg_innv_kledning_liste", arrayMaterial);
	bredde = Math.round(tykkelse * 200);
	lag_kledning = {size:bredde, file:bildefil};
	lag_konstr.push(lag_kledning);
	bredde_konstr += bredde;

	var ekstralag = document.getElementById("kjellervegg_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall("kjellervegg_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("kjellervegg_ekstralag_std_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kjellervegg_ekstralag_std_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall("kjellervegg_ekstralag_std_iso_varmeledning", 0.001, 100, 0.037);
		var vm1 = arealandel * tykkelse / varmeledning + (1 - arealandel) * tykkelse / varmeledning2;
		var vm2 = tykkelse / (arealandel * varmeledning + (1 - arealandel) * varmeledning2);
		varmemotstand_over += (vm1 + vm2) / 2;
		varmemotstand_under += (vm1 + vm2) / 2;
		if (arealandel > 0) {
			varmemotstand_over_du += (vm1 + vm2) / 2;
			varmemotstand_under_du += (vm1 + vm2) / 2;
			bildefil = finn_bildefil2("kjellervegg_ekstralag_std_liste", arrayIsolasjon);
		} else {
			bildefil = finn_bildefil("kjellervegg_ekstralag_std_liste", arrayIsolasjon);
		}
		var bredde = Math.round(tykkelse * 200);
		var lag_utforing = {size:bredde, file:bildefil};
		lag_konstr.push(lag_utforing);
		bredde_konstr += bredde
	}

	var ekstralag_plate = document.getElementById("kjellervegg_ekstralag_plate").checked;
	if (ekstralag_plate) {
		varmeledning = les_tall("kjellervegg_ekstralag_plate_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kjellervegg_ekstralag_plate_tykkelse", 0, 10000, 50) / 1000;
		varmemotstand_over += tykkelse / varmeledning;
		varmemotstand_under += tykkelse / varmeledning;
		var bildefil = finn_bildefil("kjellervegg_ekstralag_plate_liste", arrayPlate);
		var bredde = Math.round(tykkelse * 200);
		var lag_plate = {size:bredde, file:bildefil};
		lag_konstr.push(lag_plate);
		bredde_konstr += bredde
	}

	if (bredde_konstr > 800) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 16);
			bredde_konstr += lag_konstr[i].size;
		}
	} if (bredde_konstr > 400) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 8);
			bredde_konstr += lag_konstr[i].size;
		}
	} else 	if (bredde_konstr > 200) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 4);
			bredde_konstr += lag_konstr[i].size;
		}
	} else if (bredde_konstr > 100) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 2);
			bredde_konstr += lag_konstr[i].size;
		}
	}
	var pos = Math.round((150 - bredde_konstr) / 2);
	oppdater_detalj_kjellervegg(lag_konstr, lag_inne, lag_ute, lag_grunn, 
								lag_utv_kledning, lag_utv_utforing, lag_utv_iso, pos);

	var utv_overgang_vegg = 0.04;
	var innv_overgang_vegg = 0.13;
	var delta_u_over = 0.01 * Math.pow(varmemotstand_over_du / varmemotstand_over, 2);
	var delta_u_under = 0.01 * Math.pow(varmemotstand_under_du / varmemotstand_under, 2);

	var u_over = delta_u_over + 1 / (varmemotstand_over + utv_overgang_vegg + innv_overgang_vegg);
	var u_under = delta_u_under + 1 / (varmemotstand_under + utv_overgang_vegg + innv_overgang_vegg);

	var ekv_vegg = varmeledn_grunn / u_under;
	var u_ekv = 1.0 + 0.5 * ekv_vegg / (ekv_vegg + oppf_hoyde);
	u_ekv *= 2 * varmeledn_grunn / (Math.PI * oppf_hoyde);
	u_ekv *= Math.log(oppf_hoyde / ekv_vegg + 1);

	var andel_under = oppf_hoyde / hoyde;
	return u_over * (1 - andel_under) + u_ekv * andel_under;
}

function finn_antall_ikke_h_kjellervegg()
{
	var antall_ikke_h = 0;
	var utv_utforing = document.getElementById("kjellervegg_utv_utforing").checked;
	if (utv_utforing) {
		arealandel = les_tall("kjellervegg_utv_utforing_arealandel", 0, 100, 9) / 100 // prosent;
		if (arealandel > 0)
			antall_ikke_h++;
	}
	var innv_utforing = document.getElementById("kjellervegg_innv_utforing").checked;
	if (innv_utforing) {
		arealandel = les_tall("kjellervegg_innv_utforing_arealandel", 0, 100, 9) / 100 // prosent;
		if (arealandel > 0)
			antall_ikke_h++;	
	}
	var ekstralag = document.getElementById("kjellervegg_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall("kjellervegg_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		if (arealandel > 0)
			antall_ikke_h++;
	}
	return antall_ikke_h;
}

function beregn_uverdi_kjellervegg3() // beregning med semi-nøyaktig metode (3 eller fler ikke-h. lag)
{
	var tykkelse;
	var varmeledning;
	var varmemotstand_legering_over = 0;
	var varmemotstand_legering_under = 0;
	var varmemotstand_tre_over = 0;
	var varmemotstand_tre_under = 0;
	var varmemotstand_iso_over = 0;
	var varmemotstand_iso_under = 0;
	var arealandel_tre_over = 0;
	var arealandel_tre_under = 0;
	var tykkelse_ikke_h_over = 0;
	var tykkelse_ikke_h_under = 0;
	tykkelse_konstr = 0;
	
	var areal = les_tall("kjellervegg_areal", 1, 100000, 50);
	var hoyde = les_tall("kjellervegg_hoyde", 0.1, 10, 2.4);
	var oppf_hoyde = les_tall("kjellervegg_oppfyllingshoyde", 0.1, hoyde, 1);

	var varmekap_grunn = les_tall("kjellervegg_grunn_varmekap", 0.1, 10000, 556);
	var varmeledn_grunn = les_tall("kjellervegg_grunn_varmeledning", 0.001, 100, 1.5);

	var lag_konstr = new Array();
	var bildefil = finn_bildefil("kjellervegg_grunn_liste", arrayGrunnforhold);
	var hoyde_grunn = Math.round(150 * oppf_hoyde / hoyde);
	var lag_grunn = { height:hoyde_grunn, size:75, file:bildefil};
	var lag_ute = { height:150 - hoyde_grunn, size:75, file:"ute_vert.jpg" };
	var lag_inne = { size:75, file:"inne_vert.jpg" };
	var lag_utv_iso = { size:0, file:"eps.jpg" };
	var lag_utv_utforing = { size:0, file:"eps.jpg" };
	var bredde_konstr = 0;
	
	tykkelse = les_tall("kjellervegg_utv_kledning_tykkelse", 0, 10000, 30) / 1000; // mm -> m
	varmeledning = les_tall("kjellervegg_utv_kledning_varmeledning", 0.001, 100, 0.12); 
	varmemotstand_legering_over += tykkelse / varmeledning;
	varmemotstand_tre_over += tykkelse / varmeledning;
	varmemotstand_iso_over += tykkelse / varmeledning;
	
	var bildefil = finn_bildefil("kjellervegg_utv_kledning_liste", arrayMaterial);
	tykkelse_konstr += tykkelse * 1000;
	var bredde = Math.round(tykkelse * 200);
	var lag_utv_kledning = {size:bredde, file:bildefil};
	bredde_konstr += bredde;
	var utv_utforing = document.getElementById("kjellervegg_utv_utforing").checked;
	if (utv_utforing) {
		arealandel = les_tall("kjellervegg_utv_utforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("kjellervegg_utv_utforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kjellervegg_utv_utforing_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_hovediso = tykkelse;
		varmeledning2 = les_tall("kjellervegg_utv_utforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_hovediso = tykkelse / varmeledn_legering;
			varmemotstand_legering_over += varmemotstand_hovediso;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand_iso_over += vmiso;
			varmemotstand_tre_over += vmtre;
			arealandel_tre_over += arealandel * tykkelse;
			tykkelse_ikke_h_over += tykkelse;
		} else {
			var vmiso = tykkelse / varmeledning2;
			var vmiso = tykkelse / varmeledning2;
			varmemotstand_tre_over += vmiso;
			varmemotstand_iso_over += vmiso;
			varmemotstand_hovediso = vmiso;
			varmemotstand_legering_over += vmiso;
		}
		if (arealandel > 0.03)
			bildefil = finn_bildefil2("kjellervegg_utv_utforing_liste", arrayIsolasjon);
		else
			bildefil = finn_bildefil("kjellervegg_utv_utforing_liste", arrayIsolasjon);
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		lag_utv_utforing = {size:bredde, file:bildefil};
		bredde_konstr += bredde;
	}
	
	var utv_iso = document.getElementById("kjellervegg_utv_iso").checked;
	if (utv_iso) {
		tykkelse = les_tall("kjellervegg_utv_iso_tykkelse", 0 , 1000, 50) / 1000;
		varmeledning = les_tall("kjellervegg_utv_iso_varmeledning", 0.0001, 100, 0.037);
		varmemotstand_legering_under += tykkelse / varmeledning;
		varmemotstand_tre_under += tykkelse / varmeledning;
		varmemotstand_iso_under += tykkelse / varmeledning;
		bildefil = finn_bildefil("kjellervegg_utv_iso_liste", arrayIsolasjon);
		var bredde = Math.round(tykkelse * 200);
		lag_utv_iso = {size:bredde, file:bildefil};
		if (bredde > bredde_konstr)
			bredde_konstr = bredde
	}

	varmeledning = les_tall("kjellervegg_baering_varmeledning", 0.001, 100, 0.5);
	tykkelse = les_tall("kjellervegg_baering_tykkelse", 0, 10000, 200) / 1000;
	var vm = tykkelse / varmeledning;
	varmemotstand_legering_over += vm;
	varmemotstand_iso_over += vm;
	varmemotstand_tre_over += vm;
	varmemotstand_legering_under += vm;
	varmemotstand_iso_under += vm;
	varmemotstand_tre_under += vm;
	var bildefil = finn_bildefil("kjellervegg_baering_liste", arrayMaterial);
	tykkelse_konstr += tykkelse * 1000;
	var bredde = Math.round(tykkelse * 200);
	var lag_reisverk = {size:bredde, file:bildefil};
	lag_konstr.push(lag_reisverk);
	bredde_konstr += bredde;

	var innv_utforing = document.getElementById("kjellervegg_innv_utforing").checked;
	if (innv_utforing) {
		arealandel = les_tall("kjellervegg_innv_utforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("kjellervegg_innv_utforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kjellervegg_innv_utforing_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall("kjellervegg_innv_utforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering_over += tykkelse / varmeledn_legering;
			varmemotstand_legering_under += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand_iso_over += vmiso;
			varmemotstand_tre_over += vmtre;
			arealandel_tre_over += arealandel * tykkelse;
			tykkelse_ikke_h_over += tykkelse
			varmemotstand_iso_under += vmiso;
			varmemotstand_tre_under += vmtre;
			arealandel_tre_under += arealandel * tykkelse;
			tykkelse_ikke_h_under += tykkelse
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand_tre_over += vmiso;
			varmemotstand_iso_over += vmiso;
			varmemotstand_legering_over += vmiso;
			varmemotstand_tre_under += vmiso;
			varmemotstand_iso_under += vmiso;
			varmemotstand_legering_under += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_bildefil2("kjellervegg_innv_utforing_liste", arrayIsolasjon);
		} else {
			bildefil = finn_bildefil("kjellervegg_innv_utforing_liste", arrayIsolasjon);
		}
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_utforing = {size:bredde, file:bildefil};
		lag_konstr.push(lag_utforing);
		bredde_konstr += bredde
	}
	
	tykkelse = les_tall("kjellervegg_innv_kledning_tykkelse", 0, 10000, 25) / 1000;
	varmeledning = les_tall("kjellervegg_innv_kledning_varmeledning", 0.001, 100, 0.12);
	vm = tykkelse / varmeledning;
	varmemotstand_legering_over += vm;
	varmemotstand_iso_over += vm;
	varmemotstand_tre_over += vm;
	varmemotstand_legering_under += vm;
	varmemotstand_iso_under += vm;
	varmemotstand_tre_under += vm;

	bildefil = finn_bildefil("kjellervegg_innv_kledning_liste", arrayMaterial);
	tykkelse_konstr += tykkelse * 1000;
	bredde = Math.round(tykkelse * 200);
	lag_kledning = {size:bredde, file:bildefil};
	lag_konstr.push(lag_kledning);
	bredde_konstr += bredde;

	var ekstralag = document.getElementById("kjellervegg_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall("kjellervegg_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("kjellervegg_ekstralag_std_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kjellervegg_ekstralag_std_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall("kjellervegg_ekstralag_std_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering_over += tykkelse / varmeledn_legering;
			varmemotstand_legering_under += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand_iso_over += vmiso;
			varmemotstand_tre_over += vmtre;
			arealandel_tre_over += arealandel * tykkelse;
			tykkelse_ikke_h_over += tykkelse;
			varmemotstand_iso_under += vmiso;
			varmemotstand_tre_under += vmtre;
			arealandel_tre_under += arealandel * tykkelse;
			tykkelse_ikke_h_under += tykkelse;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand_iso_over += vmiso;
			varmemotstand_tre_over += vmiso;
			varmemotstand_legering_over += vmiso;
			varmemotstand_iso_under += vmiso;
			varmemotstand_tre_under += vmiso;
			varmemotstand_legering_under += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_bildefil2("kjellervegg_ekstralag_std_liste", arrayIsolasjon);
		} else {
			bildefil = finn_bildefil("kjellervegg_ekstralag_std_liste", arrayIsolasjon);
		}
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_utforing = {size:bredde, file:bildefil};
		lag_konstr.push(lag_utforing);
		bredde_konstr += bredde
	}

	var ekstralag_plate = document.getElementById("kjellervegg_ekstralag_plate").checked;
	if (ekstralag_plate) {
		varmeledning = les_tall("kjellervegg_ekstralag_plate_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kjellervegg_ekstralag_plate_tykkelse", 0, 10000, 50) / 1000;
		vm += tykkelse / varmeledning;
		varmemotstand_legering_over += vm;
		varmemotstand_tre_over += vm;
		varmemotstand_iso_over += vm;
		varmemotstand_legering_under += vm;
		varmemotstand_tre_under += vm;
		varmemotstand_iso_under += vm;
		var bildefil = finn_bildefil("kjellervegg_ekstralag_plate_liste", arrayPlate);
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_plate = {size:bredde, file:bildefil};
		lag_konstr.push(lag_plate);
		bredde_konstr += bredde
	}
	tykkelse_konstr = Math.round(tykkelse_konstr);

	if (bredde_konstr > 1200) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 16);
			bredde_konstr += lag_konstr[i].size;
		}
	} if (bredde_konstr > 600) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 8);
			bredde_konstr += lag_konstr[i].size;
		}
	} else 	if (bredde_konstr > 300) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 4);
			bredde_konstr += lag_konstr[i].size;
		}
	} else if (bredde_konstr > 150) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 2);
			bredde_konstr += lag_konstr[i].size;
		}
	}
	
	var utv_overgang_vegg = 0.04;
	var innv_overgang_vegg = 0.13;
	varmemotstand_legering_over += utv_overgang_vegg + innv_overgang_vegg;
	varmemotstand_tre_over += utv_overgang_vegg + innv_overgang_vegg;
	varmemotstand_iso_over += utv_overgang_vegg + innv_overgang_vegg;
	arealandel_tre_over /= tykkelse_ikke_h_over;
	var arealandel_iso_over = 1 - arealandel_tre_over;

	var varmemotstand_skott_over = 1 / (arealandel_tre_over / varmemotstand_tre_over + 
								   arealandel_iso_over / varmemotstand_iso_over);
	var varmemotstand_over = (varmemotstand_legering_over + varmemotstand_skott_over) / 2;

	varmemotstand_legering_under += utv_overgang_vegg + innv_overgang_vegg;
	varmemotstand_tre_under += utv_overgang_vegg + innv_overgang_vegg;
	varmemotstand_iso_under += utv_overgang_vegg + innv_overgang_vegg;
	arealandel_tre_under /= tykkelse_ikke_h_under;
	var arealandel_iso_under = 1 - arealandel_tre_under;

	var varmemotstand_skott_under = 1 / (arealandel_tre_under / varmemotstand_tre_under + 
								   arealandel_iso_under / varmemotstand_iso_under);
	var varmemotstand_under = (varmemotstand_legering_under + varmemotstand_skott_under) / 2;

	var delta_uf = 0; // punktkuldebroer
	/*
	var kuldebro = document.getElementById(konstr + "_kuldebro_check").checked;
	if (kuldebro && tykkelse_hovediso > 0) {
		var feste_tetthet = les_tall(konstr + "_kuldebro_antall", 0.1, 100, 3);	
		var feste_diameter = les_tall(konstr + "_kuldebro_diameter", 0.1, 1000, 8) / 1000;	
		var feste_varmeledning = les_tall(konstr + "_kuldebro_varmeledning", 0.01, 1000, 50);
		var feste_areal = Math.PI * Math.pow(feste_diameter, 2) / 4;
		delta_uf = 0.8 * (feste_varmeledning * feste_areal * feste_tetthet) / tykkelse_hovediso;
		delta_uf *= Math.pow(varmemotstand_hovediso / varmemotstand, 2);
	}
	*/
	var pos = Math.round((150 - bredde_konstr) / 2);
	oppdater_detalj_kjellervegg(lag_konstr, lag_inne, lag_ute, lag_grunn, 
								lag_utv_kledning, lag_utv_utforing, lag_utv_iso, pos);


	var u_over = delta_uf + 1 / (varmemotstand_over);
	var u_under = delta_uf + 1 / (varmemotstand_under);

	var ekv_vegg = varmeledn_grunn / u_under;
	var u_ekv = 1.0 + 0.5 * ekv_vegg / (ekv_vegg + oppf_hoyde);
	u_ekv *= 2 * varmeledn_grunn / (Math.PI * oppf_hoyde);
	u_ekv *= Math.log(oppf_hoyde / ekv_vegg + 1);

	var andel_under = oppf_hoyde / hoyde;
	return u_over * (1 - andel_under) + u_ekv * andel_under;
}

function beregn_uverdi_kjellervegg2() // beregning med nøyaktig metode (maks 2 ikke-h. lag)

{
	var tykkelse;
	var varmeledning;
	var varmemotstand_legering_over = 0;
	var varmemotstand_legering_under = 0;
	var varmemotstand1_over = 0;
	var varmemotstand1_under = 0;
	var varmemotstand2_over = 0;
	var varmemotstand2_under = 0;
	var varmemotstand3_over = 0;
	var varmemotstand3_under = 0;
	var varmemotstand4_over = 0;
	var varmemotstand4_under = 0;
	var arealandel1_over = 0;
	var arealandel1_under = 0;
	var arealandel2_over = 0;
	var arealandel2_under = 0;
	var arealandel3_over = 0;
	var arealandel3_under = 0;
	var arealandel4_over = 0;
	var arealandel4_under = 0;
	var lag1 = false;
	tykkelse_konstr = 0;
	
	var areal = les_tall("kjellervegg_areal", 1, 100000, 50);
	var hoyde = les_tall("kjellervegg_hoyde", 0.1, 10, 2.4);
	var oppf_hoyde = les_tall("kjellervegg_oppfyllingshoyde", 0.1, hoyde, 1);

	var varmekap_grunn = les_tall("kjellervegg_grunn_varmekap", 0.1, 10000, 556);
	var varmeledn_grunn = les_tall("kjellervegg_grunn_varmeledning", 0.001, 100, 1.5);

	var lag_konstr = new Array();
	var bildefil = finn_bildefil("kjellervegg_grunn_liste", arrayGrunnforhold);
	var hoyde_grunn = Math.round(150 * oppf_hoyde / hoyde);
	var lag_grunn = { height:hoyde_grunn, size:75, file:bildefil};
	var lag_ute = { height:150 - hoyde_grunn, size:75, file:"ute_vert.jpg" };
	var lag_inne = { size:75, file:"inne_vert.jpg" };
	var lag_utv_iso = { size:0, file:"eps.jpg" };
	var lag_utv_utforing = { size:0, file:"eps.jpg" };
	var bredde_konstr = 0;
	
	tykkelse = les_tall("kjellervegg_utv_kledning_tykkelse", 0, 10000, 30) / 1000; // mm -> m
	varmeledning = les_tall("kjellervegg_utv_kledning_varmeledning", 0.001, 100, 0.12); 
	varmemotstand_legering_over = tykkelse / varmeledning;
	varmemotstand1_over = tykkelse / varmeledning;
	varmemotstand2_over = tykkelse / varmeledning;
	varmemotstand3_over = tykkelse / varmeledning;
	varmemotstand4_over = tykkelse / varmeledning;

	var bildefil = finn_bildefil("kjellervegg_utv_kledning_liste", arrayMaterial);
	tykkelse_konstr += tykkelse * 1000;
	var bredde = Math.round(tykkelse * 200);
	var lag_utv_kledning = {size:bredde, file:bildefil};
	bredde_konstr += bredde;

	var utv_utforing = document.getElementById("kjellervegg_utv_utforing").checked;
	if (utv_utforing) {
		arealandel = les_tall("kjellervegg_utv_utforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("kjellervegg_utv_utforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kjellervegg_utv_utforing_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_hovediso = tykkelse;
		varmeledning2 = les_tall("kjellervegg_utv_utforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_hovediso = tykkelse / varmeledn_legering;
			varmemotstand_legering_over += varmemotstand_hovediso;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			if (lag1) {
				varmemotstand1_over += vmiso;
				varmemotstand2_over += vmiso;
				varmemotstand3_over += vmtre;
				varmemotstand4_over += vmtre;
				arealandel3_over = arealandel;
				arealandel1_over = 1 - arealandel2_over - arealandel3_over - arealandel4_over;
			} else {
				varmemotstand1_over += vmiso;
				varmemotstand2_over += vmtre;
				varmemotstand3_over += vmiso;
				varmemotstand4_over += vmtre;
				arealandel2_over = arealandel;
				lag1 = true;
			}
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1_over += vmiso;
			varmemotstand2_over += vmiso;
			varmemotstand3_over += vmiso;
			varmemotstand4_over += vmiso;
			varmemotstand_hovediso = vmiso;
			varmemotstand_legering_over += vmiso;
		}
		if (arealandel > 0.03)
			bildefil = finn_bildefil2("kjellervegg_utv_utforing_liste", arrayIsolasjon);
		else
			bildefil = finn_bildefil("kjellervegg_utv_utforing_liste", arrayIsolasjon);
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		lag_utv_utforing = {size:bredde, file:bildefil};
		bredde_konstr += bredde;
	}

	var utv_iso = document.getElementById("kjellervegg_utv_iso").checked;
	if (utv_iso) {
		tykkelse = les_tall("kjellervegg_utv_iso_tykkelse", 0 , 1000, 50) / 1000;
		varmeledning = les_tall("kjellervegg_utv_iso_varmeledning", 0.0001, 100, 0.037);
		varmemotstand_legering_under += tykkelse / varmeledning;
		varmemotstand1_under += tykkelse / varmeledning;
		varmemotstand2_under += tykkelse / varmeledning;
		varmemotstand3_under += tykkelse / varmeledning;
		varmemotstand4_under += tykkelse / varmeledning;
		bildefil = finn_bildefil("kjellervegg_utv_iso_liste", arrayIsolasjon);
		var bredde = Math.round(tykkelse * 200);
		lag_utv_iso = {size:bredde, file:bildefil};
		if (bredde > bredde_konstr)
			bredde_konstr = bredde
	}

	varmeledning = les_tall("kjellervegg_baering_varmeledning", 0.001, 100, 0.5);
	tykkelse = les_tall("kjellervegg_baering_tykkelse", 0, 10000, 200) / 1000;
	var vm = tykkelse / varmeledning;
	varmemotstand_legering_over += vm;
	varmemotstand1_over += vm;
	varmemotstand2_over += vm;
	varmemotstand3_over += vm;
	varmemotstand4_over += vm;
	varmemotstand_legering_under += vm;
	varmemotstand1_under += vm;
	varmemotstand2_under += vm;
	varmemotstand3_under += vm;
	varmemotstand4_under += vm;
	var bildefil = finn_bildefil("kjellervegg_baering_liste", arrayMaterial);
	tykkelse_konstr += tykkelse * 1000;
	var bredde = Math.round(tykkelse * 200);
	var lag_reisverk = {size:bredde, file:bildefil};
	lag_konstr.push(lag_reisverk);
	bredde_konstr += bredde;

	var innv_utforing = document.getElementById("kjellervegg_innv_utforing").checked;
	if (innv_utforing) {
		arealandel = les_tall("kjellervegg_innv_utforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("kjellervegg_innv_utforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kjellervegg_innv_utforing_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall("kjellervegg_innv_utforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering_over += tykkelse / varmeledn_legering;
			varmemotstand_legering_under += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			if (lag1) {
				varmemotstand1_over += vmiso;
				varmemotstand2_over += vmiso;
				varmemotstand3_over += vmtre;
				varmemotstand4_over += vmtre;
				arealandel3_over = arealandel;
				arealandel1_over = 1 - arealandel2_over - arealandel3_over - arealandel4_over;
				varmemotstand1_under += vmiso;
				varmemotstand2_under += vmiso;
				varmemotstand3_under += vmtre;
				varmemotstand4_under += vmtre;
				arealandel3_under = arealandel;
				arealandel1_under = 1 - arealandel2_under - arealandel3_under - arealandel4_under;
			} else {
				varmemotstand1_over += vmiso;
				varmemotstand2_over += vmtre;
				varmemotstand3_over += vmiso;
				varmemotstand4_over += vmtre;
				arealandel2_over = arealandel;
				varmemotstand1_under += vmiso;
				varmemotstand2_under += vmtre;
				varmemotstand3_under += vmiso;
				varmemotstand4_under += vmtre;
				arealandel2_under = arealandel;
				lag1 = true;
			}
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1_over += vmiso;
			varmemotstand2_over += vmiso;
			varmemotstand3_over += vmiso;
			varmemotstand4_over += vmiso;
			varmemotstand_legering_over += vmiso;
			varmemotstand1_under += vmiso;
			varmemotstand2_under += vmiso;
			varmemotstand3_under += vmiso;
			varmemotstand4_under += vmiso;
			varmemotstand_legering_under += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_bildefil2("kjellervegg_innv_utforing_liste", arrayIsolasjon);
		} else {
			bildefil = finn_bildefil("kjellervegg_innv_utforing_liste", arrayIsolasjon);
		}
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_utforing = {size:bredde, file:bildefil};
		lag_konstr.push(lag_utforing);
		bredde_konstr += bredde
	}
	
	tykkelse = les_tall("kjellervegg_innv_kledning_tykkelse", 0, 10000, 25) / 1000;
	varmeledning = les_tall("kjellervegg_innv_kledning_varmeledning", 0.001, 100, 0.12);
	vm = tykkelse / varmeledning;
	varmemotstand_legering_over += vm;
	varmemotstand1_over += vm;
	varmemotstand2_over += vm;
	varmemotstand3_over += vm;
	varmemotstand4_over += vm;
	varmemotstand_legering_under += vm;
	varmemotstand1_under += vm;
	varmemotstand2_under += vm;
	varmemotstand3_under += vm;
	varmemotstand4_under += vm;

	bildefil = finn_bildefil("kjellervegg_innv_kledning_liste", arrayMaterial);
	tykkelse_konstr += tykkelse * 1000;
	bredde = Math.round(tykkelse * 200);
	lag_kledning = {size:bredde, file:bildefil};
	lag_konstr.push(lag_kledning);
	bredde_konstr += bredde;

	var ekstralag = document.getElementById("kjellervegg_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall("kjellervegg_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("kjellervegg_ekstralag_std_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kjellervegg_ekstralag_std_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall("kjellervegg_ekstralag_std_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering_over += tykkelse / varmeledn_legering;
			varmemotstand_legering_under += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			if (lag1) {
				varmemotstand1_under += vmiso;
				varmemotstand2_under += vmiso;
				varmemotstand3_under += vmtre;
				varmemotstand4_under += vmtre;
				arealandel3_under = arealandel;
				arealandel1_under = 1 - arealandel2_under - arealandel3_under - arealandel4_over;
				varmemotstand1_over += vmiso;
				varmemotstand2_over += vmiso;
				varmemotstand3_over += vmtre;
				varmemotstand4_over += vmtre;
				arealandel3_over = arealandel;
				arealandel1_over = 1 - arealandel2_over - arealandel3_over - arealandel4_over;
			} else {
				varmemotstand1_under += vmiso;
				varmemotstand2_under += vmtre;
				varmemotstand3_under += vmiso;
				varmemotstand4_under += vmtre;
				arealandel2_under = arealandel;
				varmemotstand1_over += vmiso;
				varmemotstand2_over += vmtre;
				varmemotstand3_over += vmiso;
				varmemotstand4_over += vmtre;
				arealandel2_over = arealandel;
				lag1 = true;
			}
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1_over += vmiso;
			varmemotstand2_over += vmiso;
			varmemotstand3_over += vmiso;
			varmemotstand4_over += vmiso;
			varmemotstand_legering_over += vmiso;
			varmemotstand1_under += vmiso;
			varmemotstand2_under += vmiso;
			varmemotstand3_under += vmiso;
			varmemotstand4_under += vmiso;
			varmemotstand_legering_under += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_bildefil2("kjellervegg_ekstralag_std_liste", arrayIsolasjon);
		} else {
			bildefil = finn_bildefil("kjellervegg_ekstralag_std_liste", arrayIsolasjon);
		}
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_utforing = {size:bredde, file:bildefil};
		lag_konstr.push(lag_utforing);
		bredde_konstr += bredde
	}

	var ekstralag_plate = document.getElementById("kjellervegg_ekstralag_plate").checked;
	if (ekstralag_plate) {
		varmeledning = les_tall("kjellervegg_ekstralag_plate_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kjellervegg_ekstralag_plate_tykkelse", 0, 10000, 50) / 1000;
		vm += tykkelse / varmeledning;
		varmemotstand_legering_over += vm;
		varmemotstand1_over += vm;
		varmemotstand2_over += vm;
		varmemotstand3_over += vm;
		varmemotstand4_over += vm;
		varmemotstand_legering_under += vm;
		varmemotstand1_under += vm;
		varmemotstand2_under += vm;
		varmemotstand3_under += vm;
		varmemotstand4_under += vm;
		var bildefil = finn_bildefil("kjellervegg_ekstralag_plate_liste", arrayPlate);
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_plate = {size:bredde, file:bildefil};
		lag_konstr.push(lag_plate);
		bredde_konstr += bredde
	}
	tykkelse_konstr = Math.round(tykkelse_konstr);

	if (bredde_konstr > 1200) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 16);
			bredde_konstr += lag_konstr[i].size;
		}
	} if (bredde_konstr > 600) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 8);
			bredde_konstr += lag_konstr[i].size;
		}
	} else 	if (bredde_konstr > 300) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 4);
			bredde_konstr += lag_konstr[i].size;
		}
	} else if (bredde_konstr > 150) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 2);
			bredde_konstr += lag_konstr[i].size;
		}
	}
	var pos = Math.round((150 - bredde_konstr) / 2);
	oppdater_detalj_vegg(lag_konstr, lag_inne, lag_ute, pos);
	
	var utv_overgang_vegg = 0.04;
	var innv_overgang_vegg = 0.13;
	varmemotstand_legering_over += utv_overgang_vegg + innv_overgang_vegg
	varmemotstand1_over += utv_overgang_vegg + innv_overgang_vegg
	varmemotstand2_over += utv_overgang_vegg + innv_overgang_vegg
	varmemotstand3_over += utv_overgang_vegg + innv_overgang_vegg
	varmemotstand4_over += utv_overgang_vegg + innv_overgang_vegg

	var varmemotstand_skott_over = 1 / (arealandel1_over / varmemotstand1_over + 
								   arealandel2_over / varmemotstand2_over +
								   arealandel3_over / varmemotstand3_over +
								   arealandel4_over / varmemotstand4_over)
	var varmemotstand_over = (varmemotstand_legering_over + varmemotstand_skott_over) / 2;

	var varmemotstand_skott_under = 1 / (arealandel1_over / varmemotstand1_over + 
								   arealandel2_over / varmemotstand2_over +
								   arealandel3_over / varmemotstand3_over +
								   arealandel4_over / varmemotstand4_over)
	var varmemotstand_over = (varmemotstand_legering_over + varmemotstand_skott_over) / 2;

	varmemotstand_legering_under += utv_overgang_vegg + innv_overgang_vegg
	varmemotstand1_under += utv_overgang_vegg + innv_overgang_vegg
	varmemotstand2_under += utv_overgang_vegg + innv_overgang_vegg
	varmemotstand3_under += utv_overgang_vegg + innv_overgang_vegg
	varmemotstand4_under += utv_overgang_vegg + innv_overgang_vegg

	var varmemotstand_skott_under = 1 / (arealandel1_under / varmemotstand1_under + 
								   arealandel2_under / varmemotstand2_under +
								   arealandel3_under / varmemotstand3_under +
								   arealandel4_under / varmemotstand4_under)
	var varmemotstand_under = (varmemotstand_legering_under + varmemotstand_skott_under) / 2;

	var varmemotstand_skott_under = 1 / (arealandel1_under / varmemotstand1_under + 
								   arealandel2_under / varmemotstand2_under +
								   arealandel3_under / varmemotstand3_under +
								   arealandel4_under / varmemotstand4_under)
	var varmemotstand_under = (varmemotstand_legering_under + varmemotstand_skott_under) / 2;

	var delta_uf = 0;
	/*
	var kuldebro = document.getElementById(konstr + "_kuldebro_check").checked;
	if (kuldebro && tykkelse_hovediso > 0) {
		var feste_tetthet = les_tall(konstr + "_kuldebro_antall", 0.1, 100, 3);	
		var feste_diameter = les_tall(konstr + "_kuldebro_diameter", 0.1, 1000, 8) / 1000;	
		var feste_varmeledning = les_tall(konstr + "_kuldebro_varmeledning", 0.01, 1000, 50);
		var feste_areal = Math.PI * Math.pow(feste_diameter, 2) / 4;
		delta_uf = 0.8 * (feste_varmeledning * feste_areal * feste_tetthet) / tykkelse_hovediso;
		delta_uf *= Math.pow(varmemotstand_hovediso / varmemotstand, 2);
	}
	*/
	var pos = Math.round((150 - bredde_konstr) / 2);
	oppdater_detalj_kjellervegg(lag_konstr, lag_inne, lag_ute, lag_grunn, 
								lag_utv_kledning, lag_utv_utforing, lag_utv_iso, pos);


	var u_over = delta_uf + 1 / (varmemotstand_over);
	var u_under = delta_uf + 1 / (varmemotstand_under);

	var ekv_vegg = varmeledn_grunn / u_under;
	var u_ekv = 1.0 + 0.5 * ekv_vegg / (ekv_vegg + oppf_hoyde);
	u_ekv *= 2 * varmeledn_grunn / (Math.PI * oppf_hoyde);
	u_ekv *= Math.log(oppf_hoyde / ekv_vegg + 1);

	var andel_under = oppf_hoyde / hoyde;
	return u_over * (1 - andel_under) + u_ekv * andel_under;

}

function beregn_uverdi_kjellervegg1() // beregning med nøyaktig metode (maks 1 ikke-h. lag)
{
	var tykkelse;
	var varmeledning;
	var varmemotstand_legering_over = 0;
	var varmemotstand_legering_under = 0;
	var varmemotstand1_over = 0;
	var varmemotstand1_under = 0;
	var varmemotstand2_over = 0;
	var varmemotstand2_under = 0;
	var arealandel1_over = 0;
	var arealandel1_under = 0;
	var arealandel2_over = 0;
	var arealandel2_under = 0;
	tykkelse_konstr = 0;
	
	var areal = les_tall("kjellervegg_areal", 1, 100000, 50);
	var hoyde = les_tall("kjellervegg_hoyde", 0.1, 10, 2.4);
	var oppf_hoyde = les_tall("kjellervegg_oppfyllingshoyde", 0.1, hoyde, 1);

	var varmekap_grunn = les_tall("kjellervegg_grunn_varmekap", 0.1, 10000, 556);
	var varmeledn_grunn = les_tall("kjellervegg_grunn_varmeledning", 0.001, 100, 1.5);

	var lag_konstr = new Array();
	var bildefil = finn_bildefil("kjellervegg_grunn_liste", arrayGrunnforhold);
	var hoyde_grunn = Math.round(150 * oppf_hoyde / hoyde);
	var lag_grunn = { height:hoyde_grunn, size:75, file:bildefil};
	var lag_ute = { height:150 - hoyde_grunn, size:75, file:"ute_vert.jpg" };
	var lag_inne = { size:75, file:"inne_vert.jpg" };
	var lag_utv_iso = { size:0, file:"eps.jpg" };
	var lag_utv_utforing = { size:0, file:"eps.jpg" };
	var bredde_konstr = 0;
	
	tykkelse = les_tall("kjellervegg_utv_kledning_tykkelse", 0, 10000, 30) / 1000; // mm -> m
	varmeledning = les_tall("kjellervegg_utv_kledning_varmeledning", 0.001, 100, 0.12); 
	varmemotstand_legering_over += tykkelse / varmeledning;
	varmemotstand1_over += tykkelse / varmeledning;
	varmemotstand2_over += tykkelse / varmeledning;
	
	var bildefil = finn_bildefil("kjellervegg_utv_kledning_liste", arrayMaterial);
	tykkelse_konstr += tykkelse * 1000;
	var bredde = Math.round(tykkelse * 200);
	var lag_utv_kledning = {size:bredde, file:bildefil};
	bredde_konstr += bredde;

	var utv_utforing = document.getElementById("kjellervegg_utv_utforing").checked;
	if (utv_utforing) {
		arealandel = les_tall("kjellervegg_utv_utforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("kjellervegg_utv_utforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kjellervegg_utv_utforing_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_hovediso = tykkelse;
		varmeledning2 = les_tall("kjellervegg_utv_utforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_hovediso = tykkelse / varmeledn_legering;
			varmemotstand_legering_over += varmemotstand_hovediso;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand1_over += vmiso;
			varmemotstand2_over += vmtre;
			arealandel1 = arealandel;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1_over += vmiso;
			varmemotstand2_over += vmiso;
			varmemotstand_hovediso = vmiso;
			varmemotstand_legering_over += vmiso;
		}
		if (arealandel > 0.03)
			bildefil = finn_bildefil2("kjellervegg_utv_utforing_liste", arrayIsolasjon);
		else
			bildefil = finn_bildefil("kjellervegg_utv_utforing_liste", arrayIsolasjon);
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		lag_utv_utforing = {size:bredde, file:bildefil};
		bredde_konstr += bredde;
	}
	var utv_iso = document.getElementById("kjellervegg_utv_iso").checked;
	if (utv_iso) {
		tykkelse = les_tall("kjellervegg_utv_iso_tykkelse", 0 , 1000, 50) / 1000;
		varmeledning = les_tall("kjellervegg_utv_iso_varmeledning", 0.0001, 100, 0.037);
		varmemotstand_legering_under += tykkelse / varmeledning;
		varmemotstand1_under += tykkelse / varmeledning;
		varmemotstand2_under += tykkelse / varmeledning;
		bildefil = finn_bildefil("kjellervegg_utv_iso_liste", arrayIsolasjon);
		var bredde = Math.round(tykkelse * 200);
		lag_utv_iso = {size:bredde, file:bildefil};
		if (bredde > bredde_konstr)
			bredde_konstr = bredde
	}
	varmeledning = les_tall("kjellervegg_baering_varmeledning", 0.001, 100, 0.5);
	tykkelse = les_tall("kjellervegg_baering_tykkelse", 0, 10000, 200) / 1000;
	var vm = tykkelse / varmeledning;
	varmemotstand_legering_over += vm;
	varmemotstand1_over += vm;
	varmemotstand2_over += vm;
	varmemotstand_legering_under += vm;
	varmemotstand1_under += vm;
	varmemotstand2_under += vm;
	var bildefil = finn_bildefil("kjellervegg_baering_liste", arrayMaterial);
	tykkelse_konstr += tykkelse * 1000;
	var bredde = Math.round(tykkelse * 200);
	var lag_reisverk = {size:bredde, file:bildefil};
	lag_konstr.push(lag_reisverk);
	bredde_konstr += bredde;

	var innv_utforing = document.getElementById("kjellervegg_innv_utforing").checked;
	if (innv_utforing) {
		arealandel = les_tall("kjellervegg_innv_utforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("kjellervegg_innv_utforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kjellervegg_innv_utforing_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall("kjellervegg_innv_utforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering_over += tykkelse / varmeledn_legering;
			varmemotstand_legering_under += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand1_over += vmiso;
			varmemotstand2_over += vmtre;
			arealandel1_over = arealandel;
			varmemotstand1_under += vmiso;
			varmemotstand2_under += vmtre;
			arealandel1_under = arealandel;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1_over += vmiso;
			varmemotstand2_over += vmiso;
			varmemotstand_legering_over += vmiso;
			varmemotstand1_under += vmiso;
			varmemotstand2_under += vmiso;
			varmemotstand_legering_under += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_bildefil2("kjellervegg_innv_utforing_liste", arrayIsolasjon);
		} else {
			bildefil = finn_bildefil("kjellervegg_innv_utforing_liste", arrayIsolasjon);
		}
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_utforing = {size:bredde, file:bildefil};
		lag_konstr.push(lag_utforing);
		bredde_konstr += bredde
	}
	
	tykkelse = les_tall("kjellervegg_innv_kledning_tykkelse", 0, 10000, 25) / 1000;
	varmeledning = les_tall("kjellervegg_innv_kledning_varmeledning", 0.001, 100, 0.12);
	vm = tykkelse / varmeledning;
	varmemotstand_legering_over += vm;
	varmemotstand1_over += vm;
	varmemotstand2_over += vm;
	varmemotstand_legering_under += vm;
	varmemotstand1_under += vm;
	varmemotstand2_under += vm;

	bildefil = finn_bildefil("kjellervegg_innv_kledning_liste", arrayMaterial);
	tykkelse_konstr += tykkelse * 1000;
	bredde = Math.round(tykkelse * 200);
	lag_kledning = {size:bredde, file:bildefil};
	lag_konstr.push(lag_kledning);
	bredde_konstr += bredde;

	var ekstralag = document.getElementById("kjellervegg_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall("kjellervegg_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("kjellervegg_ekstralag_std_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kjellervegg_ekstralag_std_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall("kjellervegg_ekstralag_std_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering_over += tykkelse / varmeledn_legering;
			varmemotstand_legering_under += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand1_over += vmiso;
			varmemotstand2_over += vmtre;
			arealandel1_over = arealandel;
			varmemotstand1_under += vmiso;
			varmemotstand2_under += vmtre;
			arealandel1_under = arealandel;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1_over += vmiso;
			varmemotstand2_over += vmiso;
			varmemotstand_legering_over += vmiso;
			varmemotstand1_under += vmiso;
			varmemotstand2_under += vmiso;
			varmemotstand_legering_under += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_bildefil2("kjellervegg_ekstralag_std_liste", arrayIsolasjon);
		} else {
			bildefil = finn_bildefil("kjellervegg_ekstralag_std_liste", arrayIsolasjon);
		}
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_utforing = {size:bredde, file:bildefil};
		lag_konstr.push(lag_utforing);
		bredde_konstr += bredde
	}

	var ekstralag_plate = document.getElementById("kjellervegg_ekstralag_plate").checked;
	if (ekstralag_plate) {
		varmeledning = les_tall("kjellervegg_ekstralag_plate_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kjellervegg_ekstralag_plate_tykkelse", 0, 10000, 50) / 1000;
		vm += tykkelse / varmeledning;
		varmemotstand_legering_over += vm;
		varmemotstand1_over += vm;
		varmemotstand2_over += vm;
		varmemotstand_legering_under += vm;
		varmemotstand1_under += vm;
		varmemotstand2_under += vm;
		var bildefil = finn_bildefil("kjellervegg_ekstralag_plate_liste", arrayPlate);
		tykkelse_konstr += tykkelse * 1000;
		var bredde = Math.round(tykkelse * 200);
		var lag_plate = {size:bredde, file:bildefil};
		lag_konstr.push(lag_plate);
		bredde_konstr += bredde
	}
	tykkelse_konstr = Math.round(tykkelse_konstr);

	if (bredde_konstr > 1200) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 16);
			bredde_konstr += lag_konstr[i].size;
		}
	} if (bredde_konstr > 600) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 8);
			bredde_konstr += lag_konstr[i].size;
		}
	} else 	if (bredde_konstr > 300) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 4);
			bredde_konstr += lag_konstr[i].size;
		}
	} else if (bredde_konstr > 150) {
		var i;
		bredde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].size = Math.round(lag_konstr[i].size / 2);
			bredde_konstr += lag_konstr[i].size;
		}
	}
	var pos = Math.round((150 - bredde_konstr) / 2);
	oppdater_detalj_vegg(lag_konstr, lag_inne, lag_ute, pos);
	
	var utv_overgang_vegg = 0.04; // antar luftet kledning over bakken
	var innv_overgang_vegg = 0.13;

	varmemotstand_legering_over += utv_overgang_vegg + innv_overgang_vegg;
	varmemotstand1_over += utv_overgang_vegg + innv_overgang_vegg;
	varmemotstand2_over += utv_overgang_vegg + innv_overgang_vegg;

	var varmemotstand_skott_over = 1 / ((1- arealandel1_over) / varmemotstand1_over + arealandel1_over / varmemotstand2_over);
	var varmemotstand_over = (varmemotstand_legering_over + varmemotstand_skott_over) / 2;

	varmemotstand_legering_under += utv_overgang_vegg + innv_overgang_vegg;
	varmemotstand1_under += utv_overgang_vegg + innv_overgang_vegg;
	varmemotstand2_under += utv_overgang_vegg + innv_overgang_vegg;

	var varmemotstand_skott_under = 1 / ((1- arealandel1_under) / varmemotstand1_under + arealandel1_under / varmemotstand2_under);
	var varmemotstand_under = (varmemotstand_legering_under + varmemotstand_skott_under) / 2;

	var delta_uf = 0;
/*
	var kuldebro = document.getElementById(konstr + "_kuldebro_check").checked;
	if (kuldebro && tykkelse_hovediso > 0) {
		var feste_tetthet = les_tall(konstr + "_kuldebro_antall", 0.1, 100, 3);	
		var feste_diameter = les_tall(konstr + "_kuldebro_diameter", 0.1, 1000, 8) / 1000;	
		var feste_varmeledning = les_tall(konstr + "_kuldebro_varmeledning", 0.01, 1000, 50);
		var feste_areal = Math.PI * Math.pow(feste_diameter, 2) / 4;
		delta_uf = 0.8 * (feste_varmeledning * feste_areal * feste_tetthet) / tykkelse_hovediso;
		delta_uf *= Math.pow(varmemotstand_hovediso / varmemotstand, 2);
	}
*/
	var pos = Math.round((150 - bredde_konstr) / 2);
	oppdater_detalj_kjellervegg(lag_konstr, lag_inne, lag_ute, lag_grunn, 
								lag_utv_kledning, lag_utv_utforing, lag_utv_iso, pos);


	var u_over = delta_uf + 1 / (varmemotstand_over);
	var u_under = delta_uf + 1 / (varmemotstand_under);

	var ekv_vegg = varmeledn_grunn / u_under;
	var u_ekv = 1.0 + 0.5 * ekv_vegg / (ekv_vegg + oppf_hoyde);
	u_ekv *= 2 * varmeledn_grunn / (Math.PI * oppf_hoyde);
	u_ekv *= Math.log(oppf_hoyde / ekv_vegg + 1);

	var andel_under = oppf_hoyde / hoyde;
	return u_over * (1 - andel_under) + u_ekv * andel_under;
}

function beregn_uverdi_tak()
{
	var konstr = arrayTakNavn[konstr_type];
	if (konstr == "kaldtloft") {
		return beregn_uverdi_kaldtloft();
	} else if (konstr == "skratak") {
		return beregn_uverdi_skratak();
	} else if (konstr == "atakstol") {
		return beregn_uverdi_atakstol();
	} else if (konstr == "torvtak") {
		return beregn_uverdi_torvtak();
	} else if (konstr == "flattak") {
		return beregn_uverdi_flattak();
	}
}

function beregn_uverdi_kaldtloft()
{
	var antall_ikke_h = finn_antall_ikke_h_kaldtloft();
	if (antall_ikke_h >= 3)
		return beregn_uverdi_kaldtloft3();
	if (antall_ikke_h == 2)
		return beregn_uverdi_kaldtloft2();
	return beregn_uverdi_kaldtloft1();
}

function finn_antall_ikke_h_kaldtloft()
{
	var antall_ikke_h = 0;
	var arealandel = les_tall("kaldtloft_bjelkelag_arealandel", 0, 100, 8) / 100;
	if (arealandel > 0)
		antall_ikke_h++;
	var ekstralag = document.getElementById("kaldtloft_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall("kaldtloft_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		if (arealandel > 0)
			antall_ikke_h++;
	}
	var nedforing = document.getElementById("kaldtloft_nedforing").checked;
	if (nedforing) {
		arealandel = les_tall("kaldtloft_nedforing_arealandel", 0, 100, 9) / 100 // prosent;
		if (arealandel > 0)
			antall_ikke_h++;
	}
	return antall_ikke_h;
}

function beregn_uverdi_kaldtloft3() // beregning med semi-nøyaktig metode (3 eller fler ikke-h. lag)
{
	var lag_konstr = new Array();
	var lag_over = { height: 75, file: "loftsrom.jpg" };
	var lag_under = { height: 75, file: "inne_hor.jpg" };
	var hoyde_konstr = 0;
	var varmemotstand_legering = 0;
	var varmemotstand_iso = 0;
	var varmemotstand_tre = 0;
	var arealandel = 0;
	var arealandel_tre = 0;
	var tykkelse_ikke_h = 0;
	var varmeledning;
	tykkelse_konstr = 0;

	var bjelkelag_h = les_tall("kaldtloft_bjelkelag_hoyde", 0, 1000, 148) / 1000;
	var tykkelse = les_tall("kaldtloft_iso_tykkelse", 0, 10000, 200) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	if (tykkelse >= bjelkelag_h) { // isoleringslager 1 er større eller lik bjelkelaghøyde
		var iso_loft = document.getElementById("kaldtloft_iso_loft").checked;
		if (iso_loft) {
			var varmeledning2 = les_tall("kaldtloft_iso_loft_varmeledning", 0.001, 100, 0.12);
			var tykkelse2 = les_tall("kaldtloft_iso_loft_tykkelse", 0, 10000, 50) / 1000;
			tykkelse_konstr += tykkelse2 * 1000;
			varmemotstand_legering += tykkelse2 / varmeledning2;
			varmemotstand_tre += tykkelse2 / varmeledning2;
			varmemotstand_iso += tykkelse2 / varmeledning2;
			bildefil = finn_horbildefil("kaldtloft_iso_loft_liste", arrayIsolasjon);
			var hoyde = Math.round(tykkelse2 * 200);
			var lag_iso_loft = {height:hoyde, file:bildefil};
			lag_konstr.push(lag_iso_loft);
			hoyde_konstr += hoyde;
		}
		if (tykkelse > bjelkelag_h) {
			varmeledning = les_tall("kaldtloft_iso_varmeledning", 0.001, 100, 0.037);
			varmemotstand_legering += (tykkelse - bjelkelag_h) / varmeledning;
			varmemotstand_tre += (tykkelse - bjelkelag_h) / varmeledning;
			varmemotstand_iso += (tykkelse - bjelkelag_h) / varmeledning;
			bildefil = finn_horbildefil("kaldtloft_iso_liste", arrayIsolasjon);
			var hoyde = Math.round((tykkelse - bjelkelag_h) * 200);
			var lag_iso_loft = {height:hoyde, file:bildefil};
			lag_konstr.push(lag_iso_loft);
			hoyde_konstr += hoyde;
		}
		if (bjelkelag_h > 0) {
			arealandel = les_tall("kaldtloft_bjelkelag_arealandel", 0, 100, 8) / 100;
			varmeledning = les_tall("kaldtloft_bjelkelag_varmeledning", 0.001, 100, 0.12);
			var varmeledning2 = les_tall("kaldtloft_iso_varmeledning", 0.001, 100, 0.037);
			if (arealandel > 0) {
				var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
				varmemotstand_legering += bjelkelag_h / varmeledn_legering;
				var vmiso = bjelkelag_h / varmeledning2;
				var vmtre = bjelkelag_h / varmeledning;
				varmemotstand_iso += vmiso;
				varmemotstand_tre += vmtre;
				arealandel_tre += arealandel * tykkelse;
				tykkelse_ikke_h += bjelkelag_h;
			} else {
				var vmiso = bjelkelag_h / varmeledning2;
				varmemotstand_iso += vmiso;
				varmemotstand_tre += vmiso;
				varmemotstand_legering += vmiso;
			}
			bildefil = finn_horbildefil("kaldtloft_iso_liste", arrayIsolasjon);
			var hoyde = Math.round(bjelkelag_h * 200);
			var lag_iso = {height:hoyde, file:bildefil};
			lag_konstr.push(lag_iso);
			hoyde_konstr += hoyde;
		}
	} else { // isoleringslager 1 er mindre enn bjelkelag høyde
		var arealandel = les_tall("kaldtloft_bjelkelag_arealandel", 0, 100, 8) / 100;
		varmeledning = les_tall("kaldtloft_bjelkelag_varmeledning", 0.001, 100, 0.12);
		var iso_loft = document.getElementById("kaldtloft_iso_loft").checked;
		if (iso_loft) {
			var varmeledning2 = les_tall("kaldtloft_iso_loft_varmeledning", 0.001, 100, 0.12);
			var tykkelse2 = les_tall("kaldtloft_iso_loft_tykkelse", 0, 10000, 50) / 1000;
			tykkelse_konstr += tykkelse2 * 1000;
			var tykkelse_homogen = tykkelse + tykkelse2 - bjelkelag_h;
			var tykkelse_ikke_ho = tykkelse2 - tykkelse_homogen; 
			if (tykkelse_homogen > 0) { // total isotykkelse er større enn bjelkelaghøyde
				varmemotstand_legering += tykkelse_homogen / varmeledning2;
				varmemotstand_iso += tykkelse_homogen / varmeledning2;
				varmemotstand_tre += tykkelse_homogen / varmeledning2;
				bildefil = finn_horbildefil("kaldtloft_iso_loft_liste", arrayIsolasjon);
				var hoyde = Math.round(tykkelse_homogen * 200);
				var lag_iso_loft = {height:hoyde, file:bildefil};
				lag_konstr.push(lag_iso_loft);
				hoyde_konstr += hoyde;
			}
			if (tykkelse_ikke_ho > 0 && arealandel > 0) {
				var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
				varmemotstand_legering += tykkelse_ikke_ho / varmeledn_legering;
				var vmiso = tykkelse_ikke_ho / varmeledning2;
				var vmtre = tykkelse_ikke_ho / varmeledning;
				varmemotstand_iso += vmiso;
				varmemotstand_tre += vmtre;
				arealandel_tre += arealandel * tykkelse;
				tykkelse_ikke_h += tykkelse;
			} else {
				var vmiso = tykkelse_ikke_ho / varmeledning2;
				varmemotstand_iso += vmiso;
				varmemotstand_tre += vmiso;
				varmemotstand_legering += vmiso;
			}
			bildefil = finn_horbildefil("kaldtloft_iso_loft_liste", arrayIsolasjon);
			var hoyde = Math.round(tykkelse_ikke_ho * 200);
			var lag_iso_loft = {height:hoyde, file:bildefil};
			lag_konstr.push(lag_iso_loft);
			hoyde_konstr += hoyde;
		}
		if (tykkelse > 0) {
			var varmeledning2 = les_tall("kaldtloft_iso_varmeledning", 0.001, 100, 0.037);
			if (arealandel > 0) {
				var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
				varmemotstand_legering += tykkelse / varmeledn_legering;
				var vmiso = tykkelse / varmeledning2;
				var vmtre = tykkelse / varmeledning;
				varmemotstand_iso += vmiso;
				varmemotstand_tre += vmtre;
				arealandel_tre += arealandel * tykkelse;
				tykkelse_ikke_h += tykkelse;
			} else {
				var vmiso = tykkelse / varmeledning2;
				varmemotstand_iso += vmiso;
				varmemotstand_tre += vmiso;
				varmemotstand_legering += vmiso;
			}
			bildefil = finn_horbildefil("kaldtloft_iso_liste", arrayIsolasjon);
			var hoyde = Math.round(tykkelse * 200);
			var lag_iso = {height:hoyde, file:bildefil};
			lag_konstr.push(lag_iso);
			hoyde_konstr += hoyde;
		}
	}
	var dekke = document.getElementById("kaldtloft_dekke").checked;
	if (dekke) {
		varmeledning = les_tall("kaldtloft_dekke_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kaldtloft_dekke_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmemotstand_legering += tykkelse / varmeledning;
		varmemotstand_iso += tykkelse / varmeledning;
		varmemotstand_tre += tykkelse / varmeledning;
		bildefil = finn_horbildefil("kaldtloft_dekke_liste", arrayMaterial);
		var hoyde = Math.round(tykkelse * 200);
		var lag_dekke = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_dekke);
		hoyde_konstr += hoyde;
	}
	
	var ekstralag = document.getElementById("kaldtloft_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall("kaldtloft_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("kaldtloft_ekstralag_std_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kaldtloft_ekstralag_std_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("kaldtloft_ekstralag_std_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmtre;
			arealandel_tre += arealandel * tykkelse;
			tykkelse_ikke_h += tykkelse;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("kaldtloft_ekstralag_std_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("kaldtloft_ekstralag_std_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_oppforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_oppforing);
		hoyde_konstr += hoyde;
	}

	var ekstralag_plate = document.getElementById("kaldtloft_ekstralag_plate").checked;
	if (ekstralag_plate) {
		varmeledning = les_tall("kaldtloft_ekstralag_plate_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kaldtloft_ekstralag_plate_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmemotstand_legering += tykkelse / varmeledning;
		varmemotstand_iso += tykkelse / varmeledning;
		varmemotstand_tre += tykkelse / varmeledning;
		bildefil = finn_horbildefil("kaldtloft_ekstralag_plate_liste", arrayPlate);
		var hoyde = Math.round(tykkelse * 200);
		var lag_plate = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_plate);
		hoyde_konstr += hoyde;
	}
	
	var nedforing = document.getElementById("kaldtloft_nedforing").checked;
	if (nedforing) {
		arealandel = les_tall("kaldtloft_nedforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("kaldtloft_nedforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kaldtloft_nedforing_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("kaldtloft_nedforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmtre;
			arealandel_tre += arealandel * tykkelse;
			tykkelse_ikke_h += tykkelse;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("kaldtloft_nedforing_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("kaldtloft_nedforing_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_nedforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_nedforing);
		hoyde_konstr += hoyde;
	}

	tykkelse = les_tall("kaldtloft_undertak_tykkelse", 0, 10000, 25) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	varmeledning = les_tall("kaldtloft_undertak_varmeledning", 0.001, 100, 0.12);
	varmemotstand_legering += tykkelse / varmeledning;
	varmemotstand_iso += tykkelse / varmeledning;
	varmemotstand_tre += tykkelse / varmeledning;
	
	var varmemotstand_loft = les_tall("kaldtloft_varmemotstand_loft", 0.06, 0.3, 0.2);
	varmemotstand_legering += varmemotstand_loft;
	varmemotstand_iso += varmemotstand_loft;
	varmemotstand_tre += varmemotstand_loft;

	bildefil = finn_horbildefil("kaldtloft_undertak_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_undertak = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_undertak);
	hoyde_konstr += hoyde;

	tykkelse_konstr = Math.round(tykkelse_konstr);

	bildefil = finn_horbildefil("kaldtloft_undertak_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_undertak = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_undertak);
	hoyde_konstr += hoyde;
	if (hoyde_konstr > 1200) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 16);
			hoyde_konstr += lag_konstr[i].height;
		}
	} if (hoyde_konstr > 600) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 8);
			hoyde_konstr += lag_konstr[i].height;
		}
	} else 	if (hoyde_konstr > 300) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 4);
			hoyde_konstr += lag_konstr[i].height;
		}
	} else if (hoyde_konstr > 150) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 2);
			hoyde_konstr += lag_konstr[i].height;
		}
	}
	var pos = Math.round((150 - hoyde_konstr) / 2);
	oppdater_detalj_hor(lag_konstr, lag_over, lag_under, pos);

	var utv_overgang_tak = 0.04;
	var innv_overgang_tak = 0.10;
	
	varmemotstand_legering += utv_overgang_tak + innv_overgang_tak;
	varmemotstand_tre += utv_overgang_tak + innv_overgang_tak;
	varmemotstand_iso += utv_overgang_tak + innv_overgang_tak;
	arealandel_tre /= tykkelse_ikke_h;
	var arealandel_iso = 1 - arealandel_tre;

	var varmemotstand_skott = 1 / (arealandel_tre / varmemotstand_tre + 
								   arealandel_iso / varmemotstand_iso);
	var varmemotstand = (varmemotstand_legering + varmemotstand_skott) / 2;

	var delta_uf = 0;
	/*
	var kuldebro = document.getElementById(konstr + "_kuldebro_check").checked;
	if (kuldebro && tykkelse_hovediso > 0) {
		var feste_tetthet = les_tall(konstr + "_kuldebro_antall", 0.1, 100, 3);	
		var feste_diameter = les_tall(konstr + "_kuldebro_diameter", 0.1, 1000, 8) / 1000;	
		var feste_varmeledning = les_tall(konstr + "_kuldebro_varmeledning", 0.01, 1000, 50);
		var feste_areal = Math.PI * Math.pow(feste_diameter, 2) / 4;
		delta_uf = 0.8 * (feste_varmeledning * feste_areal * feste_tetthet) / tykkelse_hovediso;
		delta_uf *= Math.pow(varmemotstand_hovediso / varmemotstand, 2);
	}
	*/
	var uverdi = delta_uf + 1 / varmemotstand;

	return uverdi;
}

function beregn_uverdi_kaldtloft2() // beregning med nøyaktig metode (maks 2 ikke-h. lag)

{
	var lag_konstr = new Array();
	var lag_over = { height: 75, file: "loftsrom.jpg" };
	var lag_under = { height: 75, file: "inne_hor.jpg" };
	var hoyde_konstr = 0;
	var varmemotstand_legering = 0;
	var varmemotstand1 = 0;
	var varmemotstand2 = 0;
	var varmemotstand3 = 0;
	var varmemotstand4 = 0;
	var arealandel = 0;
	var arealandel1 = 0;
	var arealandel2 = 0;
	var arealandel3 = 0;
	var arealandel4 = 0.01; // antar 1% arealandel for kryss
	var tykkelse = 0;
	var lag1 = false;
	var varmeledning;
	tykkelse_konstr = 0;

	var bjelkelag_h = les_tall("kaldtloft_bjelkelag_hoyde", 0, 1000, 148) / 1000;
	var tykkelse = les_tall("kaldtloft_iso_tykkelse", 0, 10000, 200) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	if (tykkelse >= bjelkelag_h) { // isoleringslager 1 er større eller lik bjelkelaghøyde
		var iso_loft = document.getElementById("kaldtloft_iso_loft").checked;
		if (iso_loft) {
			var varmeledning2 = les_tall("kaldtloft_iso_loft_varmeledning", 0.001, 100, 0.12);
			var tykkelse2 = les_tall("kaldtloft_iso_loft_tykkelse", 0, 10000, 50) / 1000;
			tykkelse_konstr += tykkelse2 * 1000;
			varmemotstand_legering += tykkelse2 / varmeledning2;
			varmemotstand1 += tykkelse2 / varmeledning2;
			varmemotstand2 += tykkelse2 / varmeledning2;
			varmemotstand3 += tykkelse2 / varmeledning2;
			varmemotstand4 += tykkelse2 / varmeledning2;
			bildefil = finn_horbildefil("kaldtloft_iso_loft_liste", arrayIsolasjon);
			var hoyde = Math.round(tykkelse2 * 200);
			var lag_iso_loft = {height:hoyde, file:bildefil};
			lag_konstr.push(lag_iso_loft);
			hoyde_konstr += hoyde;
		}
		if (tykkelse > bjelkelag_h) {
			varmeledning = les_tall("kaldtloft_iso_varmeledning", 0.001, 100, 0.037);
			varmemotstand_legering += (tykkelse - bjelkelag_h) / varmeledning;
			varmemotstand1 += (tykkelse - bjelkelag_h) / varmeledning;
			varmemotstand2 += (tykkelse - bjelkelag_h) / varmeledning;
			varmemotstand3 += (tykkelse - bjelkelag_h) / varmeledning;
			varmemotstand4 += (tykkelse - bjelkelag_h) / varmeledning;
			bildefil = finn_horbildefil("kaldtloft_iso_liste", arrayIsolasjon);
			var hoyde = Math.round((tykkelse - bjelkelag_h) * 200);
			var lag_iso_loft = {height:hoyde, file:bildefil};
			lag_konstr.push(lag_iso_loft);
			hoyde_konstr += hoyde;
		}
		if (bjelkelag_h > 0) {
			arealandel = les_tall("kaldtloft_bjelkelag_arealandel", 0, 100, 8) / 100;
			varmeledning = les_tall("kaldtloft_bjelkelag_varmeledning", 0.001, 100, 0.12);
			var varmeledning2 = les_tall("kaldtloft_iso_varmeledning", 0.001, 100, 0.037);
			if (arealandel > 0) {
				var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
				varmemotstand_legering += bjelkelag_h / varmeledn_legering;
				var vmiso = bjelkelag_h / varmeledning2;
				var vmtre = bjelkelag_h / varmeledning;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmtre;
				varmemotstand3 += vmiso;
				varmemotstand4 += vmtre;
				arealandel2 = arealandel;
				lag1 = true;
			} else {
				var vmiso = bjelkelag_h / varmeledning2;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				varmemotstand3 += vmiso;
				varmemotstand4 += vmiso;
				varmemotstand_legering += vmiso;
			}
			bildefil = finn_horbildefil("kaldtloft_iso_liste", arrayIsolasjon);
			var hoyde = Math.round(bjelkelag_h * 200);
			var lag_iso = {height:hoyde, file:bildefil};
			lag_konstr.push(lag_iso);
			hoyde_konstr += hoyde;
		}
	} else { // isoleringslager 1 er mindre enn bjelkelag høyde
		var arealandel = les_tall("kaldtloft_bjelkelag_arealandel", 0, 100, 8) / 100;
		varmeledning = les_tall("kaldtloft_bjelkelag_varmeledning", 0.001, 100, 0.12);
		var iso_loft = document.getElementById("kaldtloft_iso_loft").checked;
		if (iso_loft) {
			var varmeledning2 = les_tall("kaldtloft_iso_loft_varmeledning", 0.001, 100, 0.12);
			var tykkelse2 = les_tall("kaldtloft_iso_loft_tykkelse", 0, 10000, 50) / 1000;
			tykkelse_konstr += tykkelse2 * 1000;
			var tykkelse_homogen = tykkelse + tykkelse2 - bjelkelag_h;
			var tykkelse_ikke_h = tykkelse2 - tykkelse_homogen;
			if (tykkelse_homogen > 0) { // total isotykkelse er større enn bjelkelaghøyde
				varmemotstand_legering += tykkelse_homogen / varmeledning2;
				varmemotstand1 += tykkelse_homogen / varmeledning2;
				varmemotstand2 += tykkelse_homogen / varmeledning2;
				varmemotstand3 += tykkelse_homogen / varmeledning2;
				varmemotstand4 += tykkelse_homogen / varmeledning2;
				bildefil = finn_horbildefil("kaldtloft_iso_loft_liste", arrayIsolasjon);
				var hoyde = Math.round(tykkelse_homogen * 200);
				var lag_iso_loft = {height:hoyde, file:bildefil};
				lag_konstr.push(lag_iso_loft);
				hoyde_konstr += hoyde;
			}
			if (tykkelse_ikke_h > 0 && arealandel > 0) {
				var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
				varmemotstand_legering += tykkelse_ikke_h / varmeledn_legering;
				var vmiso = tykkelse_ikke_h / varmeledning2;
				var vmtre = tykkelse_ikke_h / varmeledning;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmtre;
				varmemotstand3 += vmiso;
				varmemotstand4 += vmtre;
				arealandel2 = arealandel;
				lag1 = true;
			} else {
				var vmiso = tykkelse_ikke_h / varmeledning2;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				varmemotstand3 += vmiso;
				varmemotstand4 += vmiso;
				varmemotstand_legering += vmiso;
			}
			bildefil = finn_horbildefil("kaldtloft_iso_loft_liste", arrayIsolasjon);
			var hoyde = Math.round(tykkels_ikke_h * 200);
			var lag_iso_loft = {height:hoyde, file:bildefil};
			lag_konstr.push(lag_iso_loft);
			hoyde_konstr += hoyde;
		}
		if (tykkelse > 0) {
			var varmeledning2 = les_tall("kaldtloft_iso_varmeledning", 0.001, 100, 0.037);
			if (arealandel > 0) {
				var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
				varmemotstand_legering += tykkelse / varmeledn_legering;
				var vmiso = tykkelse / varmeledning2;
				var vmtre = tykkelse / varmeledning;
				if (lag1) {
					varmemotstand1 += vmiso;
					varmemotstand2 += vmiso;
					varmemotstand3 += vmtre;
					varmemotstand4 += vmtre;
					arealandel3 = arealandel;
					arealandel1 = 1 - arealandel2 - arealandel3 - arealandel4;
				} else {
					varmemotstand1 += vmiso;
					varmemotstand2 += vmtre;
					varmemotstand3 += vmiso;
					varmemotstand4 += vmtre;
					arealandel2 = arealandel;
					lag1 = true;
				}
			} else {
				var vmiso = tykkelse / varmeledning2;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				varmemotstand3 += vmiso;
				varmemotstand4 += vmiso;
				varmemotstand_legering += vmiso;
			}
			bildefil = finn_horbildefil("kaldtloft_iso_liste", arrayIsolasjon);
			var hoyde = Math.round(tykkelse * 200);
			var lag_iso = {height:hoyde, file:bildefil};
			lag_konstr.push(lag_iso);
			hoyde_konstr += hoyde;
		}
	}
	var dekke = document.getElementById("kaldtloft_dekke").checked;
	if (dekke) {
		varmeledning = les_tall("kaldtloft_dekke_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kaldtloft_dekke_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmemotstand_legering += tykkelse / varmeledning;
		varmemotstand1 += tykkelse / varmeledning;
		varmemotstand2 += tykkelse / varmeledning;
		varmemotstand3 += tykkelse / varmeledning;
		varmemotstand4 += tykkelse / varmeledning;
		bildefil = finn_horbildefil("kaldtloft_dekke_liste", arrayMaterial);
		var hoyde = Math.round(tykkelse * 200);
		var lag_dekke = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_dekke);
		hoyde_konstr += hoyde;
	}
	
	var ekstralag = document.getElementById("kaldtloft_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall("kaldtloft_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("kaldtloft_ekstralag_std_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kaldtloft_ekstralag_std_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("kaldtloft_ekstralag_std_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			if (lag1) {
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				varmemotstand3 += vmtre;
				varmemotstand4 += vmtre;
				arealandel3 = arealandel;
				arealandel1 = 1 - arealandel2 - arealandel3 - arealandel4;
			} else {
				varmemotstand1 += vmiso;
				varmemotstand2 += vmtre;
				varmemotstand3 += vmiso;
				varmemotstand4 += vmtre;
				arealandel2 = arealandel;
				lag1 = true;
			}
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand3 += vmiso;
			varmemotstand4 += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("kaldtloft_ekstralag_std_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("kaldtloft_ekstralag_std_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_oppforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_oppforing);
		hoyde_konstr += hoyde;
	}

	var ekstralag_plate = document.getElementById("kaldtloft_ekstralag_plate").checked;
	if (ekstralag_plate) {
		varmeledning = les_tall("kaldtloft_ekstralag_plate_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kaldtloft_ekstralag_plate_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmemotstand_legering += tykkelse / varmeledning;
		varmemotstand1 += tykkelse / varmeledning;
		varmemotstand2 += tykkelse / varmeledning;
		varmemotstand3 += tykkelse / varmeledning;
		varmemotstand4 += tykkelse / varmeledning;
		bildefil = finn_horbildefil("kaldtloft_ekstralag_plate_liste", arrayPlate);
		var hoyde = Math.round(tykkelse * 200);
		var lag_plate = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_plate);
		hoyde_konstr += hoyde;
	}
	
	var nedforing = document.getElementById("kaldtloft_nedforing").checked;
	if (nedforing) {
		arealandel = les_tall("kaldtloft_nedforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("kaldtloft_nedforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kaldtloft_nedforing_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("kaldtloft_nedforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			if (lag1) {
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				varmemotstand3 += vmtre;
				varmemotstand4 += vmtre;
				arealandel3 = arealandel;
				arealandel1 = 1 - arealandel2 - arealandel3 - arealandel4;
			} else {
				varmemotstand1 += vmiso;
				varmemotstand2 += vmtre;
				varmemotstand3 += vmiso;
				varmemotstand4 += vmtre;
				arealandel2 = arealandel;
				lag1 = true;
			}
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand3 += vmiso;
			varmemotstand4 += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("kaldtloft_nedforing_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("kaldtloft_nedforing_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_nedforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_nedforing);
		hoyde_konstr += hoyde;
	}

	tykkelse = les_tall("kaldtloft_undertak_tykkelse", 0, 10000, 25) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	varmeledning = les_tall("kaldtloft_undertak_varmeledning", 0.001, 100, 0.12);
	varmemotstand_legering += tykkelse / varmeledning;
	varmemotstand1 += tykkelse / varmeledning;
	varmemotstand2 += tykkelse / varmeledning;
	varmemotstand3 += tykkelse / varmeledning;
	varmemotstand4 += tykkelse / varmeledning;
	
	var varmemotstand_loft = les_tall("kaldtloft_varmemotstand_loft", 0.06, 0.3, 0.2);
	varmemotstand_legering += varmemotstand_loft;
	varmemotstand1 += varmemotstand_loft;
	varmemotstand2 += varmemotstand_loft;
	varmemotstand3 += varmemotstand_loft;
	varmemotstand4 += varmemotstand_loft;

	bildefil = finn_horbildefil("kaldtloft_undertak_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_undertak = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_undertak);
	hoyde_konstr += hoyde;

	tykkelse_konstr = Math.round(tykkelse_konstr);

	bildefil = finn_horbildefil("kaldtloft_undertak_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_undertak = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_undertak);
	hoyde_konstr += hoyde;
	if (hoyde_konstr > 1200) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 16);
			hoyde_konstr += lag_konstr[i].height;
		}
	} if (hoyde_konstr > 600) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 8);
			hoyde_konstr += lag_konstr[i].height;
		}
	} else 	if (hoyde_konstr > 300) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 4);
			hoyde_konstr += lag_konstr[i].height;
		}
	} else if (hoyde_konstr > 150) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 2);
			hoyde_konstr += lag_konstr[i].height;
		}
	}
	var pos = Math.round((150 - hoyde_konstr) / 2);
	oppdater_detalj_hor(lag_konstr, lag_over, lag_under, pos);

	var utv_overgang_tak = 0.04;
	var innv_overgang_tak = 0.10;
	
	varmemotstand_legering += utv_overgang_tak + innv_overgang_tak;
	varmemotstand1 += utv_overgang_tak + innv_overgang_tak;
	varmemotstand2 += utv_overgang_tak + innv_overgang_tak;
	varmemotstand3 += utv_overgang_tak + innv_overgang_tak;
	varmemotstand4 += utv_overgang_tak + innv_overgang_tak;

	var varmemotstand_skott = 1 / (arealandel1 / varmemotstand1 + 
								   arealandel2 / varmemotstand2 +
								   arealandel3 / varmemotstand3 +
								   arealandel4 / varmemotstand4);
	var varmemotstand = (varmemotstand_legering + varmemotstand_skott) / 2;

	var delta_uf = 0;
	/*
	var kuldebro = document.getElementById(konstr + "_kuldebro_check").checked;
	if (kuldebro && tykkelse_hovediso > 0) {
		var feste_tetthet = les_tall(konstr + "_kuldebro_antall", 0.1, 100, 3);	
		var feste_diameter = les_tall(konstr + "_kuldebro_diameter", 0.1, 1000, 8) / 1000;	
		var feste_varmeledning = les_tall(konstr + "_kuldebro_varmeledning", 0.01, 1000, 50);
		var feste_areal = Math.PI * Math.pow(feste_diameter, 2) / 4;
		delta_uf = 0.8 * (feste_varmeledning * feste_areal * feste_tetthet) / tykkelse_hovediso;
		delta_uf *= Math.pow(varmemotstand_hovediso / varmemotstand, 2);
	}
	*/
	var uverdi = delta_uf + 1 / varmemotstand;

	return uverdi;
}

function beregn_uverdi_kaldtloft1() // beregning med nøyaktig metode (maks 1 ikke-h. lag)
{
	var lag_konstr = new Array();
	var lag_over = { height: 75, file: "loftsrom.jpg" };
	var lag_under = { height: 75, file: "inne_hor.jpg" };
	var hoyde_konstr = 0;
	var varmemotstand_legering = 0;
	var varmemotstand1 = 0;
	var varmemotstand2 = 0;
	var arealandel = 0;
	var arealandel1 = 0;
	var arealandel2 = 0;
	var tykkelse = 0;
	var varmeledning;
	tykkelse_konstr = 0;

	var bjelkelag_h = les_tall("kaldtloft_bjelkelag_hoyde", 0, 1000, 148) / 1000;
	var tykkelse = les_tall("kaldtloft_iso_tykkelse", 0, 10000, 200) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	if (tykkelse >= bjelkelag_h) { // isoleringslager 1 er større eller lik bjelkelaghøyde
		var iso_loft = document.getElementById("kaldtloft_iso_loft").checked;
		if (iso_loft) {
			var varmeledning2 = les_tall("kaldtloft_iso_loft_varmeledning", 0.001, 100, 0.12);
			var tykkelse2 = les_tall("kaldtloft_iso_loft_tykkelse", 0, 10000, 50) / 1000;
			tykkelse_konstr += tykkelse2 * 1000;
			varmemotstand_legering += tykkelse2 / varmeledning2;
			varmemotstand1 += tykkelse2 / varmeledning2;
			varmemotstand2 += tykkelse2 / varmeledning2;
			bildefil = finn_horbildefil("kaldtloft_iso_loft_liste", arrayIsolasjon);
			var hoyde = Math.round(tykkelse2 * 200);
			var lag_iso_loft = {height:hoyde, file:bildefil};
			lag_konstr.push(lag_iso_loft);
			hoyde_konstr += hoyde;
		}
		if (tykkelse > bjelkelag_h) {
			varmeledning = les_tall("kaldtloft_iso_varmeledning", 0.001, 100, 0.037);
			varmemotstand_legering += (tykkelse - bjelkelag_h) / varmeledning;
			varmemotstand1 += (tykkelse - bjelkelag_h) / varmeledning;
			varmemotstand2 += (tykkelse - bjelkelag_h) / varmeledning;
			bildefil = finn_horbildefil("kaldtloft_iso_liste", arrayIsolasjon);
			var hoyde = Math.round((tykkelse - bjelkelag_h) * 200);
			var lag_iso_loft = {height:hoyde, file:bildefil};
			lag_konstr.push(lag_iso_loft);
			hoyde_konstr += hoyde;
		}
		if (bjelkelag_h > 0) {
			arealandel = les_tall("kaldtloft_bjelkelag_arealandel", 0, 100, 8) / 100;
			varmeledning = les_tall("kaldtloft_bjelkelag_varmeledning", 0.001, 100, 0.12);
			var varmeledning2 = les_tall("kaldtloft_iso_varmeledning", 0.001, 100, 0.037);
			if (arealandel > 0) {
				var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
				varmemotstand_legering += bjelkelag_h / varmeledn_legering;
				var vmiso = bjelkelag_h / varmeledning2;
				var vmtre = bjelkelag_h / varmeledning;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmtre;
				arealandel2 = arealandel;
			} else {
				var vmiso = bjelkelag_h / varmeledning2;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				varmemotstand_legering += vmiso;
			}
			bildefil = finn_horbildefil("kaldtloft_iso_liste", arrayIsolasjon);
			var hoyde = Math.round(bjelkelag_h * 200);
			var lag_iso = {height:hoyde, file:bildefil};
			lag_konstr.push(lag_iso);
			hoyde_konstr += hoyde;
		}
	} else { // isoleringslager 1 er mindre enn bjelkelag høyde
		var arealandel = les_tall("kaldtloft_bjelkelag_arealandel", 0, 100, 8) / 100;
		varmeledning = les_tall("kaldtloft_bjelkelag_varmeledning", 0.001, 100, 0.12);
		var iso_loft = document.getElementById("kaldtloft_iso_loft").checked;
		if (iso_loft) {
			var varmeledning2 = les_tall("kaldtloft_iso_loft_varmeledning", 0.001, 100, 0.12);
			var tykkelse2 = les_tall("kaldtloft_iso_loft_tykkelse", 0, 10000, 50) / 1000;
			tykkelse_konstr += tykkelse2 * 1000;
			var tykkelse_homogen = tykkelse + tykkelse2 - bjelkelag_h;
			var tykkelse_ikke_h = tykkelse2 - tykkelse_homogen;
			if (tykkelse_homogen > 0) { // total isotykkelse er større enn bjelkelaghøyde
				varmemotstand_legering += tykkelse_homogen / varmeledning2;
				varmemotstand1 += tykkelse_homogen / varmeledning2;
				varmemotstand2 += tykkelse_homogen / varmeledning2;
				bildefil = finn_horbildefil("kaldtloft_iso_loft_liste", arrayIsolasjon);
				var hoyde = Math.round(tykkelse_homogen * 200);
				var lag_iso_loft = {height:hoyde, file:bildefil};
				lag_konstr.push(lag_iso_loft);
				hoyde_konstr += hoyde;
			}
			if (tykkelse_ikke_h > 0 && arealandel > 0) {
				var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
				varmemotstand_legering += tykkelse_ikke_h / varmeledn_legering;
				var vmiso = tykkelse_ikke_h / varmeledning2;
				var vmtre = tykkelse_ikke_h / varmeledning;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmtre;
				arealandel2 = arealandel;
			} else {
				var vmiso = tykkelse / varmeledning2;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				varmemotstand_legering += vmiso;
			}
			bildefil = finn_horbildefil("kaldtloft_iso_loft_liste", arrayIsolasjon);
			var hoyde = Math.round(tykkelse_ikke_h * 200);
			var lag_iso_loft = {height:hoyde, file:bildefil};
			lag_konstr.push(lag_iso_loft);
			hoyde_konstr += hoyde;
		}
		if (tykkelse > 0) {
			var varmeledning2 = les_tall("kaldtloft_iso_varmeledning", 0.001, 100, 0.037);
			if (arealandel > 0) {
				var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
				varmemotstand_legering += tykkelse / varmeledn_legering;
				var vmiso = tykkelse / varmeledning2;
				var vmtre = tykkelse / varmeledning;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				arealandel2 = arealandel;
			} else {
				var vmiso = tykkelse / varmeledning2;
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				varmemotstand_legering += vmiso;
			}
			bildefil = finn_horbildefil("kaldtloft_iso_liste", arrayIsolasjon);
			var hoyde = Math.round(tykkelse * 200);
			var lag_iso = {height:hoyde, file:bildefil};
			lag_konstr.push(lag_iso);
			hoyde_konstr += hoyde;
		}
	}
	var dekke = document.getElementById("kaldtloft_dekke").checked;
	if (dekke) {
		varmeledning = les_tall("kaldtloft_dekke_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kaldtloft_dekke_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmemotstand_legering += tykkelse / varmeledning;
		varmemotstand1 += tykkelse / varmeledning;
		varmemotstand2 += tykkelse / varmeledning;
		bildefil = finn_horbildefil("kaldtloft_dekke_liste", arrayMaterial);
		var hoyde = Math.round(tykkelse * 200);
		var lag_dekke = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_dekke);
		hoyde_konstr += hoyde;
	}
	
	var ekstralag = document.getElementById("kaldtloft_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall("kaldtloft_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("kaldtloft_ekstralag_std_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kaldtloft_ekstralag_std_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("kaldtloft_ekstralag_std_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			arealandel2 = arealandel;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("kaldtloft_ekstralag_std_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("kaldtloft_ekstralag_std_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_oppforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_oppforing);
		hoyde_konstr += hoyde;
	}

	var ekstralag_plate = document.getElementById("kaldtloft_ekstralag_plate").checked;
	if (ekstralag_plate) {
		varmeledning = les_tall("kaldtloft_ekstralag_plate_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kaldtloft_ekstralag_plate_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmemotstand_legering += tykkelse / varmeledning;
		varmemotstand1 += tykkelse / varmeledning;
		varmemotstand2 += tykkelse / varmeledning;
		bildefil = finn_horbildefil("kaldtloft_ekstralag_plate_liste", arrayPlate);
		var hoyde = Math.round(tykkelse * 200);
		var lag_plate = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_plate);
		hoyde_konstr += hoyde;
	}
	
	var nedforing = document.getElementById("kaldtloft_nedforing").checked;
	if (nedforing) {
		arealandel = les_tall("kaldtloft_nedforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("kaldtloft_nedforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("kaldtloft_nedforing_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("kaldtloft_nedforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			arealandel2 = arealandel;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("kaldtloft_nedforing_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("kaldtloft_nedforing_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_nedforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_nedforing);
		hoyde_konstr += hoyde;
	}

	tykkelse = les_tall("kaldtloft_undertak_tykkelse", 0, 10000, 25) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	varmeledning = les_tall("kaldtloft_undertak_varmeledning", 0.001, 100, 0.12);
	varmemotstand_legering += tykkelse / varmeledning;
	varmemotstand1 += tykkelse / varmeledning;
	varmemotstand2 += tykkelse / varmeledning;
	
	var varmemotstand_loft = les_tall("kaldtloft_varmemotstand_loft", 0.06, 0.3, 0.2);
	varmemotstand_legering += varmemotstand_loft;
	varmemotstand1 += varmemotstand_loft;
	varmemotstand2 += varmemotstand_loft;

	bildefil = finn_horbildefil("kaldtloft_undertak_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_undertak = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_undertak);
	hoyde_konstr += hoyde;

	tykkelse_konstr = Math.round(tykkelse_konstr);

	bildefil = finn_horbildefil("kaldtloft_undertak_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_undertak = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_undertak);
	hoyde_konstr += hoyde;
	if (hoyde_konstr > 1200) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 16);
			hoyde_konstr += lag_konstr[i].height;
		}
	} if (hoyde_konstr > 600) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 8);
			hoyde_konstr += lag_konstr[i].height;
		}
	} else 	if (hoyde_konstr > 300) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 4);
			hoyde_konstr += lag_konstr[i].height;
		}
	} else if (hoyde_konstr > 150) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 2);
			hoyde_konstr += lag_konstr[i].height;
		}
	}
	var pos = Math.round((150 - hoyde_konstr) / 2);
	oppdater_detalj_hor(lag_konstr, lag_over, lag_under, pos);

	var utv_overgang_tak = 0.04;
	var innv_overgang_tak = 0.10;
	
	varmemotstand_legering += utv_overgang_tak + innv_overgang_tak;
	varmemotstand1 += utv_overgang_tak + innv_overgang_tak;
	varmemotstand2 += utv_overgang_tak + innv_overgang_tak;
	arealandel1 = 1 - arealandel2;

	var varmemotstand_skott = 1 / (arealandel1 / varmemotstand1 + 
								   arealandel2 / varmemotstand2);
	var varmemotstand = (varmemotstand_legering + varmemotstand_skott) / 2;

	var delta_uf = 0;
	/*
	var kuldebro = document.getElementById(konstr + "_kuldebro_check").checked;
	if (kuldebro && tykkelse_hovediso > 0) {
		var feste_tetthet = les_tall(konstr + "_kuldebro_antall", 0.1, 100, 3);	
		var feste_diameter = les_tall(konstr + "_kuldebro_diameter", 0.1, 1000, 8) / 1000;	
		var feste_varmeledning = les_tall(konstr + "_kuldebro_varmeledning", 0.01, 1000, 50);
		var feste_areal = Math.PI * Math.pow(feste_diameter, 2) / 4;
		delta_uf = 0.8 * (feste_varmeledning * feste_areal * feste_tetthet) / tykkelse_hovediso;
		delta_uf *= Math.pow(varmemotstand_hovediso / varmemotstand, 2);
	}
	*/
	var uverdi = delta_uf + 1 / varmemotstand;

	return uverdi;
}

function beregn_uverdi_skratak()
{
	var antall_ikke_h = finn_antall_ikke_h_skratak();
	if (antall_ikke_h >= 3)
		return beregn_uverdi_skratak3();
	if (antall_ikke_h == 2)
		return beregn_uverdi_skratak2();
		return beregn_uverdi_skratak1();
}

function finn_antall_ikke_h_skratak()
{
	var antall_ikke_h = 0;
	var arealandel = les_tall("skratak_sperrer_arealandel", 0, 100, 8) / 100;
	if (arealandel > 0)
		antall_ikke_h++;
	var oppforing = document.getElementById("skratak_oppforing").checked;
	if (oppforing) {
		arealandel = les_tall("skratak_oppforing_arealandel", 0, 100, 9) / 100 // prosent;
		if (arealandel > 0)
			antall_ikke_h++;
	}
	var ekstralag = document.getElementById("skratak_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall("skratak_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		if (arealandel > 0)
			antall_ikke_h++;
	}
	var nedforing = document.getElementById("skratak_nedforing").checked;
	if (nedforing) {
		arealandel = les_tall("skratak_nedforing_arealandel", 0, 100, 9) / 100 // prosent;
		if (arealandel > 0)
			antall_ikke_h++;
	}
	return antall_ikke_h;
}

function beregn_uverdi_skratak3() // beregning med semi-nøyaktig metode (3 eller fler ikke-h. lag)
{
	var lag_konstr = new Array();
	var lag_over = { height: 75, file: "ute_hor.jpg"};
	var lag_under = { height: 75, file: "inne_hor.jpg"};
	var hoyde_konstr = 0;
	var varmemotstand_legering = 0;
	var varmemotstand_iso = 0;
	var varmemotstand_tre = 0;
	var arealandel = 0;
	var arealandel_tre = 0;
	var tykkelse_ikke_h = 0;
	var varmeledning;
	tykkelse_konstr = 0;

	var taktekking = finn_taktekking("skratak_taktekking_liste");
	var lag_taktekking = {height:taktekking.hoyde, file:taktekking.bilde};
	lag_konstr.push(lag_taktekking);
	hoyde_konstr += taktekking.hoyde;

	var varmeledning = les_tall("skratak_yttertak_varmeledning", 0.001, 100, 0.12);
	var tykkelse = les_tall("skratak_yttertak_tykkelse", 0, 10000, 50) / 1000;
	tykkelse_konstr += tykkelse / 1000;
	varmemotstand_legering += tykkelse / varmeledning;
	varmemotstand_tre += tykkelse / varmeledning;
	varmemotstand_iso += tykkelse / varmeledning;
	var bildefil = finn_horbildefil("skratak_yttertak_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_iso_loft = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_iso_loft);
	hoyde_konstr += hoyde;

	var oppforing = document.getElementById("skratak_oppforing").checked;
	if (oppforing) {
		arealandel = les_tall("skratak_oppforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("skratak_oppforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("skratak_oppforing_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("skratak_oppforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmtre;
			arealandel_tre += arealandel * tykkelse;
			tykkelse_ikke_h += tykkelse;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("skratak_oppforing_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("skratak_oppforing_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_oppforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_oppforing);
		hoyde_konstr += hoyde;
	}

	var arealandel = les_tall("skratak_sperrer_arealandel", 0, 100, 8) / 100;
	varmeledning = les_tall("skratak_sperrer_varmeledning", 0.001, 100, 0.12);
	tykkelse = les_tall("skratak_iso_tykkelse", 0, 10000, 200) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	var varmeledning2 = les_tall("skratak_iso_varmeledning", 0.001, 100, 0.037);
	if (arealandel > 0) {
		var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
		varmemotstand_legering += tykkelse / varmeledn_legering;
		var vmiso = tykkelse / varmeledning2;
		var vmtre = tykkelse / varmeledning;
		varmemotstand_iso += vmiso;
		varmemotstand_tre += vmtre;
		arealandel_tre += arealandel * tykkelse;
		tykkelse_ikke_h += tykkelse;
	} else {
		var vmiso = tykkelse / varmeledning2;
		varmemotstand_iso += vmiso;
		varmemotstand_tre += vmiso;
		varmemotstand_legering += vmiso;
	}
	bildefil = finn_horbildefil("skratak_iso_liste", arrayIsolasjon);
	var hoyde = Math.round(tykkelse * 200);
	var lag_iso = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_iso);
	hoyde_konstr += hoyde;

	var iso2 = document.getElementById("skratak_iso2").checked;
	if (iso2) {
		tykkelse = les_tall("skratak_iso2_tykkelse", 0, 10000, 200) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("skratak_iso2_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmtre;
			arealandel_tre += arealandel * tykkelse;
			tykkelse_ikke_h += tykkelse;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmiso;
			varmemotstand_legering += vmiso;
		}
		bildefil = finn_horbildefil("skratak_iso2_liste", arrayIsolasjon);
		var hoyde = Math.round(tykkelse * 200);
		var lag_iso = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_iso);
		hoyde_konstr += hoyde;
	}

	var ekstralag = document.getElementById("skratak_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall("skratak_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("skratak_ekstralag_std_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("skratak_ekstralag_std_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("skratak_ekstralag_std_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmtre;
			arealandel_tre += arealandel * tykkelse;
			tykkelse_ikke_h += tykkelse;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("skratak_ekstralag_std_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("skratak_ekstralag_std_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_oppforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_oppforing);
		hoyde_konstr += hoyde;
	}

	var ekstralag_plate = document.getElementById("skratak_ekstralag_plate").checked;
	if (ekstralag_plate) {
		varmeledning = les_tall("skratak_ekstralag_plate_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("skratak_ekstralag_plate_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmemotstand_legering += tykkelse / varmeledning;
		varmemotstand_iso += tykkelse / varmeledning;
		varmemotstand_tre += tykkelse / varmeledning;
		bildefil = finn_horbildefil("skratak_ekstralag_plate_liste", arrayPlate);
		var hoyde = Math.round(tykkelse * 200);
		var lag_plate = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_plate);
		hoyde_konstr += hoyde;
	}
	
	var nedforing = document.getElementById("skratak_nedforing").checked;
	if (nedforing) {
		arealandel = les_tall("skratak_nedforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("skratak_nedforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("skratak_nedforing_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("skratak_nedforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmtre;
			arealandel_tre += arealandel * tykkelse;
			tykkelse_ikke_h += tykkelse;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("skratak_nedforing_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("skratak_nedforing_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_nedforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_nedforing);
		hoyde_konstr += hoyde;
	}

	tykkelse = les_tall("skratak_undertak_tykkelse", 0, 10000, 25) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	varmeledning = les_tall("skratak_undertak_varmeledning", 0.001, 100, 0.12);
	varmemotstand_legering += tykkelse / varmeledning;
	varmemotstand_iso += tykkelse / varmeledning;
	varmemotstand_tre += tykkelse / varmeledning;
	
	bildefil = finn_horbildefil("skratak_undertak_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_undertak = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_undertak);
	hoyde_konstr += hoyde;

	tykkelse_konstr = Math.round(tykkelse_konstr);

	if (hoyde_konstr > 1200) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 16);
			hoyde_konstr += lag_konstr[i].height;
		}
	} if (hoyde_konstr > 600) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 8);
			hoyde_konstr += lag_konstr[i].height;
		}
	} else 	if (hoyde_konstr > 300) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 4);
			hoyde_konstr += lag_konstr[i].height;
		}
	} else if (hoyde_konstr > 150) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 2);
			hoyde_konstr += lag_konstr[i].height;
		}
	}
	var pos = Math.round((150 - hoyde_konstr) / 2);
	oppdater_detalj_hor(lag_konstr, lag_over, lag_under, pos);

	var utv_overgang_tak = 0.04;
	var innv_overgang_tak = 0.10;
	
	varmemotstand_legering += utv_overgang_tak + innv_overgang_tak;
	varmemotstand_tre += utv_overgang_tak + innv_overgang_tak;
	varmemotstand_iso += utv_overgang_tak + innv_overgang_tak;
	arealandel_tre /= tykkelse_ikke_h;
	var arealandel_iso = 1 - arealandel_tre;

	var varmemotstand_skott = 1 / (arealandel_tre / varmemotstand_tre + 
								   arealandel_iso / varmemotstand_iso);
	var varmemotstand = (varmemotstand_legering + varmemotstand_skott) / 2;

	var delta_uf = 0;
	/*
	var kuldebro = document.getElementById(konstr + "_kuldebro_check").checked;
	if (kuldebro && tykkelse_hovediso > 0) {
		var feste_tetthet = les_tall(konstr + "_kuldebro_antall", 0.1, 100, 3);	
		var feste_diameter = les_tall(konstr + "_kuldebro_diameter", 0.1, 1000, 8) / 1000;	
		var feste_varmeledning = les_tall(konstr + "_kuldebro_varmeledning", 0.01, 1000, 50);
		var feste_areal = Math.PI * Math.pow(feste_diameter, 2) / 4;
		delta_uf = 0.8 * (feste_varmeledning * feste_areal * feste_tetthet) / tykkelse_hovediso;
		delta_uf *= Math.pow(varmemotstand_hovediso / varmemotstand, 2);
	}
	*/
	var uverdi = delta_uf + 1 / varmemotstand;

	return uverdi;
}

function beregn_uverdi_skratak2() // beregning med nøyaktig metode (maks 2 ikke-h. lag)
{
	var lag_konstr = new Array();
	var lag_over = { height: 75, file: "ute_hor.jpg"};
	var lag_under = { height: 75, file: "inne_hor.jpg"};
	var hoyde_konstr = 0;
	var varmemotstand_legering = 0;
	var varmemotstand1 = 0;
	var varmemotstand2 = 0;
	var varmemotstand3 = 0;
	var varmemotstand4 = 0;
	var arealandel = 0;
	var arealandel1 = 0;
	var arealandel2 = 0;
	var arealandel3 = 0;
	var arealandel4 = 0.01; // antar 1% arealandel for kryss
	var lag1 = false;
	var varmeledning;
	tykkelse_konstr = 0;

	var taktekking = finn_taktekking("skratak_taktekking_liste");
	var lag_taktekking = {height:taktekking.hoyde, file:taktekking.bilde};
	lag_konstr.push(lag_taktekking);
	hoyde_konstr += taktekking.hoyde;

	var varmeledning = les_tall("skratak_yttertak_varmeledning", 0.001, 100, 0.12);
	var tykkelse = les_tall("skratak_yttertak_tykkelse", 0, 10000, 50) / 1000;
	tykkelse_konstr += tykkelse / 1000;
	varmemotstand_legering += tykkelse / varmeledning;
	varmemotstand1 += tykkelse / varmeledning;
	varmemotstand2 += tykkelse / varmeledning;
	varmemotstand3 += tykkelse / varmeledning;
	varmemotstand4 += tykkelse / varmeledning;
	var bildefil = finn_horbildefil("skratak_yttertak_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_iso_loft = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_iso_loft);
	hoyde_konstr += hoyde;

	var oppforing = document.getElementById("skratak_oppforing").checked;
	if (oppforing) {
		arealandel = les_tall("skratak_oppforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("skratak_oppforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("skratak_oppforing_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("skratak_oppforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmtre;
			varmemotstand3 += vmiso;
			varmemotstand4 += vmtre;
			arealandel2 = arealandel;
			lag1 = true;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand3 += vmiso;
			varmemotstand4 += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("skratak_oppforing_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("skratak_oppforing_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_oppforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_oppforing);
		hoyde_konstr += hoyde;
	}

	var arealandel = les_tall("skratak_sperrer_arealandel", 0, 100, 8) / 100;
	varmeledning = les_tall("skratak_sperrer_varmeledning", 0.001, 100, 0.12);
	tykkelse = les_tall("skratak_iso_tykkelse", 0, 10000, 200) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	var varmeledning2 = les_tall("skratak_iso_varmeledning", 0.001, 100, 0.037);
	if (arealandel > 0) {
		var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
		varmemotstand_legering += tykkelse / varmeledn_legering;
		var vmiso = tykkelse / varmeledning2;
		var vmtre = tykkelse / varmeledning;
		if (lag1) {
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand3 += vmtre;
			varmemotstand4 += vmtre;
			arealandel3 = arealandel;
			arealandel1 = 1 - arealandel2 - arealandel3 - arealandel4;
		} else {
			varmemotstand1 += vmiso;
			varmemotstand2 += vmtre;
			varmemotstand3 += vmiso;
			varmemotstand4 += vmtre;
			arealandel2 = arealandel;
			lag1 = true;
		}
	} else {
		var vmiso = tykkelse / varmeledning2;
		varmemotstand1 += vmiso;
		varmemotstand2 += vmiso;
		varmemotstand3 += vmiso;
		varmemotstand4 += vmiso;
		varmemotstand_legering += vmiso;
	}
	bildefil = finn_horbildefil("skratak_iso_liste", arrayIsolasjon);
	var hoyde = Math.round(tykkelse * 200);
	var lag_iso = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_iso);
	hoyde_konstr += hoyde;

	var iso2 = document.getElementById("skratak_iso2").checked;
	if (iso2) {
		tykkelse = les_tall("skratak_iso2_tykkelse", 0, 10000, 200) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("skratak_iso2_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			if (lag1) {
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				varmemotstand3 += vmtre;
				varmemotstand4 += vmtre;
				arealandel3 = arealandel;
				arealandel1 = 1 - arealandel2 - arealandel3 - arealandel4;
			} else {
				varmemotstand1 += vmiso;
				varmemotstand2 += vmtre;
				varmemotstand3 += vmiso;
				varmemotstand4 += vmtre;
				arealandel2 = arealandel;
				lag1 = true;
			}
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand3 += vmiso;
			varmemotstand4 += vmiso;
			varmemotstand_legering += vmiso;
		}
		bildefil = finn_horbildefil("skratak_iso2_liste", arrayIsolasjon);
		var hoyde = Math.round(tykkelse * 200);
		var lag_iso = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_iso);
		hoyde_konstr += hoyde;
	}
	
	var ekstralag = document.getElementById("skratak_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall("skratak_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("skratak_ekstralag_std_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("skratak_ekstralag_std_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("skratak_ekstralag_std_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			if (lag1) {
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				varmemotstand3 += vmtre;
				varmemotstand4 += vmtre;
				arealandel3 = arealandel;
				arealandel1 = 1 - arealandel2 - arealandel3 - arealandel4;
			} else {
				varmemotstand1 += vmiso;
				varmemotstand2 += vmtre;
				varmemotstand3 += vmiso;
				varmemotstand4 += vmtre;
				arealandel2 = arealandel;
				lag1 = true;
			}
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand3 += vmiso;
			varmemotstand4 += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("skratak_ekstralag_std_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("skratak_ekstralag_std_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_oppforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_oppforing);
		hoyde_konstr += hoyde;
	}

	var ekstralag_plate = document.getElementById("skratak_ekstralag_plate").checked;
	if (ekstralag_plate) {
		varmeledning = les_tall("skratak_ekstralag_plate_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("skratak_ekstralag_plate_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmemotstand_legering += tykkelse / varmeledning;
		varmemotstand1 += tykkelse / varmeledning;
		varmemotstand2 += tykkelse / varmeledning;
		varmemotstand3 += tykkelse / varmeledning;
		varmemotstand4 += tykkelse / varmeledning;
		bildefil = finn_horbildefil("skratak_ekstralag_plate_liste", arrayPlate);
		var hoyde = Math.round(tykkelse * 200);
		var lag_plate = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_plate);
		hoyde_konstr += hoyde;
	}
	
	var nedforing = document.getElementById("skratak_nedforing").checked;
	if (nedforing) {
		arealandel = les_tall("skratak_nedforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("skratak_nedforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("skratak_nedforing_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("skratak_nedforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			if (lag1) {
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				varmemotstand3 += vmtre;
				varmemotstand4 += vmtre;
				arealandel3 = arealandel;
				arealandel1 = 1 - arealandel2 - arealandel3 - arealandel4;
			} else {
				varmemotstand1 += vmiso;
				varmemotstand2 += vmtre;
				varmemotstand3 += vmiso;
				varmemotstand4 += vmtre;
				arealandel2 = arealandel;
				lag1 = true;
			}
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand3 += vmiso;
			varmemotstand4 += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("skratak_nedforing_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("skratak_nedforing_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_nedforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_nedforing);
		hoyde_konstr += hoyde;
	}

	tykkelse = les_tall("skratak_undertak_tykkelse", 0, 10000, 25) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	varmeledning = les_tall("skratak_undertak_varmeledning", 0.001, 100, 0.12);
	varmemotstand_legering += tykkelse / varmeledning;
	varmemotstand1 += tykkelse / varmeledning;
	varmemotstand2 += tykkelse / varmeledning;
	varmemotstand3 += tykkelse / varmeledning;
	varmemotstand4 += tykkelse / varmeledning;
	
	bildefil = finn_horbildefil("skratak_undertak_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_undertak = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_undertak);
	hoyde_konstr += hoyde;

	tykkelse_konstr = Math.round(tykkelse_konstr);

	if (hoyde_konstr > 1200) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 16);
			hoyde_konstr += lag_konstr[i].height;
		}
	} if (hoyde_konstr > 600) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 8);
			hoyde_konstr += lag_konstr[i].height;
		}
	} else 	if (hoyde_konstr > 300) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 4);
			hoyde_konstr += lag_konstr[i].height;
		}
	} else if (hoyde_konstr > 150) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 2);
			hoyde_konstr += lag_konstr[i].height;
		}
	}
	var pos = Math.round((150 - hoyde_konstr) / 2);
	oppdater_detalj_hor(lag_konstr, lag_over, lag_under, pos);

	var utv_overgang_tak = 0.04;
	var innv_overgang_tak = 0.10;
	
	varmemotstand_legering += utv_overgang_tak + innv_overgang_tak;
	varmemotstand1 += utv_overgang_tak + innv_overgang_tak;
	varmemotstand2 += utv_overgang_tak + innv_overgang_tak;
	varmemotstand3 += utv_overgang_tak + innv_overgang_tak;
	varmemotstand4 += utv_overgang_tak + innv_overgang_tak;

	var varmemotstand_skott = 1 / (arealandel1 / varmemotstand1 + 
								   arealandel2 / varmemotstand2 +
								   arealandel3 / varmemotstand3 +
								   arealandel4 / varmemotstand4);
	var varmemotstand = (varmemotstand_legering + varmemotstand_skott) / 2;

	var delta_uf = 0;
	/*
	var kuldebro = document.getElementById(konstr + "_kuldebro_check").checked;
	if (kuldebro && tykkelse_hovediso > 0) {
		var feste_tetthet = les_tall(konstr + "_kuldebro_antall", 0.1, 100, 3);	
		var feste_diameter = les_tall(konstr + "_kuldebro_diameter", 0.1, 1000, 8) / 1000;	
		var feste_varmeledning = les_tall(konstr + "_kuldebro_varmeledning", 0.01, 1000, 50);
		var feste_areal = Math.PI * Math.pow(feste_diameter, 2) / 4;
		delta_uf = 0.8 * (feste_varmeledning * feste_areal * feste_tetthet) / tykkelse_hovediso;
		delta_uf *= Math.pow(varmemotstand_hovediso / varmemotstand, 2);
	}
	*/
	var uverdi = delta_uf + 1 / varmemotstand;

	return uverdi;
}

function beregn_uverdi_skratak1() // beregning med nøyaktig metode (maks 1 ikke-h. lag)
{
	var lag_konstr = new Array();
	var lag_over = { height: 75, file: "ute_hor.jpg"};
	var lag_under = { height: 75, file: "inne_hor.jpg"};
	var hoyde_konstr = 0;
	var varmemotstand_legering = 0;
	var varmemotstand1 = 0;
	var varmemotstand2 = 0;
	var arealandel = 0;
	var arealandel1 = 0;
	var arealandel2 = 0;
	var varmeledning;
	tykkelse_konstr = 0;

	var taktekking = finn_taktekking("skratak_taktekking_liste");
	var lag_taktekking = {height:taktekking.hoyde, file:taktekking.bilde};
	lag_konstr.push(lag_taktekking);
	hoyde_konstr += taktekking.hoyde;

	var varmeledning = les_tall("skratak_yttertak_varmeledning", 0.001, 100, 0.12);
	var tykkelse = les_tall("skratak_yttertak_tykkelse", 0, 10000, 50) / 1000;
	tykkelse_konstr += tykkelse / 1000;
	varmemotstand_legering += tykkelse / varmeledning;
	varmemotstand1 += tykkelse / varmeledning;
	varmemotstand2 += tykkelse / varmeledning;
	var bildefil = finn_horbildefil("skratak_yttertak_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_iso_loft = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_iso_loft);
	hoyde_konstr += hoyde;

	var oppforing = document.getElementById("skratak_oppforing").checked;
	if (oppforing) {
		arealandel = les_tall("skratak_oppforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("skratak_oppforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("skratak_oppforing_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse / 1000;
		varmeledning2 = les_tall("skratak_oppforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmtre;
			arealandel2 = arealandel;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("skratak_oppforing_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("skratak_oppforing_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_oppforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_oppforing);
		hoyde_konstr += hoyde;
	}

	var arealandel = les_tall("skratak_sperrer_arealandel", 0, 100, 8) / 100;
	varmeledning = les_tall("skratak_sperrer_varmeledning", 0.001, 100, 0.12);
	tykkelse = les_tall("skratak_iso_tykkelse", 0, 10000, 200) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	var varmeledning2 = les_tall("skratak_iso_varmeledning", 0.001, 100, 0.037);
	if (arealandel > 0) {
		var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
		varmemotstand_legering += tykkelse / varmeledn_legering;
		var vmiso = tykkelse / varmeledning2;
		var vmtre = tykkelse / varmeledning;
		varmemotstand1 += vmiso;
		varmemotstand2 += vmiso;
		arealandel2 = arealandel;
	} else {
		var vmiso = tykkelse / varmeledning2;
		varmemotstand1 += vmiso;
		varmemotstand2 += vmiso;
		varmemotstand_legering += vmiso;
	}
	bildefil = finn_horbildefil("skratak_iso_liste", arrayIsolasjon);
	var hoyde = Math.round(tykkelse * 200);
	var lag_iso = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_iso);
	hoyde_konstr += hoyde;

	var iso2 = document.getElementById("skratak_iso2").checked;
	if (iso2) {
		tykkelse = les_tall("skratak_iso2_tykkelse", 0, 10000, 200) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("skratak_iso2_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			arealandel2 = arealandel;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand_legering += vmiso;
		}
		bildefil = finn_horbildefil("skratak_iso2_liste", arrayIsolasjon);
		var hoyde = Math.round(tykkelse * 200);
		var lag_iso = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_iso);
		hoyde_konstr += hoyde;
	}

	var ekstralag = document.getElementById("skratak_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall("skratak_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("skratak_ekstralag_std_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("skratak_ekstralag_std_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("skratak_ekstralag_std_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			arealandel2 = arealandel;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("skratak_ekstralag_std_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("skratak_ekstralag_std_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_oppforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_oppforing);
		hoyde_konstr += hoyde;
	}

	var ekstralag_plate = document.getElementById("skratak_ekstralag_plate").checked;
	if (ekstralag_plate) {
		varmeledning = les_tall("skratak_ekstralag_plate_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("skratak_ekstralag_plate_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmemotstand_legering += tykkelse / varmeledning;
		varmemotstand1 += tykkelse / varmeledning;
		varmemotstand2 += tykkelse / varmeledning;
		bildefil = finn_horbildefil("skratak_ekstralag_plate_liste", arrayPlate);
		var hoyde = Math.round(tykkelse * 200);
		var lag_plate = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_plate);
		hoyde_konstr += hoyde;
	}
	
	var nedforing = document.getElementById("skratak_nedforing").checked;
	if (nedforing) {
		arealandel = les_tall("skratak_nedforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("skratak_nedforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("skratak_nedforing_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("skratak_nedforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			arealandel2 = arealandel;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("skratak_nedforing_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("skratak_nedforing_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_nedforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_nedforing);
		hoyde_konstr += hoyde;
	}

	tykkelse = les_tall("skratak_undertak_tykkelse", 0, 10000, 25) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	varmeledning = les_tall("skratak_undertak_varmeledning", 0.001, 100, 0.12);
	varmemotstand_legering += tykkelse / varmeledning;
	varmemotstand1 += tykkelse / varmeledning;
	varmemotstand2 += tykkelse / varmeledning;
	
	bildefil = finn_horbildefil("skratak_undertak_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_undertak = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_undertak);
	hoyde_konstr += hoyde;

	tykkelse_konstr = Math.round(tykkelse_konstr);

	if (hoyde_konstr > 1200) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 16);
			hoyde_konstr += lag_konstr[i].height;
		}
	} if (hoyde_konstr > 600) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 8);
			hoyde_konstr += lag_konstr[i].height;
		}
	} else 	if (hoyde_konstr > 300) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 4);
			hoyde_konstr += lag_konstr[i].height;
		}
	} else if (hoyde_konstr > 150) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 2);
			hoyde_konstr += lag_konstr[i].height;
		}
	}
	var pos = Math.round((150 - hoyde_konstr) / 2);
	oppdater_detalj_hor(lag_konstr, lag_over, lag_under, pos);

	var utv_overgang_tak = 0.04;
	var innv_overgang_tak = 0.10;
	
	varmemotstand_legering += utv_overgang_tak + innv_overgang_tak;
	varmemotstand1 += utv_overgang_tak + innv_overgang_tak;
	varmemotstand2 += utv_overgang_tak + innv_overgang_tak;
	arealandel1 = 1 - arealandel2;

	var varmemotstand_skott = 1 / (arealandel1 / varmemotstand1 + 
								   arealandel2 / varmemotstand2);
	var varmemotstand = (varmemotstand_legering + varmemotstand_skott) / 2;

	var delta_uf = 0;
	/*
	var kuldebro = document.getElementById(konstr + "_kuldebro_check").checked;
	if (kuldebro && tykkelse_hovediso > 0) {
		var feste_tetthet = les_tall(konstr + "_kuldebro_antall", 0.1, 100, 3);	
		var feste_diameter = les_tall(konstr + "_kuldebro_diameter", 0.1, 1000, 8) / 1000;	
		var feste_varmeledning = les_tall(konstr + "_kuldebro_varmeledning", 0.01, 1000, 50);
		var feste_areal = Math.PI * Math.pow(feste_diameter, 2) / 4;
		delta_uf = 0.8 * (feste_varmeledning * feste_areal * feste_tetthet) / tykkelse_hovediso;
		delta_uf *= Math.pow(varmemotstand_hovediso / varmemotstand, 2);
	}
	*/
	var uverdi = delta_uf + 1 / varmemotstand;

	return uverdi;
}

function beregn_uverdi_torvtak()
{
	var lag_konstr = new Array();
	var lag_over = { height: 75, file:"ute_hor.jpg" };
	var lag_under = { height: 75, file: "inne_hor.jpg" };
	var hoyde_konstr = 0;
	var varmemotstand = 0;
	var varmemotstand_du = 0; // varmeledning for ikke-homogene isoleringslager
	var tykkelse;
	var varmeledning;

	varmeledning = les_tall("torvtak_torv_varmeledning", 0.001, 100, 0.12);
	tykkelse = les_tall("torvtak_torv_tykkelse", 0, 10000, 200) / 1000;
	varmemotstand += tykkelse / varmeledning;
	bildefil = finn_horbildefil("torvtak_torv_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_torv = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_torv);
	hoyde_konstr += hoyde;

	varmeledning = les_tall("torvtak_iso_varmeledning", 0.001, 100, 0.12);
	tykkelse = les_tall("torvtak_iso_tykkelse", 0, 10000, 200) / 1000;
	varmemotstand += tykkelse / varmeledning;
	bildefil = finn_horbildefil("torvtak_iso_liste", arrayIsolasjon);
	var hoyde = Math.round(tykkelse * 200);
	var lag_iso = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_iso);
	hoyde_konstr += hoyde;

	varmeledning = les_tall("torvtak_tetteskikt_varmeledning", 0.001, 100, 0.12);
	tykkelse = les_tall("torvtak_tetteskikt_tykkelse", 0, 10000, 200) / 1000;
	varmemotstand += tykkelse / varmeledning;
	bildefil = finn_horbildefil("torvtak_tetteskikt_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_iso = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_iso);
	hoyde_konstr += hoyde;

	var iso2 = document.getElementById("torvtak_iso2").checked;
	if (iso2) {
		varmeledning = les_tall("torvtak_iso2_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("torvtak_iso2_tykkelse", 0, 10000, 50) / 1000;
		varmemotstand += tykkelse / varmeledning;
		bildefil = finn_horbildefil("torvtak_iso2_liste", arrayIsolasjon);
		var hoyde = Math.round(tykkelse * 200);
		var lag_iso2 = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_iso2);
		hoyde_konstr += hoyde;
	}

	varmeledning = les_tall("torvtak_baering_varmeledning", 0.001, 100, 0.12);
	tykkelse = les_tall("torvtak_baering_tykkelse", 0, 10000, 200) / 1000;
	varmemotstand += tykkelse / varmeledning;
	bildefil = finn_horbildefil("torvtak_baering_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_baering = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_baering);
	hoyde_konstr += hoyde;

	var ekstralag = document.getElementById("torvtak_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall("torvtak_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("torvtak_ekstralag_std_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("torvtak_ekstralag_std_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall("torvtak_ekstralag_std_iso_varmeledning", 0.001, 100, 0.037);
		var vm1 = arealandel * tykkelse / varmeledning + (1 - arealandel) * tykkelse / varmeledning2;
		var vm2 = tykkelse / (arealandel * varmeledning + (1 - arealandel) * varmeledning2);
		varmemotstand += (vm1 + vm2) / 2;
		if (arealandel > 0) {
			varmemotstand_du += (vm1 + vm2) / 2;
			bildefil = finn_horbildefil2("torvtak_ekstralag_std_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("torvtak_ekstralag_std_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_oppforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_oppforing);
		hoyde_konstr += hoyde;
	}

	var ekstralag_plate = document.getElementById("torvtak_ekstralag_plate").checked;
	if (ekstralag_plate) {
		varmeledning = les_tall("torvtak_ekstralag_plate_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("torvtak_ekstralag_plate_tykkelse", 0, 10000, 50) / 1000;
		varmemotstand += tykkelse / varmeledning;
		bildefil = finn_horbildefil("torvtak_ekstralag_plate_liste", arrayPlate);
		var hoyde = Math.round(tykkelse * 200);
		var lag_plate = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_plate);
		hoyde_konstr += hoyde;
	}
	
	var nedforing = document.getElementById("torvtak_nedforing").checked;
	if (nedforing) {
		arealandel = les_tall("torvtak_nedforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("torvtak_nedforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("torvtak_nedforing_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall("torvtak_nedforing_iso_varmeledning", 0.001, 100, 0.037);
		var vm1 = arealandel * tykkelse / varmeledning + (1 - arealandel) * tykkelse / varmeledning2;
		var vm2 = tykkelse / (arealandel * varmeledning + (1 - arealandel) * varmeledning2);
		varmemotstand += (vm1 + vm2) / 2;
		if (arealandel > 0) {
			varmemotstand_du += (vm1 + vm2) / 2;
			bildefil = finn_horbildefil2("torvtak_nedforing_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("torvtak_nedforing_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_nedforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_nedforing);
		hoyde_konstr += hoyde;

		tykkelse = les_tall("torvtak_nedforing_undertak_tykkelse", 0, 10000, 25) / 1000;	
		varmeledning = les_tall("torvtak_nedforing_undertak_varmeledning", 0.001, 100, 0.12);
		varmemotstand += tykkelse / varmeledning;

		bildefil = finn_horbildefil("torvtak_nedforing_undertak_liste", arrayMaterial);
		var hoyde = Math.round(tykkelse * 200);
		var lag_undertak = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_undertak);
		hoyde_konstr += hoyde;
	}
	
	if (hoyde_konstr > 1200) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 16);
			hoyde_konstr += lag_konstr[i].height;
		}
	} if (hoyde_konstr > 600) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 8);
			hoyde_konstr += lag_konstr[i].height;
		}
	} else 	if (hoyde_konstr > 300) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 4);
			hoyde_konstr += lag_konstr[i].height;
		}
	} else if (hoyde_konstr > 150) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 2);
			hoyde_konstr += lag_konstr[i].height;
		}
	}
	var pos = Math.round((150 - hoyde_konstr) / 2);
	oppdater_detalj_hor(lag_konstr, lag_over, lag_under, pos);

	var utv_overgang_tak = 0.04;
	var innv_overgang_tak = 0.10;
	var delta_u = 0.01 * Math.pow(varmemotstand_du / varmemotstand, 2);

	return delta_u + 1 / (varmemotstand + utv_overgang_tak + innv_overgang_tak);
}

function beregn_uverdi_flattak()
{
	var antall_ikke_h = finn_antall_ikke_h_flattak();
	if (antall_ikke_h == 2)
		return beregn_uverdi_flattak2();
	return beregn_uverdi_flattak1();
}

function finn_antall_ikke_h_flattak()
{
	var antall_ikke_h = 0; // sperrer
	var ekstralag = document.getElementById("flattak_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall("flattak_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		if (arealandel > 0)
			antall_ikke_h++;
	}
	var nedforing = document.getElementById("flattak_nedforing").checked;
	if (nedforing) {
		arealandel = les_tall("flattak_nedforing_arealandel", 0, 100, 9) / 100 // prosent;
		if (arealandel > 0)
			antall_ikke_h++;
	}
	return antall_ikke_h;
}

function beregn_uverdi_flattak2() // beregning med nøyaktig metode (maks 2 ikke-h. lag)
{
	var lag_konstr = new Array();
	var lag_over = { height: 75, file: "ute_hor.jpg"};
	var lag_under = { height: 75, file: "inne_hor.jpg"};
	var hoyde_konstr = 0;
	var varmemotstand_legering = 0;
	var varmemotstand1 = 0;
	var varmemotstand2 = 0;
	var varmemotstand3 = 0;
	var varmemotstand4 = 0;
	var varmemotstand_takiso = 0;
	var arealandel = 0;
	var arealandel1 = 0;
	var arealandel2 = 0;
	var arealandel3 = 0;
	var arealandel4 = 0.01; // antar 1% arealandel for kryss
	var lag1 = false;
	var varmeledning;
	var tykkelse_takiso = 0;
	tykkelse_konstr = 0;

	varmeledning = les_tall("flattak_tekking_varmeledning", 0.001, 100, 0.12);
	tykkelse = les_tall("flattak_tekking_tykkelse", 0, 10000, 200) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	varmemotstand_legering += tykkelse / varmeledning;
	varmemotstand1 += tykkelse / varmeledning;
	varmemotstand2 += tykkelse / varmeledning;
	varmemotstand3 += tykkelse / varmeledning;
	varmemotstand4 += tykkelse / varmeledning;
	
	bildefil = finn_horbildefil("flattak_tekking_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_tekking = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_tekking);
	hoyde_konstr += hoyde;

	var iso1 = document.getElementById("flattak_iso1").checked;
	var iso2 = document.getElementById("flattak_iso2").checked;
	
	varmeledning = les_tall("flattak_iso3_varmeledning", 0.001, 100, 0.12);
	tykkelse = les_tall("flattak_iso3_tykkelse", 0, 10000, 50) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	tykkelse_takiso += tykkelse;
	varmemotstand_takiso += tykkelse / varmeledning;
	varmemotstand_legering += tykkelse / varmeledning;
	varmemotstand1 += tykkelse / varmeledning;
	varmemotstand2 += tykkelse / varmeledning;
	varmemotstand3 += tykkelse / varmeledning;
	varmemotstand4 += tykkelse / varmeledning;
	bildefil = finn_horbildefil("flattak_iso3_liste", arrayIsolasjon);
	var hoyde = Math.round(tykkelse * 200);
	var lag_iso3 = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_iso3);
	hoyde_konstr += hoyde;

	if (iso2) {
		varmeledning = les_tall("flattak_iso2_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("flattak_iso2_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		tykkelse_takiso += tykkelse;
		varmemotstand_takiso += tykkelse / varmeledning;
		varmemotstand_legering += tykkelse / varmeledning;
		varmemotstand1 += tykkelse / varmeledning;
		varmemotstand2 += tykkelse / varmeledning;
		varmemotstand3 += tykkelse / varmeledning;
		varmemotstand4 += tykkelse / varmeledning;
		bildefil = finn_horbildefil("flattak_iso2_liste", arrayIsolasjon);
		var hoyde = Math.round(tykkelse * 200);
		var lag_iso2 = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_iso2);
		hoyde_konstr += hoyde;
	}

	if (iso1) {
		varmeledning = les_tall("flattak_iso1_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("flattak_iso1_tykkelse", 0, 10000, 200) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		tykkelse_takiso += tykkelse;
		varmemotstand_takiso += tykkelse / varmeledning;
		varmemotstand_legering += tykkelse / varmeledning;
		varmemotstand1 += tykkelse / varmeledning;
		varmemotstand2 += tykkelse / varmeledning;
		varmemotstand3 += tykkelse / varmeledning;
		varmemotstand4 += tykkelse / varmeledning;
		bildefil = finn_horbildefil("flattak_iso1_liste", arrayIsolasjon);
		var hoyde = Math.round(tykkelse * 200);
		var lag_iso1 = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_iso1);
		hoyde_konstr += hoyde;
	}
	
	varmeledning = les_tall("flattak_baering_varmeledning", 0.001, 100, 0.12);
	tykkelse = les_tall("flattak_baering_tykkelse", 0, 10000, 200) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	varmemotstand_legering += tykkelse / varmeledning;
	varmemotstand1 += tykkelse / varmeledning;
	varmemotstand2 += tykkelse / varmeledning;
	varmemotstand3 += tykkelse / varmeledning;
	varmemotstand4 += tykkelse / varmeledning;
	bildefil = finn_horbildefil("flattak_baering_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_baering = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_baering);
	hoyde_konstr += hoyde;

	var ekstralag = document.getElementById("flattak_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall("flattak_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("flattak_ekstralag_std_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("flattak_ekstralag_std_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("flattak_ekstralag_std_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmtre;
			varmemotstand3 += vmiso;
			varmemotstand4 += vmtre;
			arealandel2 = arealandel;
			lag1 = true;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand3 += vmiso;
			varmemotstand4 += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("flattak_ekstralag_std_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("flattak_ekstralag_std_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_oppforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_oppforing);
		hoyde_konstr += hoyde;
	}

	var ekstralag_plate = document.getElementById("flattak_ekstralag_plate").checked;
	if (ekstralag_plate) {
		varmeledning = les_tall("flattak_ekstralag_plate_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("flattak_ekstralag_plate_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmemotstand_legering += tykkelse / varmeledning;
		varmemotstand1 += tykkelse / varmeledning;
		varmemotstand2 += tykkelse / varmeledning;
		varmemotstand3 += tykkelse / varmeledning;
		varmemotstand4 += tykkelse / varmeledning;
		bildefil = finn_horbildefil("flattak_ekstralag_plate_liste", arrayPlate);
		var hoyde = Math.round(tykkelse * 200);
		var lag_plate = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_plate);
		hoyde_konstr += hoyde;
	}
	
	var nedforing = document.getElementById("flattak_nedforing").checked;
	if (nedforing) {
		arealandel = les_tall("flattak_nedforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("flattak_nedforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("flattak_nedforing_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall("flattak_nedforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			if (lag1) {
				varmemotstand1 += vmiso;
				varmemotstand2 += vmiso;
				varmemotstand3 += vmtre;
				varmemotstand4 += vmtre;
				arealandel3 = arealandel;
				arealandel1 = 1 - arealandel2 - arealandel3 - arealandel4;
			} else {
				varmemotstand1 += vmiso;
				varmemotstand2 += vmtre;
				varmemotstand3 += vmiso;
				varmemotstand4 += vmtre;
				arealandel2 = arealandel;
				lag1 = true;
			}
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand3 += vmiso;
			varmemotstand4 += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("flattak_nedforing_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("flattak_nedforing_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_nedforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_nedforing);
		hoyde_konstr += hoyde;

		tykkelse = les_tall("flattak_nedforing_undertak_tykkelse", 0, 10000, 25) / 1000;	
		tykkelse_konstr += tykkelse * 1000;
		varmeledning = les_tall("flattak_nedforing_undertak_varmeledning", 0.001, 100, 0.12);
		varmemotstand_legering += tykkelse / varmeledning;
		varmemotstand1 += tykkelse / varmeledning;
		varmemotstand2 += tykkelse / varmeledning;
		varmemotstand3 += tykkelse / varmeledning;
		varmemotstand4 += tykkelse / varmeledning;

		bildefil = finn_horbildefil("flattak_nedforing_undertak_liste", arrayMaterial);
		var hoyde = Math.round(tykkelse * 200);
		var lag_undertak = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_undertak);
		hoyde_konstr += hoyde;
	}
	tykkelse_konstr = Math.round(tykkelse_konstr);

	if (hoyde_konstr > 1200) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 16);
			hoyde_konstr += lag_konstr[i].height;
		}
	} if (hoyde_konstr > 600) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 8);
			hoyde_konstr += lag_konstr[i].height;
		}
	} else 	if (hoyde_konstr > 300) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 4);
			hoyde_konstr += lag_konstr[i].height;
		}
	} else if (hoyde_konstr > 150) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 2);
			hoyde_konstr += lag_konstr[i].height;
		}
	}
	var pos = Math.round((150 - hoyde_konstr) / 2);
	oppdater_detalj_hor(lag_konstr, lag_over, lag_under, pos);

	var utv_overgang_tak = 0.04;
	var innv_overgang_tak = 0.10;
	
	varmemotstand_legering += utv_overgang_tak + innv_overgang_tak;
	varmemotstand1 += utv_overgang_tak + innv_overgang_tak;
	varmemotstand2 += utv_overgang_tak + innv_overgang_tak;
	varmemotstand3 += utv_overgang_tak + innv_overgang_tak;
	varmemotstand4 += utv_overgang_tak + innv_overgang_tak;

	var varmemotstand_skott = 1 / (arealandel1 / varmemotstand1 + 
								   arealandel2 / varmemotstand2 +
								   arealandel3 / varmemotstand3 +
								   arealandel4 / varmemotstand4);
	var varmemotstand = (varmemotstand_legering + varmemotstand_skott) / 2;

	var feste_tetthet = les_tall("flattak_feste_tetthet", 0.01, 10, 0.3);	
	var feste_diameter = les_tall("flattak_feste_diameter", 0.1, 1000, 22) / 1000;	
	var feste_varmeledning = les_tall("flattak_feste_varmeledning", 0.01, 1000, 50);
	var feste_areal = Math.PI * Math.pow(feste_diameter, 2) / 4;
	var delta_uf = 0.8 * (feste_varmeledning * feste_areal * feste_tetthet) / tykkelse_takiso;
	delta_uf *= Math.pow(varmemotstand_takiso / varmemotstand, 2);

	var uverdi = delta_uf + 1 / varmemotstand;

	return uverdi;
}

function beregn_uverdi_flattak1() // beregning med nøyaktig metode (maks 1 ikke-h. lag)
{
	var lag_konstr = new Array();
	var lag_over = { height: 75, file: "ute_hor.jpg"};
	var lag_under = { height: 75, file: "inne_hor.jpg"};
	var hoyde_konstr = 0;
	var varmemotstand_legering = 0;
	var varmemotstand1 = 0;
	var varmemotstand2 = 0;
	var varmemotstand_takiso = 0;
	var arealandel = 0;
	var arealandel1 = 0;
	var arealandel2 = 0;
	var varmeledning;
	var tykkelse_takiso = 0;
	tykkelse_konstr = 0;

	varmeledning = les_tall("flattak_tekking_varmeledning", 0.001, 100, 0.12);
	tykkelse = les_tall("flattak_tekking_tykkelse", 0, 10000, 200) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	varmemotstand_legering += tykkelse / varmeledning;
	varmemotstand1 += tykkelse / varmeledning;
	varmemotstand2 += tykkelse / varmeledning;
	
	bildefil = finn_horbildefil("flattak_tekking_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_tekking = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_tekking);
	hoyde_konstr += hoyde;

	var iso1 = document.getElementById("flattak_iso1").checked;
	var iso2 = document.getElementById("flattak_iso2").checked;
	
	varmeledning = les_tall("flattak_iso3_varmeledning", 0.001, 100, 0.12);
	tykkelse = les_tall("flattak_iso3_tykkelse", 0, 10000, 50) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	tykkelse_takiso += tykkelse;
	varmemotstand_takiso += tykkelse / varmeledning;
	varmemotstand_legering += tykkelse / varmeledning;
	varmemotstand1 += tykkelse / varmeledning;
	varmemotstand2 += tykkelse / varmeledning;
	bildefil = finn_horbildefil("flattak_iso3_liste", arrayIsolasjon);
	var hoyde = Math.round(tykkelse * 200);
	var lag_iso3 = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_iso3);
	hoyde_konstr += hoyde;

	if (iso2) {
		varmeledning = les_tall("flattak_iso2_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("flattak_iso2_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		tykkelse_takiso += tykkelse;
		varmemotstand_takiso += tykkelse / varmeledning;
		varmemotstand_legering += tykkelse / varmeledning;
		varmemotstand1 += tykkelse / varmeledning;
		varmemotstand2 += tykkelse / varmeledning;
		bildefil = finn_horbildefil("flattak_iso2_liste", arrayIsolasjon);
		var hoyde = Math.round(tykkelse * 200);
		var lag_iso2 = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_iso2);
		hoyde_konstr += hoyde;
	}

	if (iso1) {
		varmeledning = les_tall("flattak_iso1_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("flattak_iso1_tykkelse", 0, 10000, 200) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		tykkelse_takiso += tykkelse;
		varmemotstand_takiso += tykkelse / varmeledning;
		varmemotstand_legering += tykkelse / varmeledning;
		varmemotstand1 += tykkelse / varmeledning;
		varmemotstand2 += tykkelse / varmeledning;
		bildefil = finn_horbildefil("flattak_iso1_liste", arrayIsolasjon);
		var hoyde = Math.round(tykkelse * 200);
		var lag_iso1 = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_iso1);
		hoyde_konstr += hoyde;
	}
	
	varmeledning = les_tall("flattak_baering_varmeledning", 0.001, 100, 0.12);
	tykkelse = les_tall("flattak_baering_tykkelse", 0, 10000, 200) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	varmemotstand_legering += tykkelse / varmeledning;
	varmemotstand1 += tykkelse / varmeledning;
	varmemotstand2 += tykkelse / varmeledning;
	bildefil = finn_horbildefil("flattak_baering_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_baering = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_baering);
	hoyde_konstr += hoyde;

	var ekstralag = document.getElementById("flattak_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall("flattak_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("flattak_ekstralag_std_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("flattak_ekstralag_std_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("flattak_ekstralag_std_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmtre;
			arealandel2 = arealandel;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("flattak_ekstralag_std_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("flattak_ekstralag_std_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_oppforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_oppforing);
		hoyde_konstr += hoyde;
	}

	var ekstralag_plate = document.getElementById("flattak_ekstralag_plate").checked;
	if (ekstralag_plate) {
		varmeledning = les_tall("flattak_ekstralag_plate_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("flattak_ekstralag_plate_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmemotstand_legering += tykkelse / varmeledning;
		varmemotstand1 += tykkelse / varmeledning;
		varmemotstand2 += tykkelse / varmeledning;
		bildefil = finn_horbildefil("flattak_ekstralag_plate_liste", arrayPlate);
		var hoyde = Math.round(tykkelse * 200);
		var lag_plate = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_plate);
		hoyde_konstr += hoyde;
	}
	
	var nedforing = document.getElementById("flattak_nedforing").checked;
	if (nedforing) {
		arealandel = les_tall("flattak_nedforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("flattak_nedforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("flattak_nedforing_iso_tykkelse", 0, 10000, 50) / 1000;
		varmeledning2 = les_tall("flattak_nedforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			arealandel2 = arealandel;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand1 += vmiso;
			varmemotstand2 += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("flattak_nedforing_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("flattak_nedforing_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_nedforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_nedforing);
		hoyde_konstr += hoyde;

		tykkelse = les_tall("flattak_nedforing_undertak_tykkelse", 0, 10000, 25) / 1000;	
		tykkelse_konstr += tykkelse * 1000;
		varmeledning = les_tall("flattak_nedforing_undertak_varmeledning", 0.001, 100, 0.12);
		varmemotstand_legering += tykkelse / varmeledning;
		varmemotstand1 += tykkelse / varmeledning;
		varmemotstand2 += tykkelse / varmeledning;

		bildefil = finn_horbildefil("flattak_nedforing_undertak_liste", arrayMaterial);
		var hoyde = Math.round(tykkelse * 200);
		var lag_undertak = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_undertak);
		hoyde_konstr += hoyde;
	}
	tykkelse_konstr = Math.round(tykkelse_konstr);

	if (hoyde_konstr > 1200) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 16);
			hoyde_konstr += lag_konstr[i].height;
		}
	} if (hoyde_konstr > 600) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 8);
			hoyde_konstr += lag_konstr[i].height;
		}
	} else 	if (hoyde_konstr > 300) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 4);
			hoyde_konstr += lag_konstr[i].height;
		}
	} else if (hoyde_konstr > 150) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 2);
			hoyde_konstr += lag_konstr[i].height;
		}
	}
	var pos = Math.round((150 - hoyde_konstr) / 2);
	oppdater_detalj_hor(lag_konstr, lag_over, lag_under, pos);

	var utv_overgang_tak = 0.04;
	var innv_overgang_tak = 0.10;
	
	varmemotstand_legering += utv_overgang_tak + innv_overgang_tak;
	varmemotstand1 += utv_overgang_tak + innv_overgang_tak;
	varmemotstand2 += utv_overgang_tak + innv_overgang_tak;
	arealandel1 = 1 - arealandel2;

	var varmemotstand_skott = 1 / (arealandel1 / varmemotstand1 + 
								   arealandel2 / varmemotstand2);
	var varmemotstand = (varmemotstand_legering + varmemotstand_skott) / 2;

	var feste_tetthet = les_tall("flattak_feste_tetthet", 0.01, 10, 0.3);	
	var feste_diameter = les_tall("flattak_feste_diameter", 0.1, 1000, 22) / 1000;	
	var feste_varmeledning = les_tall("flattak_feste_varmeledning", 0.01, 1000, 50);
	var feste_areal = Math.PI * Math.pow(feste_diameter, 2) / 4;
	var delta_uf = 0.8 * (feste_varmeledning * feste_areal * feste_tetthet) / tykkelse_takiso;
	delta_uf *= Math.pow(varmemotstand_takiso / varmemotstand, 2);

	var uverdi = delta_uf + 1 / varmemotstand;

	return uverdi;
}

function beregn_uverdi_gulv()
{
	var konstr = arrayGulvNavn[konstr_type];
	if (konstr == "bjelkelag") {
		return beregn_uverdi_bjelkelag();
	} else if (konstr == "dekke") {
		return beregn_uverdi_dekke();
	} else if (konstr == "gulvgrunn") {
		return beregn_uverdi_gulvgrunn();
	} else if (konstr == "gulvkjeller") {
		return beregn_uverdi_gulvkjeller();
	}
}

function beregn_uverdi_bjelkelag()
{
	var antall_ikke_h = finn_antall_ikke_h_bjelkelag();
	if (antall_ikke_h >= 3)
		return beregn_uverdi_bjelkelag3();
	if (antall_ikke_h == 2)
		return beregn_uverdi_bjelkelag2();
	return beregn_uverdi_bjelkelag1();
}

function finn_antall_ikke_h_bjelkelag()
{
	var antall_ikke_h = 0;
	var arealandel = les_tall("bjelkelag_arealandel", 0, 100, 8) / 100;
	if (arealandel > 0)
		antall_ikke_h++;
	var oppforing = document.getElementById("bjelkelag_oppforing").checked;
	if (oppforing) {
		arealandel = les_tall("bjelkelag_oppforing_arealandel", 0, 100, 9) / 100 // prosent;
		if (arealandel > 0)
			antall_ikke_h++;
	}
	var ekstralag = document.getElementById("bjelkelag_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall("bjelkelag_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		if (arealandel > 0)
			antall_ikke_h++;
	}
	var nedforing = document.getElementById("bjelkelag_nedforing").checked;
	if (nedforing) {
		arealandel = les_tall("bjelkelag_nedforing_arealandel", 0, 100, 9) / 100 // prosent;
		if (arealandel > 0)
			antall_ikke_h++;
	}
	return antall_ikke_h;
}

function beregn_uverdi_bjelkelag3() // beregning med semi-nøyaktig metode (3 eller fler ikke-h. lag)
{
	var lag_konstr = new Array();
	var lag_under = { height: 75, file: "uoppvkjeller.jpg" };
	var lag_over = { height: 75, file: "inne_hor.jpg" };
	var hoyde_konstr = 0;
	var varmemotstand_legering = 0;
	var varmemotstand_iso = 0;
	var varmemotstand_tre = 0;
	var arealandel = 0;
	var arealandel_tre = 0;
	var tykkelse_ikke_h = 0;
	var varmeledning;
	tykkelse_konstr = 0;

	tykkelse = les_tall("bjelkelag_innvendig_tykkelse", 0, 10000, 25) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	varmeledning = les_tall("bjelkelag_innvendig_varmeledning", 0.001, 100, 0.12);
	varmemotstand_legering += tykkelse / varmeledning;
	varmemotstand_tre += tykkelse / varmeledning;
	varmemotstand_iso += tykkelse / varmeledning;

	bildefil = finn_bildefil("bjelkelag_innvendig_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_overflate = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_overflate);
	hoyde_konstr += hoyde;

	var ekstralag_plate = document.getElementById("bjelkelag_ekstralag_plate").checked;
	if (ekstralag_plate) {
		varmeledning = les_tall("bjelkelag_ekstralag_plate_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("bjelkelag_ekstralag_plate_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmemotstand_legering += tykkelse / varmeledning;
		varmemotstand_tre += tykkelse / varmeledning;
		varmemotstand_iso += tykkelse / varmeledning;
		bildefil = finn_horbildefil("bjelkelag_ekstralag_plate_liste", arrayPlate);
		var hoyde = Math.round(tykkelse * 200);
		var lag_plate = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_plate);
		hoyde_konstr += hoyde;
	}
	
	var ekstralag = document.getElementById("bjelkelag_ekstralag_std").checked;
	if (ekstralag) {
		arealandel = les_tall("bjelkelag_ekstralag_std_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("bjelkelag_ekstralag_std_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("bjelkelag_ekstralag_std_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("bjelkelag_ekstralag_std_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmtre;
			arealandel_tre += arealandel * tykkelse;
			tykkelse_ikke_h += tykkelse;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("bjelkelag_ekstralag_std_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("bjelkelag_ekstralag_std_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_oppforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_oppforing);
		hoyde_konstr += hoyde;
	}

	var oppforing = document.getElementById("bjelkelag_oppforing").checked;
	if (oppforing) {
		arealandel = les_tall("bjelkelag_oppforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("bjelkelag_oppforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("bjelkelag_oppforing_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("bjelkelag_oppforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmtre;
			arealandel_tre += arealandel * tykkelse;
			tykkelse_ikke_h += tykkelse;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("bjelkelag_oppforing_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("bjelkelag_oppforing_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_oppforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_oppforing);
		hoyde_konstr += hoyde;
	}

	var arealandel = les_tall("bjelkelag_arealandel", 0, 100, 8) / 100;
	varmeledning = les_tall("bjelkelag_varmeledning", 0.001, 100, 0.12);
	tykkelse = les_tall("bjelkelag_iso_tykkelse", 0, 10000, 200) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	var varmeledning2 = les_tall("bjelkelag_iso_varmeledning", 0.001, 100, 0.037);
	if (arealandel > 0) {
		var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
		varmemotstand_legering += tykkelse / varmeledn_legering;
		var vmiso = tykkelse / varmeledning2;
		var vmtre = tykkelse / varmeledning;
		varmemotstand_iso += vmiso;
		varmemotstand_tre += vmtre;
		arealandel_tre += arealandel * tykkelse;
		tykkelse_ikke_h += tykkelse;
	} else {
		var vmiso = tykkelse / varmeledning2;
		varmemotstand_iso += vmiso;
		varmemotstand_tre += vmiso;
		varmemotstand_legering += vmiso;
	}
	bildefil = finn_horbildefil("bjelkelag_iso_liste", arrayIsolasjon);
	var hoyde = Math.round(tykkelse * 200);
	var lag_iso = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_iso);
	hoyde_konstr += hoyde;

	var dekke = document.getElementById("bjelkelag_dekke").checked;
	if (dekke) {
		varmeledning = les_tall("bjelkelag_dekke_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("bjelkelag_dekke_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmemotstand_legering += tykkelse / varmeledning;
		varmemotstand_tre += tykkelse / varmeledning;
		varmemotstand_iso += tykkelse / varmeledning;
		bildefil = finn_horbildefil("bjelkelag_dekke_liste", arrayMaterial);
		var hoyde = Math.round(tykkelse * 200);
		var lag_dekke = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_dekke);
		hoyde_konstr += hoyde;
	}

	var nedforing = document.getElementById("bjelkelag_nedforing").checked;
	if (nedforing) {
		arealandel = les_tall("bjelkelag_nedforing_arealandel", 0, 100, 9) / 100 // prosent;
		varmeledning = les_tall("bjelkelag_nedforing_varmeledning", 0.001, 100, 0.12);
		tykkelse = les_tall("bjelkelag_nedforing_iso_tykkelse", 0, 10000, 50) / 1000;
		tykkelse_konstr += tykkelse * 1000;
		varmeledning2 = les_tall("bjelkelag_nedforing_iso_varmeledning", 0.001, 100, 0.037);
		if (arealandel > 0) {
			var varmeledn_legering = arealandel * varmeledning + (1 - arealandel) * varmeledning2;
			varmemotstand_legering += tykkelse / varmeledn_legering;
			var vmiso = tykkelse / varmeledning2;
			var vmtre = tykkelse / varmeledning;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmtre;
			arealandel_tre += arealandel * tykkelse;
			tykkelse_ikke_h += tykkelse;
		} else {
			var vmiso = tykkelse / varmeledning2;
			varmemotstand_iso += vmiso;
			varmemotstand_tre += vmiso;
			varmemotstand_legering += vmiso;
		}
		if (arealandel > 0) {
			bildefil = finn_horbildefil2("bjelkelag_nedforing_iso_liste", arrayIsolasjon);
		} else {
			bildefil = finn_horbildefil("bjelkelag_nedforing_iso_liste", arrayIsolasjon);
		}
		var hoyde = Math.round(tykkelse * 200);
		var lag_nedforing = {height:hoyde, file:bildefil};
		lag_konstr.push(lag_nedforing);
		hoyde_konstr += hoyde;
	}

	tykkelse = les_tall("bjelkelag_undertak_tykkelse", 0, 10000, 25) / 1000;
	tykkelse_konstr += tykkelse * 1000;
	varmeledning = les_tall("bjelkelag_undertak_varmeledning", 0.001, 100, 0.12);
	varmemotstand_legering += tykkelse / varmeledning;
	varmemotstand_iso += tykkelse / varmeledning;
	varmemotstand_tre += tykkelse / varmeledning;

	var varmemotstand_kjeller = les_tall("bjelkelag_varmemotstand_kjeller", 0.06, 1.0, 0.2);
	varmemotstand_legering += varmemotstand_kjeller;
	varmemotstand_iso += varmemotstand_kjeller;
	varmemotstand_tre += varmemotstand_kjeller;

	bildefil = finn_horbildefil("bjelkelag_undertak_liste", arrayMaterial);
	var hoyde = Math.round(tykkelse * 200);
	var lag_undertak = {height:hoyde, file:bildefil};
	lag_konstr.push(lag_undertak);
	hoyde_konstr += hoyde;
	
	
	if (hoyde_konstr > 1200) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 16);
			hoyde_konstr += lag_konstr[i].height;
		}
	} if (hoyde_konstr > 600) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 8);
			hoyde_konstr += lag_konstr[i].height;
		}
	} else 	if (hoyde_konstr > 300) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 4);
			hoyde_konstr += lag_konstr[i].height;
		}
	} else if (hoyde_konstr > 150) {
		var i;
		hoyde_konstr = 0;
		for (i = 0; i < lag_konstr.length; i++) {
			lag_konstr[i].height = Math.round(lag_konstr[i].height / 2);
			hoyde_konstr += lag_konstr[i].height;
		}
	}
	var pos = Math.round((150 - hoyde_konstr) / 2);
	oppdater_detalj_hor(lag_konstr, lag_over, lag_under, pos);
	tykkelse_konstr = Math.round(tykkelse_konstr);

	var utv_overgang_gulv = 0.04;
	var innv_overgang_gulv = 0.17;

	varmemotstand_legering += utv_overgang_gulv + innv_overgang_gulv;
	varmemotstand_tre += utv_overgang_gulv + innv_overgang_gulv;
	varmemotstand_iso += utv_overgang_gulv + innv_overgang_gulv;
	arealandel_tre /= tykkelse_ikke_h;
	var arealandel_iso = 1 - arealandel_tre;

	var varmemotstand_skott = 1 / (arealandel_tre / varmemotstand_tre + 
								   arealandel_iso / varmemotstand_iso);
	var varmemotstand = (varmemotstand_legering + varmemotstand_skott) / 2;

	var delta_uf = 0;
	/*
	var kuldebro = document.getElementById(konstr + "_kuldebro_check").checked;
	if (kuldebro && tykkelse_hovediso > 0) {
		var feste_tetthet = les_tall(konstr + "_kuldebro_antall", 0.1, 100, 3);	
		var feste_diameter = les_tall(konstr + "_kuldebro_diameter", 0.1, 1000, 8) / 1000;	
		var feste_varmeledning = les_tall(konstr + "_kuldebro_varme
