-- RaidFrames namespace
local RaidFrames = _G['RaidFrames']

-- Addon details
RaidFrames.name = 'RaidFrames'
RaidFrames.nameDB = 'RFStorage'
RaidFrames.version = '1.0.00'
RaidFrames.versionDB = 1
RaidFrames.slash = '/raidframes'

-- Addon initialization
function RaidFrames.Initialize(code, addon)
  if addon ~= RaidFrames.name then return end

  EVENT_MANAGER:UnregisterForEvent(RaidFrames.name, EVENT_ADD_ON_LOADED)
  SLASH_COMMANDS[RaidFrames.slash] = RaidFrames.SlashCommand

  RaidFrames.db = ZO_SavedVars:NewAccountWide(RaidFrames.nameDB, RaidFrames.versionDB, 'Settings', RaidFrames:GetDefaults())

  RaidFrames.settings = RaidFrames:GetDefaults() or RaidFrames.db

  RaidFrames.Handler.Initialize()
  RaidFrames.Events.RegisterEvents()
end

function RaidFrames.SlashCommand(params)
  d(params)
  RaidFrames.dcolored("Params: " .. (params or ""))
end

function RaidFrames.dcolored(msg)
  d("|cFFFF00".. msg .. "|r")
end

-- Register the event handlers)
EVENT_MANAGER:RegisterForEvent(RaidFrames.name, EVENT_ADD_ON_LOADED, RaidFrames.Initialize)