var enheter = new Array();
var miljoenheter = new Array();
var konverterenheter = new Array();
var klimaenheter = new Array();
var drivstoffenheter = new Array();
var raoljeenheter = new Array();
var naturgassenheter = new Array();
var lpgenheter = new Array();

function replace(tekst,from,to) {
	var regex = new RegExp(from, 'gi');
	alert(regex);
	var retval = tekst.replace(regex,to);
	return retval;
}

function enhet (navn, forhold, enhet) 
{
this.navn = navn;
this.forhold = forhold;
this.enhet = enhet;
}

function miljoenhet (navn, forhold, enhet) 
{
this.navn = navn;
this.forhold = forhold;
this.enhet = enhet;
}

function konverterenhet (navn, forhold) 
{
this.navn = navn;
this.forhold = forhold;
}
function klimaenhet (navn, forhold, enhet) 
{
this.navn = navn;
this.forhold = forhold;
this.enhet = enhet;
}
function drivstoffenhet (navn, forhold, enhet) 
{
this.navn = navn;
this.forhold = forhold;
this.enhet = enhet;
}
function tusentall(verdi)
{
	var output = "";
	output = verdi;
	if (verdi.length>7)
	{
		start = verdi.substring(0,verdi.length-7);
		rest = verdi.substring(verdi.length-7);
		output = start + " " + rest;
	}
	if (output.length>11)
	{
		start = output.substring(0,output.length-11);
		rest = output.substring(output.length-11);
		output = start + " " + rest;
	}

	return output;
}

function loadkonverterer()
{
	/* Her skrives verdiene inn */
	konverterenheter[konverterenheter.length] = new konverterenhet("MJ",3.6);
	konverterenheter[konverterenheter.length] = new konverterenhet("kWh",1);
	konverterenheter[konverterenheter.length] = new konverterenhet("toe",0.0000859845);
	konverterenheter[konverterenheter.length] = new konverterenhet("Btu",3412);
	konverterenheter[konverterenheter.length] = new konverterenhet("therm",0.03412);
	
	
	/* Slutt verdier */ 
	var ddKonverterFra = document.getElementById("ddKonverterFra");
	var ddKonverterTil = document.getElementById("ddKonverterTil");
	for (i=0;i<konverterenheter.length;i++) {
		enhet = konverterenheter[i];
		ddKonverterFra.options[ddKonverterFra.options.length] = new Option(enhet.navn);
		ddKonverterTil.options[ddKonverterTil.options.length] = new Option(enhet.navn);
	}
	ddKonverterFra.selectedIndex = 1;
	ddKonverterTil.selectedIndex = 0;
	
}
function beregnkonverterer() {
	var ddTilEnheter = document.getElementById("ddKonverterTil");
	var ddFraEnheter = document.getElementById("ddKonverterFra");
	var txtAntall = document.getElementById("txtAntallKonverterer");
	//alert(txtAntall.value)
	if (isFinite(txtAntall.value)) {
		var i = ddFraEnheter.selectedIndex;
		if (i!=-1) {
			var fraenhet = konverterenheter[i];
			var lblResultatTall = document.getElementById("lblResultatKonverter");

			var antall = parseFloat(txtAntall.value);
			var beregnet = antall / fraenhet.forhold;
			
			var j = ddTilEnheter.selectedIndex;
			
			var tilenhet = konverterenheter[j];
			var ferdigberegnet = beregnet * tilenhet.forhold;
			
			//alert(beregnet + " toe x " + tilenhet.forhold + " = " + ferdigberegnet + " " + tilenhet.navn);
			var res = ferdigberegnet.toFixed(3) + "";		//convert to string
			if (res == "0.000" || res == "0,000") res = ferdigberegnet.toFixed(6) + ""
			
			var retval = res.replace(/\./gi,",");	//replace . with ,
			lblResultatTall.innerHTML = tusentall(retval);
			//lblEnhet.innerHTML = enhet.enhet + " " + enhet.navn.toLowerCase();
		}
	}
}

