function isNotEmpty(entry) {
    if (entry != null && entry.length > 0 && entry.indexOf("    ") == -1) {
        return true;
    }
    return false;
}

function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

function restrictLength (input, maxsize) {
    if (input.length > maxsize)
        return false;
    return true;
}
function restrictAlpha (input) {
// onkeypress="return restrictAlpha(event)"
    var key;
    var keychar;
    if (window.event)
        key = window.event.keyCode;
    else if (e)
        key = e.which;
    else
        return true;
    keychar = String.fromCharCode(key);
    // control keys
    if ((key==null) || (key==0) || (key==8) ||
        (key==9) || (key==13) || (key==27) )
        return true;
    else if (keychar.match(/[a-zA-Z ]/))
        return true;
    else
        return false;
}

function restrictNumeric (input) {
// onkeypress="return restrictNumeric(event)"
    var key;
    var keychar;
    if (window.event)
        key = window.event.keyCode;
    else if (e)
        key = e.which;
    else
        return true;
    keychar = String.fromCharCode(key);
    // control keys
    if ((key==null) || (key==0) || (key==8) ||
        (key==9) || (key==13) || (key==27) )
        return true;
    else if (keychar.match(/[0-9]/))
        return true;
    else
        return false;
}

function restrictAlphaNumeric (input) {
// onkeypress="return restrictAlphaNumeric(event)"
    var key;
    var keychar;
    if (window.event)
        key = window.event.keyCode;
    else if (e)
        key = e.which;
    else
        return true;
    keychar = String.fromCharCode(key);
    // control keys
    if ((key==null) || (key==0) || (key==8) ||
        (key==9) || (key==13) || (key==27) )
        return true;
    else if (keychar.match(/[a-zA-Z0-9 ]/))
        return true;
    else
        return false;
}

function isBlank(p) {
	if (p==null)
		return true;
    if (p.length==0)
        return true;
    return false;
}

function isAlpha(p) {
    if (p.match(/^[a-zA-Z]*$/))
        return true;
    return false;
}

function isAlphaNumeric(p) {
    if (p.match(/^[a-zA-Z0-9]*$|^[a-zA-Z0-9]$|^[a-zA-Z0-9][a-zA-Z0-9 ]*[a-zA-Z0-9]$/))
        return true;
    else
        return false;
}

function isAlphaNumericNoSpace(p) {
    if (p.match(/^[a-zA-Z0-9]*$|^[a-zA-Z0-9]$|^[a-zA-Z0-9][a-zA-Z0-9]*[a-zA-Z0-9]$/))
        return true;
    else
        return false;
}

function isAlphaWithHyphen(p) {
    if (p.match(/^[a-zA-Z]*$|^[a-zA-Z]$|^[a-zA-Z][a-zA-Z -]*[a-zA-Z]$/))
        return true;
    else
        return false;
}

function isAlphaNumericWithHyphenAndPeriod(p) {
    if (p.match(/^[a-zA-Z0-9]*$|^[a-zA-Z0-9]$|^[a-zA-Z0-9][a-zA-Z0-9 .-]*[a-zA-Z0-9.]$/))
        return true;
    else
        return false;
}

