MetricConverter

Allow the instant conversion of metrics on /r/Fitness (Box on the bottom right)

// ==UserScript==
// @name          MetricConverter
// @description   Allow the instant conversion of metrics on /r/Fitness (Box on the bottom right)
// @author                Scarwolf
// @include       http://www.reddit.com/r/Fitness/*
// @include       http://www.reddit.com/r/Fitness
// @version       1.1
// @namespace https://greasyfork.org/users/7891
// ==/UserScript==
 
 
var MetricConverter = document.createElement('div');
document.body.appendChild(MetricConverter);
MetricConverter.id = "MetricConverter";
 
MetricConverter.style.position = 'fixed';
MetricConverter.style.bottom = '0';
MetricConverter.style.right = '50px';
MetricConverter.style.width = '300px';
MetricConverter.style.height = '30px';
MetricConverter.style.backgroundColor = '#E7E7E7';
MetricConverter.style.paddingLeft = '7px';
MetricConverter.style.border = 'thin solid black';
MetricConverter.style.borderWidth = '1px 1px 0px 1px';
MetricConverter.innerHTML = "Convert Metrics: ";
 
var inputField = document.createElement('input');
inputField.type = 'text';
inputField.id = 'MCInput';
inputField.style.marginTop = '8px';
inputField.size = '5';
MetricConverter.appendChild(inputField);
 
var toSpan = document.createElement('span');
toSpan.innerHTML = ' -> ';
MetricConverter.appendChild(toSpan);
 
var inputField2 = document.createElement('input');
inputField2.type = 'text';
inputField2.id = 'MCInput2';
inputField2.style.marginTop = '8px';
inputField2.size = '5';
MetricConverter.appendChild(inputField2);
 
var goButton = document.createElement('button');
goButton.style.marginLeft = '7px';
goButton.id = 'MCGoButton';
goButton.innerHTML = 'GO';
goButton.onclick = MCConvert;
MetricConverter.appendChild(goButton);
 
function roundit(which){
    return Math.round(which*100)/100
}
 
function FeetToCm(val){
    return roundit(val*30.48);
}
function CmToFeet(val){
        return roundit(val/30.84);
}
 
function KgToLbs(val){
        return roundit(val*2.2046);
}
 
function LbsToKg(val){
        return roundit(val/2.2046);
}
 
function determineMetric(value){
    var type = -1;
    if(value.indexOf("lbs") != -1)type = 1;
    else if(value.indexOf("kg") != -1)type = 2;
        else if(value.indexOf("ft") != -1)type = 3;
        else if(value.indexOf("cm") != -1)type = 4;
            return type;
}
 
function MCConvert(){
    var MCgetValue = document.getElementById("MCInput").value;
    if(determineMetric(MCgetValue) == -1){
                alert("There was an error with your value. Please write write one of the following after your value into the input box: lbs, kg, ft, cm.\n\nAlso your values have to be floating numbers, so as an example you have to write 6.1ft instead of 6\x221'.\n\nExamples of possible values:\n180cm\n6.1ft\n114kg\n250lbs");
    }
    else {
        var type = determineMetric(MCgetValue);
        var parseVal = parseFloat(MCgetValue);
        if(type == 1) {
                        document.getElementById("MCInput2").value = LbsToKg(parseVal) + "kg";
                }
        if(type == 2) {
                        document.getElementById("MCInput2").value = KgToLbs(parseVal) + "lbs";
                }
        if(type == 3) {
            document.getElementById("MCInput2").value = FeetToCm(parseVal) + "cm";
        }
        if(type == 4) {
                        document.getElementById("MCInput2").value = CmToFeet(parseVal) + "ft";
                }
    }
    return 0;
}