function formatToMask(strValue, strMask) {
    var i;

    var intValueIndex = 0;
    var intMaskIndex = 0;

    var sample = "0123456789";

    var strValueComplete = new String(strValue);
    var strValueStripped = new String("");
    var strOutput = new String("");

    var strCharacter = new String("");

    // This part strips out all non-numeric characters
    for (i = 0; i < strValueComplete.length; i++) {

        if (sample.indexOf(strValueComplete.substr(i, 1)) != -1) {
            strValueStripped += strValueComplete.substr(i, 1);
        }

    }

    if (strValueStripped == "") {
        return "";
    }


    for (i = 0; i < strMask.length; i++) {
        strCharacter = strMask.substr(i, 1)
        if (strCharacter != "^" && strCharacter != "~" && strCharacter != "*") {

            strOutput += strCharacter;

        }

        // Output a character from the value stripped string
        if (strCharacter == "^") {

            if (intValueIndex >= strValueStripped.length) {
                return strOutput;
            }

            strOutput += strValueStripped.substr(intValueIndex, 1);
            intValueIndex++;

        }

        // If the value stripped string has been run through then
        // stop processing the mask
        if (strCharacter == "*") {

            if (intValueIndex >= strValueStripped.length) {
                return strOutput;
            }

        }

        // Write out the rest of the value stripped string
        if (strCharacter == "~") {


            for (i = intValueIndex; i < strValueStripped.length; i++) {
                strOutput += strValueStripped.substr(i, 1);
            }
            return strOutput;
        }

    }

    return strOutput;
}


function ltrim(strTrim) {
    var str = new String(strTrim);
    var retstr = new String("");
    for (k = 0; k < str.length; k++) {
        if (str.charAt(k) != " ") {
            retstr = str.substr(k);
            break;
        }
    }
    return retstr;
}


function rtrim(strTrim) {
    var str = new String(strTrim);
    var retstr = new String("");
    for (k = str.length - 1; k >= 0; k--) {
        if (str.charAt(k) != " ") {
            retstr = str.substr(0, k + 1);
            break;
        }
    }
    return retstr;
}

function trim(strTrim) {
    var x = new String(strTrim)
    x = ltrim(x)
    x = ytrim(x)
    return x;
}



function replace_norm(ser, strFind, rep) {
    var y = new Array()
    var i
    var mainString = new String(ser)
    var newStr = new String("")
    var strSearch = new String(strFind)
    var strReplace = new String(rep)

    y = mainString.split(strSearch)

    for (i = 0; i < y.length; i++) {
        newStr = newStr + y[i] + strReplace

    }
    newStr = newStr.substr(0, newStr.length - strReplace.length)

    return newStr;

}