function loadkalkulator()
{
	/* Her skrives verdiene inn */
	enheter[enheter.length] = new enhet("bensin",9.1,"liter");
	enheter[enheter.length] = new enhet("biobriketter",4.8,"kilo");
	enheter[enheter.length] = new enhet("biodiesel (B5)",9.2,"liter");
	enheter[enheter.length] = new enhet("bioetanol (E85)",6.4,"liter");
	enheter[enheter.length] = new enhet("biogass",5.5,"kubikkmeter");
	enheter[enheter.length] = new enhet("biopellets",4.8,"kilo");
	enheter[enheter.length] = new enhet("brenntorv",3,"kilo");
	enheter[enheter.length] = new enhet("butan",13.4,"kilo");
	enheter[enheter.length] = new enhet("diesel",10.1,"liter");
	enheter[enheter.length] = new enhet("etanol",5.9,"liter");
	enheter[enheter.length] = new enhet("fyringsparafin",8.2,"liter");
	enheter[enheter.length] = new enhet("fyringsolje",9.5,"liter");
	enheter[enheter.length] = new enhet("hydrogen",3,"kubikkmeter");
	enheter[enheter.length] = new enhet("hydrogen",33.3,"kilo");
	enheter[enheter.length] = new enhet("kull",6.8,"kilo");
	enheter[enheter.length] = new enhet("metanol",4.5,"liter");
	enheter[enheter.length] = new enhet("naturgass",10,"kubikkmeter");
	enheter[enheter.length] = new enhet("naturgass",14,"kilo");
	enheter[enheter.length] = new enhet("olje",10.3,"liter");
	enheter[enheter.length] = new enhet("propan",12.9,"kilo");
	enheter[enheter.length] = new enhet("propan",6.6,"liter");
	enheter[enheter.length] = new enhet("ved",4.8,"kilo");
	
	
	/* Slutt verdier */ 
	var ddEnheter = document.getElementById("ddEnheter");
	for (i=0;i<enheter.length;i++) {
		enhet = enheter[i];
		ddEnheter.options[ddEnheter.options.length] = new Option(enhet.enhet + " " + enhet.navn);
	}
}
function visValgtEnhet() {
	var ddEnheter = document.getElementById("ddEnheter");
	var i = ddEnheter.selectedIndex;
	if (i!=-1) {
		var lblEnhet = document.getElementById("lblEnhet");
		var enhet = enheter[i];
		lblEnhet.innerHTML = enhet.enhet + " " + enhet.navn.toLowerCase();
	}
}
function beregn() {
	var ddEnheter = document.getElementById("ddEnheter");
	var txtAntall = document.getElementById("txtAntall");
	if (isFinite(txtAntall.value)) {
		var i = ddEnheter.selectedIndex;
		if (i!=-1) {
			var enhet = enheter[i];
			var lblResultatTall = document.getElementById("lblResultatTall");
			var lblEnhet = document.getElementById("lblEnhet");
			var antall = parseFloat(txtAntall.value);
			var beregnet = enhet.forhold * antall;
			var res = beregnet.toFixed(2) + "";		//convert to string
			var retval = res.replace(/\./gi,",");	//replace . with ,
			lblResultatTall.innerHTML = retval;
			//lblEnhet.innerHTML = enhet.enhet + " " + enhet.navn.toLowerCase();
		}
	}
}


/* Miljøkalkulator */

