var Labels = [
'Display Name', // 0
'Slot Type', // 1
'Calc', // 2
'AC', // 3
'HP', // 4
'MANA', // 5
'Endurance', // 6
'STR', // 7
'DEX', // 8
'STA', // 9
'CHA', // 10
'WIS', // 11
'INT', // 12
'AGI', // 13
'SV FIRE', // 14
'SV DISEASE', // 15
'SV COLD', // 16
'SV MAGIC', // 17
'SV POISON', // 18
'Regeneration', // 19
'Mana Regeneration', // 20
'Damage Shield', // 21
'Effect', // 22
'Gem Cut' // 23
];

// Calculation type constants, corresponding to the Calc field above:
// Note that the Regen and DS formulae are obsolete and not used in current gems.
var CALC_STATS = 1;
var CALC_REGEN = 2;
var CALC_DS = 3;
var CALC_EFFECT = 4;

var FirstStat = 3; // the index of the first stat (from the list above) to be summed
var LastStat = 21; // the corresponding last stat to be summed
var NumStats = LastStat - FirstStat + 1;

var GemList = [];
GemList[GemList.length] = ['None',10,,,,,,,,,,,,,,,,,,,,,,''];
GemList[GemList.length] = ['Alexandrite',11,CALC_STATS,,,,,25,,25,,,25,,,,,,,,,,,'Marquise'];
GemList[GemList.length] = ['Amber',11,CALC_EFFECT,,,,,,,,,,,,,,,,,,,,'Ultravision','Trilion'];
GemList[GemList.length] = ['Amber Nihilite',11,CALC_STATS,10,,,350,,,,,,,,,,,,,,,,,'Marquise'];
GemList[GemList.length] = ['Amethyst',11,CALC_STATS,,,,,,,,,,,,20,,20,20,,,,,,'Trilion'];
GemList[GemList.length] = ['Black Sapphire',11,CALC_STATS,,,,,,,,,,,,15,15,15,15,15,,,,,'Square'];
GemList[GemList.length] = ['Bloodstone',11,CALC_EFFECT,,,,,,,,,,,,,,,,,,,,'Heat Sight','Trilion'];
GemList[GemList.length] = ['Carnelian',10,CALC_STATS,,,,,12,,,,,,,,,,,,,,,,'Round'];
GemList[GemList.length] = ['Cat\'s Eye Agate',10,CALC_STATS,,,,,,,,,,,,,,,14,,,,,,'Round'];
GemList[GemList.length] = ['Combine Star',11,CALC_STATS,,,,,,,,,,,,,20,,20,20,,,,,'Trilion'];
GemList[GemList.length] = ['Crimson Nihilite',11,CALC_STATS,10,350,,,,,,,,,,,,,,,,,,,'Marquise'];
GemList[GemList.length] = ['Demantoid',11,CALC_STATS,,,,,25,,25,25,,,,,,,,,,,,,'Oval'];
GemList[GemList.length] = ['Emerald',10,CALC_STATS,,,150,150,,,,,,,,,,,,,,,,,'Round'];
GemList[GemList.length] = ['Fire Emerald',11,CALC_STATS,,,,,,,,,,,,,,,,,,,13,,'Oval'];
GemList[GemList.length] = ['Fire Opal',11,CALC_EFFECT,,,,,,,,,,,,,,,,,,,,'Enduring Breath','Oval'];
GemList[GemList.length] = ['Goshenite',11,CALC_STATS,,,,,25,,25,,25,,,,,,,,,,,,'Half Moon'];
GemList[GemList.length] = ['Harmonagate',11,CALC_STATS,20,200,200,200,20,20,,,,,20,20,20,20,20,20,,,,,'Half Moon'];
GemList[GemList.length] = ['Harmonagate',11,CALC_STATS,20,200,200,200,,20,,20,,,20,20,20,20,20,20,,,,,'Marquise'];
GemList[GemList.length] = ['Harmonagate',11,CALC_STATS,20,200,200,200,20,,,,20,20,,20,20,20,20,20,,,,,'Oval'];
GemList[GemList.length] = ['Harmonagate',11,CALC_STATS,20,200,200,200,,,20,,20,20,,20,20,20,20,20,,,,,'Pear'];
GemList[GemList.length] = ['Harmonagate',11,CALC_STATS,20,200,200,200,,,,20,20,20,,20,20,20,20,20,,,,,'Round'];
GemList[GemList.length] = ['Harmonagate',11,CALC_STATS,20,200,200,200,20,,20,20,,,,20,20,20,20,20,,,,,'Square'];
GemList[GemList.length] = ['Harmonagate',11,CALC_STATS,20,200,200,200,,20,20,,,,20,20,20,20,20,20,,,,,'Trilion'];
GemList[GemList.length] = ['Hematite',10,CALC_STATS,,,,,,,,,,,,14,,,,,,,,,'Round'];
GemList[GemList.length] = ['Indigo Nihilite',11,CALC_STATS,10,,350,,,,,,,,,,,,,,,,,,'Marquise'];
GemList[GemList.length] = ['Jacinth',11,CALC_STATS,,,,,25,25,25,,,,,,,,,,,,,,'Round'];
GemList[GemList.length] = ['Jade',10,CALC_STATS,,,,,,,,,,12,,,,,,,,,,,'Round'];
GemList[GemList.length] = ['Jasper',10,CALC_STATS,,,,,,,,,,,12,,,,,,,,,,'Round'];
GemList[GemList.length] = ['Lapis Lazuli',10,CALC_STATS,,,,,,,,,,,,,14,,,,,,,,'Round'];
GemList[GemList.length] = ['Malachite',10,CALC_STATS,,,,,,,,,,,,,,,,14,,,,,'Round'];
GemList[GemList.length] = ['Morganite',11,CALC_STATS,,,,,25,,25,,,,25,,,,,,,,,,'Round'];
GemList[GemList.length] = ['Onyx',10,CALC_STATS,,,,,,12,,,,,,,,,,,,,,,'Round'];
GemList[GemList.length] = ['Opal',10,CALC_STATS,,150,,,,,,,,,,,,,,,,,,,'Round'];
GemList[GemList.length] = ['Pearl',10,CALC_STATS,,,,,,,12,,,,,,,,,,,,,,'Round'];
GemList[GemList.length] = ['Peridot',10,CALC_STATS,10,,,,,,,,,,,,,,,,,,,,'Round'];
GemList[GemList.length] = ['Prestidigitase',11,CALC_STATS,18,150,150,150,,20,,,,,20,20,,20,,,,,,,'Half Moon'];
GemList[GemList.length] = ['Prestidigitase',11,CALC_STATS,18,150,150,150,,,,20,,,20,20,,20,,,,,,,'Marquise'];
GemList[GemList.length] = ['Prestidigitase',11,CALC_STATS,18,150,150,150,20,,,,20,,,20,,20,,,,,,,'Oval'];
GemList[GemList.length] = ['Prestidigitase',11,CALC_STATS,18,150,150,150,,,20,,,20,,20,,20,,,,,,,'Pear'];
GemList[GemList.length] = ['Prestidigitase',11,CALC_STATS,18,150,150,150,,,,,20,20,,20,,20,,,,,,,'Round'];
GemList[GemList.length] = ['Prestidigitase',11,CALC_STATS,18,150,150,150,20,,20,,,,,20,,20,,,,,,,'Square'];
GemList[GemList.length] = ['Prestidigitase',11,CALC_STATS,18,150,150,150,,20,20,,,,,20,,20,,,,,,,'Trilion'];
GemList[GemList.length] = ['Rubellite',11,CALC_STATS,,,,,15,15,15,15,15,15,15,,,,,,,,,,'Pear'];
GemList[GemList.length] = ['Ruby',11,CALC_STATS,,,,,,,,,,,,,,,,,,10,,,'Square'];
GemList[GemList.length] = ['Sapphire',11,CALC_STATS,,,,,,,,,,,,,,,,,10,,,,'Trilion'];
GemList[GemList.length] = ['Shimmering Nihilite',11,CALC_STATS,10,250,250,250,,,,,,,,,,,,,,,,,'Trilion'];
GemList[GemList.length] = ['Star Rose Quartz',10,CALC_STATS,,,,,,,,12,,,,,,,,,,,,,'Round'];
GemList[GemList.length] = ['Star Ruby',11,CALC_EFFECT,,,,,,,,,,,,,,,,,,,,'Faerune','Pear'];
GemList[GemList.length] = ['Staurolite',11,CALC_STATS,15,100,100,100,,,,,,,20,,20,,20,,,,,,'Half Moon'];
GemList[GemList.length] = ['Staurolite',11,CALC_STATS,15,100,100,100,,,,20,,,,,20,,20,,,,,,'Marquise'];
GemList[GemList.length] = ['Staurolite',11,CALC_STATS,15,100,100,100,,,,,20,,,,20,,20,,,,,,'Oval'];
GemList[GemList.length] = ['Staurolite',11,CALC_STATS,15,100,100,100,,,20,,,,,,20,,20,,,,,,'Pear'];
GemList[GemList.length] = ['Staurolite',11,CALC_STATS,15,100,100,100,,,,,,20,,,20,,20,,,,,,'Round'];
GemList[GemList.length] = ['Staurolite',11,CALC_STATS,15,100,100,100,20,,,,,,,,20,,20,,,,,,'Square'];
GemList[GemList.length] = ['Staurolite',11,CALC_STATS,15,100,100,100,,20,,,,,,,20,,20,,,,,,'Trilion'];
GemList[GemList.length] = ['Taaffeite',11,CALC_STATS,25,250,250,250,25,25,,,25,,25,25,25,25,25,25,,,,,'Half Moon'];
GemList[GemList.length] = ['Taaffeite',11,CALC_STATS,25,250,250,250,25,25,,25,,,25,25,25,25,25,25,,,,,'Marquise'];
GemList[GemList.length] = ['Taaffeite',11,CALC_STATS,25,250,250,250,25,25,,,25,25,,25,25,25,25,25,,,,,'Oval'];
GemList[GemList.length] = ['Taaffeite',11,CALC_STATS,25,250,250,250,,,25,25,25,25,,25,25,25,25,25,,,,,'Pear'];
GemList[GemList.length] = ['Taaffeite',11,CALC_STATS,25,250,250,250,,,25,25,25,25,,25,25,25,25,25,,,,,'Round'];
GemList[GemList.length] = ['Taaffeite',11,CALC_STATS,25,250,250,250,25,,25,25,,,25,25,25,25,25,25,,,,,'Square'];
GemList[GemList.length] = ['Taaffeite',11,CALC_STATS,25,250,250,250,,25,25,,,25,25,25,25,25,25,25,,,,,'Trilion'];
GemList[GemList.length] = ['Topaz',11,CALC_EFFECT,,,,,,,,,,,,,,,,,,,,'Shadow Sight','Trilion'];
GemList[GemList.length] = ['Turquoise',10,CALC_STATS,,,,,,,,,,,,,,14,,,,,,,'Round'];
GemList[GemList.length] = ['Wolf\'s Eye Agate',10,CALC_STATS,,,,,,,,,12,,,,,,,,,,,,'Round'];


