﻿// JScript File
var prev_text = '';

function formatPhone(txt)
{
    var raw = txt.value;
    if (raw == prev_text)
        return;
    if (raw.length > 14)
        return;
    var filtered = raw.replace(/\D/g, '');
    if (filtered.length == 0)
        txt.value = '';
    else
    {
        var padded = filtered;
        if (padded.length < 10)
            padded += new String('______________').substring(0, 10 - padded.length);
        padded = '(' + padded.substring(0, 3) + ')' + padded.substring(3, 6) + '-' + padded.substring(6, 10);
        txt.value = padded;
        var start = 0;
        if (filtered.length < 3)
            start = filtered.length + 1;
        else if (filtered.length < 6)
            start = filtered.length + 2;
        else
            start = filtered.length + 3;
        var end = (filtered.length > 9) ? 0 : 1;
        if (txt.createTextRange == undefined)
        {
            txt.setSelectionRange(start, start + end);
        }
        else
        {
            var tr = txt.createTextRange();
            tr.collapse(true);
            tr.moveEnd('character', start + end);
            tr.moveStart('character', start);
            tr.select();
        }
    }
    prev_text = txt.value;
}

function formatPhoneShort(txt)
{
    var raw = txt.value;
    if (raw == prev_text)
        return;
    if (raw.length > 9)
        return;
    var filtered = raw.replace(/\D/g, '');
    if (filtered.length == 0)
        txt.value = '';
    else
    {
        var padded = filtered;
        if (padded.length < 7)
            padded += new String('______________').substring(0, 7 - padded.length);
        padded = padded.substring(0, 3) + '-' + padded.substring(3, 7);
        txt.value = padded;
        var start = 0;
        if (filtered.length < 3)
            start = filtered.length;
        else 
            start = filtered.length + 1;
        var end = (filtered.length > 6) ? 0 : 1;
        if (txt.createTextRange == undefined)
        {
            txt.setSelectionRange(start, start + end);
        }
        else
        {
            var tr = txt.createTextRange();
            tr.collapse(true);
            tr.moveEnd('character', start + end);
            tr.moveStart('character', start);
            tr.select();
        }
    }
    prev_text = txt.value;
}