function loadMiljokalkulator()
{
	/* Her skrives verdiene inn */
	miljoenheter [miljoenheter.length] = new miljoenhet("propan (LPG)",1.531,"liter");
	miljoenheter [miljoenheter.length] = new miljoenhet("propan (LPG)",3,"kilo");
	miljoenheter [miljoenheter.length] = new miljoenhet("naturgass",1.878,"kubikkmeter");
	miljoenheter [miljoenheter.length] = new miljoenhet("naturgass",2.340,"kilo");
	miljoenheter [miljoenheter.length] = new miljoenhet("fyringsolje",2.656,"liter");
	miljoenheter [miljoenheter.length] = new miljoenhet("diesel",2.69,"liter");
	miljoenheter [miljoenheter.length] = new miljoenhet("bensin",2.30,"liter");
	miljoenheter [miljoenheter.length] = new miljoenhet("tungolje",3.2,"liter");
	miljoenheter [miljoenheter.length] = new miljoenhet("elverkskull",2.42,"kilo");
	
	/* Slutt verdier */ 
	var ddEnheterMiljo = document.getElementById("ddEnheterMiljo");
	for (i=0;i<miljoenheter.length;i++) {
		enhet = miljoenheter[i];
		ddEnheterMiljo.options[ddEnheterMiljo.options.length] = new Option(enhet.enhet + " " + enhet.navn);
	}
	ddEnheterMiljo.selectedIndex = 6;
	/*var beregnknapp = document.getElementById("beregnknapp");
	beregnknapp.style.visibility="hidden";*/
}
function visValgtEnhetMiljo() {
	var ddEnheter = document.getElementById("ddEnheterMiljo");
	var i = ddEnheter.selectedIndex;
	if (i!=-1) {
		var lblEnhet = document.getElementById("lblEnhet");
		var enhet = miljoenheter[i];
		lblEnhet.innerHTML = enhet.enhet + " " + enhet.navn.toLowerCase();
	}
}
function beregnmiljo() {
	var ddEnheterMiljo = document.getElementById("ddEnheterMiljo");
	var txtAntallMiljo = document.getElementById("txtAntallMiljo");
	if (isFinite(txtAntallMiljo.value)) {
		var i = ddEnheterMiljo.selectedIndex;
		if (i!=-1) {
			var enhet = miljoenheter[i];
			var lblResultatMiljo = document.getElementById("lblResultatMiljo");
			//var lblEnhetMiljo = document.getElementById("lblEnhet");
			var antall = parseFloat(txtAntallMiljo.value);
			var beregnet = enhet.forhold * antall;
			var res = beregnet.toFixed(2) + "";		//convert to string
			var retval = res.replace(/\./gi,",");	//replace . with ,

			lblResultatMiljo.innerHTML = retval;
			//lblEnhet.innerHTML = enhet.enhet + " " + enhet.navn.toLowerCase();
		}
	}
}


/* Priskalkulator */

function loadpriskalkulator()
{
	/* Slutt verdier */ 
	var ddEnheterpris = document.getElementById("ddEnheterpris");
	for (i=0;i<enheter.length;i++) {
		enhet = enheter[i];
		ddEnheterpris.options[ddEnheterpris.options.length] = new Option("1 " + enhet.enhet + " " + enhet.navn);
	}
	//ddEnheterpris.options[6].selected = true;
	/*var beregnknapp = document.getElementById("beregnknapp");
	beregnknapp.style.visibility="hidden";*/
}
function visValgtEnhetpris() {
	var ddEnheter = document.getElementById("ddEnheterpris");
	var i = ddEnheter.selectedIndex;
	if (i!=-1) {
		var lblEnhet = document.getElementById("lblEnhet");
		var enhet = enheter[i];
		lblEnhet.innerHTML = enhet.enhet + " " + enhet.navn.toLowerCase();
	}
}
function beregnpris() {
	var ddEnheterpris = document.getElementById("ddEnheterpris");
	var txtPris = document.getElementById("txtPris");
	var value = txtPris.value;
	var strPris = value.replace(/\,/gi,".");
	if (isFinite(strPris)) {
		var pris = parseFloat(strPris);
		var i = ddEnheterpris.selectedIndex;
		if (i!=-1) {
			var enhet = enheter[i];
			var lblResultatpris = document.getElementById("lblResultatpris");
			//var lblEnhetpris = document.getElementById("lblEnhet");
			var beregnet = (pris / enhet.forhold) * 100;
			var res = beregnet.toFixed(2) + "";		//convert to string
			var retval = res.replace(/\./gi,",");	//replace . with ,

			//alert(retval);
			lblResultatpris.innerHTML = retval;
			//lblEnhet.innerHTML = enhet.enhet + " " + enhet.navn.toLowerCase();
		}
	} else {
		alert(strPris + " er ikke et glydig tall.");
	}
}

