var zChar = [' ', '(', ')', '-', '.'];
var maxphonelength = 13;
var phonevalue1;
var phonevalue2;
var cursorposition;
function ParseForNumber1(object) {
    phonevalue1 = ParseChar(object.value, zChar);
}
function ParseForNumber2(object) {
    phonevalue2 = ParseChar(object.value, zChar);
}
function backspacerUP(object, e) {
    if (e) {
        e = e;
    } else {
        e = window.event;
    }
    if (e.which) {
        var keycode = e.which;
    } else {
        var keycode = e.keyCode;
    }
    ParseForNumber1(object);
    if (keycode >= 48) {
        ValidatePhone(object);
    }
}
function backspacerDOWN(object, e) {
    if (e) {
        e = e;
    } else {
        e = window.event;
    }
    if (e.which) {
        var keycode = e.which;
    } else {
        var keycode = e.keyCode;
    }
    ParseForNumber2(object);
}
function GetCursorPosition() {
    var t1 = phonevalue1;
    var t2 = phonevalue2;
    var bool = false;
    for (i = 0; i < t1.length; i++) {
        if (t1.substring(i, 1) != t2.substring(i, 1)) {
            if (!bool) {
                cursorposition = i;
                bool = true;
            }
        }
    }
}
function ValidatePhone(object) {
    var p = phonevalue1;
    p = p.replace(/[^\d]*/gi, "");
    if (p.length < 3) {
        object.value = p;
    } else if (p.length == 3) {
        pp = p;
        d4 = p.indexOf('(');
        d5 = p.indexOf(')');
        if (d4 == -1) {
            pp = "(" + pp;
        }
        if (d5 == -1) {
            pp = pp + ")";
        }
        object.value = pp;
    } else if (p.length > 3 && p.length < 7) {
        p = "(" + p;
        l30 = p.length;
        p30 = p.substring(0, 4);
        p30 = p30 + ")";
        p31 = p.substring(4, l30);
        pp = p30 + p31;
        object.value = pp;
    } else if (p.length >= 7) {
        p = "(" + p;
        l30 = p.length;
        p30 = p.substring(0, 4);
        p30 = p30 + ")";
        p31 = p.substring(4, l30);
        pp = p30 + p31;
        l40 = pp.length;
        p40 = pp.substring(0, 8);
        p40 = p40 + "-";
        p41 = pp.substring(8, l40);
        ppp = p40 + p41;
        object.value = ppp.substring(0, maxphonelength);
    }
    GetCursorPosition();
    if (cursorposition >= 0) {
        if (cursorposition === 0) {
            cursorposition = 2;
        } else if (cursorposition <= 2) {
            cursorposition = cursorposition + 1;
        } else if (cursorposition <= 5) {
            cursorposition = cursorposition + 2;
        } else if (cursorposition == 6) {
            cursorposition = cursorposition + 2;
        } else if (cursorposition == 7) {
            cursorposition = cursorposition + 4;
            e1 = object.value.indexOf(')');
            e2 = object.value.indexOf('-');
            if (e1 > -1 && e2 > -1) {
                if (e2 - e1 == 4) {
                    cursorposition = cursorposition - 1;
                }
            }
        } else if (cursorposition < 11) {
            cursorposition = cursorposition + 3;
        } else if (cursorposition == 11) {
            cursorposition = cursorposition + 1;
        } else if (cursorposition >= 12) {
            cursorposition = cursorposition;
        }
        var txtRange = object.createTextRange();
        txtRange.moveStart("character", cursorposition);
        txtRange.moveEnd("character", cursorposition - object.value.length);
        txtRange.select();
    }
}
function ParseChar(sStr, sChar) {
    if (sChar.length === null) {
        zChar = [sChar];
    } else {
        zChar = sChar;
    }
    for (i = 0; i < zChar.length; i++) {
        sNewStr = "";
        var iStart = 0;
        var iEnd = sStr.indexOf(sChar[i]);
        while (iEnd != -1) {
            sNewStr += sStr.substring(iStart, iEnd);
            iStart = iEnd + 1;
            iEnd = sStr.indexOf(sChar[i], iStart);
        }
        sNewStr += sStr.substring(sStr.lastIndexOf(sChar[i]) + 1, sStr.length);
        sStr = sNewStr;
    }
    return sNewStr;
}