// Alvast voor PHP:
//var postDoel = '<?= $_POST["doel"] ?>';
//var postBasis = '<?= $_POST["basis"] ?>';
var postDoel = '';
var postBasis = '';

// Doel omrekeningsbasisCode tabel
var doel = '\
cm:10:millimeter:mm|\
cm:0.1:decimeter:dm|\
cm:0.01:meter:m|\
cm:0.001:decameter:dam|\
cm:0.0001:hectometer:hm|\
cm:0.00001:kilometer:km|\
cm:0.3937007874:inch:in|\
cm:0.03280839895:feet:ft|\
cm:0.010936132983377078:yard:yd|\
m:0.001:kilometer:km|\
m:0.01:hectometer:hm|\
m:0.1:decameter:dam|\
m:10:decimeter:dm|\
m:100:centimeter:cm|\
m:1000:millimeter:mm|\
m:39,37007874:inch:in|\
m:3.280839895013123:feet:ft|\
m:1.0936132983377078:yard:yd|\
km:1000000:millimeter:mm|\
km:100000:centimeter:cm|\
km:10000:decimeter:dm|\
km:1000:meter:m|\
km:100:decameter:dam|\
km:10:hectometer:hm|\
km:39370.07874:inch:in|\
km:3280.839895:feet:ft|\
km:1093.613298:yards:yd|\
km:0.621371:mijl:M|\
km:0.539612:zeemijl:|\
km:0.0000000000001056970721911:lichtjaar:ly|\
in:25.4:millimeter:|\
in:2.54:centimeter:|\
in:0.254:decimeter:|\
in:0.0254:meter:|\
in:0.00254:decameter:|\
in:0.000254:hectometer:|\
in:0.0000254:kilometer:|\
in:0.08333333333333333333:feet:|\
in:0.02777777777777777778:yard:|\
in:0.00015782828282828:mijl:|\
ft:304.8:millimeter:|\
ft:30.48:centimeter:|\
ft:3.048:decimeter:|\
ft:0.3048:meter:|\
ft:0.03048:decameter:|\
ft:0.003048:hectometer:|\
ft:0.0003048:kilometer:|\
ft:0.3333333333333333333:yard:|\
ft:0.00018939393939394:mijl:|\
ml:160934.4:centimeter:|\
ml:16093.44:decimeter:|\
ml:1609.344:meter:|\
ml:160.9344:decameter:|\
ml:16.09344:hectometer:|\
ml:1.609344:kilometer:|\
ml:5280:feet:|\
ml:1760:yard:|\
ml:0.86898:zeemijl:|\
m2:1:centiare:|\
m2:0.01:are:|\
m2:0.0001:hectare:|\
m2:1000000:vierkante mm:mm2|\
m2:10000:vierkante cm:cm2|\
m2:100:vierkante dm:dm2|\
m2:0.000001:vierkante km:km2|\
m2:0.00024710538146717:acre:acre|\
m2:1.1959900463011:square yard:yd2|\
km2:10000:are:a|\
km2:100:hectare:ha|\
km2:1000000:vierkante meter:m2|\
km2:247.10538146717:acre:acre|\
km2:10763910.41671:square feet:ft2|\
km2:0.38610215854245:square mile:M2|\
km2:1195990.0463011:square yard:yd2|\
ha:10000:vierkante meter:m2|\
ha:1:vierkante hm:hm2|\
ha:0.01:vierkante km:km2|\
ha:100:are:a|\
ha:107639.1041671:square feet:ft2|\
ha:0.0038610215854245:square mile:M2|\
ha:11959.900463011:square yard:yd2|\
ac:0.40468564224:hectare:ha|\
ac:0.0040468564224:vierkante kilometer:km2|\
ac:4046.8564224:vierkante meter:m2|\
ac:0.0015625:square mile:mi2|\
ft2:0.00000009290304:vierkante km:km2|\
ft2:0.09290304:vierkante meter:m2|\
ft2:929.0304:vierkante cm:cm2|\
ft2:0.09290304:centiare:ca|\
ft2:0.0009290304:are:a|\
ft2:144:square inch:in2|\
ft2:0.11111111111111111111:square yard:yd2|\
ml2:2.589988110336:vierkante km:km2|\
ml2:2589988.110336:vierkante meter:m2|\
ml2:25899.88110336:are:a|\
ml2:258.9988110336:hectare:ha|\
ml2:3097600:square yard:yd2|\
ml2:27878400:square feet:ft2|\
m3:1000:liter:|\
m3:61023.744094732:cubic inch:|\
m3:35.314666721489:cubic feet:|\
m3:264.17205235815:U.S. gallon:|\
m3:219.96924829909:imp. gallon:|\
m3:33333.3333333333333:fluid ounce:|\
l:0.001:kubieke meter:|\
l:1:kubieke decimeter:|\
l:100000:centiliter:|\
l:1000000:milliliter:|\
l:61.023744094732:cubic inch:|\
l:0.035314666721489:cubic feet:|\
l:0.26417205235815:U.S. gallon:|\
l:0.21996924829909:imp. gallon:|\
gl:3.785411784:liter:|\
gl:0.003785411784:kubieke meter:|\
gl:0.83267418462899:imp. gallon:|\
gl:231:cubic inch:|\
gl:0.13368055555556:cubic feet:|\
kg:1000000:milligram:|\
kg:1000:gram:|\
kg:2.2046226244201837775:pounds lbs:|\
kg:35.27399072294044:ounce oz:|\
kg:0.001102312210091888:U.S.Ton|\
pd:0.45359237:kilo:|\
pd:453.59237:gram:|\
pd:16:ounce oz:|\
pd:0.0005:U.S.Ton|\
oz:0.028349523125:kilo:|\
oz:28.349523125:gram:|\
oz:0.062499991732666:imp.pound lbs:|\
kmh:0.27777777777778:meter/seconde m/s:|\
kmh:0.00027777777777778:kilometer/seconde km/s:|\
kmh:0.62137119223733:miles/hour mph:|\
kmh:0.91134444444444:foot/second fpsec:|\
kmh:54.680666666667:foot/minute fpmin:|\
kmh:0.53996146834962:zeemijl/uur:|\
kmh:0.53996146834962:knopen:|\
kmh:0.00081699346405229:mach:|\
ms:3.6:kilometer/uur kmh:|\
ms:6000:centimeter/minuut cmmin:|\
ms:60:meter/minuut mmin:|\
ms:2.2369362920544:mijl/uur mph:|\
ms:196.850394:feet/minuut fpmin:|\
ms:3.28084:feet/seconde fpsec:|\
ms:39.370079:inch/seconde:|\
ms:1.9438612860586:knopen:|\
ms:0.0029411764705882:mach:|\
mph:0.44704:meter/seconde ms:|\
mph:1.609344:kilometer/uur kmh:|\
mph:0.86898374931965:knopen:|\
mph:0.86898374931965:zeemijl/uur:|\
mph:0.0013148235294118:mach:|\
w:0.0013404825737265416:horsepower (pk):pk|\
w:0.0002390057361376673:kCal/seconde:|\
w:0.014340351023112343:kCal/minuut:|\
j:1:watt/seconde Ws:|\
j:0.00000027777777777778:kilowatt/uur kWh:|\
j:0.00094708628903179:Btu:|\
j:10000000:erg:|\
mj:1000000:joule:J:|\
mj:1000:kilojoule:kJ|\
mj:0.001:gigajoule:GJ|\
mj:0.277778:kilowatt/uur (kWh):kWh|\
mj:948.451653:Btu:Btu|\
mj:239.005736:kilocalorie (kCal)|\
mj:23730422.401519:foot poundals:|\
kwh:3.6:MegaJoule|\
kwh:3600000:Joule|\
kwh:859.84524:kiloCalorie (kCal)|\
kwh:3412.14156:British thermal unit (Btu)|\
kcal:0.00116:kiloWattuur|\
kcal:3.96832:British thermal unit (Btu)|\
kcal:0.00418679994:MegaJoule|\
kcal:4186.79994:Joule|\
btu:1055.87:joule:|\
btu:0.00105587:megajoule MJ|\
btu:252.19021687207:calorie:cal|\
btu:0.25219021687207:kilocalorie(kCal)|\
btu:1055.87:watt/seconde:Ws|\
btu:0.00029329722222222:kiloWattuur:kWh|\
btu:0.000393:horsepower/hours (pk/u):pk/u|\
btu:25020.170859:foot poundals::|\
btu:10558700000:erg:erg|\
bar:1000:millibar:mbar|\
bar:1000:hectopascal:hPa|\
bar:0.98692326671601:atmosfeer:atm|\
bar:14.503773773022:pound/square inch (psi):psi|\
bar:100000:newton/vierkante meter:m2|\
psi:0.06894757293168:bar:bar|\
psi:0.068045963909874:atmosfeer:atm|\
psi:6894.757293168:pascal:Pa|\
psi:68.94757293168:hectopascal:hPa|\
psi:6894.757293168:newton/vierkante meter:Nm2|\
atm:1.0332274527999:tech.atmosphere (at):at|\
atm:1.01325:bar:bar|\
atm:14.695948775514:pound/square inch (psi):psi|\
atm:101325:pascal:pa|\
atm:1013.25:hectopascal:hpa|\
atm:101325:newton/vierkante meter:Nm2|\
n:0.101972:kilogram kracht:|\
n:7.233011:poundals:|\
n:0.224809:pounds force:|\
n:100:joule/meter:|\
n:1:joule/meter:|\
lm:0.016666666667:liter/seconde:l/s|\
lm:60:liter/uur:|\
lm:1440:liter/dag:|\
lm:61.023744092:cubic inch/minute:in2/min|\
lm:0.03531466672:cubic foot/minute:ft2/min|\
lm:2.1188800032:cubic foot/hour:ft2/h|\
lm:0.26417205236:gallon/minute:gpm|\
lm:15.850323141:gallon/hour:|\
lm:380.4077554:gallon/day:|\
lm:0.078477037155:cubic yard/hour:yd2/h|\
lh:0.00027777777778:liter/seconde:|\
lh:16.666666667:liter/minuut:|\
lh:24000:liter/dag:|\
lh:1.0170624015:cubic inch/minute:|\
lh:61.023744092:cubic inch/hour:|\
lh:0.00058857777866:cubic foot/minute:|\
lh:0.03531466672:cubic foot/hour:|\
lh:0.0044028675393:gallon/minute:gpm|\
lh:0.26417205236:gallon/hour:|\
lh:6.3401292566:gallon/day:|\
lh:0.0013079506193:cubic yard/hour:yd2/h|\
kmu:0.27777777778:liter/seconde:ls|\
kmu:16.666666667:liter/minuut:l/min|\
kmu:24000:liter/dag:|\
kmu:61023.744092:cubic inch/hour:in2/h|\
kmu:35.31466672:cubic foot/hour:ft2/h|\
kmu:4.4028675393:gallon/minute:gpm|\
kmu:264.17205236:gallon/hour:|\
kmu:6340.1292566:gallon/day:|\
gm:0.0630901964:liter/seconde:|\
gm:3.785411784:liter/minuut:|\
gm:227.12470704:liter/uur:|\
gm:5450.992969:liter/dag:|\
gm:230.99999999:cubic inch/minute:|\
gm:0.13368055555:cubic foot/minute:|\
gm:0.004951131687:cubic yard/minute:|\
gm:0.832674133:imp.gallon/minute:|\
';

