﻿function ValidatePhoneNumber(sender,args)
        {                 
            var temp_phone = phone.value.replace("-","");
            temp_phone = temp_phone.replace("(","");
            temp_phone = temp_phone.replace(")","");
            
            for (i=0;i<phone.value.length; i++)
            {
                temp_phone = temp_phone.replace("-","");
            }
                        
            var reg1 = /((\(\d{3}\) ?)|(\d{3}[- \.]))?\d{3}[- \.]\d{4}(\s(x\d+)?){0,1}$/;                                                
            var reg2 = /^(\()?(---)(\)|-)?([0-9]{3})(-)?([0-9]{4}|[0-9]{4})$/;
            var reg = /^\d{1,10}$/;
            
            if (!reg.test(temp_phone))
            {                
                args.IsValid = false;
                return;
            }
                                                                                                     
            if (temp_phone.length == 10)
            {                                                
                var first = temp_phone.substring(0,3);
                var second = temp_phone.substring(3,6);
                var third = temp_phone.substring(6,10);
                
                phone.value = "(" + first + ")" + second + "-" + third;                
                if (reg1.test(phone.value))
                {                
                    args.IsValid = true;
                    return;
                 }
            }
            else if (temp_phone.length == 7)
            {                                
                var f = temp_phone.substring(0,3);
                var s = temp_phone.substring(3,7);
                
                phone.value = "(---)" + f + "-" + s;
                if (reg2.test(phone.value))
                {                
                    args.IsValid = true;
                    return;
                }
            }
             else if (reg1.test(phone.value))
            {                                   
                if (temp_phone.length != 10)
                {
                    args.IsValid = false;
                    return;
                }
                                                             
                args.IsValid = true;
                return;                                
            }               
            else if(reg2.test(phone.value))
            { 
               var startWithchecker = temp_phone.substring(0,4);
               var x = temp_phone;
               if (startWithchecker = "(---)")
               {
                  x = x.replace("(","");                                    
                  x= x.replace(")","");
                  
                  for (i = 0 ;i <x.length; i++)
                  {
                        x = x.replace("-","");  
                  }
                  
                  if (x.length == 7)
                  {
                    var x1 = x.substring(0,3);
                    var x2 = x.substring(3,7);
                    phone.value = "(---)" + x1 + "-" + x2;
                    
                        if (reg2.test(phone.value))
                        {                
                            args.IsValid = true;
                            return;
                        }    
                  }      
               }
               args.IsValid = true;
               return;
            }
               
            else 
            {
                args.IsValid = false;
                return;
            }
        }