local AddName, Ns = ...
local L = Ns.L

------------------------------
--		Stat Options		--
------------------------------
local Both, Enhanced, Damage, DamageTaken, Percentage, Rating, MainHand, OffHand, World, Realm, Heroism, Valor, Equipped, Honor, Arena, Player, Mood, Static = 3, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 1
local SameLevel, BossLevel, Regen, Casting, Critical, CritDamage, Total, Max, Average, Auto, Chance, Reduction, Bags, StoneKeeper, Marks, Pet, Damage, Live = 1, 2, 1, 2, 1, 2, 1, 1, 2, 3, 1, 2, 3, 1, 2, 2, 2, 1
local Basic, Base, Modifiers, Complete, Points, Value, Normal, Special = 2, 2, 3, 1, 1, 1, 1, 2


Ns.ConfigWidth = 950
Ns.ConfigHeight = 550 --700
if GetLocale() == "frFR" then
	Ns.ConfigWidth = 960
end
Ns.targetLevel, Ns.ohID = 0, 0

local honorIcon = 73824
local faction = UnitFactionGroup("player")

if faction == "Horde" then honorIcon = 59641 end

------------------------------
--		Display Order		--
------------------------------
Ns.DefaultOrder = {
	{ stat="AP", onupdate=true, events={}, spell=66776, spellclass="Melee", widget={ type="CheckBox" }, options={ Enhanced_Base=true, Decimals_Default=true, }, subgroup=true, activeonload=true, },
	{ stat="RAP", onupdate=true, events={}, spell=56343, spellclass="Ranged", widget={ type="CheckBox" }, options={ Enhanced_Base=true, Decimals_Default=true, }, subgroup=true, activeonload=true, },
	{ stat="DMG", onupdate=true, events={}, spell=1329, spellclass="Melee", widget={ type="CheckBox" }, options={ Main_Off_Auto=true, Display_Average=true }, subgroup=true },
	{ stat="mDPS", onupdate=true, events={}, spell=35551, spellclass="Melee", widget={ type="CheckBox" }, options={ Main_Off_Auto=true, Display_Average=true }, subgroup=true },
	{ stat="RDMG", onupdate=true, events={}, spell=53232, spellclass="Ranged", widget={ type="CheckBox" }, options={ Max_Average_Damage=true, }, subgroup=true },
	{ stat="rDPS", onupdate=true, events={}, spell=62173, spellclass="Ranged", widget={ type="CheckBox" }, options={ Max_Average_Damage=true, }, subgroup=true },
	{ stat="Fire", onupdate=true, events={}, spell=86949, spellclass="Spell", widget={ type="CheckBox" }, options={ Enhanced_Base=true, Decimals_Default=true }, subgroup=true, activeonload=true, },
	{ stat="Frost", onupdate=true, events={}, spell=62381, spellclass="Spell", widget={ type="CheckBox" }, options={ Enhanced_Base=true, Decimals_Default=true }, subgroup=true },
	{ stat="Arcane", onupdate=true, events={}, spell=50045, spellclass="Spell", widget={ type="CheckBox" }, options={ Enhanced_Base=true, Decimals_Default=true }, subgroup=true },
	{ stat="Shadow", onupdate=true, events={}, spell=47230, spellclass="Spell", widget={ type="CheckBox" }, options={ Enhanced_Base=true, Decimals_Default=true }, subgroup=true },
	{ stat="Nature", onupdate=true, events={}, spell=48514, spellclass="Spell", widget={ type="CheckBox" }, options={ Enhanced_Base=true, Decimals_Default=true }, subgroup=true },
	{ stat="Holy", onupdate=true, events={}, spell=63018, spellclass="Spell", widget={ type="CheckBox" }, options={ Enhanced_Base=true, Decimals_Default=true }, subgroup=true },
	{ stat="Healing", onupdate=true, events={}, spell=88684, spellclass="Spell", widget={ type="CheckBox" }, options={ Enhanced_Base=true, Decimals_Default=true }, subgroup=true },
	{ stat="Mastery", onupdate=true, events={}, spell=77223, spellclass="Attributes", widget={ type="CheckBox" }, options={ WithBar=true, Point_Rating=true, Decimals_Mastery=true, Cap_Mastery=true }, subgroup=true, activeonload=true, },
	{ stat="Strength", onupdate=true, events={}, spell=46917, spellclass="Attributes", widget={ type="CheckBox" }, options={ Show=true, Decimals_Default=true }, subgroup=true },
	{ stat="Agility", onupdate=true, events={}, spell=51723, spellclass="Attributes", widget={ type="CheckBox" }, options={ Show=true, Decimals_Default=true }, subgroup=true },
	{ stat="Crit", onupdate=true, events={}, spell=143440, spellclass="Melee", widget={ type="CheckBox" }, options={ WithBar=true, Percent_Rating=true, Display_Basic=true, Dec_Melee_Crit=true, Display_Simulate=true, Cap_Melee_Crit=true }, subgroup=true },
	{ stat="CritBoss", onupdate=true, events={}, spell=58426, spellclass="Melee", widget={ type="CheckBox" }, options={ WithBar=true, Enhanced_Base=true, Dec_Melee_Boss=true, Cap_Melee_CritBoss=true }, subgroup=true },
	{ stat="CritCap", onupdate=true, events={}, spell=51690, spellclass="Melee", widget={ type="CheckBox" }, options={ WithBar="CritCap", Enhanced_Base=true, Dec_Melee_Cap=true }, subgroup=true },
	{ stat="RangedCrit", onupdate=true, events={}, spell=137619, spellclass="Ranged", widget={ type="CheckBox" }, options={ WithBar="RangedCrit", Percent_Rating=true, Dec_Ranged_Crit=true, Cap_Ranged_Crit=true, Display_Simulate=true }, subgroup=true },
	{ stat="RangedCritBoss", onupdate=true, events={}, spell=76577, spellclass="Ranged", widget={ type="CheckBox" }, options={ WithBar="RangedCritBoss", Enhanced_Base=true, Dec_Ranged_CritBoss=true, Cap_Ranged_CritBoss=true }, subgroup=true },
	{ stat="Intellect", onupdate=true, events={}, spell=81206, spellclass="Attributes", widget={ type="CheckBox" }, options={ Show=true, Decimals_Default=true }, subgroup=true },
	{ stat="SpellCrit", onupdate=true, events={}, spell=103795, spellclass="Spell", widget={ type="CheckBox" }, options={ WithBar=true, Percent_Rating=true, Display_Basic=true, Dec_Spell_Crit=true, Cap_Spell_Crit=true, Display_Simulate=true }, subgroup=true },
	{ stat="SpellCritBoss", onupdate=true, events={}, spell=70598, spellclass="Spell", widget={ type="CheckBox" }, options={ WithBar=true, Enhanced_Base=true, Dec_Spell_Crit_Boss=true, Cap_Spell_CritBoss=true }, subgroup=true },
	{ stat="Hit", onupdate=true, events={}, spell=82925, spellclass="Melee", widget={ type="CheckBox" }, options={ WithBar="Hit", Percent_Rating=true, Display_Decimals=true, Dec_Melee_Hit=true, Cap_Melee_Hit=true, }, subgroup=true },
	{ stat="RangedHit", onupdate=true, events={}, spell=51919, spellclass="Ranged", widget={ type="CheckBox" }, options={ WithBar="RangedHit", Percent_Rating=true, Dec_Ranged_Hit=true, Cap_Ranged_Hit=true }, subgroup=true },
	{ stat="SpellHit", onupdate=true, events={}, spell=47573, spellclass="Spell", widget={ type="CheckBox" }, options={ WithBar="SpellHit", Percent_Rating=true, Dec_Spell_Hit=true, Cap_Spell_Hit=true }, subgroup=true },
	{ stat="HasteMelee", onupdate=true, events={}, spell=63150, spellclass="Melee", widget={ type="CheckBox" }, options={ WithBar=true, Percent_Rating=true, Display_Basic=true, Dec_Melee_Haste=true, Cap_Melee_Haste=true }, subgroup=true },
	{ stat="HasteRanged", onupdate=true, events={}, spell=108687, spellclass="Ranged", widget={ type="CheckBox" }, options={ WithBar=true, Percent_Rating=true, Display_Basic=true, Dec_Ranged_Haste=true, Cap_Ranged_Haste=true }, subgroup=true },
	{ stat="HasteCaster", onupdate=true, events={}, spell=29310, spellclass="Spell", widget={ type="CheckBox" }, options={ WithBar=true, Percent_Rating=true, Display_Basic=true, Dec_Spell_Haste=true }, subgroup=true },
	{ stat="ArmorPen", onupdate=true, events={}, spell=84963, spellclass="Melee", widget={ type="CheckBox" }, options={ Percent_Rating=true, Display_Basic=true, Dec_Melee_Pen=true }, subgroup=true },
	{ stat="RangedPen", onupdate=true, events={}, spell=53238, spellclass="Ranged", widget={ type="CheckBox" }, options={ Percent_Rating=true, Dec_Ranged_Pen=true, Cap_Ranged_ArP=true }, subgroup=true },
	{ stat="SpellPenetration", onupdate=true, events={}, spell=95920, spellclass="Spell", widget={ type="CheckBox" }, options={ Enhanced_Base=true, Dec_Spell_Pen=true }, subgroup=true },
	{ stat="Expertise", onupdate=true, events={}, spell=53365, spellclass="Melee", widget={ type="CheckBox" }, options={ Value_Rating=true, Display_Expertise=true, Dec_Melee_Exp=true, Cap_Melee_Exp=true, Display_Simulate=true }, subgroup=true },
	{ stat="MeleeMiss", onupdate=true, events={}, spell=79134, spellclass="Melee", widget={ type="CheckBox" }, options={ WithBar="Miss", Level_Same_Boss=true, Dec_Melee_Miss=true, Display_Special=true, Display_Simulate=true }, subgroup=true },
	{ stat="RangedMiss", onupdate=true, events={}, spell=49530, spellclass="Ranged", widget={ type="CheckBox" }, options={ WithBar="Miss", Level_Same_Boss=true, Dec_Ranged_Miss=true, Display_Simulate=true }, subgroup=true },
	{ stat="SpellMiss", onupdate=true, events={}, spell=85222, spellclass="Spell", widget={ type="CheckBox" }, options={ WithBar="Miss", Level_Same_Boss=true, Dec_Spell_Miss=true, Display_Simulate=true }, subgroup=true },
	{ stat="Avoidance", onupdate=true, events={}, spell=40080, spellclass="Defense", widget={ type="CheckBox" }, options={ WithBar="Avoidance", Enhanced_Base=true, Dec_Def_Avoidance=true, Cap_Def_Avo=true, Add_Block=true }, subgroup=true, activeonload=true, },
 	{ stat="NPCArmor", onupdate=true, events={}, spell=44520, spellclass="Melee", widget={ type="CheckBox" }, options={ Enhanced_Base=true, }, subgroup=true },
	{ stat="BossReduc", onupdate=true, events={}, spell=48792, spellclass="Melee", widget={ type="CheckBox" }, options={ Enhanced_Base=true, Dec_Melee_Dmg=true }, subgroup=true },
	{ stat="weaponSpeed", onupdate=true, events={}, spell=109935, spellclass="Melee", widget={ type="CheckBox" }, options={ Main_Off_Auto=true, Dec_Melee_AttSp=true }, subgroup=true },
	{ stat="CritReceived", onupdate=true, events={}, spell=46867, spellclass="Defense", widget={ type="CheckBox" }, options={ WithBar="Crits", Chance_Reduction=true, Dec_Def_Crit=true, Display_Simulate=true }, subgroup=true },
	{ stat="rangedSpeed", onupdate=true, events={}, spell=34483, spellclass="Ranged", widget={ type="CheckBox" }, options={ Enhanced_Base=true, Dec_Ranged_AttSp=true }, subgroup=true },
	{ stat="Spirit", onupdate=true, events={}, spell=48104, spellclass="Attributes", widget={ type="CheckBox" }, options={ Show=true, Decimals_Default=true }, subgroup=true },
	{ stat="ManaRegen", onupdate=true, events={}, spell=115294, spellclass="Spell", widget={ type="CheckBox" }, options={ Regen_Normal_Casting=true, Display_Basic=true, Dec_Spell_MP2=true }, subgroup=true },
	{ stat="MP5", onupdate=true, events={}, spell=47585, spellclass="Spell", widget={ type="CheckBox" }, options={ Regen_Normal_Casting=true, Display_Basic=true, Dec_Spell_MP5=true }, subgroup=true },
	{ stat="Mitigation", onupdate=true, events={}, spell=114029, spellclass="Defense", widget={ type="CheckBox" }, options={ WithBar=true, Total_Modifiers=true, Dec_Def_Mit=true, Cap_Def_Mit=true }, subgroup=true },
	{ stat="EHP", onupdate=true, events={}, item=40753, spellclass="Defense", widget={ type="CheckBox" }, options={ Show=true, Decimals_Default=true }, subgroup=true },
	{ stat="Resilience", onupdate=true, events={}, spell=74001, spellclass="Defense", widget={ type="CheckBox" }, options={ Dec_Def_Res=true }, subgroup=true },
	{ stat="Stamina", onupdate=true, events={}, spell=114713, spellclass="Attributes", widget={ type="CheckBox" }, options={ Show=true, Decimals_Default=true  }, subgroup=true },
	{ stat="Armor", onupdate=true, events={}, spell=13459, spellclass="Defense", widget={ type="CheckBox" }, options={ WithBar=true, Enhanced_Base=true, Decimals_Default=true, Cap_Def_Armor=true }, subgroup=true },
	{ stat="Dodge", onupdate=true, events={}, spell=55342, spellclass="Defense", widget={ type="CheckBox" }, options={ Percent_Rating=true, Dec_Def_Dodge=true, Display_Simulate=true }, subgroup=true },
	{ stat="Parry", onupdate=true, events={}, spell=3127, spellclass="Defense", widget={ type="CheckBox" }, options={ Percent_Rating=true, Dec_Def_Parry=true, Display_Simulate=true }, subgroup=true },
	{ stat="Block", onupdate=true, events={}, spell=52127, spellclass="Defense", widget={ type="CheckBox" }, options={ Percent_Rating=true, Dec_Def_Block=true, Block_Damage=true, Display_Simulate=true }, subgroup=true },
	{ stat="petAP", onupdate=true, events={}, spell=53270, spellclass="Pet", widget={ type="CheckBox" }, options={ Show=true, }, subgroup=true, activeonload=true, },
	{ stat="petDMG", onupdate=true, events={}, spell=80367, spellclass="Pet", widget={ type="CheckBox" }, options={ Max_Average_Damage=true, }, subgroup=true },
	{ stat="petDPS", onupdate=true, events={}, spell=19623, spellclass="Pet", widget={ type="CheckBox" }, options={ Show=true, }, subgroup=true },
	{ stat="petSpell", onupdate=true, events={}, spell=3716, spellclass="Pet", widget={ type="CheckBox" }, options={ Show=true, }, subgroup=true },
	{ stat="petCrit", onupdate=true, events={}, spell=50334, spellclass="Pet", widget={ type="CheckBox" }, options={ Show=true, }, subgroup=true },
	{ stat="petAtkSpeed", onupdate=true, events={}, spell=71232, spellclass="Pet", widget={ type="CheckBox" }, options={ Show=true, }, subgroup=true },
	{ stat="petArmor", onupdate=true, events={}, spell=60114, spellclass="Pet", widget={ type="CheckBox" }, options={ Show=true, }, subgroup=true },
	--{ stat="PvP", events={ CURRENCY_DISPLAY_UPDATE=true, }, spell=honorIcon, spellclass="Currency", widget={ type="CheckBox" }, options={ Honor_Arena=true, }, subgroup=true },	
	{ stat="Money", events={ PLAYER_MONEY=true, }, spell=67368, spellclass="Currency", widget={ type="CheckBox" }, options={ Show=true, Display_Gold=true, Decimals_Default=true, }, subgroup=true, activeonload=true, },
	{ stat="WowToken", onupdate=true, events={}, item=122284, spellclass="Currency", widget={ type="CheckBox" }, options={ Show=true, Display_Short=true, Decimals_Default=true, }, subgroup=true },
	{ stat="DarkmoonTicket", events={ CURRENCY_DISPLAY_UPDATE=true, }, currency=515, spellclass="Currency", widget={ type="CheckBox" }, options={ Show=true, Decimals_Default=true, }, subgroup=true },
	{ stat="JusticePoints", events={ CURRENCY_DISPLAY_UPDATE=true, }, currency=395, spellclass="Currency", widget={ type="CheckBox" }, options={ Show=true, Decimals_Default=true, }, subgroup=true },
	{ stat="AugustShard", events={ CURRENCY_DISPLAY_UPDATE=true, }, currency=3414, spellclass="Currency", widget={ type="CheckBox" }, options={ Show=true, Decimals_Default=true, }, subgroup=true },
	{ stat="AugustFragment", events={ CURRENCY_DISPLAY_UPDATE=true, }, currency=3350, spellclass="Currency", widget={ type="CheckBox" }, options={ Show=true, Decimals_Default=true, }, subgroup=true },
	{ stat="PlatinumCoins", events={ CURRENCY_DISPLAY_UPDATE=true, }, currency=3407, spellclass="Currency", widget={ type="CheckBox" }, options={ Show=true, Decimals_Default=true, }, subgroup=true },
	--{ stat="LoveToken", events={ UNIT_INVENTORY_CHANGED=true, }, item=49927, spellclass="Currency", widget={ type="CheckBox" }, options={ Show=true }, subgroup=true },
	{ stat="Speed", onupdate=true, events={}, updatespeed=1, spell=91381, spellclass="Misc", widget={ type="CheckBox" }, options={ WithBar="Speed", Speed_Static=true, }, subgroup=true, activeonload=true, },
	{ stat="TargetSpeed", onupdate=true, events={}, spell=52358, spellclass="Misc", widget={ type="CheckBox" }, options={ Show=true, }, subgroup=true },
	{ stat="Threat", onupdate=true, events={}, spell=355, spellclass="Misc", widget={ type="CheckBox" }, options={ WithBar=true, Percent_Rating=true, }, subgroup=true },
	{ stat="ItemLevel", onupdate=true, events={}, spell=66666, spellclass="Misc", widget={ type="CheckBox" }, options={ Equip_Max=true, Dec_Misc_Ilvl=true }, subgroup=true },
	{ stat="GlobalCD", events={ UNIT_SPELLCAST_SUCCEEDED={ "player" }, }, spell=71328, spellclass="Misc", widget={ type="CheckBox" }, options={ Show=true, Dec_Misc_Gcd=true }, subgroup=true },
	{ stat="Durability", events={ UPDATE_INVENTORY_DURABILITY=true, }, spell=3100, spellclass="Misc", widget={ type="CheckBox" }, options={ WithBar="Dura", AutoColorOff=true }, subgroup=true },
	{ stat="RepairCost", events={ UPDATE_INVENTORY_DURABILITY=true, }, spell=11209, spellclass="Misc", widget={ type="CheckBox" }, options={ Total_Equipped_Bags=true, }, subgroup=true },
	{ stat="Travel", onupdate=true, events={}, updatespeed=1, spell=87840, spellclass="Misc", widget={ type="CheckBox" }, options={ Show=true, Yards_KM=true, Reset_Login=true, Reset_Counter=true, }, subgroup=true },
	{ stat="Jump", onupdate=true, events={}, spell=69295, spellclass="Misc", widget={ type="CheckBox" }, options={ Show=true, Reset_Login=true, Reset_Counter=true, }, subgroup=true },
	--{ stat="KillCounter", events={ NAME_PLATE_UNIT_ADDED=true, NAME_PLATE_UNIT_REMOVED=true, }, spell=5308, spellclass="Misc", widget={ type="CheckBox" }, options={ Show=true, NPC_Players=true, Reset_Login=true, Reset_Counter=true, }, subgroup=true },
	{ stat="CombatTimer", onupdate=true, events={}, updatespeed=1, spell=34712, spellclass="Misc", widget={ type="CheckBox" }, options={ Show=true, Combat_Color=true, }, subgroup=true },
	--{ stat="MobCounter", events={ NAME_PLATE_UNIT_ADDED=true, NAME_PLATE_UNIT_REMOVED=true, }, spell=199483, spellclass="Misc", widget={ type="CheckBox" }, options={ Show=true, Editbox_MobRange=true, }, subgroup=true },
	{ stat="Lag", onupdate=true, events={}, spell=110166, spellclass="Misc", widget={ type="CheckBox" }, options={ World_Realm=true, }, subgroup=true },
	{ stat="FPS", onupdate=true, events={}, updatespeed=1, spell=62695, spellclass="Misc", widget={ type="CheckBox" }, options={ Show=true, }, subgroup=true },
	{ stat="BuffCounter", onupdate=true, events={}, spell=22888, spellclass="Misc", widget={ type="CheckBox" }, options={ Show=true, }, subgroup=true },
	{ stat="DebuffCounter", onupdate=true, events={}, spell=23154, spellclass="Misc", widget={ type="CheckBox" }, options={ Show=true, }, subgroup=true },
	{ stat="Guild", events={ GUILD_ROSTER_UPDATE=true, }, item=69210, spellclass="Misc", widget={ type="CheckBox" }, options={ WithBar=true, Show=true, Display_Total=true }, subgroup=true },
	{ stat="Friends", events={ FRIENDLIST_UPDATE=true, BN_FRIEND_INFO_CHANGED=true, }, item=22260, spellclass="Misc", widget={ type="CheckBox" }, options={ WithBar=true, BNet_Realm=true }, subgroup=true },
}

