// set up alert text var for following function to share.
var alert_text = '';

function validate_required(field, alerttxt)
 {
    f = $(field);
    // clear any old validation info
    f.removeClass('invalid')
    f.removeClass('valid')

    if (f.val() == null || f.val() == "" || f.val() == alerttxt)
    {
        alert_text += ' ' + alerttxt + ' \n'
        f.addClass('invalid')
        f.val(alerttxt)
        return false;
    }
    else
    {
        f.addClass('valid')
        return true;
    }

}


function validate_in_array(field, array, alerttxt)
 {

    f = $(field);
    // clear any old validation info
    f.removeClass('invalid');
    f.removeClass('valid');
    // current value
    var current_value = f.val();
    // does the value exist in the array?
    if (jQuery.inArray(current_value, array) >= 0) {
        f.addClass('valid')
        return true;
    }
    else
    //(current_value == null || current_value == "" || current_value == alerttxt)
    {
        alert_text += ' ' + alerttxt + ' \n'
        f.addClass('invalid')
        f.val(alerttxt)
        return false;
    }
}

function validate_with_regexp(field, regexp, alerttxt)
 {

    f = $(field);
    // clear any old validation info
    f.removeClass('invalid');
    f.removeClass('valid');
    // current value
    var current_value = f.val();
    // does the value exist in the array?
    if (current_value != '' && regexp.test(current_value)) {
        f.addClass('valid')
        return true;
    }
    else
    //(current_value == null || current_value == "" || current_value == alerttxt)
    {
        alert_text += ' ' + alerttxt + ' \n'
        f.addClass('invalid')
        f.val(alerttxt)
        return false;
    }
}


function validate_form(thisform)
{
	var is_valid;
    // clear the alert text in case we have already faild the form
    alert_text = '';

   	with(thisform)
    {
        if (validate_required(fields_fname, "Your first name is required.") == false)
        {
            is_valid = 'false'
        }

        if (validate_required(fields_lname, "Your last name is required.") == false)
        {
            is_valid = 'false'
        }

        if (validate_with_regexp(fields_email, /(^([^@\s]+)@((?:[-_a-z0-9]+\.)+[a-z]{2,})$)|(^$)/i , "A valid email address is required.") == false)
        {
            is_valid = 'false'
        }

        if (validate_required(fields_phone, "Your phone number is required.") == false)
        {
            is_valid = 'false'
        }

	    // did we accrue an validation erro text?
	    if (alert_text != '') {
	        alert(alert_text)
	    }

	    // are we valid?
		if (is_valid != 'false'){
	    return true;
		}

		return false;	
	}
}