//libShare.js
//Javascript forms functions library

function writeReason(to, msg, select)
        {
        var p = (prompt(msg,select));
        to.value = p;
        }
        
function removeBad(form, fld)
        {
        var a = document.forms[form].elements[fld].value;

        a = a.replace(/\</g, "");
        a = a.replace(/\>/g, "");
        a = a.replace(/\"/g, "");
        //a = a.replace(/\'/g, "");
        a = a.replace(/\%/g, "");
        a = a.replace(/\;/g, "");
        a = a.replace(/\(/g, "");
        a = a.replace(/\)/g, "");
        a = a.replace(/\&/g, "");
        a = a.replace(/\+/g, "");

        document.forms[form].elements[fld].value = a;
        }

function removeSomeBad(form, fld)
        {
        var a = document.forms[form].elements[fld].value;

        a = a.replace(/\</g, "");
        a = a.replace(/\>/g, "");
        a = a.replace(/\"/g, "");
        a = a.replace(/\'/g, "");
        a = a.replace(/\%/g, "");
        a = a.replace(/\;/g, "");
        a = a.replace(/\&/g, "");

        document.forms[form].elements[fld].value = a;
        }

function toUpp(form, fld)
        {
        document.forms[form].elements[fld].value = document.forms[form].elements[fld].value.toUpperCase();
        }

function toLow(form, fld)
        {
        document.forms[form].elements[fld].value = document.forms[form].elements[fld].value.toLowerCase();
        }

function toCap(form, fld)
        {
        var pattern = /([A-Za-z0-9\-])([\-\'A-Za-z0-9]*)/; // a letter, and then one, none or more letters including apostrophe(')

        if (pattern.test(document.forms[form].elements[fld].value))
                {
                var a = document.forms[form].elements[fld].value.split(/\s+/g); // split the sentence into an array of words

                for (i = 0 ; i < a.length ; i ++ )
                        {
                        var parts = a[i].match(pattern); // just a temp variable to store the fragments in.
                        var firstLetter = parts[1].toUpperCase();
                        var restOfWord = parts[2].toLowerCase();

                        a[i] = firstLetter + restOfWord; // re-assign it back to the array and move on
                        }

                document.forms[form].elements[fld].value = a.join(' '); // join it back together
                }
        else
                document.forms[form].elements[fld].value = '';
        }

function toFloat(c)
        {
        var dc = ".";
        var gc = ",";
        var nc = "(";
        var n = Math.abs(Math.round(c * 100));
        var s = ((n < 10)?"00":((n < 100)?"0":"")) + n;
        s = ((c < 0)?nc:"") + grp(s.substring(0,(s.length - 2))) + dc + s.substring((s.length - 2), s.length)+((c < 0&&nc=="(")?")":"");
        return s;
        }
        
function toReal(c)
        {
        var dc = ".";
        var n = Math.abs(Math.round(c * 100));
        var s = ((n < 10)?"00":((n < 100)?"0":"")) + n;
        s = grp_real(s.substring(0,(s.length - 2))) + dc + s.substring((s.length - 2), s.length);
        return s;
        }

function toCurr(c, u)
        {
        var dc = ".";
        var gc = ",";
        var nc = "(";
        var n = Math.abs(Math.round(c * 100));
        var s = ((n < 10)?"00":((n < 100)?"0":"")) + n;
        s = u + ((c < 0)?nc:"") + grp(s.substring(0,(s.length - 2))) + dc + s.substring((s.length - 2), s.length)+((c < 0&&nc=="(")?")":"");
        return s;
        }

function grp(s)
        {
        var gc = ",";
        return (s.length < 4)?s:(grp(s.substring(0,s.length - 3)) + gc + s.substring(s.length - 3,s.length));
        }

function grp_real(s)
        {
        return (s.length < 4)?s:(grp_real(s.substring(0,s.length - 3)) + s.substring(s.length - 3,s.length));
        }