// Uitgangswaarde tabel
var basis = '\
-:-------- Lengtemaat --------|\
cm:centimeter (cm)|\
m:meter (m)|\
km:kilometer (km)|\
in:inch (in)|\
ft:foot (ft)|\
ml:mijl (M)|\
-:------- Oppervlakte --------|\
m2:vierkante meter (m2)|\
km2:vierkante km (km2)|\
ha:hectare (ha)|\
ac:acres (ac)|\
ft2:square foot (ft2)|\
ml2:square mile (M2)|\
-:----- Inhoud volume ------|\
l:liter (l)|\
m3:kubieke meter (m3)|\
gl:U.S. Gallon (gal)|\
kg:kilo (k)|\
pd:pounds (lbs)|\
oz:ounce (oz)|\
-:--------- Capaciteit ---------|\
lm:liter/minuut (l/m)|\
lh:liter/uur (lh)|\
kmu:kubieke m/uur (m2/u)|\
gm:gallon/minute (gpm)|\
cis:cubic inch/minute|\
cfh:cubic foot/hour (ft2/h)|\
cyh:cubic yard/hour|\
-:---------- Snelheid ----------|\
kmh:kilometer/uur (kmh)|\
ms:meter/seconde (ms)|\
mph:mijl/uur (mph)|\
-:----------- Energie -----------|\
kwh:kiloWattuur (kWh)|\
kcal:kiloCalorie (kCal)|\
w:watt (W)|\
j:joule (J)|\
mj:megajoule (MJ)|\
btu:Br. thermal unit (btu)|\
-:------------- Druk -------------|\
bar:bar|\
psi:pound/square inch (psi)|\
atm:atmosfeer (atm)|\
-:----------- Kracht -----------|\
n:newton|\ ';