function beregnkraft() 
{
	var txtEffekt = document.getElementById("txtEffekt");
	var txtBrukstimer = document.getElementById("txtBrukstimer");
	var lblKraft = document.getElementById("lblKraft");
	
	var value = txtEffekt.value;
	var brukstimer = txtBrukstimer.value;
	var strPris = value.replace(/\,/gi,".");
	var strTimer = brukstimer.replace(/\,/gi,".");
	
	if (isFinite(strPris)) {
		var pris = parseFloat(strPris);
		var ftimer = parseFloat(strTimer);
		var beregnet = (pris * ftimer / 1000);
		var res = 0;
		if (beregnet < 1) {
			res = beregnet.toFixed(2) + "";		//convert to string
			res = res.replace(/\./gi,",");		//replace . with ,
		} else {
			res = beregnet.toFixed(0) + "";		//convert to string
		}
		lblKraft.innerHTML = res;
	} else {
		alert(strPris + " er ikke et glydig tall.");
	}
	
}

function loadKlimakalkulator()
{
	/* Her skrives verdiene inn */
	klimaenheter[klimaenheter.length] = new klimaenhet("fyringsolje",280,"Liter");
	klimaenheter[klimaenheter.length] = new klimaenhet("fyringsparafin",308,"Liter");
	klimaenheter[klimaenheter.length] = new klimaenhet("tungolje",311,"Liter");
	klimaenheter[klimaenheter.length] = new klimaenhet("propan",233,"Kilo");
	klimaenheter[klimaenheter.length] = new klimaenhet("naturgass (LNG)",186,"Kilo");
	klimaenheter[klimaenheter.length] = new klimaenhet("naturgass",188,"Kubikkmeter");
	klimaenheter[klimaenheter.length] = new klimaenhet("kull",356,"Kilo");
	klimaenheter[klimaenheter.length] = new klimaenhet("diesel",266,"Liter");
	
	/* Slutt verdier */ 
	var ddKlimaprodukter = document.getElementById("ddKlimaprodukter");
	for (i=0;i<klimaenheter.length;i++) {
		enh = klimaenheter[i];
		ddKlimaprodukter.options[ddKlimaprodukter.options.length] = new Option(enh.enhet + " " + enh.navn);
	}
	

}
function beregnklimapris()
{
	var ddKlimaprodukter = document.getElementById("ddKlimaprodukter");
	var i = ddKlimaprodukter.selectedIndex;
	if (i!=-1) {
		var lblKlimaresultat = document.getElementById("lblKlimaresultat");
		var enh = klimaenheter[i];
		lblKlimaresultat.innerHTML = enh.forhold;
	}	
}

/* Drivstoff */

function loadDrivstoffkalkulator()
{
	/* Her skrives verdiene inn */
	drivstoffenheter[drivstoffenheter.length] = new drivstoffenhet("bensin",2.30,"liter");
	drivstoffenheter[drivstoffenheter.length] = new drivstoffenhet("biodiesel (B5)",2.56,"liter");
	drivstoffenheter[drivstoffenheter.length] = new drivstoffenhet("bioetanol (E85)",0.345,"liter");
	drivstoffenheter[drivstoffenheter.length] = new drivstoffenhet("biogass",0.168,"kubikkmeter");
	drivstoffenheter[drivstoffenheter.length] = new drivstoffenhet("diesel",2.69,"liter");
	drivstoffenheter[drivstoffenheter.length] = new drivstoffenhet("hydrogen",0.0,"kilo");
	drivstoffenheter[drivstoffenheter.length] = new drivstoffenhet("naturalhy",1.73,"kubikkmeter");
	drivstoffenheter[drivstoffenheter.length] = new drivstoffenhet("naturgass",1.88,"kubikkmeter");
	drivstoffenheter[drivstoffenheter.length] = new drivstoffenhet("propan",1.53,"liter");
	
	/* Slutt verdier */ 
	var ddDrivstoff = document.getElementById("ddDrivstoff");
	for (i=0;i<drivstoffenheter.length;i++) {
		enh = drivstoffenheter[i];
		ddDrivstoff.options[ddDrivstoff.options.length] = new Option(enh.enhet + " " + enh.navn);
	}
	

}
function beregndrivstoff()
{
	var ddDrivstoff = document.getElementById("ddDrivstoff");
	var i = ddDrivstoff.selectedIndex;
	if (i!=-1) {
		var lblDrivstoffresultat = document.getElementById("lblDrivstoffresultat");
		var enh = drivstoffenheter[i];
		
		var txtForbruk = document.getElementById("txtForbruk");
		var value = txtForbruk.value;
		var strforbruk = value.replace(/\,/gi,".");
		
		if (isFinite(strforbruk)) {
			var forbruk = parseFloat(strforbruk);
			//alert("forbruk:"+forbruk);
			var beregnet = enh.forhold * forbruk / 10 * 1000;
			res = beregnet.toFixed(0) + "";		//convert to string
			res = res.replace(/\./gi,",");
			lblDrivstoffresultat.innerHTML = res;
		}
	}	
}


