﻿function SetUp()
{
    document.getElementById("_txtFrom").value = Math.floor(Math.random() * 800) + 100;
    ConvertLengths();
}
var runs = 0;
function ConvertLengths()
{
    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 inch = 0;
    var feet = 0;
    var yard = 0;
    var mile = 0;
    var mm = 0;
    var cm =0;
    var m = 0;
    var km = 0;
    switch (fromUnit)
    {
        case "inch":
            inch = from;
            feet = from / 12;
            yard = from / 36;
            mile = from / 63360;
            mm = from * 25.4;
            cm = from * 2.54;
            m = from / 39.3700787;
            km = from /39370.0787;
            break;
        case "feet":
            inch = from * 12;
            feet = from;
            yard = from / 3;
            mile = from / 5280;
            mm = from * 304.8;
            cm = from * 30.48;
            m = from / 3.2808399;
            km = from / 3280.8399;
            break;
        case "yard":
            inch = from * 36;
            feet = from * 3;
            yard = from;
            mile = from / 1760;
            mm = from * 914.4;
            cm = from * 91.44;
            m = from * 0.9144;
            km = from / 1093.6133;
            break;
        case "mile":
            inch = from * 63360;
            feet = from * 5280;
            yard = from * 1760;
            mile = from;
            mm = from * 1609344 ;
            cm = from * 160934.4;
            m = from * 1609.344;
            km = from * 1.609344;
            break;
        case "mm":
            inch = from / 25.4;
            feet = from / 304.8;
            yard = from / 914.4; 
            mile = from / 1609344;
            mm = from;
            cm = from / 10;
            m = from / 1000;
            km = from / 1000000;
            break;
        case "cm":
            inch = from / 2.54;
            feet = from / 30.48;
            yard = from / 91.44;
            mile = from / 160934.4;
            mm = from * 10;
            cm = from;
            m = from / 100;
            km = from / 100000;
            break;
        case "m":
            inch = from * 39.3700787;
            feet = from * 3.2808399;
            yard = from * 1.0936133;
            mile = from / 1609.344;
            mm = from * 1000;
            cm = from * 100;
            m = from;
            km = from / 1000;
            break;
        case "km":
            inch = from * 39370.0787;
            feet = from * 3280.8399;
            yard = from * 1093.6133;
            mile = from / 1.609344;
            mm = from * 1000000;
            cm = from * 100000;
            m = from * 1000;
            km = from;
            break;
    }
    var presc = parseInt(document.getElementById("ddPrecision").value);
    document.getElementById("spnInch").innerHTML = RoundTo(inch, presc);
    document.getElementById("spnFeet").innerHTML = RoundTo(feet, presc);
    document.getElementById("spnYard").innerHTML = RoundTo(yard, presc);
    document.getElementById("spnMile").innerHTML = RoundTo(mile, presc);
    document.getElementById("spnMm").innerHTML = RoundTo(mm, presc);
    document.getElementById("spnCm").innerHTML = RoundTo(cm, presc);
    document.getElementById("spnM").innerHTML = RoundTo(m, presc);
    document.getElementById("spnKm").innerHTML = RoundTo(km, presc);
    if (runs == 1)
        LogUser("ConL");
    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;
}

