// Custom globals
var iconFolder = "image/";

// Custom Lizardmen Functions
function salamandDeployment(unit, positions) {
  var i;
	var prodder = ["skinkjavelin1.gif", "skinkjavelin2.gif", "skinkjavelin3.gif"];
	normalDeployment(unit, positions);
	
	for (i = 0; i < unit.count * 3; i++) {
		positions.back.push(prodder);
	}
	
	// add some additional herders
	if (unit.options.iSkink) {
		for (i = 0; i < unit.options.iSkink * unit.count; i++) {
			positions.back.push(prodder);
		}
	}
	
	return positions;
}

function skinksDeployment(unit, positions) {
	var kroxigors = ["kroxigor1.gif", "kroxigor2.gif"];
	normalDeployment(unit, positions);

	if (unit.options.Kroxigor) {
		for (var i = 0; i < unit.options.Kroxigor; i++) {
			positions.middle.push(kroxigors);
		}
	}

	return positions;
}

function giftChange(unit, optionName, count) {
	var changeFunc = giftChange;
	var giftCount = 0;
	
	// Count the number of gifts
	unit.forAllSelectedOptions(
		function(option, count) {
			var optionOptions = option[3];
			if (optionOptions && optionOptions.changeFunction == changeFunc) {
				giftCount += unit.options[option[0]];
			}
		});
		
	// Take back an invalid change
	if (giftCount > 5 && count > 0) {
		unit.options[optionName] = 0;
		$(unit.getId() + '_' + optionName).checked = false;
	}
	
	if (giftCount < 1 && count < 1) {
		unit.options[optionName] = 1;
		$(unit.getId() + '_' + optionName).checked = true;
	}
}

var giftOpt = {changeFunction: giftChange};
// End Custom Functions

// Custom items for the Lizardmen army
var optionsGifts = [
	["giFocus", "Focus of Mystery", 50, giftOpt],
	["giRumination", "Focused Rumination", 50, giftOpt],
	["giHealing", "Transcendent Healing", 50, giftOpt],
	["giScrutiny", "Harrowing Scrutiny", 50, giftOpt],
	["giState", "Higher State of Consciousness", 50, giftOpt],
	["giBecal", "Becalming Cogitation", 50, giftOpt],
	["giPresence", "Unfathomable Presence", 50, giftOpt],
	["giStone", "Soul of Stone", 50, giftOpt]
];

var optionsMagicWep = [
	["mBladReal", "Blade of Realities", 75, {changeFunction: maxOneOfMWep}],
	["mBladTzun", "Blade of Revered Tzunki", 65, {changeFunction: maxOneOfMWep}],
	["mScimSunR", "Scimitar of the Sun Resplendent", 50, {changeFunction: maxOneOfMWep}],
	["mStegWar", "Stegadon Warspear", 50, {changeFunction: maxOneOfMWep}],
	["mStaffLS", "Staff of the Lost Sun", 35, {changeFunction: maxOneOfMWep}],
	["mPiranhaB", "Piranha Blade", 35, {changeFunction: maxOneOfMWep}],
	["mDagSotek", "Dagger of Sotek", 25, {changeFunction: maxOneOfMWep}],
	["mSwdHornt", "Sword of the Hornet", 25, {changeFunction: maxOneOfMWep}],
	["mBurnBlad", "Burning Blade of Chotec", 20, {changeFunction: maxOneOfMWep}]
].concat(commonMagicWep).optSort();

var optionsMagicArm = [
	["mSMirPool", "Shield of the Mirrored Pool", 30, {changeFunction: maxOneOfMArm}],
	["mMaimShld", "The Maiming Shield", 30, {changeFunction: maxOneOfMArm}]
].concat(commonMagicArm).optSort();

var optionsMagicEnc = [
	["mHornKygor", "Horn of Kygor", 100],
	["mHornedOne", "Horned One", 35],
	["mWarDrum", "War Drum of Xahutec", 30.],
	["mBloodSta", "Blood Statuette of Spite", 25],
	["mCharmJag", "Charm of the Jaguar Warrior", 25],
	["mCarnPend", "Carnosaur Pendant", 20],
	["mCurseChr", "Curse-Charm of Tepok", 20],
	["mBaneHead", "Bane Head", 15],
	["mDragonQk", "Dragonfly of Quicksilver", 10],
	["mVenomFFg", "Venom of the Firefly Frog", 10]
].concat(commonMagicEnc).optSort();

