var whitespace = " \t\n\r";


function isEmpty(s)
      { return ((s == null) || (s.length == 0)) }
function isWhitespace (s)
      {
           var i;
           if (isEmpty(s)) return true;
           for (i = 0; i < s.length; i++)
           {
                var c = s.charAt(i);
                if (whitespace.indexOf(c) == -1) return false;
           }
           return true;
      }
function isEmail(s)
{
	var filter=filter=/^([a-zA-Z0-9_\.\-\+\*])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(s))
		return true;
	else
		return false;

}

function validatePhone(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');    

   if (fld.value == "") {
        error = "You didn't enter a phone number.\n";
        fld.style.background = 'Yellow';
    } else if (isNaN(parseInt(stripped))) {
        error = "The phone number contains illegal characters.\n";
        fld.style.background = 'Yellow';
    } else if (!(stripped.length == 10)) {
        error = "The phone number is the wrong length. Make sure you included an area code.\n";
        fld.style.background = 'Yellow';
    }
    return error;
}


function validate() {

	document.FormName.firstName.style.background = 'White';
	document.FormName.email.style.background = 'White';
	document.FormName.phone.style.background = 'White';


	if(isWhitespace(document.FormName.source.value)) {
		alert('Please tell us how you found out about BASE.');
		return false;
	}
	if(isWhitespace(document.FormName.firstName.value)) {
		alert('You must enter a First Name.');
		document.FormName.firstName.style.background = 'Yellow';
		return false;
	}
	if(isWhitespace(document.FormName.email.value)) {
		alert('You must enter a valid Email Address.');
		document.FormName.email.style.background = 'Yellow';
		return false;
	}
	if(!isEmail(document.FormName.email.value)) {
		alert('You must enter a valid Email Address.');
		document.FormName.email.style.background = 'Yellow';
		return false;
	}
	
	if (validatePhone(document.FormName.phone) != ""){
			alert('You must enter a valid phone number.');
		    return false;
	}
		
	if(!(
		document.FormName.cb105hra.checked ||
		document.FormName.cbGroup.checked ||
		document.FormName.cbSamplepay.checked ||
		document.FormName.cb125fsa.checked ||
		document.FormName.cbPop.checked ||
		document.FormName.cbBP.checked)) {
		alert('You must select at least one "Interested In".');
		return false;
	}
	
	return true;
}

function textCount(field,cntfield,maxlimit) {

	if (field.value.length > maxlimit) 
		field.value = field.value.substring(0, maxlimit);
	else
		cntfield.value = maxlimit - field.value.length;
}
