﻿function SetUp()
{
    document.getElementById("_txtFrom").value = Math.floor(Math.random() * 800) + 100;
    ConvertWeights();
}
var runs = 0;
function ConvertWeights()
{
    var fromUnit = document.getElementById("ddFrom").value;
    var from = parseFloat(document.getElementById("_txtFrom").value);
    if (from > 100000)
    {
        document.getElementById("_txtFrom").value = 100000;
        from = 100000;
    }  
    document.getElementById("spnFromTo").innerHTML = from +" "+ document.getElementById("ddFrom").options[document.getElementById("ddFrom").selectedIndex].text +" =";
    var oz = 0;
    var lb = 0;
    var stone = 0;
    var sTon = 0;
    var lTon = 0;
    var gm = 0;
    var kg = 0;
    var tonne = 0;
    switch (fromUnit)
    {
        case "oz":
            oz = from;
            lb = from / 16;
            stone = from / 224;
            sTon =  from / 32000;
            lTon = from / 35840;
            gm = from * 28.3495231;
            kg = from / 35.2739619;
            tonne = from / 35273.9619;
            break;
        case "lb":
            oz = from * 16;
            lb = from;
            stone = from / 14;
            sTon = from / 2000;
            lTon = from / 2240;
            gm = from * 453.59237;
            kg = from * 0.45359237;
            tonne = from / 2204.62262;
            break;
        case "stone":
            oz = from * 224;
            lb = from * 14;
            stone = from;
            sTon = from / 142.857143;
            lTon = from / 160;
            gm = from * 6350.29318;
            kg = from * 6.35029318;
            tonne = from / 157.473044;
            break;
        case "sTon":
            oz = from * 32000;
            lb = from * 2000;
            stone = from * 142.857143;
            sTon = from;
            lTon = from * 0.892857143;
            gm = from * 907184.74;
            kg = from * 907.18474;
            tonne = from * 0.90718474;
            break;
        case "lTon":
            oz = from * 35840;
            lb = from * 2240;
            stone = from * 160;
            sTon = from * 1.12;
            lTon = from;
            gm = from * 1016046.91;
            kg = from * 1016.04691;
            tonne = from * 1.01604691;
            break;
        case "gm":
            oz = from / 28.3495231;
            lb = from / 453.59237;
            stone = from / 6350.29318;
            sTon = from / 907184.74;
            lTon = from / 1016046.91;
            gm = from;
            kg = from / 1000;
            tonne = from / 1000000;
            break;
        case "kg":
            oz = from * 35.2739619;
            lb = from * 2.20462262;
            stone = from / 6.35029318;
            sTon = from / 907.18474;
            lTon = from / 1016.04691;
            gm = from * 1000;
            kg = from;
            tonne = from / 1000;
            break;
        case "tonne":
            oz = from * 35273.9619;
            lb = from * 2204.62262;
            stone = from * 157.473044;
            sTon = from * 1.10231131;
            lTon = from * 0.984206528;
            gm = from * 1000000;
            kg = from * 1000;
            tonne = from;
            break;
    }
    var presc = parseInt(document.getElementById("ddPrecision").value);
    document.getElementById("spnOz").innerHTML = RoundTo(oz, presc);
    document.getElementById("spnLb").innerHTML = RoundTo(lb, presc);
    document.getElementById("spnStone").innerHTML = RoundTo(stone, presc);
    document.getElementById("spnSTon").innerHTML = RoundTo(sTon, presc);
    document.getElementById("spnLTon").innerHTML = RoundTo(lTon, presc);
    document.getElementById("spnGm").innerHTML = RoundTo(gm, presc);
    document.getElementById("spnKg").innerHTML = RoundTo(kg, presc);
    document.getElementById("spnTonne").innerHTML = RoundTo(tonne, presc);
    if (runs == 1)
        LogUser("ConW");
    if (runs < 2)
        runs++;
}
function RoundTo(val, places)
{
    places = Math.pow(10, places);
    var n = Math.round(val * places) / places;
    n += '';
	x = n.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1))
	{
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

