/* 
Add this to the head to use this file
    <SCRIPT LANGUAGE="javascript" SRC="assets/formatText.js"></SCRIPT>

Add the following 'onblur' property to the textbox you want to format
    onblur="formatPhone(this.id, this.value)"    // returns (xxx) xxx-xxxx
    onblur="formatName(this.id, this.value)"   // returns Xxxxxx
    onblur="formatAddress(this.id, this.value)"   // returns 123 Xxx Xxx Xxx
    onblur="formatST(this.id, this.value)"   // returns XX
    onblur="formatSSN(this.id, this.value)"   // returns xxx-xx-xxxx
*/

		function formatPhone(itemid, num)
		{
			fullid = "document.forms[0]." + itemid;

			var re= /\D/;
			// test for this format: (xxx)xxx-xxxx
			var re2 = /^\({1}\d{3}\)\d{3}-\d{4}/;
			// test for this format: xxx-xxx-xxxx
			//var re2 = /^\d{3}-\d{3}-\d{4}/;

			var newNum;
			if (num != "" && re2.test(num)!=true)
			{
				if (num != "")
				{
					while (re.test(num))
					{
						num = num.replace(re,"");
					}
				}

				if (num.length != 10)
				{
					alert('Please enter a 10 digit phone number');
					eval(fullid).select();
				}
				else
				{
					// for format (xxx)xxx-xxxx
					newNum = '(' + num.substring(0,3) + ')' + num.substring(3,6) + '-' +
					num.substring(6,10);
					// for format xxx-xxx-xxxx
					// newNum = num.substring(0,3) + '-' + num.substring(3,6) + '-' +
					num.substring(6,10);
					eval(fullid).value=newNum;
				}
			}
		}

		function formatName(itemid, itemtext)
		{
			if (itemtext.length > 1)
			{
				fullid = "document.forms[0]." + itemid;
				FinishedText = itemtext;
				
				UpperText = itemtext.charAt(0).toUpperCase();
				LowerText = (itemtext.substr(1)).toLowerCase();
				FinishedText = UpperText + LowerText;

				iSpace = itemtext.indexOf(" "); // Abc Abc 
				while (iSpace != -1)
				{
					FrontText2 = FinishedText.substr(0, iSpace + 1);
					UpperText2 = itemtext.charAt(iSpace + 1).toUpperCase();
					LowerText2 = (itemtext.substr(iSpace + 2)).toLowerCase();
					FinishedText = FrontText2 + UpperText2 + LowerText2;
					iSpace2 = itemtext.indexOf(" ", iSpace + 1);
					iSpace = iSpace2;
				}
				eval(fullid).value = FinishedText;
			}
		}
		
		function deleteSpaces(itemid, itemtext)
		{
			if ( itemtext.length > 1 )
			{
				fullid = "document.forms[0]." + itemid;
				FinishedText = itemtext;								

				iSpace = itemtext.indexOf(" ");
				while ( iSpace == 0 )
				{
					FinishedText = FinishedText.substr(1);					
					iSpace = FinishedText.indexOf(" ");
				}
								
				eval(fullid).value = FinishedText;
			}
		}
		
		function formatAddress(itemid, itemtext)
		{
			var fullid = "document.forms[0]." + itemid;
			var myText = itemtext.toLowerCase();
			var firstChar = myText.charAt(0);
			var myTextDone = firstChar;
			
			if (itemtext.length > 1 && firstChar.toLowerCase() != "p")
			{
				var StartIndex = "0";
				var EndIndex = myText.indexOf(" ");  // set location first space

				while (EndIndex != -1)
				{
					myTextDone = myTextDone + myText.substring(StartIndex + 1, EndIndex + 1); //Add the part up to the space
					StartIndex = EndIndex + 1; //reset to after the space
					myTextDone = myTextDone + myText.charAt(StartIndex).toUpperCase(); //Add the uppercase letter
					
					EndIndex = myText.indexOf(" ", StartIndex); // find the next space
				}
				
				myTextDone = myTextDone + myText.substring(StartIndex + 1);
				eval(fullid).value = myTextDone;			

			}
		}
		
		function formatST(itemid, itemtext)
		{
			fullid = "document.forms[0]." + itemid;
			eval(fullid).value = itemtext.toUpperCase();			
		}

		function formatSSN(itemid, num)
		{
			fullid = "document.forms[0]." + itemid;

			var re= /\D/;
			// test for this format: (xxx)xxx-xxxx
			//var re2 = /^\({1}\d{3}\)\d{3}-\d{4}/;
			// test for this format: xxx-xxx-xxxx
			var re2 = /^\d{3}-\d{2}-\d{4}/;

			var newNum;
			if (num != "" && re2.test(num)!=true)
			{
				if (num != "")
				{
					while (re.test(num))
					{
						num = num.replace(re,"");
					}
				}

				if (num.length != 9)
				{
					alert('Please enter a valid Social Security number');
					eval(fullid).select();
				}
				else
				{
					// for format (xxx)xxx-xxxx
					//newNum = '(' + num.substring(0,3) + ')' + num.substring(3,6) + '-' +
					num.substring(6,10);
					// for format xxx-xxx-xxxx
					newNum = num.substring(0,3) + '-' + num.substring(3,5) + '-' +
					num.substring(5,9);
					eval(fullid).value=newNum;
				}
			}
		}

