﻿
    // Java script for Phone Number
    // Start  Here
    // [dFilter] - A Numerical Input Mask for JavaScript
    // Written By Dwayne Forehand - March 27th, 2003
    // Please reuse & redistribute while keeping this notice.

    var dFilterStep

    function dFilterStrip(dFilterTemp, dFilterMask) {

        dFilterMask = replace(dFilterMask, '#', '');
        for (dFilterStep = 0; dFilterStep < dFilterMask.length++; dFilterStep++) {
            dFilterTemp = replace(dFilterTemp, dFilterMask.substring(dFilterStep, dFilterStep + 1), '');
        }
        return dFilterTemp;
    }

    function dFilterMax(dFilterMask) {

        dFilterTemp = dFilterMask;
        for (dFilterStep = 0; dFilterStep < (dFilterMask.length + 1); dFilterStep++) {
            if (dFilterMask.charAt(dFilterStep) != '#') {
                dFilterTemp = replace(dFilterTemp, dFilterMask.charAt(dFilterStep), '');
            }
        }
        return dFilterTemp.length;
    }

    function dFilter(key, textbox, dFilterMask) {
    
        dFilterNum = dFilterStrip(textbox.value, dFilterMask);

        if (key == 9) {
            return true;
        }
        else if (key == 8 && dFilterNum.length != 0) {
            dFilterNum = dFilterNum.substring(0, dFilterNum.length - 1);
        }
        else if (((key > 47 && key < 58) || (key > 95 && key < 106)) && dFilterNum.length < dFilterMax(dFilterMask)) {
            if (key >= 96 && key <= 105) { key = key - 48; }
            dFilterNum = dFilterNum + String.fromCharCode(key);
        }

        var dFilterFinal = '';
        for (dFilterStep = 0; dFilterStep < dFilterMask.length; dFilterStep++) {
            if (dFilterMask.charAt(dFilterStep) == '#') {
                if (dFilterNum.length != 0) {
                    dFilterFinal = dFilterFinal + dFilterNum.charAt(0);
                    dFilterNum = dFilterNum.substring(1, dFilterNum.length);
                }
                else {
                    dFilterFinal = dFilterFinal + "";
                }
            }
            else if (dFilterMask.charAt(dFilterStep) != '#') {
                dFilterFinal = dFilterFinal + dFilterMask.charAt(dFilterStep);
            }
            //		    dFilterTemp = replace(dFilterTemp,dFilterMask.substring(dFilterStep,dFilterStep+1),'');
        }

        if (dFilterFinal == '() -') {
            textbox.value = '';
        }
        else {
            textbox.value = dFilterFinal;
        }
        return false;
    }

    function replace(fullString, text, by) {

        // Replaces text with by in string
        var strLength = fullString.length, txtLength = text.length;
        if ((strLength == 0) || (txtLength == 0)) return fullString;

        var i = fullString.indexOf(text);
        if ((!i) && (text != fullString.substring(0, txtLength))) return fullString;
        if (i == -1) return fullString;

        var newstr = fullString.substring(0, i) + by;

        if (i + txtLength < strLength)
            newstr += replace(fullString.substring(i + txtLength, strLength), text, by);

        return newstr;
    }

function ZipCode( textbox ) 
{
        var LimitCheck;
        LimitCheck = textbox.value.length;
       
         if( LimitCheck == 6 )
         {
           
            textbox.value = textbox.value.substring(0,5);
         }
}
function ZipCodeFilter(key, textbox, dFilterMask) {

        dFilterNum = dFilterStrip(textbox.value, dFilterMask);

        if (key == 9) {
            return true;
        }
        else if (key == 8 && dFilterNum.length != 0) {
            dFilterNum = dFilterNum.substring(0, dFilterNum.length - 1);
        }
        else if (((key > 47 && key < 58) || (key > 95 && key < 106)) && dFilterNum.length < dFilterMax(dFilterMask)) {
            if (key >= 96 && key <= 105) { key = key - 48; }
            dFilterNum = dFilterNum + String.fromCharCode(key);
        }

        var dFilterFinal = '';
        for (dFilterStep = 0; dFilterStep < dFilterMask.length; dFilterStep++) {
            if (dFilterMask.charAt(dFilterStep) == '#') {
                if (dFilterNum.length != 0) {
                    dFilterFinal = dFilterFinal + dFilterNum.charAt(0);
                    dFilterNum = dFilterNum.substring(1, dFilterNum.length);
                }
                else {
                    dFilterFinal = dFilterFinal + "";
                }
            }
            else if (dFilterMask.charAt(dFilterStep) != '#') {
                dFilterFinal = dFilterFinal + dFilterMask.charAt(dFilterStep);
            }
            //		    dFilterTemp = replace(dFilterTemp,dFilterMask.substring(dFilterStep,dFilterStep+1),'');
        }

        if (dFilterFinal == '-') {
            textbox.value = '';
        }
        else {
            textbox.value = dFilterFinal;
        }
        return false;
    }
    
    function SSNFilter(key, textbox, dFilterMask) {

        dFilterNum = dFilterStrip(textbox.value, dFilterMask);

        if (key == 9) {
            return true;
        }
        else if (key == 8 && dFilterNum.length != 0) {
            dFilterNum = dFilterNum.substring(0, dFilterNum.length - 1);
        }
        else if (((key > 47 && key < 58) || (key > 95 && key < 106)) && dFilterNum.length < dFilterMax(dFilterMask)) {
            if (key >= 96 && key <= 105) { key = key - 48; }
            dFilterNum = dFilterNum + String.fromCharCode(key);
        }

        var dFilterFinal = '';
        for (dFilterStep = 0; dFilterStep < dFilterMask.length; dFilterStep++) {
            if (dFilterMask.charAt(dFilterStep) == '#') {
                if (dFilterNum.length != 0) {
                    dFilterFinal = dFilterFinal + dFilterNum.charAt(0);
                    dFilterNum = dFilterNum.substring(1, dFilterNum.length);
                }
                else {
                    dFilterFinal = dFilterFinal + "";
                }
            }
            else if (dFilterMask.charAt(dFilterStep) != '#') {
                dFilterFinal = dFilterFinal + dFilterMask.charAt(dFilterStep);
            }
            //		    dFilterTemp = replace(dFilterTemp,dFilterMask.substring(dFilterStep,dFilterStep+1),'');
        }

        if (dFilterFinal == '-') {
            textbox.value = '';
        }
        else {
            textbox.value = dFilterFinal;
        }
        return false;
    }

    
