
function FormatField(num, format, shortformat)
{
	if(format==null)
	{
// Choose the default format you prefer for the <b style="color:black;background-color:#a0ffff">number</b>. 
	//format = "#-(###) ###-#### ";	 // Telephone w/ LD Prefix and Area Code
	format = "(###) ###-####";	// Telephone w/ Area Code
	//format = "###-###-####";	// Telephone w/ Area Code (dash seperated)
	//format = "###-##-####";	//Social Security <b style="color:black;background-color:#a0ffff">Number</b>
	//format = "##-##-####";    //US Date 4 digit year
	}					
//--------------------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------
	if(shortformat==null)
	{
		// Choose the short format (without area code) you prefer. 
		//If you do not want multiple formats, leave it as "".

		//var shortformat = "###-####";  //no area code format
		//var shortformat = "##/##";  //Birtday month and day format
		var shortformat = "";
	}

	var validchars = "0123456789";
	var tempstring = "";
	var returnstring = "";
	var extension = "";
	var tempstringpointer = 0;
	var returnstringpointer = 0;
	count = 0;

	// Get the length so we can go through and remove all non-numeric characters
	var length = num.value.length;
		

	// We are only concerned with the format of the phone number - extensions can be left alone.
	if (length > format.length)
	{
		length = format.length;
	};
	
	// scroll through what the user has typed
	for (var fx=0; fx<length; fx++)
	{
		if (validchars.indexOf(num.value.charAt(fx))!=-1)
		{
		tempstring = tempstring + num.value.charAt(fx);
		};
	};
	// We should now have just the #'s - extract the extension if needed
	if (num.value.length > format.length)
	{
		length = format.length;
		extension = num.value.substr(format.length, (num.value.length-format.length));
	};
	
	// if we have fewer characters than our short format, we'll default to the short version.
	for (fx=0; fx<shortformat.length;fx++)
	{
		if (shortformat.substr(fx, 1)=="#")
		{
			count++;
		};
	}
	if (tempstring.length <= count)
	{
		format = shortformat;
	};

	
	//Loop through the format string and insert the numbers where we find a # sign
	for (fx=0; fx<format.length;fx++)
	{
		if (tempstringpointer <= tempstring.length)
		{
			if (format.substr(fx, 1)=="#")
			{
				returnstring = returnstring + tempstring.substr(tempstringpointer, 1);
				tempstringpointer++;
			}else{
				returnstring = returnstring + format.substr(fx, 1);
			}
		}
		
	}

	// We have gone through the entire format, let's add the extension back on.
		returnstring = returnstring + extension;
	
	//we're done - let's return our value to the field.
	num.value = returnstring;
}	