------------------------------
--		Global Events		--
------------------------------
Ns.GlobalEvents = {
	UNIT_AURA={ "player", "target", "pet"},
	UNIT_INVENTORY_CHANGED={ "player", },
	UNIT_STATS={ "player", },
	UNIT_DEFENSE={ "player", },
	BAG_CLOSED=true,
	BIND_ENCHANT=true,
	CHARACTER_POINTS_CHANGED=true,
	COMBAT_LOG_EVENT_UNFILTERED=true,
	PLAYER_REGEN_DISABLED=true,
	PLAYER_LEVEL_UP=true,
	PLAYER_TARGET_CHANGED=true,
	REPLACE_ENCHANT=true,
	GLYPH_ADDED=true,
	GLYPH_REMOVED=true,
	GLYPH_UPDATED=true,
	PLAYER_TALENT_UPDATE=true,
}

------------------------------
--		Settings Groups		--
------------------------------
Ns.SpellClass = {
	[0] = { stat="Settings", grp=Ns.SettingsGroupOrder, order=Ns.SettingsDisplayOrder, icon="Settings", },
	[1] = { stat="Text", grp=Ns.TextGroupOrder, order=Ns.TextDisplayOrder, icon="Fonts", },
	[2] = { stat="Layout", grp=Ns.LayoutGroupOrder, order=Ns.LayoutDisplayOrder, icon="Layout", },
	[3] = { stat="Events", grp=Ns.EventsGroupOrder, order=Ns.EventsDisplayOrder, icon="Events", },
	[4] = { stat="Profiles", grp=Ns.ProfileGroupOrder, order=Ns.ProfileDisplayOrder, icon="Profiles", },
	[5] = { stat="", },
	[6] = { stat="Search", icon="Search", },
	[7] = { stat="Attributes", icon="Attributes", },
	[8] = { stat="Melee", icon="Melee", },
	[9] = { stat="Defense", icon="Defense", },
	[10] = { stat="Ranged", icon="Ranged", },
	[11] = { stat="Spell", icon="Spell", },
	[12] = { stat="Pet", icon="Pet", },
	[13] = { stat="Currency", icon="Currency", },
	[14] = { stat="Misc", icon="Miscs", },
	[15] = { stat="", },
	[16] = { stat="FAQ", icon="Misc", },
}