var optionsMagicArc = [
	["mCupHands", "Cupped Hands of the Old Ones", 45],
	["mStaffSor", "Staff of Sorcery", 40],
	["mCubeDark", "Cube of Darkness", 40],
	["mRodStorm", "Rod of the Storm", 25],
	["mDiademPw", "Diadem of Power", 25],
	["mGrubs", "Itxi Grubs", 25],
	["mPlqTepok", "Plaque of Tepok", 15]
].concat(commonMagicArc).optSort();

var optionsMagicTal = [
	["mAuraQuet", "Aura of Quetzl", 40],
	["mGlyphNek", "Glyph Necklace", 30],
	["mAmulItzl", "Amulet of Itzl", 30]
].concat(commonMagicTal).optSort();

var optionsMagicBan25 = [
	["mStdWar", "War Banner", 25],
	["mStdJaguar", "Jaguar Standard", 25],
	["mStdSkavenpelt", "Skavenpelt Banner", 25]
].concat(commonMagicBan25).optSort();

var optionsMagicBan = [
	["mStdProphecy", "Totem of Prophecy", 50],
	["mStdDominion", "Plaque of Dominion", 50],
	["mStdChotec", "Sun Standard of Chotec", 40],
	["mStdHuanchi", "Huanchi's Blessed Totem", 25]
].concat(commonMagicBan, optionsMagicBan25).optSort();

var optionsMagicBan50 = optionsMagicBan;

// End Custom Items

