﻿function byId(t) {
    return document.getElementById(t);
}
function check(o) {
    //document.getElementById("relocval").innerHTML = o.checked;
    if (o.checked == true) {
        nm = o.name;
        var boxes = document.getElementsByName(nm);
        var nl = boxes.length;
        for (var i = 0; i < nl; i++) {
            if (boxes[i] != o) {
                boxes[i].checked = false;
            }
        }
    }
}
function vcheck(nm) {
    var v = "";
    var boxes = document.getElementsByName(nm);
    var nl = boxes.length;
    for (var i = 0; i < nl; i++) {
        if (boxes[i].checked == true) {
            v = boxes[i].value;
        }
    }
    return v;
}
function setcheck(nm, v) {
    var boxes = document.getElementsByName(nm);
    var nl = boxes.length;
    for (var i = 0; i < nl; i++) {
        if (boxes[i].value == v) {
            boxes[i].checked = true;
        }
    }
}
function dollars(d) {
    var v = d.toString();
    var l = v.length;
    if (l > 6) return "$" + v.substr(0, l - 6) + "," + v.substr(1, 3) + "," + v.substr(4);
    else if (l > 3) return "$" + v.substr(0, l - 3) + "," + v.substr(l - 3);
    else return "$" + v;
}
function nvalue(d) {
    var s = "";
    if (d.length == 0) s = "0";
    else {
        for (var i = 0; i < d.length; i++) {
            if (d.charCodeAt(i) >= 48 && d.charCodeAt(i) <= 57) s += d.charAt(i);
        }
    }
    return parseInt(s);
}
function formatPhone(n) {
    var space = document.getElementById(n);
    var tn = space.value;
    tel = '';
    var val = removeNonNumeric(tn).split('');
    for (var i = 0; i < val.length; i++) {
        if (i == 0) { val[i] = '(' + val[i] }
        if (i == 2) { val[i] = val[i] + ')' }
        if (i == 5) { val[i] = val[i] + '-' }
        tel = tel + val[i]
    }
    space.value = tel;
}
function removeNonNumeric(s) {
    val = s.split('');
    var t = '';
    for (var i = 0; i < val.length; i++) {
        if (val[i] >= '0' && val[i] <= '9') {
            t = t + val[i];
        }
    }
    return t;
}
function validateEmail(n, bg) {
    var ok = true;
    var spot = document.getElementById(n);
    var en = spot.value;
    var comp = en.split("@");
    if (comp.length < 2) ok = false;
    else {
        var dom = comp[1].split(".");
        if (dom.length < 2) ok = false;
        else {
            if (dom[1].length < 2) ok = false;
        }
    }
    if (!ok) {
        spot.style.border = "solid 2px red";
        //spot.focus();
    }
    else {
        spot.style.border = bg;
    }
    return ok;
}
function validateDollars(n, bg) {
    var ok = true;
        var spot = document.getElementById(n);
        var en = spot.value;
        if (en != "") {
            var parts = en.split(".");
            var front = parts.length > 0 ? parts[0].replace("$", "").replace(/,/g, "") : "0";
            var back = parts.length > 1 ? parts[1].substring(0, 2) : "00";
            if (front != removeNonNumeric(front) || back != removeNonNumeric(back) || parts.length > 2) ok = false;
            if (!ok) {
                spot.style.border = "solid 2px red";
                //spot.focus();
            }
            else {
                spot.style.border = bg;
                //spot.value = "$" + commas(front) + "." + back;
                spot.value = "$" + commas(front);
            }
        }
    return ok;
}
function commas(v) {
    var l = v.length;
    var g = parseInt((l + 2) / 3);
    var sep = "";
    var s = "";
    var seg = Array();
    for (var i = (g - 1); i >= 0; i--) {
        seg[i] = (l >= 3) ? 3 : l;
        l = l - 3;
    }
    var x = 0;
    for (var i = 0; i < g; i++) {
        s += sep+v.substring(x, x+seg[i]);
        sep = ",";
        x = x + seg[i];
    }
    return s;
}
function validatePercent(n, bg) {
    var ok = true;
    var spot = document.getElementById(n);
    var en = spot.value;
    if (en != "") {
        var parts = en.split(".");
        var front = parts.length > 0 ? parts[0].replace("%", "").replace(/,/g, "") : "0";
        var back = parts.length > 1 ? parts[1].substring(0, 2) : "00";
        if (front != removeNonNumeric(front) || back != removeNonNumeric(back) || parts.length > 2) ok = false;
        if (!ok) {
            spot.style.border = "solid 2px red";
            //spot.focus();
        }
        else {
            spot.style.border = bg;
            //spot.value = "$" + commas(front) + "." + back;
            spot.value = commas(front) + "%";
        }
    }
    return ok;
}
function nonEmpty(ids, bg) {
    var ok = true;
    for (var k = 0; k < ids.length; k++) {
        var elm = document.getElementById(ids[k]);
        if (elm.value == "") {
        	if(elm.tagName=="SELECT")
        		{
        		elm.style.backgroundColor="red";
        		}
        	else{
            elm.style.border = "solid 1px red";
        	}
            elm.focus();
            ok = false;
        }
        else {
        	if(elm.tagName=="SELECT"){
        		elm.style.backgroundColor="White";
        		}
        	else{
            elm.style.border = bg;
        	}
        }
    }
    return ok;
}
function isin(e, collection) {
    for (var i = 0; i < collection.length; i++) {
        if (e == collection[i]) return true;
    }
    return false;
}
function numericOnly(e) {
    var key = (e.which) ? e.which : e.keyCode;
    if (key == 8 || key == 9) return true;
    if (key != 46 && (key < 48 || key > 57)) return false;
    else return true;
}
//format t.value to $ (add $ and ,)
function tb2Dollars(t) {
    if (t.value == "") return;
    t.value =  str2Dollars(t.value);
}
function str2Dollars(s) {
    if (s == "") return s;
    var n = s.replace("$", "").replace(",", "").split(".");
    if (n.length > 1) {
        if (parseInt(n[1].substring(0, 1)) >= 5) n[0]++;
    }
    var v = "";
    var k = 0;
    var ov = parseInt(n[0]).toString();
    for (var i = ov.length - 1; i >= 0; i--) {
        v = ov.charAt(i) + v;
        k++;
        if (k == 3 && i != 0) {
            v = "," + v;
            k = 0
        }
    }
    return "$" + v;
}
//extract the decimal value of a textbox (object or id) (removes $ and ,)
function valueOf(t) {
    if (typeof (t) === "string") t = byId(t);
    if (t.value == "") return t.value;
    return t.value.replace("$", "").replace(",", "").replace("%", "");

}

function tb2Percent(t) {
    if (t.value == "") return;
    t.value = str2Percent(t.value);
}
function str2Percent(s) {
    if (s == "") return s;
    var n = s.replace("%", "").replace(",", "").split(".");
    if (n.length > 1) {
        if (parseInt(n[1].substring(0, 1)) >= 5) n[0]++;
    }
    var v = "";
    var k = 0;
    var ov = parseInt(n[0]).toString();
    for (var i = ov.length - 1; i >= 0; i--) {
        v = ov.charAt(i) + v;
        k++;
        if (k == 3 && i != 0) {
            v = "," + v;
            k = 0
        }
    }
    return v+"%";
}
function noback(e) {
    var key = (e.which) ? e.which : e.keyCode;
    if (key == 13 || key == 8) return false;
    else return true;
}
function entered(e,go) {
    if (e.keyCode == 13) {
        go();
        return false;
    }
    else {
        return true;
    }
}

