﻿// Removes leading whitespaces
function LTrim(value) {

    var re = /\s*((\S+\s*)*)/;
    return value.replace(re, "$1");

}

// Removes ending whitespaces
function RTrim(value) {

    var re = /((\s*\S+)*)\s*/;
    return value.replace(re, "$1");

}

// Removes leading and ending whitespaces
function trim(value) {

    return LTrim(RTrim(value));

}
function IsNumeric(sText) {
    var ValidChars = "0123456789.";
    var IsNumber = true;
    var Char;


    for (i = 0; i < sText.length && IsNumber == true; i++) {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) == -1) {
            IsNumber = false;
        }
    }
    return IsNumber;

}

function validate() {
    var txtNoCallsPerHour = document.getElementById("txtNoCallsPerHour");
    var txtNoHoldsPerHour = document.getElementById("txtNoHoldsPerHour");
    var txtAvgHoldTime = document.getElementById("txtAvgHoldTime");
    var txtHoursOpenPerWeek = document.getElementById("txtHoursOpenPerWeek");

    if (trim(txtNoCallsPerHour.value) == "") {
        alert("Please enter # of Calls Per Hour.");
        return false;
    }
    else if (trim(txtNoCallsPerHour.value) != "") {
        if (!IsNumeric(txtNoCallsPerHour.value)) {
            alert("Invalid # of Calls Per Hour.");
            return false;
        }
    }

    if (trim(txtNoHoldsPerHour.value) == "") {
        alert("Please enter # of Holds Per Hour.");
        return false;
    }
    else if (trim(txtNoHoldsPerHour.value) != "") {
        if (!IsNumeric(txtNoHoldsPerHour.value)) {
            alert("Invalid # of Holds Per Hour.");
            return false;
        }
    }

    if (trim(txtAvgHoldTime.value) == "") {
        alert("Please enter Average Hold Time.");
        return false;
    }
    else if (trim(txtAvgHoldTime.value) != "") {
        if (!IsNumeric(txtAvgHoldTime.value)) {
            alert("Invalid Average Hold Time.");
            return false;
        }
    }

    if (trim(txtHoursOpenPerWeek.value) == "") {
        alert("Please enter Hours Open Per Week.");
        return false;
    }
    else if (trim(txtHoursOpenPerWeek.value) != "") {
        if (!IsNumeric(txtHoursOpenPerWeek.value)) {
            alert("Invalid Hours Open Per Week.");
            return false;
        }
    }

    var txtHTPHour = document.getElementById("txtHTPHour");
    var txtHTPWeek = document.getElementById("txtHTPWeek");
    var txtHTPMonth = document.getElementById("txtHTPMonth");

    var a = 0.00, b = 0.00, c = 0.00;
    a = parseFloat(txtNoHoldsPerHour.value) * parseFloat(txtAvgHoldTime.value)
    txtHTPHour.innerHTML = (a / 60).toFixed(2) + " Minutes";
    txtHTPWeek.innerHTML = (parseFloat(txtHTPHour.innerHTML) * parseFloat(txtHoursOpenPerWeek.value)).toFixed(2) + " Minutes";
    txtHTPMonth.innerHTML = (parseFloat(txtHTPWeek.innerHTML) * 4).toFixed(2) + " Minutes";
    return false;
}
function reset() {
    var texts = document.getElementsByTagName('input');
    for (var i_tem = 0; i_tem < texts.length; i_tem++)
        if (texts[i_tem].type == 'text')
        texts[i_tem].value = '';

}