function replaceAll( strHaystack, strNeedle, strReplace )
	{
	while ( strHaystack.indexOf( strNeedle ) > 0 )
		{
		strHaystack = strHaystack.replace( strNeedle, strReplace );
		}
	return strHaystack;
	}


function validatePhone( strPhone )
	{
	strTrim = purgeBadChars( strPhone, "0123456789" );

	if ( isNaN(strTrim) == true )
		{
		strTrim = strTrim.substring( 0, strTrim.length - 1 );
		}
	if ( strTrim.length > 10 )
		{
		strTrim = strTrim.substring( 0, 10 );
		}
	if ( strTrim.length >= 6 )
		{
		strTrim = strTrim.substring( 0, 6 ) + "-" + strTrim.substring( 6, 11 );
		}
	if ( strTrim.length >= 3 )
		{
		strTrim = strTrim.substring( 0, 3 ) + "-" + strTrim.substring( 3, 11 );
		}
	return strTrim;
	}

function validateDate( strDate )
	{
	strTrim = purgeBadChars( strDate, "0123456789" );

	if ( strTrim.length > 8 )
		{
		strTrim = strTrim.substring( 0, 8 );
		}
	if ( strTrim.length >= 4 )
		{
		strTrim = strTrim.substring( 0, 4 ) + "/" + strTrim.substring( 4, 11 );
		}
	if ( strTrim.length >= 2 )
		{
		strTrim = strTrim.substring( 0, 2 ) + "/" + strTrim.substring( 2, 11 );
		}
	return strTrim;
	}

function purgeBadChars( strEval, strPattern )
   //  check for valid numeric strings	
   {
   //var strPattern = "0123456789.-";
   var strChar;
   var strReturn = "";

   if ( strEval.length == 0) 
	   { return strEval; }
   //  test strString consists of valid characters listed above
   for (i = 0; i < strEval.length; i++)
      {
      strChar = strEval.charAt(i);
      if ( strPattern.indexOf( strChar ) > -1)
         {
		 strReturn += strChar;
         }
      }
   return strReturn;
   }