var baseDefinition = {
	name: "Lizardmen",
	maxsize: 1,
	noSpecialName: 1,
	subDefinitions: {
		
		kroak: {
			name:       "Kroak",
			fullName:   "Venerable Lord Kroak",
			points:     600,
			itemPoints: 0,
			basicText:  "Golden Death Mask, Fear, Stubborn, First Generation",
			maxsize:    1,
			slot: 	  "Lord",
			icons:      ["slann01.gif"],
			options:    []
		},
		
		mazdamundi: {
			name:       "Lord Mazdamundi",
			fullName:   "Lord Mazdamundi",
			points:     620,
			itemPoints: 0,
			basicText:  "Scepter of Mazdamundi, Sun Standard of Hexoatl, Ruination of Cities",
			maxsize:    1,
			slot: 	  "Lord",
			icons:      ["stegadon1.gif"],
			options:    []
		},
		
		kroqgar: {
			name:       "Kroq-Gar",
			fullName:   "Kroq-Gar",
			points:     635,
			itemPoints: 0,
			basicText:  "Scaly Skin, Revered Spear of Tlanxla, Hand of Gods, Light Armour, Grymloq",
			maxsize:    1,
			slot: 	  "Lord",
			icons:      ["carnosaurus01.gif"],
			options:    []
		},
		
		tehenhauin: {
			name:       "Tehenhauin",
			fullName:   "Tehenhauin, the Prophet of Sotek",
			points:     350.,
			itemPoints: 0,
			basicText:  "Sotek, Scaly Skin, Totem of Sotek, Blade of the Serpent's Tongue, Aquatic",
			maxsize:    1,
			slot: 	  "Hero",
			icons:      ["skinkschaman01.gif"],
			options:    [
				[["iStegadon", "Ancient Stegadon with Engine of the Gods", 290, {changeFunction: maxOneOfMount, icons: ["stegadon_ancient01.gif"] } ]]
			]
		},
		
		chakax: {
			name:       "Chakax",
			points:     335,
			itemPoints: 0,
			basicText:  "Key to the Eternity Chamber",
			maxsize:    1,
			slot: 		"Hero", 
			icons:      ["saurus_hero02.gif"],
			options:    []
		},
		
		gorRok: {
			name:       "Gor-Rok",
			points:     215,
			itemPoints: 0,
			basicText:  "Shield of Aeons",
			maxsize:    1,
			slot: 		"Hero",
			icons:      ["saurus_hero02.gif"],
			options:    []
		},
		
		tettoEko: {
			name:       "Tetto&#39;Eko",
			points:     255,
			itemPoints: 0,
			basicText:  "Eye of the Old ones, Star Staff",
			maxsize:    1,
			slot: 		"Hero",
			icons:      ["skinkshaman01.gif"],
			options:    []
		},
		
		tiktaTqo: {
			name:       "Tiktaq&#39;To",
			points:     315,
			itemPoints: 0,
			basicText:  "Mask of Heaven, Zwup",
			maxsize:    1,
			slot: 		'Hero',
			icons:      ["terradon01.gif"],
			options:    []
		},
		
		oxyotl: {
			name:       "Oxyotl",
			points:     160,
			itemPoints: 0,
			basicText:  "Blowpipe",
			maxsize:    1,
			slot: 		"Hero",
			icons:      ["skinkblowgun02.gif"],
			options:    []
		},
		
		slaan: {
			name:       "Slann Mage-Priest",
			points:     275 - 50, // To clarify "free" gift
			itemPoints: 100,
			basicText:  "Large Target",
			maxsize:    1,
			slot: 	    "Lord",
			icons:      ["slann01.gif"],
			options:    [
				commonLores.concat(null, optionsGifts),
				[["iBSB", "Battle Standard Bearer", 25]].concat(null, optionsMagicBan),
				optionsMagicWep,
				[["mDivPlaqP", "The Divine Plaque of Protection", 30]].concat(optionsMagicEnc),
				optionsMagicTal,
				optionsMagicArc
			],
			defaultOptions: { giRumination: 1 }
		},
		
		saurOldB: {
			name:       "Saurus Oldblood",
			points:     145,
			itemPoints: 100,
			basicText:  "Scaly Skin",
			maxsize:    1,
			slot: 		'Lord',
			icons:      ["saurus_hero01.gif"],
			options:    [
				[["iSpear", "Spear", 8, {changeFunction: maxOneOfWep}],
				["iGreatWep", "Great Weapon", 12, {changeFunction: maxOneOfWep}],
				["iHalberd", "Halberd", 8, {changeFunction: maxOneOfWep}],
				["iExtraHand", "Extra Hand Weapon", 8, {changeFunction: maxOneOfWep}],
				["iLightArmor", "Light Armour", 10],
				["iShield", "Shield", 6],
				["iColdOne", "Cold One", 30, {changeFunction: maxOneOfMount, icons: ["saurus_hero02.gif"] } ],
				["iCarno", "Carnosaur", 210, {changeFunction: maxOneOfMount, icons: ["carnosaurus01.gif"] } ]],
				optionsMagicWep,
				[["mHide", "Hide of the Cold One", 50, {changeFunction: maxOneOfMArm}]].concat(optionsMagicArm, null, optionsMagicTal),
				optionsMagicEnc
			]
		},
		
		saurScar: {
			name:       "Saurus Scar-Veteran",
			points:     85,
			itemPoints: 50,
			basicText:  "Scaly Skin",
			maxsize:    1,
			slot: 		"Hero",
			icons:      ["saurus_hero01.gif"],
			options:    [
				[
					["iSpear", "Spear", 4, {changeFunction: maxOneOfWep}],
					["iGreatWep", "Great Weapon", 6, {changeFunction: maxOneOfWep}],
					["iHalberd", "Halberd", 4, {changeFunction: maxOneOfWep}],
					["iExtraHand", "Extra Hand Weapon", 4, {changeFunction: maxOneOfWep}],
					["iLightArmor", "Light Armour", 5],
					["iShield", "Shield", 3],
					["iColdOne", "Cold One", 20, { icons: ["saurus_hero02.gif"] } ],
					["iBSBSaur", "Battle Standard Bearer", 25, { icons: ["saurus_std01.gif"] }]
				],
				optionsMagicWep,
				[["mHide", "Hide of the Cold One", 50, {changeFunction: maxOneOfMArm}]].concat(optionsMagicArm, null, optionsMagicTal),
				optionsMagicEnc,
				optionsMagicBan
			]
		},
		
		skinkPriest: {
			name:       "Skink Priest",
			points:     65,
			itemPoints: 50,
			basicText:  "Aquatic",
			maxsize:    1,
			slot: 		"Hero",
			icons:      ["skinkschaman01.gif"],
			options:    [
				[
					["iStegadon", "Ancient Stegadon with Engine of the Gods", 290, {changeFunction: maxOneOfMount, icons: ["stegadon_ancient01.gif"] } ], null, ["Magic2", "Level 2 Upgrade", 35]
				],
				optionsMagicWep,
				optionsMagicArc,
				[["mCloakFet", "Cloak of Feathers", 25.]].concat(optionsMagicEnc),
				optionsMagicTal
			]
		},
		
		skinkChief: {
			name:       "Skink Chief",
			points:     55,
			itemPoints: 50,
			basicText:  "Aquatic",
			maxsize:    1,
			slot: 		"Hero",
			icons:      ["skinkblowgun01.gif"],
			options:    [
				[
					["iSpear", "Spear", 4, {changeFunction: maxOneOfWep}],
					["iBlowpipe", "Blowpipe", 8],
					["iJavelin", "Javelin", 8],
					["iExtraHand", "Extra Hand Weapon", 4, {changeFunction: maxOneOfWep}],
					["iLightArmor", "Light Armour", 2],
					["iShield", "Shield", 2],
					["iStegadon", "Stegadon", 235, {changeFunction: maxOneOfMount, icons: ["stegadon01.gif"]}],
					["iAncStegadon", "Ancient Stegadon", 275, {changeFunction: maxOneOfMount, icons: ["stegadon01.gif"]}],
					["iTerradon", "Terradon", 30, {changeFunction: maxOneOfMount, icons: ["teradon.gif"]}]
				],
				[["mDagSotek", "Dagger of Sotek", 25]].concat(optionsMagicWep),
				[["mStegHelm", "Sacred Stegadon Helm", 50]].concat(optionsMagicArm),
				[["mCloakFet", "Cloak of Feathers", 25]].concat(optionsMagicEnc),
				optionsMagicTal
			]
		},
		
		saurusWr: {
			name:       "Saurus Warriors",
			points:     11,
			basicText:  "Scaly Skin, Shield",
			minsize:    10,
			slot: 		"Core",
			icons:      ["saurus01.gif", "saurus04.gif"],
			options:    [
				[
					["iSpear", "Spear", 1, { icons: ["saurus_spear01.gif", "saurus_spear02.gif"] }],
					["Champ", "Spawning Champion", 12, { icons: ["saurus_champ01.gif" ] }],
					["Music", "Musician", 6, { icons: ["saurus_music01.gif"] }],
					["Std", "Standard Bearer", 12, { icons: ["saurus_std01.gif"] }]
				]
			]
		},
		
		skinks: {
			name:       "Skinks",
			points:     5,
			basicText:  "Javelin, Shield, Aquatic",
			minsize:    10,
			slot: 		"Core",
			icons:      ["skinkjavelin1.gif", "skinkjavelin2.gif", "skinkjavelin3.gif"],
			deployment: skinksDeployment,
			options:    [
				[
					["Champ", "Skink Brave", 8, { icons: ["skinkjavelinchampion1.gif"] }],
					["Music", "Musician", 6, { icons: ["saurus_music01.gif"] }],
					["Std", "Standard Bearer", 8, { icons: ["saurus_std01.gif"] }]
				],
				[["Kroxigor", "Kroxigors", 55, {maxCount:4}]]
			]
		},
		
		skinkSkr: {
			name:       "Skink Skirmishers",
			points:     7,
			basicText:  "Blowpipe, Aquatic, Skirmishers",
			minsize:    10,
			maxsize:    20,
			slot: 		"Core",
			icons:      ["skinkblowgun01.gif", "skinkblowgun02.gif"],
			deployment: spreadDeployment,
			options:    [
				[
					["iJavel", "Javelin and Shield instead of Blowpipe", 1, { icons: ["skinkjavelin1.gif", "skinkjavelin2.gif", "skinkjavelin3.gif"] }],
					["Champ", "Skink Brave", 6, { icons: ["skinkjavelinchampion1.gif"] }]
				]
			]
		},
		
		jungleSw: {
			name:       "Jungle Swarm",
			points:     45,
			basicText:  "Skirmishers, Swarm",
			maxsize:    6,
			slot: 		'', // They don't count, so don't assign a slot
			icons:      ["jungleswarm01.gif"],
			options:    []
		},
		
		chamSkin: {
			name:       "Chameleon Skinks",
			points:     12,
			basicText:  "Blowpipe, Skirmishers, Scouts, Aquatic",
			minsize:    5,
			maxsize:    10,
			slot: 		"Core",
			icons:      ["skinkbow1.gif", "skinkbow2.gif", "skinkbow3.gif", "skinkblowgun01.gif", "skinkblowgun02.gif"],
			deployment: spreadDeployment,
			options:    [
				[
					["Champ", "Stalker", 6]
				]
			]
		},
		
		terradon: {
			name:       "Terradons",
			points:     30.,
			basicText:  "Flyer, Javelin",
			minsize:    3,
			slot: 		"Special",
			icons:      ["terradon01.gif"],
			options:    [
				[
					["Champ", "Terradon & Brave", 10]
				]
			]
		},
		
		templeGd: {
			name:       "Temple Guard",
			basicText:  "Stubborn (with Slann), Scaly Skin, Halberd, Shield, Light Armour",
			points:     16,
			minsize:    10,
			slot: 		"Special",
			icons:      ["tmpGrd_shield01.gif", "tmpGrd_shield02.gif" ],
			options:    [
				[
					["Champ", "Revered Guardian", 14, { icons: ["saurus_hero01.gif"] }],
					["Music", "Musician", 7, { icons: ["tmpGrd_music01.gif"] }],
					["Std", "Standard Bearer", 14, { icons: ["tmpGrd_std01.gif"] }]
				],
				optionsMagicWep,
				optionsMagicArm.concat(null, optionsMagicTal),
				optionsMagicEnc,
				optionsMagicBan50
			]
		},
		
		saurCav: {
			name:       "Saurus Cavalry",
			points:     35.,
			itemPoints: 0,
			basicText:  "Spear, Scaly Skin, Shield, Stupidity",
			minsize:    5,
			slot: 		"Special",
			icons:      ["saurusCav01.gif"],
			options:    [
				[
					["Champ", "Spawning Champion", 20, { icons: ["saurusCav_champ01.gif"] }],
					["Music", "Musician", 10, { icons: ["saurusCav_music01.gif"] }],
					["Std", "Standard Bearer", 20, { icons: ["saurusCav_std01.gif"] }],
				],
				optionsMagicBan50
			]
		},
		
		kroxigor: {
			name:       "Kroxigor",
			points:     55,
			basicText:  "Causes Fear, Scaly Skin, Great Weapon, Aquatic",
			minsize:    3,
			slot: 		"Special",
			icons:      ["kroxigor1.gif","kroxigor2.gif"],
			options:    [
				[
					["Champ", "Kroxigor Ancient", 20]
				],
			]
		},
		
		stegadon: {
			name:       "Stegadon",
			points:     235,
			maxsize:    1,
			slot: 		"Special",
			basicText:  "Causes Terror, Giant Bow",
			icons:      ["stegadon01.gif"],
			options:    []
		},
		
		aStegadon: {
			name:       "Ancient Stegadon",
			points:     275,
			maxsize:    1,
			slot: 		"Rare",
			basicText:  "Causes Terror, Blow Guns",
			icons:      ["stegadon01.gif"],
			options:    []
		},
		
		razordon: {
			name:       "Razordon hunting pack",
			points:     75,
			basicText:  "Causes Fear, Skirmishers, Scaly Skin",
			maxsize:    3,
			slot: 		"Rare",
			icons:      ["salamander1.gif"],
			deployment: salamandDeployment,
			options:    [ [["iSkink", "Extra Skink herder", 5 ]] ]
		},
		
		salamand: {
			name:       "Salamander hunting pack",
			points:     75,
			basicText:  "Causes Fear, Skirmishers, Scaly Skin",
			maxsize:    3,
			slot: 		"Rare",
			icons:      ["salamander1.gif"],
			deployment: salamandDeployment,
			options:    [ [["iSkink", "Extra Skink herder", 5 ]] ]
		}
	}
};

var baseUnit = new Unit(null, null);