/* Råolje */

function loadraoljekonverterer()
{
	/* Her skrives verdiene inn */
	raoljeenheter[raoljeenheter.length] = new konverterenhet("Tonn",1);
	raoljeenheter[raoljeenheter.length] = new konverterenhet("Fat",7.33);
	raoljeenheter[raoljeenheter.length] = new konverterenhet("Sm3",1.16535);
	
	
	/* Slutt verdier */ 
	var ddKonverterFra = document.getElementById("ddRaoljeKonverterFra");
	var ddKonverterTil = document.getElementById("ddRaoljeKonverterTil");
	for (i=0;i<raoljeenheter.length;i++) {
		enhet = raoljeenheter[i];
		ddKonverterFra.options[ddKonverterFra.options.length] = new Option(enhet.navn);
		ddKonverterTil.options[ddKonverterTil.options.length] = new Option(enhet.navn);
	}
	ddKonverterFra.selectedIndex = 1;
	ddKonverterTil.selectedIndex = 0;
}
function beregnraoljekonverterer() {
	var ddTilEnheter = document.getElementById("ddRaoljeKonverterTil");
	var ddFraEnheter = document.getElementById("ddRaoljeKonverterFra");
	var txtAntall = document.getElementById("txtRaoljeAntallKonverterer");
	//alert(txtAntall.value)
	if (isFinite(txtAntall.value)) {
		var i = ddFraEnheter.selectedIndex;
		if (i!=-1) {
			var fraenhet = raoljeenheter[i];
			var lblResultatTall = document.getElementById("lblRaoljeResultatKonverter");

			var antall = parseFloat(txtAntall.value);
			var beregnet = antall / fraenhet.forhold;
			
			var j = ddTilEnheter.selectedIndex;
			
			var tilenhet = raoljeenheter[j];
			var ferdigberegnet = beregnet * tilenhet.forhold;
			//alert("ferdigberegnet:"+ferdigberegnet);
			
			//alert(beregnet + " toe x " + tilenhet.forhold + " = " + ferdigberegnet + " " + tilenhet.navn);
			var res = ferdigberegnet.toFixed(3) + "";		//convert to string
			if (res == "0.000" || res == "0,000") res = ferdigberegnet.toFixed(6) + ""
			
			var retval = res.replace(/\./gi,",");	//replace . with ,
			lblResultatTall.innerHTML = tusentall(retval);
			//lblEnhet.innerHTML = enhet.enhet + " " + enhet.navn.toLowerCase();
		}
	}
}

/* Naturgass */

