// validation for general contact form
function  _CF_checkcontactform_general(_CF_this)
    {
        //reset on submit
        _CF_error_exists = false;
        _CF_error_messages = new Array();
        _CF_error_fields = new Object();
        _CF_FirstErrorField = null;

        //form element first_name required check
        if( !_CF_hasValue(_CF_this['first_name'], "TEXT", false ) )
        {
            _CF_onError(_CF_this, "first_name", _CF_this['first_name'].value, "Please enter a first name.");
            _CF_error_exists = true;
        }

        //form element last_name required check
        if( !_CF_hasValue(_CF_this['last_name'], "TEXT", false ) )
        {
            _CF_onError(_CF_this, "last_name", _CF_this['last_name'].value, "Please enter a last name.");
            _CF_error_exists = true;
        }

        //form element email required check
        if( !_CF_hasValue(_CF_this['email'], "TEXT", false ) )
        {
            _CF_onError(_CF_this, "email", _CF_this['email'].value, "Please enter a valid email address.");
            _CF_error_exists = true;
        }

        //form element message required check
        if( !_CF_hasValue(_CF_this['message'], "TEXTAREA", false ) )
        {
            _CF_onError(_CF_this, "message", _CF_this['message'].value, "Please enter a message.");
            _CF_error_exists = true;
        }


        //display error messages and return success
        if( _CF_error_exists )
        {
            if( _CF_error_messages.length > 0 )
            {
                // show alert() message
                _CF_onErrorAlert(_CF_error_messages);
                // set focus to first form error, if the field supports js focus().
                if( _CF_this[_CF_FirstErrorField].type == "text" )
                { _CF_this[_CF_FirstErrorField].focus(); }

            }
            return false;
        }else {
            return true;
        }
    }