/* ---------------
 ACTION
--------------- */
function doAlertFocusSelect(sFrmName, sFldName, sAlertText) {
	if (sAlertText != "") {
		alert(sAlertText);
	};
	document.forms[sFrmName].elements[sFldName].focus();
   document.forms[sFrmName].elements[sFldName].select();
};
	
/* ---------------
 VALIDATION
--------------- */
function isEmpty(s) {
   return ((s == null) || (s.length == 0));
};

function isDigit(c) {
   return ((c >= "0") && (c <= "9"));
};

function isLetter(c){
	return ( ((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")) );
};

function isLetterOrDigit(c){
   return (isLetter(c) || isDigit(c));
};

function isEmail(s){
   var nAtIndex = s.indexOf('@');
   var nPeriodIndex = s.indexOf('.');
   return ( (!isEmpty(s)) &&
            (nAtIndex != 0) &&
            (nAtIndex != s.length - 1) &&
            (nAtIndex != nPeriodIndex - 1) &&
            (nAtIndex != nPeriodIndex + 1) &&
            (nAtIndex != -1) &&
		  (nPeriodIndex != -1))
};

function isZipCode(s){
   var nLen = s.length;
   if (nLen != 5) {return false;}
   else {
      for (j=0; j<nLen; j++) {
         if (!isDigit(s.charAt(j))) {return false;}
      }
		return true;
   }
};

function isPhone(s){
	var sDigitListTemp
	sDigitListTemp = ""
	
	for (j=0; j<s.length; j++) {
		if (isDigit(s.charAt(j))) {
			sDigitListTemp += s.charAt(j)
		};
	};

	return ((sDigitListTemp.length == 10)); 
};

/* ---------------
 FORMATTING
--------------- */

function JS_Capitalize(name, eok)
{
   var i,j, flag;
   var tempname="";
   var CFTuppercase_letters="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
   var CFTlowercase_letters="abcdefghijklmnopqrstuvwxyz";
   if( JS_Capitalize.arguments.length == 1 ) eok=true;
   if( name.value == null || name.value.length == 0 ) return eok;
   flag=1;
   for( i=0;i<name.value.length;i++ )
   {
      for( j=0; j<26; j++ )
      {
         if( flag==1 && name.value.charAt(i)==CFTlowercase_letters.charAt(j) )
         { tempname+=CFTuppercase_letters.charAt(j); flag=0;}
         if( flag==1 && (name.value.charAt(i)==CFTuppercase_letters.charAt(j)) )
         {flag=0;}
      }
      if( tempname.length==i )
      {
         tempname+=name.value.charAt(i);
      }
      if( name.value.charAt(i)==" " )
      {flag=1;}
   }
   name.value=tempname;
   return true;
}

function JS_Phone(tPhoneNumberField, eok)
{
   var i;
   var PhoneNumberTemp;

   if( JS_Phone.arguments.length == 1 ) eok = true;

   if( tPhoneNumberField.value == null || tPhoneNumberField.value.length == 0 )
   {
      return eok;
   }

   PhoneNumberTemp = "";
   for(i = 0;i < tPhoneNumberField.value.length;i++)
   {
      if(isDigit(tPhoneNumberField.value.charAt(i)))
      {
         PhoneNumberTemp += tPhoneNumberField.value.charAt(i);
      }
   }
   if( PhoneNumberTemp.length != 10 )
   {
      alert("Please enter the phone number as: (###) ###-####");
      tPhoneNumberField.focus();
      return false;
   }
   tPhoneNumberField.value = "("+ PhoneNumberTemp.substring(0,3) + ") " + PhoneNumberTemp.substring(3,6) + "-" + PhoneNumberTemp.substring(6,10);

   if( tPhoneNumberField.value == null || tPhoneNumberField.value.length == 0 )
   {
      return eok;
   }
   else
   {
      return true;
   }
}
