﻿function SetEnd(isField) {
    if (isField.createTextRange) {
        var FieldRange = isField.createTextRange();
        FieldRange.moveStart('character', isField.value.length);
        FieldRange.collapse();
        FieldRange.select();
    }
}
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 phoneNumber(isField, errorLb, type) {
    //alert(isField.id);
    isPhone = isField.value;
    if (isPhone.length == 0) {
        //document.getElementById(errorLb).innerText = "Zero Length for " + isField.id; 
        document.getElementById(errorLb).innerText = "";
        return;
    }
    //remove all the ( ) - from strings
    isPhone = isPhone.replace(/\)/g, '');
    isPhone = isPhone.replace(/\(|-|' '/g, '');




    if (isPhone.length == 10) {

        if (isPhone.match(/\d{10}/)) {

            isPhone = isPhone.replace(/^(\d{3})(\d{3})/, '$1-$2-');
            isField.value = isPhone;
            document.getElementById(errorLb).innerText = "";    
        }
        else if (isPhone.match(/\d{3}[a-z0-9]{7}/)) {
        
            isField.value = convertPhone(isPhone).replace(/^(\d{3})(\d{3})/, '$1-$2-');
            document.getElementById(errorLb).innerText = "";

        }
        else {
            if (type == "R") {
                
                document.getElementById(errorLb).innerText = "Invalid Phone Number";
                SetEnd(isField);
                isField.select();
                isField.focus();
            }
            else {
                isField.value = "";
                document.getElementById(errorLb).innerText = "";
            }
        }
    }
    else if (isPhone.length == 12) {


        //if(isField.value.match(/\d{3}-\d{3}-\d{4}/) )
        if (isPhone.match(/\d{3}-\d{3}-\d{4}/)) {

            isField.value = isPhone;
            document.getElementById(errorLb).innerText = "";
        }
        else if (isPhone.match(/\d{3}-[a-z0-9]{3}-[a-z0-9]{4}/)) {
            isField.value = convertPhone(isPhone);
            document.getElementById(errorLb).innerText = "";
        }
        else {
            
            document.getElementById(errorLb).innerText = "Invalid Phone Number";
            SetEnd(isField);
            isField.select();
                            isField.focus();
        }
    }
    else {

        if (type == "R") {
           
            document.getElementById(errorLb).innerText = "Invalid Phone Number";
            SetEnd(isField);
            isField.select();
                            isField.focus();
        }
        else {
            isField.value = "";
            document.getElementById(errorLb).innerText = "";
        }
    }
}


function convertPhone(pn) {
    sText = pn;
    var str = "22233344455566677778889999";
    var idx = pn.length;
    var Char;
    var newChar = "";
    var index;

    for (i = 0; i < idx; i++) {
        Char = sText.charAt(i).toUpperCase();
        if (Char.charCodeAt(0) > 64 & Char.charCodeAt(0) < 91) {
            index = (Char.charCodeAt(0) - 65);
            newChar = newChar + str.charAt(index);
        }
        else {
            newChar = newChar + Char;
        }
    }
    return newChar;
}

function formatFEIN(isField, errorLb) {

    isFEIN = isField.value;

    if (isFEIN.length == 0) {
        //document.getElementById(errorLb).innerText = "Zero Length for " + isField.id; 
        document.getElementById(errorLb).innerText = "";
        return;
    }

    isFEIN = isFEIN.replace(/\)/g, '');
    isFEIN = isFEIN.replace(/\(|-/g, '');

    if (isFEIN.length == 9) {

        if (isFEIN.match(/\d{9}/)) {

            isFEIN = isFEIN.replace(/^(\d{2})/, '$1-');
            isField.value = isFEIN;

            document.getElementById(errorLb).innerText = "";
        }

        else {


            document.getElementById(errorLb).innerText = "Invalid FEIN Number";
            SetEnd(isField);
            isField.select();
            isField.focus();

        }
    } else {
        document.getElementById(errorLb).innerText = "Invalid FEIN Number";
        SetEnd(isField);
        isField.select();
        isField.focus();
    }

}

