﻿    
    function onKeyPressMaskPHONE(elm,e)
    {
        var key = window.event ? e.keyCode : e.which;
        var keychar = String.fromCharCode(key);
        var reg = /[0-9]/;
        var isDigit = reg.test(keychar);

        if(IsControlKey(key))
            return true; // don't cancel the event, but return ... 
        
        if(keychar == '-' && (elm.value.length == 3 || elm.value.length == 7))
            return true; // don't cancel the event if we're typing the separator in one of it's valid positions

        if(!isDigit)
        {
            StopEvent(e);
            return false;
        }        
        
        
        if(elm.value.length == 3 || elm.value.length == 7)
        {
            elm.value += '-';
        }
        else if(elm.value.length > 3 && elm.value.substring(0,7).indexOf('-') == -1)  
        {
            elm.value = elm.value.substring(0,3) + '-' + elm.value.substring(3);
        }
        else if(elm.value.length > 7 && elm.value.substring(3).indexOf('-') == -1)
        {
            elm.value = elm.value.substring(0,7) + '-' + elm.value.substring(7);
        }


    }

    
    function onKeyPressMaskMMDDYYYY(elm,e)
    {
        var key = window.event ? e.keyCode : e.which;
        var keychar = String.fromCharCode(key);
        var reg = /[0-9]/;
        var isDigit = reg.test(keychar);

        if(IsControlKey(key))
            return true; // don't cancel the event, but return ... 
        
        if(keychar == '/' && (elm.value.length == 2 || elm.value.length == 5))
            return true; // don't cancel the event if we're typing the separator in one of it's valid positions

        if(!isDigit)
        {
            StopEvent(e);
            return false;
        }        
        
        
        if(elm.value.length == 2 || elm.value.length == 5)
        {
            elm.value += '/';
        }
        else if(elm.value.length > 2 && elm.value.substring(0,5).indexOf('/') == -1)  
        {
            elm.value = elm.value.substring(0,2) + '/' + elm.value.substring(2);
        }
        else if(elm.value.length > 5 && elm.value.substring(2).indexOf('/') == -1)
        {
            elm.value = elm.value.substring(0,5) + '/' + elm.value.substring(5);
        }


    }
    

    function onKeyPressMaskZIP(elm,e)
    {
        var key = window.event ? e.keyCode : e.which;
        var keychar = String.fromCharCode(key);
        var reg = /[0-9]/;
        var isDigit = reg.test(keychar);

        if(IsControlKey(key))
            return true; // don't cancel the event, but return ... 
        
        if(keychar == '-' && elm.value.length==5)
            return true; // don't cancel the event if we're typing the separator in one of it's valid positions
        
        if(!isDigit)
        {
            StopEvent(e);
            return false;
        }
        
        if(elm.value.length == 5)
        {
            elm.value += '-';
        }
        else if(elm.value.length > 5 && elm.value.indexOf('-') == -1) 
        {
            elm.value = elm.value.substring(0,5) + '-' + elm.value.substring(5);
        }
        
    
    }
        
    function IsControlKey(key)
    {
        if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27))
            return true;
        else
            return false;
    }


    function StopEvent(ev) 
    {
        StopPropagation(ev);
        PreventDefault(ev);
    }

    function StopPropagation(ev) 
    {
        if (ev.stopPropagation) {
            ev.stopPropagation();
        } else {
            ev.cancelBubble = true;
        }
    }

    function PreventDefault(ev) 
    {
        if (ev.preventDefault) {
            ev.preventDefault();
        } else {
            ev.returnValue = false;
        }
    }
    
    function StopInput(ev, elm)
    {
        elm.value = elm.value.substring(0,12)
        return true;
    }