function isAlphaNumericWithHyphenAndPeriodAndApostrophe(p) {
    if (p.match(/^[a-zA-Z0-9]*$|^[a-zA-Z0-9]$|^[a-zA-Z0-9][a-zA-Z0-9 .'-]*[a-zA-Z0-9.]$/))
        return true;
    else
        return false;
}

function isNumeric(p) {
    if (p.match(/^[0-9][0-9]*$/))
        return true;
    else
        return false;
}

function isNumericNoLeadingZeros(p) {
    if (p.match(/^[1-9][0-9]*$/))
        return true;
    else
        return false;
}

function isValidReferralCode(p) {
    if (!isAlphaNumeric(p))
        return false;
    if (p.length < 4 || p.length > 10)
        return false;
    return true;
}

function invalidReferralCode () {
    return "The referral code you entered is invalid.  A referral code must be alpha numeric and between 4-20 digits long.\n";
}

function isValidAccesscode(p) {
    if (!isNumeric(p))
        return false;
    if (p.length < 4 || p.length > 10)
        return false;
    return true;
}

function invalidAccesscode () {
    return "The access code you entered is invalid.  An access code must be a number that is 4-10 digits long.\n";
}

function isValidAccesscodeName(p) {
    if (isBlank(p))
        return false;
    if (!isAlphaNumeric(p))
        return false;
    return true;
}

function invalidAccesscodeName() {
    return "The access code name you entered is invalid.\n";
}


function isValidUserID(p) {

    if (!isNumeric(p))
        return false;
    if (p.length < 5 || p.length > 12)
        return false;
    return true;
}

function invalidUserID() {
    return "The user ID you entered is invalid.  User ID must be a number that is between 5 and 10 digits long.\n";
}

function isValidID(p) {

    if (!isNumeric(p))
        return false;
    if (p.length < 5 || p.length > 12)
        return false;
    return true;
}

function invalidID() {
    return "The ID you entered is invalid.  ID must be a number that is between 5 and 10 digits long.\n";
}

function isValidPin(p) {

    if (!isNumeric(p))
        return false;
    if (p.length < 4 || p.length > 10)
        return false;
    return true;
}

function invalidPin() {
    return "The pin you entered is invalid.  Pin must be a number that is 4-10 digits long.\n";
}

function isValidFullName(p) {

    if (p.length == 0)
        return false;
    if (!isAlphaWithHyphen(p))
        return false;
    return true;
}

function invalidFullName() {
    return "The name you entered is invalid. Your name may only contain alphabetic characters.\n";
}

function isValidFirstName(p) {

    if (p.length == 0)
        return false;
    if (!isAlphaWithHyphen(p))
        return false;
    return true;
}

function invalidFirstName() {
    return "The first name you entered is invalid.  First name may only contain alphabetic characters.\n";
}

function isValidLastName(p) {

    if (p.length == 0)
        return false;
    if (!isAlphaWithHyphen(p))
        return false;
    return true;
}

function invalidLastName() {
    return "The last name you entered is invalid.  Last name may only contain alphabetic characters.\n";
}

function isValidAddress(p) {
    if (p.length == 0)
        return false;
    if (!isAlphaNumericWithHyphenAndPeriod(p))
        return false;
    return true;
}

function invalidAddress () {
    return "The address you entered is invalid.  Address may only contain alphanumeric characters.\n";
}

function isValidCity(p) {
    if (p.length == 0)
        return false;
    if (!isAlphaWithHyphen(p))
        return false;
    return true;
}

function invalidCity() {
    return "The city you entered is invalid.  City may only contain alphabetic characters.\n";
}

function isValidState(p) {
    if (p.length != 2)
        return false;
    if (!isAlpha(p))
        return false;
    return true;
}

function invalidState() {
    return "The state you entered is invalid.\n";
}

function isValidZip(p) {
    if (p.length != 5)
        return false;
    if (!isNumeric(p))
        return false;
    return true;
}

function invalidZip() {
    return "The zip code you entered is invalid.\n";
}

function isValidEmail(p) {
    if (p.match(/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/))
        return true;
    return false;
}

function invalidEmail() {
    return "The email address you entered is invalid.\n";
}

function areValidCommaDelimitedEmails(p) {
	splitEmails = p.split(",");
	for (i=0; i<splitEmails.length; i++)
	{
		if (!isValidEmail(trim(splitEmails[i])))
			return false;
	}
    return true;
}

function invalidCommaDelimitedEmails() {
    return "One or more of the email addresses you entered is invalid.\n";
}

function isValidTopic(p) {
    if (isBlank(p))
        return false;
    if (!isAlphaNumeric(p))
        return false;
    return true;
}

function invalidTopic() {
    return "The topic you entered is invalid.\nYour topic may only contain alphanumeric text.\n";
}

function isValidMessage(p) {
    if (isBlank(p))
        return false;
    if (!isAlphaNumeric(p))
        return false;
    return true;
}

function invalidMessage() {
    return "The message you entered is invalid.\nYour message may only contain alphanumeric text.\n";
}

function isValidCreditCardExpMonth(p) {
    if (p.length != 2)
    return false;
    if (!isNumeric(p))
        return false;
    if (p<1 || p >12)
    	return false;
    return true;
}

function invalidCreditCardExpMonth() {
    return "The expiration month you entered is invalid.\n";
}

function isValidCreditCardExpYear(p) {
    if (p.length != 2)
    return false;
    if (!isNumeric(p))
        return false;
    if (p<4)
    	return false;
    return true;
}

function invalidCreditCardExpYear() {
    return "The expiration year you entered is invalid.\n";
}

function isValidCreditCardNumber(p) {
    if (p.length == 0)
        return false;
    if (!isNumeric(p))
        return false;
    return true;
}

function invalidCreditCardNumber() {
    return "The credit card number you entered is invalid.\n";
}

function isValidCreditCardVerificationNumber(p) {
    if (p.length == 0)
        return true;
    if (!isNumeric(p))
        return false;
    return true;
}

function invalidCreditCardVerificationNumber() {
    return "The credit card verification number you entered is invalid.\n";
}

function isValidTenDigitPhone(p) {
    if (p.length!=10)
        return false;
    if (!isNumeric(p))
        return false;
    return true;
}

function invalidTenDigitPhone() {
    return "The phone number you entered is invalid.  Please enter a ten digit phone number with area code and without seperators.\ni.e. 8005551234\n";
}

function isValidTenDigitPhoneWithExtension(p) {
    if (p.length<10)
        return false;
	phone = p.substring(0,10);
    if (!isNumeric(phone))
        return false;
    
    if (p.length>10) {
    	if (p.length == 11)
    		return false;
		extension = p.substr(10, 1);
		if (extension != "x")
			return false;
		extension = p.substring(11, p.length);
		
		if (!isNumeric(extension))
			return false;		
		
    }
    return true;
}

function invalidTenDigitPhoneWithExtension() {
    return "The phone number you entered is invalid.  Please enter a ten digit phone number with area code and without seperators.\ni.e. 8005551234 or 8005551234x1234 for numbers with extensions";
}


function isValidPhone(p, q, r) {
    if (p.length != 3)
        return false;
    if (!isNumeric(p))
        return false;
    if (q.length != 3)
        return false;
    if (!isNumeric(q))
        return false;
    if (r.length != 4)
        return false;
    if (!isNumeric(r))
        return false;
    return true;
}

function invalidPhone() {
    return "The phone number you entered is invalid.\n";
}

function isValidExtension(p) {
    if (p.length == 0)
        return true;
    if (!isNumeric(p))
        return false;
    return true;
}

function invalidExtension() {
    return "The extension you entered is invalid.\n";
}

function isValidAttemptID(p) {
    if (isBlank(p))
        return false;
    if (!isNumeric(p))
        return false;
    return true;
}

function invalidAttemptID() {
    return "You must enter an ID.\n";
}

function isValidAttemptPin(p) {
    if (isBlank(p))
        return false;
    if (!isNumeric(p))
        return false;
    return true;
}

function invalidAttemptPin() {
    return "You must enter a pin.\n";
}

function isValidAttemptAccesscode(p) {
    if (isBlank(p))
        return false;
    if (!isNumeric(p))
        return false;
    return true;
}

function invalidAttemptAccesscode() {
    return "You must enter an access code.\n";
}

function isValidName(p) {
    if (isBlank(p))
        return false;
    if (!isAlphaWithHyphen(p))
        return false;
    return true;
}

function invalidName() {
    return "The name you entered is invalid.\n";
}

function isValidDescription(p) {
    if (isBlank(p))
        return false;
    if (!isAlphaNumeric(p))
        return false;
    return true;
}

function invalidDescription() {
   return "The description you entered is invalid.\n";
}

function isValidContactName(p) {
    if (isBlank(p))
        return false;
    if (!isAlphaNumeric(p))
        return false;
    return true;
}

function invalidContactName() {
    return "The contact name you entered is invalid.\n";
}

function isValidHour(p) {
    if (p>=1 && p<=12) 
		return true;
}

function invalidHour() {
    return "Hours must be between 1 and 12\n";
}

function isValidMinute(p) {
    if (p>=0 && p<=60) 
		return true;
}

function invalidMinute() {
    return "Minutes must be between 0 and 60\n";
}

function isValidHoursName(p) {
    if (isBlank(p))
        return false;
    if (!isAlphaNumeric(p))
        return false;
    return true;
}

function invalidHoursName() {
    return "The name you have entered for this weekly schedule is invalid\n";
}

function isValidScheduleName(p) {
    if (isBlank(p))
        return false;
    if (!isAlphaNumeric(p))
        return false;
    return true;
}

function invalidScheduleName() {
    return "The name you have entered for this contact schedule is invalid\n";
}

function isValidDelay(p, q, r) {
	if (!isBlank(p))
	    if (!isNumeric(p))
    	    return false;
	if (!isBlank(q))
	    if (!isNumeric(q))
    	    return false;
	if (!isBlank(r))
	    if (!isNumeric(r))
    	    return false;
    return true;
}

function invalidDelay() {
    return "The time you specified is invalid.  The values must be numeric\n";
}

function isValidCallmeWindowName(p) {
	if (isBlank(p))
		return false;
	if (!isAlphaNumeric(p))
		return false;
	return true;
}

function invalidCallmeWindowName() {
	return "The call me window name must be alpha numeric\n";
}

