# File lib/ajaxim.rb, line 27
  def send(params)
    # getting user status and checking if user is a chatroom
    user_status = user_online?(@recipient)
    is_room = is_chatroom?(@recipient)
    
    # if user is not a room and has status == 0 he is offline
    return 'not_online' unless user_status > 0 || is_room == true
    
    return 'too_long' if @message.strip.size > 1500
    return nil if @message.strip.size == 0

    message = "<span style=\"font-family:\#{params['font']},sans-serif;font-size:\#{params['font_size']}px;color:\#{params['font_color']};\">\n\#{params['font_bold'] == true ? '<b>' : ''} \#{params['font_underline'] == true ? '<u>' : ''} \#{params['font_italic'] == true ? '<i>' : ''} \#{@message} \#{params['font_bold'] == true ? '</b>' : ''} \#{params['font_underline'] == true ? '</u>' : ''} \#{params['font_italic'] == true ? '</i>' : ''} </span>\n"
    message = @db.escape_string(message)
    sql_to_insert = Array.new
    if is_room
      @@logger.room_message(@user['name'], @recipient, @message) if @logging == true
      # sending messages to all users in room
      # here @recipient is a room name
      get_chatlist(@recipient).each do |user_in_room|
        next if user_in_room['uid'] == @user['uid']
        id = @db.next_id("{ajaxim_messages}")
        sql_to_insert.push("(#{id}, '#{message}', 'msg', #{@user['uid']}, #{user_in_room['uid']}, '#{@recipient}')")
      end
    else
      recipient_user = User.new(@recipient, @db)
      #
      # when recipient is in 'friends_only' mode
      # and sender is not is recipients buddy list,
      # sender can't send him messages
      if user_status == 100
        return 'not_online' unless buddy_get_buddies(recipient_user['uid']).has_key?(@user['uid'])
      end
      @@logger.private_message(@user['name'], recipient_user['name'], @message) if @logging == true
      id = @db.next_id("{ajaxim_messages}")
      sql_to_insert.push("(#{id}, '#{message}', 'msg', #{@user['uid']}, #{recipient_user['uid']}, '')")
    end
    
    if !sql_to_insert.empty?
      @db.query("INSERT INTO {ajaxim_messages}
                 (id, message, type, sender, recipient, room)
                 VALUES #{sql_to_insert.join(",")}")
    end
    
    'sent'
  end