
function makeValid(sText)

{
   var ValidChars = "0123456789()-";
   var result=sText;
   var Char;

 
   for (i = 0; i < sText.length; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         	result = result.replace(Char,"");
         }
      }
   return result;
}




function ValidatePhone(phone){
	
	var pValue;
	pValue = phone.value;
	phone.value = makeValid(pValue);
	pValue = makeValid(pValue);
	if(pValue.length == 3){
		editValue = pValue;
		digit4 = pValue.indexOf('(')
		digit5 = pValue.indexOf(')')
		if(digit4 == -1){
			editValue = "(" + editValue;
		}
		if(digit5 == -1){
			editValue = editValue + ")";
		}
		phone.value="";
		phone.value=(editValue);
	}
	if(pValue.length>3){
		digit1 = pValue.indexOf('(')
		digit2 = pValue.indexOf(')')
		if (digit2 == -1){
			l30=pValue.length;
			part1 = pValue.substring(0,4);
			part1 = part1 +")"
			part2 = pValue.substring(4,l30);
			editValue = part1 + part2;
			phone.value = "";
			phone.value = (editValue);
		}
	}
	
	if(pValue.length>5){
		pCode = pValue.substring(digit1+1,digit2);
		if(pCode.length>3){
			temp = pCode;
			len12 = temp.length;
			lenFull = pValue.length;
			pCode = temp.substring(0,3);
			pRest = temp.substring(3,len12);
			pNumber = pValue.substring(digit2 + 1, lenFull);
			phone.value ="";
			editValue = "("+pCode+")"+pRest+pNumber;
			phone.value=(editValue);
		}
		
		l16 = pValue.length;
		p16 = pValue.substring(digit2 + 1,l16);
		lenNum = p16.length;
		if(lenNum > 3 && p16.indexOf('-')==-1){
			numPart1 = pValue.substring(digit2+1,digit2+4);
			numPart2 = pValue.substring(digit2+4,l16);
			pCodeWithPar = pValue.substring(0,digit2+1);
			editValue=pCodeWithPar + numPart1+"-"+numPart2;
			phone.value="";
			phone.value=(editValue);
		}
	}
	
}

function getIt(element){
	name = element.name;
	phone = element;
	ValidatePhone();
}