------------------------------
--		Stat Options		--
------------------------------
Ns.Options = {
	-- stat options
	{ stat="Show", widget={ type="CheckBox", } },
	{ stat="CustName", widget={ type="EditBox", width=100, height=20, numeric=false, }, tooltip=true, },
	{ stat="Enhanced_Base", spellclass="Enhanced_Base", widget={ type="Radio", }, tooltip=true, default=1, labels={ "Enhanced", "Basic", "Both"}, newline=true, },
	{ stat="Total_Modifiers", spellclass="Total_Modifiers", widget={ type="Radio", }, tooltip=true, default=1, labels={ "Complete", "Base", "Modifiers"}, newline=true, },
	{ stat="Percent_Rating", spellclass="Percent_Rating", widget={ type="Radio", }, tooltip=true, default=1, labels={ "Percentage", "Rating", "Both"}, newline=true, },
	{ stat="Point_Rating", spellclass="Point_Rating", widget={ type="Radio", }, tooltip=false, default=1, labels={ "Points", "Rating", "Both"}, newline=true, },
	{ stat="Main_Off_Hand", spellclass="Main_Off_Hand", widget={ type="Radio", }, tooltip=true, default=1, labels={ "MainHand", "OffHand", "Both"}, newline=true, },
	{ stat="Level_Same_Boss", spellclass="Level_Same_Boss", widget={ type="Radio", }, tooltip=true, default=1, labels={ "SameLevel", "BossLevel", "Both"}, newline=true, },
	{ stat="Regen_Normal_Casting", spellclass="Regen_Normal_Casting", widget={ type="Radio", }, tooltip=true, default=1, labels={ "OutOfCombat", "Casting", "Both"}, newline=true, },
	{ stat="Crit_Damage_Taken", spellclass="Crit_Damage_Taken", widget={ type="Radio", }, tooltip=true, default=1, labels={ "CritTaken", "DamageTaken", "Both"}, newline=true, },
	{ stat="Total_Rating", spellclass="Total_Rating", widget={ type="Radio", }, tooltip=true, default=1, labels={ "Total", "Rating", "Both"}, newline=true, },
	{ stat="Max_Average_Damage", spellclass="Max_Average_Damage", widget={ type="Radio", }, tooltip=true, default=1, labels={ "Max", "Average", "Both"}, newline=true, },
	{ stat="Main_Off_Auto", spellclass="Main_Off_Auto", widget={ type="Radio", }, tooltip=true, default=1, labels={ "MainHand", "OffHand", "Auto"}, newline=true, },
	{ stat="Value_Rating", spellclass="Value_Rating", widget={ type="Radio", }, tooltip=true, default=1, labels={ "Value", "Rating", "Both"}, newline=true, },
	{ stat="World_Realm", spellclass="World_Realm", widget={ type="Radio", }, tooltip=true, default=1, labels={ "World", "Realm", "Both"}, newline=true, },
	{ stat="Total_Equipped_Bags", spellclass="Total_Equipped_Bags", widget={ type="Radio", }, tooltip=true, default=1, labels={ "Total", "Equipped", "Bags"}, newline=true, },
	{ stat="Heroism_Valor", spellclass="Heroism_Valor", widget={ type="Radio", }, tooltip=true, default=1, labels={ "Heroism", "Valor", "Both"}, newline=true, },
	{ stat="Shards_Marks", spellclass="Shards_Marks", widget={ type="Radio", }, tooltip=true, default=1, labels={ "StoneKeeper", "Marks", "Both"}, newline=true, },
	{ stat="Honor_Arena", spellclass="Honor_Arena", widget={ type="Radio", }, tooltip=true, default=1, labels={ "Honor", "Arena", "Both"}, newline=true, },
	{ stat="Player_Pet", spellclass="Player_Pet", widget={ type="Radio", }, tooltip=true, default=1, labels={ "Player", "Pet", "Both"}, newline=true, },
	{ stat="Mood_Damage", spellclass="Mood_Damage", widget={ type="Radio", }, tooltip=true, default=1, labels={ "Mood", "Damage", "Both"}, newline=true, },
	{ stat="Chance_Reduction", spellclass="Chance_Reduction", widget={ type="Radio", }, tooltip=true, default=1, labels={ "Chance", "Reduction", "Both"}, newline=true, },
	{ stat="Equip_Max", spellclass="Equip_Max", widget={ type="Radio", }, tooltip=true, default=1, labels={ "Equipped", "Max", "Both"}, newline=true, },
	--
	{ stat="Display_Average", spellclass="Display_Average", widget={ type="CheckBox", }, tooltip=true, default=false, labels={ "Display_Average"}, },
	{ stat="Display_Basic", spellclass="Display_Basic", widget={ type="CheckBox", }, tooltip=true, default=false, labels={ "Display_Basic"}, },
	{ stat="Display_MainHand", spellclass="Display_MainHand", widget={ type="CheckBox", }, tooltip=true, default=false, labels={ "Display_MainHand"}, },
	{ stat="Display_Expertise", spellclass="Display_Expertise", widget={ type="CheckBox", }, tooltip=true, default=false, labels={ "Display_Expertise"}, },
	{ stat="Speed_Static", spellclass="Speed_Static", widget={ type="Radio", }, tooltip=true, default=1, labels={ "Live", "Static", "Both"}, newline=true, },
	{ stat="Score_Color", spellclass="Score_Color", widget={ type="CheckBox", }, tooltip=false, default=true, labels={ "Score_Color"}, },
	{ stat="Add_Block", spellclass="Add_Block", widget={ type="CheckBox", }, tooltip=false, default=false, labels={ "Add_Block"}, },
	{ stat="Block_Damage", spellclass="Block_Damage", widget={ type="CheckBox", }, tooltip=true, default=false, labels={ "Block_Damage"}, },
	{ stat="Display_Special", spellclass="Display_Special", widget={ type="CheckBox", }, tooltip=true, default=false, labels={ "Display_Special"}, },

	-- Spell decimals sliders
	{ stat="Dec_Spell_Int", spellclass="Dec_Spell_Int", default=0, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Spell_Spir", spellclass="Dec_Spell_Spir", default=0, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Spell_Crit", spellclass="Dec_Spell_Crit", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Spell_Crit_Boss", spellclass="Dec_Spell_Crit_Boss", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Spell_Haste", spellclass="Dec_Spell_Haste", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Spell_Hit", spellclass="Dec_Spell_Hit", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Spell_Fire", spellclass="Dec_Spell_Fire", default=0, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Spell_Frost", spellclass="Dec_Spell_Frost", default=0, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Spell_Arcane", spellclass="Dec_Spell_Arcane", default=0, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Spell_Shadow", spellclass="Dec_Spell_Shadow", default=0, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Spell_Nature", spellclass="Dec_Spell_Nature", default=0, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Spell_Holy", spellclass="Dec_Spell_Holy", default=0, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Spell_Healing", spellclass="Dec_Spell_Healing", default=0, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Spell_Miss", spellclass="Dec_Spell_Miss", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Spell_MP2", spellclass="Dec_Spell_MP2", default=1, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Spell_MP5", spellclass="Dec_Spell_MP5", default=1, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Spell_Pen", spellclass="Dec_Spell_Pen", default=1, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Decimals_Default", spellclass="Decimals_Default", default=0, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	-- Misc decimals sliders
	{ stat="Dec_Misc_Ilvl", spellclass="Dec_Misc_Ilvl", default=1, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Misc_Gcd", spellclass="Dec_Misc_Gcd", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	-- Ranged decimals sliders
	{ stat="Dec_Ranged_Crit", spellclass="Dec_Ranged_Crit", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Ranged_CritBoss", spellclass="Dec_Ranged_CritBoss", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Ranged_Hit", spellclass="Dec_Ranged_Hit", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Ranged_Haste", spellclass="Dec_Ranged_Haste", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Ranged_Pen", spellclass="Dec_Ranged_Pen", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Ranged_Miss", spellclass="Dec_Ranged_Miss", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Ranged_AttSp", spellclass="Dec_Ranged_AttSp", default=0, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	-- Defense decimals sliders
	{ stat="Dec_Def_Stamina", spellclass="Dec_Def_Stamina", default=0, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Def_Armor", spellclass="Dec_Def_Armor", default=0, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Def_Avoidance", spellclass="Dec_Def_Avoidance", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Def_Crush", spellclass="Dec_Def_Crush", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Def_Miss", spellclass="Dec_Def_Miss", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Def_Crit", spellclass="Dec_Def_Crit", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Def_Def", spellclass="Dec_Def_Def", default=1, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Def_Mit", spellclass="Dec_Def_Mit", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Def_Res", spellclass="Dec_Def_Res", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Def_Hit", spellclass="Dec_Def_Hit", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Def_Dodge", spellclass="Dec_Def_Dodge", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Def_Parry", spellclass="Dec_Def_Parry", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Def_Block", spellclass="Dec_Def_Block", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	-- Melee decimals sliders
	{ stat="Dec_Melee_DPS", spellclass="Dec_Melee_DPS", default=0, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Melee_Crit", spellclass="Dec_Melee_Crit", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Melee_Boss", spellclass="Dec_Melee_Boss", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Melee_Cap", spellclass="Dec_Melee_Cap", default=1, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Melee_Hit", spellclass="Dec_Melee_Hit", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Melee_Haste", spellclass="Dec_Melee_Haste", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Melee_Pen", spellclass="Dec_Melee_Pen", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Melee_Exp", spellclass="Dec_Melee_Exp", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Melee_Miss", spellclass="Dec_Melee_Miss", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Melee_Dmg", spellclass="Dec_Melee_Dmg", default=1, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Melee_AttSp", spellclass="Dec_Melee_AttSp", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Melee_Str", spellclass="Dec_Melee_Str", default=0, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Dec_Melee_Agi", spellclass="Dec_Melee_Agi", default=0, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },
	{ stat="Decimals_Mastery", spellclass="Decimals_Mastery", default=2, widget={ type="Slider", min=0, max=3, valuestep=1, width=140, } , newline=true, },

	{ stat="Display_Gold", spellclass="Display_Gold", widget={ type="CheckBox", }, tooltip=false, default=false, labels={ "Display_Gold"}, },
	{ stat="Yards_KM", spellclass="Yards_KM", widget={ type="Radio", }, tooltip=true, default=1, labels={ "Yards", "Kilometers", "Both"}, newline=true, },
	{ stat="NPC_Players", spellclass="NPC_Players", widget={ type="Radio", }, tooltip=true, default=1, labels={ "NPC", "Players", "Both"}, newline=true, },
	{ stat="Reset_Login", spellclass="Reset_Login", widget={ type="CheckBox", }, default=false, labels={ "Reset_Login"}, newline=true, },
-- 	{ stat="Reset_Counter", spellclass="Reset_Counter", widget={ type="PlainButton", }, default=false, },
	{ stat="Combat_Color", spellclass="Combat_Color", widget={ type="CheckBox", }, tooltip=false, default=true, labels={ "Combat_Color"}, newline=true, },
	{ stat="Editbox_MobRange", spellclass="Editbox_MobRange", default=0, tooltip=true, widget={ type="EditBox", width=60, height=20, numeric=true, format="%.0f", }, newline=true, },
	{ stat="Display_Short", spellclass="Display_Short", widget={ type="CheckBox", }, tooltip=false,  default=false, labels={ "Display_Short"}, newline=true, },
	{ stat="AutoColorOff", spellclass="AutoColorOff", widget={ type="CheckBox", }, tooltip=true, default=false, labels={ "AutoColorOff"}, newline=true, },
	{ stat="Display_Total", spellclass="Display_Total", widget={ type="CheckBox", }, default=false, labels={ "Display_Total"}, newline=true, },
	{ stat="BNet_Realm", spellclass="BNet_Realm", widget={ type="Radio", }, tooltip=true, default=1, labels={ "BNet", "Realm", "Both"}, newline=true, },

	-- Melee cap boxes
	{ stat="Cap_Melee_Crit", spellclass="Cap_Melee_Crit", default=100, tooltip=true, widget={ type="EditBox", width=60, height=20, numeric=true, format="%.2f%%", }, },
	{ stat="Cap_Melee_CritBoss", spellclass="Cap_Melee_CritBoss", default=100, tooltip=true, widget={ type="EditBox", width=60, height=20, numeric=true, format="%.2f%%", }, },
	{ stat="Cap_Melee_Hit", spellclass="Cap_Melee_Hit", default=8, tooltip=true, widget={ type="EditBox", width=60, height=20, numeric=true, format="%.2f%%", }, },
	{ stat="Cap_Melee_Haste", spellclass="Cap_Melee_Haste", default=200, tooltip=true, widget={ type="EditBox", width=60, height=20, numeric=true, format="%.2f%%", }, },
	{ stat="Cap_Melee_Exp", spellclass="Cap_Melee_Exp", default=26, tooltip=true, widget={ type="EditBox", width=60, height=20, numeric=true, format="%.2f", }, },
	{ stat="Cap_Mastery", spellclass="Cap_Mastery", default=100, tooltip=true, widget={ type="EditBox", width=60, height=20, numeric=true, format="%.2f%%", }, },
	-- Defense cap boxes
	{ stat="Cap_Def_Def", spellclass="Cap_Def_Def", default=540, tooltip=true, widget={ type="EditBox", width=50, height=20, numeric=true, format="%.2f", }, },
	{ stat="Cap_Def_Armor", spellclass="Cap_Def_Armor", default=49905, tooltip=true, widget={ type="EditBox", width=60, height=20, numeric=true, format="%.0f", }, },
	{ stat="Cap_Def_Mit", spellclass="Cap_Def_Mit", default=75, tooltip=true, widget={ type="EditBox", width=60, height=20, numeric=true, format="%.0f%%", }, },
	{ stat="Cap_Def_Avo", spellclass="Cap_Def_Avo", default=102.4, tooltip=true, widget={ type="EditBox", width=60, height=20, numeric=true, format="%.2f%%", }, },
	-- Ranged cap boxes
	{ stat="Cap_Ranged_Haste", spellclass="Cap_Ranged_Haste", default=200, tooltip=true, widget={ type="EditBox", width=60, height=20, numeric=true, format="%.2f%%", }, },
	{ stat="Cap_Ranged_Crit", spellclass="Cap_Ranged_Crit", default=104.8, tooltip=true, widget={ type="EditBox", width=60, height=20, numeric=true, format="%.1f%%", }, },
	{ stat="Cap_Ranged_CritBoss", spellclass="Cap_Ranged_CritBoss", default=104.8, tooltip=true, widget={ type="EditBox", width=60, height=20, numeric=true, format="%.1f%%", }, },
	{ stat="Cap_Ranged_Hit", spellclass="Cap_Ranged_Hit", default=8, tooltip=true, widget={ type="EditBox", width=60, height=20, numeric=true, format="%.2f%%", }, },
	{ stat="Cap_Ranged_ArP", spellclass="Cap_Ranged_ArP", default=1440, tooltip=true, widget={ type="EditBox", width=60, height=20, numeric=true, format="%.0f", }, },
	-- Spell cap boxes
	{ stat="Cap_Spell_Crit", spellclass="Cap_Spell_Crit", default=100, tooltip=true, widget={ type="EditBox", width=60, height=20, numeric=true, format="%.2f%%", }, },
	{ stat="Cap_Spell_CritBoss", spellclass="Cap_Spell_CritBoss", default=100, tooltip=true, widget={ type="EditBox", width=60, height=20, numeric=true, format="%.2f%%", }, },
	{ stat="Cap_Spell_Hit", spellclass="Cap_Spell_Hit", default=17, tooltip=true, widget={ type="EditBox", width=60, height=20, numeric=true, format="%.2f%%", }, },
	-- Other options
	{ stat="Display_Simulate", spellclass="Display_Simulate", widget={ type="CheckBox", }, tooltip=true, default=false, labels={ "Display_Simulate"}, },
	{ stat="Add_Speed", spellclass="Add_Speed", widget={ type="CheckBox", }, tooltip=true, default=true, labels={ "Add_Speed"}, },
	{ stat="Add_AtkSpeed", spellclass="Add_AtkSpeed", widget={ type="CheckBox", }, tooltip=true, default=true, labels={ "Add_AtkSpeed"}, },

	-- Fizz [per-stat custom colours]: added for per-stat custom colours
	{ stat="ColorCustom", default=false, widget={ type="CheckBox", }, linked={ "ColorName", false, "ColorClass", false, "ColorValue", false, "ColorValueEndable", false, }, onclick="InitCustomColors", newline=true },
	{ stat="ColorName", default={ r=1, g=1, b=1, }, widget={ type="ColorPicker", }, },
	{ stat="ColorClass", default=false, widget={ type="CheckBox", }, },
	{ stat="ColorValueEndable", default=false, widget={ type="CheckBox", }, linked={ "ColorValue", false, }, newline=true },
	{ stat="ColorValue", default={ r=1, g=1, b=1, }, widget={ type="ColorPicker", }, },
	{ stat="ShowBar", spellclass="ShowBar", widget={ type="CheckBox", }, tooltip=true, default=false, labels={ "ShowBar"}, baropt=true, newline=true,},
	{ stat="BarMaxMode", spellclass="BarMaxMode", widget={ type="DropList", data="BarMaxMode", width=120, }, default=1, onchange="OnBarMaxModeChange", baropt=true, barmode="Default", },
	{ stat="SpeedBar", spellclass="SpeedBar", widget={ type="DropList", data="SpeedBar", width=120, }, default=1, baropt=true, barmode="Speed", },
	{ stat="BarMaxCustom", spellclass="BarMaxCustom", default=100, tooltip=true, widget={ type="EditBox", width=60, height=20, numeric=true, format="%.0f", }, baropt=true, barmode="Default,Speed", },
	{ stat="StaticBar", spellclass="StaticBar", widget={ type="CheckBox", }, tooltip=true, default=false, labels={ "StaticBar"}, baropt=true, staticopt=true, newline=true, },
	{ stat="BarTexture", spellclass="BarTexture", widget={ type="DropList", data="BarTextures", width=170, }, default="Blizzard", baropt=true, staticopt=true, newline=true, },
	{ stat="BarColor", spellclass="BarColor", default={ r=0.2, g=0.6, b=0.2, }, widget={ type="ColorPicker", }, baropt=true, staticopt=true, },
	{ stat="BarAutoColor", spellclass="BarAutoColor", widget={ type="CheckBox", }, tooltip=true, default=false, labels={ "BarAutoColor"}, baropt=true, linked={ "BarColor", true, }, },
	{ stat="BarAlpha", spellclass="BarAlpha", default=1, widget={ type="Slider", min=0, max=1, valuestep=0.01, width=145, }, baropt=true, staticopt=true, },
	{ stat="BarBgColor", spellclass="BarBgColor", default={ r=0.1, g=0.1, b=0.1, }, widget={ type="ColorPicker", }, baropt=true, },
	{ stat="BarBgAlpha", spellclass="BarBgAlpha", default=1, widget={ type="Slider", min=0, max=1, valuestep=0.01, width=145, }, baropt=true, },
}

--------------------------
--		Class & ID		--
--------------------------
Ns.byPlayerClass = {
	["DEATHKNIGHT"] = 6,
	["DRUID"] = 11,
	["HUNTER"] = 3,
	["MAGE"] = 8,
	["PALADIN"] = 2,
	["PRIEST"] = 5,
	["ROGUE"] = 4,
	["SHAMAN"] = 7,
	["WARLOCK"] = 9,
	["WARRIOR"] = 1,
}

------------------------------
--		Class defaults		--
------------------------------
function Ns:GetClassDefaults(class)
	local defaults = {
		DEATHKNIGHT = {
			AP = true,
			DMG = true,
			Crit = true,
			Hit = true,
			HasteMelee = true,
			MeleeMiss = true,
			Armor = true,
			ArmorPen = true,
			Defense = true,
			BossReduc = true,
			GearScore = true,
			Speed = true,
			Durability = true,
		},
		DRUID = {
			AP = true,
			Nature = true,
			Healing = true,
			MP5 = true,
			Crit = true,
			SpellCrit = true,
			SpellHit = true,
			SpellMiss = true,
			Mitigation = true,
			GearScore = true,
			Speed = true,
			Durability = true,
		},
		HUNTER = {
			RAP = true,
			RDMG = true,
			rDPS = true,
			RangedCrit = true,
			RangedHit = true,
			HasteRanged = true,
			RangedMiss = true,
			RangedPen = true,
			MP2 = true,
			GearScore = true,
			Speed = true,
			Durability = true,
		},
		MAGE = {
			Frost = true,
			Fire = true,
			SpellCrit = true,
			SpellHit = true,
			SpellPenetration = true,
			SpellMiss = true,
			HasteCaster = true,
			ManaRegen = true,
			GearScore = true,
			Speed = true,
			Durability = true,
		},
		PALADIN = {
			AP = true,
			Holy = true,
			Healing = true,
			MP5 = true,
			Crit = true,
			HasteMelee = true,
			Armor = true,
			SpellCrit = true,
			Mitigation = true,
			Avoidance = true,
			GearScore = true,
			Speed = true,
			Durability = true,
		},
		PRIEST = {
			Healing = true,
			Shadow = true,
			SpellCrit = true,
			SpellHit = true,
			SpellPenetration = true,
			SpellMiss = true,
			HasteCaster = true,
			ManaRegen = true,
			GearScore = true,
			Speed = true,
			Durability = true,
		},
		ROGUE = {
			AP = true,
			DMG = true,
			mDPS = true,
			weaponSpeed = true,
			Crit = true,
			CritCap = true,
			Hit = true,
			HasteMelee = true,
			Expertise = true,
			ArmorPen = true,
			GearScore = true,
			Speed = true,
			Durability = true,
		},
		SHAMAN = {
			AP = true,
			Nature = true,
			Healing = true,
			MP5 = true,
			Crit = true,
			SpellCrit = true,
			SpellHit = true,
			SpellMiss = true,
			GearScore = true,
			Speed = true,
			Durability = true,
		},
		WARLOCK = {
			Shadow = true,
			SpellCrit = true,
			SpellHit = true,
			SpellPenetration = true,
			SpellMiss = true,
			HasteCaster = true,
			ManaRegen = true,
			GearScore = true,
			Speed = true,
			Durability = true,
		},
		WARRIOR = {
			AP = true,
			DMG = true,
			mDPS = true,
			Mitigation = true,
			Crit = true,
			CritCap = true,
			Hit = true,
			HasteMelee = true,
			Defense = true,
			BossReduc = true,
			Resilience = true,
			GearScore = true,
			Speed = true,
			Durability = true,
		},
	}
	return class and defaults[strupper(class)] or defaults
end