function loadnaturgasskonverterer()
{
	/* Her skrives verdiene inn */
	naturgassenheter[naturgassenheter.length] = new konverterenhet("Nm3",0.948);
	naturgassenheter[naturgassenheter.length] = new konverterenhet("Kubikkfot",35.3 );
	naturgassenheter[naturgassenheter.length] = new konverterenhet("Kilo LNG",0.73 );
	naturgassenheter[naturgassenheter.length] = new konverterenhet("Sm3",1);
	
	
	/* Slutt verdier */ 
	var ddKonverterFra = document.getElementById("ddNaturgassKonverterFra");
	var ddKonverterTil = document.getElementById("ddNaturgassKonverterTil");
	for (i=0;i<naturgassenheter.length;i++) {
		enhet = naturgassenheter[i];
		ddKonverterFra.options[ddKonverterFra.options.length] = new Option(enhet.navn);
		ddKonverterTil.options[ddKonverterTil.options.length] = new Option(enhet.navn);
	}
	ddKonverterFra.selectedIndex = 0;
	ddKonverterTil.selectedIndex = 2;
}
function beregnnaturgasskonverterer() {
	var ddTilEnheter = document.getElementById("ddNaturgassKonverterTil");
	var ddFraEnheter = document.getElementById("ddNaturgassKonverterFra");
	var txtAntall = document.getElementById("txtNaturgassAntallKonverterer");
	//alert(txtAntall.value)
	if (isFinite(txtAntall.value)) {
		var i = ddFraEnheter.selectedIndex;
		if (i!=-1) {
			var fraenhet = naturgassenheter[i];
			var lblResultatTall = document.getElementById("lblNaturgassResultatKonverter");

			var antall = parseFloat(txtAntall.value);
			var beregnet = antall / fraenhet.forhold;
			
			var j = ddTilEnheter.selectedIndex;
			
			var tilenhet = naturgassenheter[j];
			var ferdigberegnet = beregnet * tilenhet.forhold;
			//alert("ferdigberegnet:"+ferdigberegnet);
			
			//alert(beregnet + " toe x " + tilenhet.forhold + " = " + ferdigberegnet + " " + tilenhet.navn);
			var res = ferdigberegnet.toFixed(3) + "";		//convert to string
			if (res == "0.000" || res == "0,000") res = ferdigberegnet.toFixed(6) + ""
			
			var retval = res.replace(/\./gi,",");	//replace . with ,
			
			
			lblResultatTall.innerHTML = tusentall(retval);
			//lblEnhet.innerHTML = enhet.enhet + " " + enhet.navn.toLowerCase();
		}
	}
}


/* LPG */

function loadlpgkonverterer()
{
	/* Her skrives verdiene inn */
	lpgenheter[lpgenheter.length] = new konverterenhet("tonn",1);
	lpgenheter[lpgenheter.length] = new konverterenhet("fat",11.6 );
	lpgenheter[lpgenheter.length] = new konverterenhet("kubikkmeter",1.844 );
	lpgenheter[lpgenheter.length] = new konverterenhet("liter",1844 );
	lpgenheter[lpgenheter.length] = new konverterenhet("kilo",1000);
	
	
	/* Slutt verdier */ 
	var ddKonverterFra = document.getElementById("ddlpgKonverterFra");
	var ddKonverterTil = document.getElementById("ddlpgKonverterTil");
	for (i=0;i<lpgenheter.length;i++) {
		enhet = lpgenheter[i];
		ddKonverterFra.options[ddKonverterFra.options.length] = new Option(enhet.navn);
		ddKonverterTil.options[ddKonverterTil.options.length] = new Option(enhet.navn);
	}
	ddKonverterFra.selectedIndex = 0;
	ddKonverterTil.selectedIndex = 2;
}
function beregnlpgkonverterer() {
	var ddTilEnheter = document.getElementById("ddlpgKonverterTil");
	var ddFraEnheter = document.getElementById("ddlpgKonverterFra");
	var txtAntall = document.getElementById("txtlpgAntallKonverterer");
	//alert(txtAntall.value)
	if (isFinite(txtAntall.value)) {
		var i = ddFraEnheter.selectedIndex;
		if (i!=-1) {
			var fraenhet = lpgenheter[i];
			var lblResultatTall = document.getElementById("lbllpgResultatKonverter");

			var antall = parseFloat(txtAntall.value);
			var beregnet = antall / fraenhet.forhold;
			
			var j = ddTilEnheter.selectedIndex;
			
			var tilenhet = lpgenheter[j];
			var ferdigberegnet = beregnet * tilenhet.forhold;
			//alert("ferdigberegnet:"+ferdigberegnet);
			
			//alert(beregnet + " toe x " + tilenhet.forhold + " = " + ferdigberegnet + " " + tilenhet.navn);
			var res = ferdigberegnet.toFixed(3) + "";		//convert to string
			if (res == "0.000" || res == "0,000") res = ferdigberegnet.toFixed(6) + ""
			
			var retval = res.replace(/\./gi,",");	//replace . with ,
			
			
			lblResultatTall.innerHTML = tusentall(retval);
			//lblEnhet.innerHTML = enhet.enhet + " " + enhet.navn.toLowerCase();
		}
	}
}