function TrimString(sInString) {
  if ( sInString ) {
    sInString = sInString.replace( /^\s+/g, "" );// strip de leading rommel
    return sInString.replace( /\s+$/g, "" );// strip de trailing zooi
  }
}

// Vul basisEenheid met bovenstaande eenheden
function vulBasisEenheid(defaultEenheid) {
  if ( postBasis != '' ) {
    defaultEenheid = postBasis;
  }
  var basisEenhedenArray = basis.split('|');  // Split into lines
  var selObj = document.getElementById('basisEenheid');
  selObj.options[0] = new Option('Kies een eenheid','');
  selObj.selectedIndex = 0;
  for (var loop = 0; loop < basisEenhedenArray.length; loop++) {
    lineArray = basisEenhedenArray[loop].split(':');
    basisCode = TrimString(lineArray[0]);
    primair  = TrimString(lineArray[1]);
    if ( basisCode != '' ) {
      selObj.options[loop + 1] = new Option(primair, basisCode);
    }
    if ( defaultEenheid == basisCode ) {
      selObj.selectedIndex = loop + 1;
    }
  }
}

function eenheden() {
  var selObj = document.getElementById('doelEenheid');
  var statusDoel = false;

  // Doelopties wissen uit estetisch oogpunt
  if ( selObj.type == 'select-one' ) {
    for (var i = 0; i < selObj.options.length; i++) {
      selObj.options[i] = null;
    }
    selObj.options.length=null;
    selObj.options[0] = new Option('Kies een eenheid','');
    selObj.selectedIndex = 0;
  }

  // Doellijst vullen met bijpassende eenheden
  var doelEenhedenArray = doel.split("|");  // Split into lines
  var optionCntr = 1;
  for (var loop = 0; loop < doelEenhedenArray.length; loop++) {
    lineArray	= doelEenhedenArray[loop].split(":");
    basisCode	= TrimString(lineArray[0]);
    factor		= TrimString(lineArray[1]);
    doelNaam	= TrimString(lineArray[2]);
	notatie		= TrimString(lineArray[3]);
  if (document.getElementById('basisEenheid').value == basisCode && basisCode != '' ) {
      if ( factor != '' ) {
        selObj.options[optionCntr] = new Option(doelNaam, factor);
      }
      // Test of er nog een oude waarde bestaat
      if ( factor == postDoel && basisCode == postBasis ) {
        selObj.selectedIndex = optionCntr;
      }
      statusDoel = true;
      optionCntr++
    }
  }
}

function voorkeur(basis) {
  vulBasisEenheid(basis);
  eenheden();
}
 
function doBereken(  ) {
		// EDIT!! The var 'notatie' falls out of the sky here.
		// commented by Wouter:
	
		
		var result = document.snelconverter.waarde.value * document.snelconverter.doel.value * 1000;
        document.snelconverter.resultaat.value = Math.round(result)/1000;
		//document.snelconverter.unit.value = notatie;
        return false;
}

function onlyDigits (vnt,obj)
{
	var base;
	
	if(window.event)
	{
		base=window.event.keyCode;
	}
	else
	{
		if(obj)
		{
			base=obj.which;
		}
		else
		{
			return true;
		}
	}
	if((base>=58&&base<=126)||(base>=32&&base<=43)||base==45||base==47)
	{
		return false;
	}
}