// The list of metals.  The values are:
	// 1) percent power used for hp, ac, and base stats/saves
	// 2) value used for regen and mana regen
	// 3) value used for damage shield
	// 4) Recommended level
	// 5) Metal power adjustment

// constants for the above:
var PERCENT_HP = 0;
var PERCENT_REGEN = 1;
var PERCENT_DS = 2;
var REC_LEVEL = 3;
var METAL_POWER = 4;

var MetalList = [];
// Column heading 
// (from above)				0		1		2		3		4
MetalList['Temporite']	= [	118,	10,		13,		75,		118	];
MetalList['Dwerium']	= [	100,	10,		13,		65,		100	];
MetalList['Palladium']	= [	76,		8,		10,		55,		80	];
MetalList['Velium']		= [	56,		5,		7,		45,		60	];
MetalList['Platinum']	= [	40,		4,		5,		30,		40	];
MetalList['Gold']		= [	28,		3,		3,		15,		30	];
MetalList['Electrum']	= [	20,		2,		2,		1,		20	];
MetalList['Silver']		= [	12,		1,		1,		1,		12	];
// Note on recommended levels: If the metal rec level is zero, then it is zero for all types.
// If the rec level is NOT zero, that's the level for solo items.
// Duo items are level+3, trio items are level + 5.




// Level diff table, by Ngreth:
	// The "internal" adjustment is a look-up table.
	// Level Diff - Mod
	// 0             - 100
	// 1             - 99
	// 2             - 97
	// 3             - 95
	// 4             - 90
	// 5             - 85
	// 6             - 75
	// 7             - 65
	// 8             - 50
	// 9             - 35
	// 10            - 15
var InternalRecLevelMod = [];
InternalRecLevelMod[0]  = 100;
InternalRecLevelMod[1]  = 99;
InternalRecLevelMod[2]  = 97;
InternalRecLevelMod[3]  = 95;
InternalRecLevelMod[4]  = 90;
InternalRecLevelMod[5]  = 85;
InternalRecLevelMod[6]  = 75;
InternalRecLevelMod[7]  = 65;
InternalRecLevelMod[8]  = 50;
InternalRecLevelMod[9]  = 35;
InternalRecLevelMod[10] = 15;

