﻿function convert(arg) 
{
    var count = $(arg).find(".textbox").size();
    var rsize = 7;
    var valueToConvert = 0;
    var isInvalid = false;


    $(arg).find(".textbox").each(function() {
        if ($(this).val() != null && $(this).val().length != 0) {
            for (var char_counter = 0; char_counter < $(this).val().length; char_counter++) {
                var ch = $(this).val().substring(char_counter, char_counter + 1);

                if ((ch < "0" || "9" < ch) && ch != '.') {
                    alert("Not a number: " + $(this).val());
                    isInvalid = true;
                    clearFields(arg);
                }
            }
            
            valueToConvert = $(this).val() / $(this).attr('factor');
        }
    });

    if (!isInvalid) {
        $(arg).find(".textbox").each(function() {
            $(this).val(formatvalue(valueToConvert * $(this).attr('factor'), rsize));
        });
    }
   
}

function clearFields(arg)
{
    $(arg).find(".textbox").val('');
}

function formatvalue(input, rsize) {
    var invalid = "**************************";
    var nines = "999999999999999999999999";
    input += '';
    if (input.length <= rsize) return input;
    if (strpos(input, 'e') != -1 ||
 eval(input) > eval(nines.substring(0, rsize) + ".4"))
        return invalid.substring(0, rsize);
    var rounded = "" + (eval(input) + (eval(input) - eval(input.substring(0, rsize))));
    return rounded.substring(0, rsize);
}

function strpos(str, ch) {
    for (var i = 0; i < str.length; i++)
        if (str.substring(i, i + 1) == ch) return i;
    return -1;
}

function clearform(form) {
    for (var i = 0; i < form.count; i++) form[i].value = "";
    return true;
}

function calculateTemp(arg) {
    var count = $(arg).find(".textbox").size();
    var rsize = 7;

    if ($('#temperature_f').val() != null && $('#temperature_f').val().length != 0) {
        $('#temperature_c').val((5 / 9) * ($('#temperature_f').val() - 32));
        $('#temperature_c').val(formatvalue($('#temperature_c').val(), rsize));
        $('#temperature_r').val((80 / 100) * (5 / 9) * ($('#temperature_f').val() - 32));
        $('#temperature_r').val(formatvalue($('#temperature_r').val(), rsize));
    }
    else if ($('#temperature_c').val() != null && $('#temperature_c').val().length != 0) {
        $('#temperature_f').val((9 * $('#temperature_c').val()) / 5 + 32);
        $('#temperature_f').val($('#temperature_f').val(), rsize);
        $('#temperature_r').val((80 / 100) * ($('#temperature_c').val()));
        $('#temperature_r').val(formatvalue($('#temperature_r').val(), rsize));
    }
    else {
        $('#temperature_f').val((9 * (100 / 80) * $('#temperature_r').val()) / 5 + 32);
        $('#temperature_f').val(formatvalue($('#temperature_f').val(), rsize));
        $('#temperature_c').val((100 / 80) * ($('#temperature_r').val()));
        $('#temperature_c').val(formatvalue($('#temperature_c').val(), rsize));
    }
}
