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

// Custom Echsenmenschen 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 Echsenmenschen army
var optionsGifts = [
	["giFocus", "Meister der Mysterien", 50, giftOpt],
	["giRumination", "Hohe Konzentration", 50, giftOpt],
	["giHealing", "Tranzendente Heilung", 50, giftOpt],
	["giScrutiny", "Durchdringender Blick", 50, giftOpt],
	["giState", "Höhere Bewustseinsebene", 50, giftOpt],
	["giBecal", "Besänftigender Geist", 50, giftOpt],
	["giPresence", "Unergründliche Präsenz", 50, giftOpt],
	["giStone", "Seele aus Stein", 50, giftOpt]
];

var optionsMagicWep = [
	["mBladReal", "Klinge der Alten", 75],
	["mBladTzun", "Klinge des Ehrwürdigen Tzunki", 65],
	["mScimSunR", "Säbel der Strahlenden Sonne", 50],
	["mStegWar", "Stegadon-Kriegspeer", 50],
	["mStaffLS", "Stab der Verlorenen Sonne", 35],
	["mPiranhaB", "Piranhaklinge", 35],
	["mDagSotek", "Dolch des Sotek", 25],
	["mSwdHornt", "Hornissenschwert", 25],
	["mBurnBlad", "Brennende Klinge Des Chotek", 20]
  ].concat(commonMagicWep).optSort().optAdd("changeFunction", maxOneOfMWep);

var optionsMagicArm = [
	["mSMirPool", "Schild des Spiegelsees", 30],
	["mMaimShld", "Reisszahnschild", 30]
  ].concat(commonMagicArm).optSort().optAdd("changeFunction", maxOneOfMArm);

var optionsMagicEnc = [
	["mHornKygor", "Horn des Kygor", 100],
	["mHornedOne", "Hörnerechse", 35],
	["mWarDrum", "Kriegstrommel von Xahutec", 30.],
	["mBloodSta", "Bluttotem des Xapati", 25],
	["mCharmJag", "Amulett des Jaguarkriegers", 25],
	["mCarnPend", "Carnosaurierkette", 20],
	["mCurseChr", "Fluchmaske des Tepok", 20],
	["mBaneHead", "Fluchschädel", 15],
	["mDragonQk", "Silberlibelle (Quecksilberlibelle)", 10],
	["mVenomFFg", "Feuerfroschgift (Glühwürmchenfrosch Gift)", 10]
  ].concat(commonMagicEnc).optSort().optAdd("changeFunction", maxOneOfMEnc);

var optionsMagicArc = [
	["mCupHands", "Bewahrende Hände der Alten", 45],
	["mStaffSor", "Stab der Zauberei", 40],
	["mCubeDark", "Kubus der Dunkelheit", 40],
	["mRodStorm", "Gewitterstab", 25],
	["mDiademPw", "Diadem der Macht", 25],
	["mGrubs", "Itxi Larven", 25],
	["mPlqTepok", "Tafel des Tepok", 15]
  ].concat(commonMagicArc).optSort().optAdd("changeFunction", maxOneOfMArc);

var optionsMagicTal = [
	["mAuraQuet", "Aura des Quetzl", 40],
	["mGlyphNek", "Glyphenhalsband", 30],
	["mAmulItzl", "Amulett des Itzl", 30]
  ].concat(commonMagicTal).optSort().optAdd("changeFunction", maxOneOfMTalisman);

var optionsMagicBan = [
	["mStdProphecy", "Totem der Vorhersehung", 50],
	["mStdDominion", "Tafel der Herrschaft", 50],
	["mStdChotec", "Sonnenstandarte Des Chotek", 40],
	["mStdHuanchi", "Huanchis Gesegnetes Totem", 25],
	["mStdJaguar", "Jaguarstandarte", 25],
	["mStdSkavenpelt", "Skavenpelz Banner", 25]
  ].concat(commonMagicBan).optSort().optAdd("changeFunction", maxOneOfBanner).optAdd("disabled", noStandardBearer);

// End Custom Items

var baseDefinition = {
	name: "Echsenmenschen",
	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:  "Schuppenhaut, Revered Spear of Tlanxla, Hand of Gods, Leichte Rüstung, Grymloq",
			maxsize:    1,
			slot: 	  "Lord",
			icons:      ["carnosaurus01.gif"],
			options:    []
		},
		
		tehenhauin: {
			name:       "Tehenhauin",
			fullName:   "Tehenhauin, the Prophet of Sotek",
			points:     350.,
			itemPoints: 0,
			basicText:  "Sotek, Schuppenhaut, Totem of Sotek, Blade of the Serpent's Tongue, Amphibisch",
			maxsize:    1,
			slot: 	  "Hero",
			icons:      ["skinkschaman01.gif"],
			options:    [
				[["iStegadon", "Ehrwürdiges 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:  "Schild 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:  "Blasrohr",
			maxsize:    1,
			slot: 		"Hero",
			icons:      ["skinkblowgun02.gif"],
			options:    []
		},
		
		slaan: {
			name:       "Slann Magierpriester",
			points:     275 - 50, // To clarify "free" gift
			itemPoints: 100,
			basicText:  "Großes Ziel",
			maxsize:    1,
			slot: 	    "Lord",
			icons:      ["slann01.gif"],
			options:    [
				commonLores.concat(null, optionsGifts),
				[["iBSB", "Armeestandartenträger", 25, {changeFunction: deselectBanners} ]].concat(null, optionsMagicBan),
				optionsMagicWep,
				[["mDivPlaqP", "Tafel des Göttlichen Schutzes", 30]].concat(optionsMagicEnc),
				optionsMagicTal,
				optionsMagicArc
			],
			defaultOptions: { giRumination: 1 }
		},
		
		saurOldB: {
			name:       "Saurus Hornnackenverteran",
			points:     145,
			itemPoints: 100,
			basicText:  "Schuppenhaut",
			maxsize:    1,
			slot: 		'Lord',
			icons:      ["saurus_hero01.gif"],
			options:    [
				[["iSpear", "Speer", 8, {changeFunction: maxOneOfWep}],
				["iGreatWep", "Zweihandwaffe", 12, {changeFunction: maxOneOfWep}],
				["iHalberd", "Helebarde", 8, {changeFunction: maxOneOfWep}],
				["iExtraHand", "Zusätzlich Handwaffe", 8, {changeFunction: maxOneOfWep}],
        null,
				["iLightArmor", "Leichte Rüstung", 10],
				["iShield", "Schild", 6],
        null,
				["iColdOne", "Kampfechse", 30, {changeFunction: maxOneOfMount, icons: ["saurus_hero02.gif"] } ],
				["iCarno", "Carnosaur", 210, {changeFunction: maxOneOfMount, icons: ["carnosaurus01.gif"] } ]],
				optionsMagicWep,
				[["mHide", "Kampfechsenhaut", 50, {changeFunction: maxOneOfMArm}]].concat(optionsMagicArm, null, optionsMagicTal),
				optionsMagicEnc
			]
		},
		
		saurScar: {
			name:       "Saurus Hornnacken",
			points:     85,
			itemPoints: 50,
			basicText:  "Schuppenhaut",
			maxsize:    1,
			slot: 		"Hero",
			icons:      ["saurus_hero01.gif"],
			options:    [
				[
					["iSpear", "Speer", 4, {changeFunction: maxOneOfWep}],
					["iGreatWep", "Zweihandwaffe", 6, {changeFunction: maxOneOfWep}],
					["iHalberd", "Helebarde", 4, {changeFunction: maxOneOfWep}],
					["iExtraHand", "Zusätzlich Handwaffe", 4, {changeFunction: maxOneOfWep}],
          null,
					["iLightArmor", "Leichte Rüstung", 5],
					["iShield", "Schild", 3],
          null,
					["iColdOne", "Kampfechse", 20, { icons: ["saurus_hero02.gif"] } ],
          null,
					["iBSB", "Armeestandartenträger", 25, { icons: ["saurus_std01.gif"],
            changeFunction: deselectBanners} ]
				],
				optionsMagicWep.optSort(50),
				[["mHide", "Kampfechsenhaut", 50, {changeFunction: maxOneOfMArm}]].optSort(50).concat(optionsMagicArm.optSort(50), null, optionsMagicTal.optSort(50)),
				optionsMagicEnc.optSort(50),
				optionsMagicBan.optSort()
			]
		},
		
		skinkPriest: {
			name:       "Skinkschamane",
			points:     65,
			itemPoints: 50,
			basicText:  "Amphibisch",
			maxsize:    1,
			slot: 		  "Hero",
			icons:      ["skinkschaman01.gif"],
			options:    [
				[
					["iStegadon", "Ehrwürdiges Stegadon with Engine of the Gods", 290, {changeFunction: maxOneOfMount, icons: ["stegadon_ancient01.gif"] } ], null, ["Magic2", "Level 2 Aufwertung", 35]
				],
				optionsMagicWep.optSort(50),
				optionsMagicArc.optSort(50),
				[["mCloakFet", "Federumhang", 25.]].concat(optionsMagicEnc).optSort(50),
				optionsMagicTal.optSort(50)
			]
		},
		
		skinkChief: {
			name:       "Skinkhäuptling",
			points:     55,
			itemPoints: 50,
			basicText:  "Amphibisch",
			maxsize:    1,
			slot: 		"Hero",
			icons:      ["skinkblowgun01.gif"],
			options:    [
				[
					["iSpear", "Speer", 4, {changeFunction: maxOneOfWep}],
					["iExtraHand", "Zusätzlich Handwaffe", 4, {changeFunction: maxOneOfWep}],
					["iBlasrohr", "Blowpipe", 8],
					["iJavelin", "Wurfspeer", 8],
          null,
					["iLightArmor", "Leichte Rüstung", 2],
					["iShield", "Schild", 2],
          null,
					["iStegadon", "Stegadon", 235, {changeFunction: maxOneOfMount, icons: ["stegadon01.gif"]}],
					["iAncStegadon", "Ehrwürdiges Stegadon", 275, {changeFunction: maxOneOfMount, icons: ["stegadon01.gif"]}],
					["iTerradon", "Terradon", 30, {changeFunction: maxOneOfMount, icons: ["teradon.gif"]}],
          null,
					["iBSB", "Armeestandartenträger", 25, { icons: ["saurus_std01.gif"],
            changeFunction: deselectBanners} ]
				],
				[["mDagSotek", "Dolch des Sotek", 25]].concat(optionsMagicWep).optSort(50),
				[["mStegHelm", "Sacred Stegadon Helm", 50]].concat(optionsMagicArm).optSort(50),
				[["mCloakFet", "Federumhang", 25]].concat(optionsMagicEnc).optSort(50),
				optionsMagicTal.optSort(50),
        optionsMagicBan.optSort()
			]
		},
		
		saurusWr: {
			name:       "Sauruskrieger",
			points:     11,
			basicText:  "Schuppenhaut, Schild",
			minsize:    10,
			slot: 		"Core",
			icons:      ["saurus01.gif", "saurus04.gif"],
			options:    [
				[
					["iSpear", "Speer", 1, { icons: ["saurus_spear01.gif", "saurus_spear02.gif"] }],
					["Champ", "Brutersten", 12, { icons: ["saurus_champ01.gif" ] }],
					["Music", "Musiker", 6, { icons: ["saurus_music01.gif"] }],
					["Std", "Standartenträger", 12, { icons: ["saurus_std01.gif"] }]
				]
			]
		},
		
		skinks: {
			name:       "Skinks",
			points:     5,
			basicText:  "Wurfspeer, Schild, Amphibisch",
			minsize:    10,
			slot: 		"Core",
			icons:      ["skinkjavelin1.gif", "skinkjavelin2.gif", "skinkjavelin3.gif"],
			deployment: skinksDeployment,
			options:    [
				[
					["Champ", "Brutersten", 8, { icons: ["skinkjavelinchampion1.gif"] }],
					["Music", "Musiker", 6, { icons: ["saurus_music01.gif"] }],
					["Std", "Standartenträger", 8, { icons: ["saurus_std01.gif"] }]
				],
				[["Kroxigor", "Kroxigors", 55, {maxCount:4}]]
			]
		},
		
		skinkSkr: {
			name:       "Skinkplänkler",
			points:     7,
			basicText:  "Blasrohr, Amphibisch, Plänkler",
			minsize:    10,
			maxsize:    20,
			slot: 		"Core",
			icons:      ["skinkblowgun01.gif", "skinkblowgun02.gif"],
			deployment: spreadDeployment,
			options:    [
				[
					["iJavel", "Wurfspeer and Shield instead of Blasrohr", 1, { icons: ["skinkjavelin1.gif", "skinkjavelin2.gif", "skinkjavelin3.gif"] }],
					["Champ", "Brutersten", 6, { icons: ["skinkjavelinchampion1.gif"] }]
				]
			]
		},
		
		jungleSw: {
			name:       "Dschungelschwarm",
			points:     45,
			basicText:  "Plänkler, 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:  "Blasrohr, Plänkler, Kundschafters, Amphibisch",
			minsize:    5,
			maxsize:    10,
			slot: 		  "Special",
			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:       "Tempelwache",
			basicText:  "Stubborn (with Slann), Schuppenhaut, Halberd, Schild, Leichte Rüstung",
			points:     16,
			minsize:    10,
			slot: 		"Special",
			icons:      ["tmpGrd_shield01.gif", "tmpGrd_shield02.gif" ],
			options:    [
				[
					["Champ", "Erster Wächter", 14, { icons: ["saurus_hero01.gif"],
            changeFunction: deselectMagic} ],
					["Music", "Musiker", 7, { icons: ["tmpGrd_music01.gif"] }],
					["Std", "Standartenträger", 14, { icons: ["tmpGrd_std01.gif"],
            changeFunction: deselectBanners} ]
				],
				optionsMagicWep.optSort(25).optAdd("disabled", noChampion),
				optionsMagicArm.optSort(25).optAdd("disabled", noChampion).
          concat(null, optionsMagicTal.optSort(25).optAdd("disabled", noChampion)),
				optionsMagicEnc.optSort(25).optAdd("disabled", noChampion),
				optionsMagicBan.optSort(50)
			]
		},
		
		saurCav: {
			name:       "Saurus Kavallerie",
			points:     35.,
			itemPoints: 0,
			basicText:  "Speer, Schuppenhaut, Schild, Blödheit",
			minsize:    5,
			slot: 		"Special",
			icons:      ["saurusCav01.gif"],
			options:    [
				[
					["Champ", "Brutersten", 20, { icons: ["saurusCav_champ01.gif"] }],
					["Music", "Musiker", 10, { icons: ["saurusCav_music01.gif"] }],
					["Std", "Standartenträger", 20, { icons: ["saurusCav_std01.gif"],
            changeFunction: deselectBanners} ]
				],
				optionsMagicBan.optSort(50)
			]
		},
		
		kroxigor: {
			name:       "Kroxigor",
			points:     55,
			basicText:  "Verursacht Angst, Schuppenhaut, Zweihandwaffe, Amphibisch",
			minsize:    3,
			slot: 		"Special",
			icons:      ["kroxigor1.gif","kroxigor2.gif"],
			options:    [
				[
					["Champ", "Kroxigor-Ältester", 20]
				],
			]
		},
		
		stegadon: {
			name:       "Stegadon",
			points:     235,
			maxsize:    1,
			slot: 		"Special",
			basicText:  "Verursacht Entsetzen, Riese Bogen",
			icons:      ["stegadon01.gif"],
			options:    []
		},
		
		aStegadon: {
			name:       "Ehrwürdiges Stegadon",
			points:     275,
			maxsize:    1,
			slot: 		"Rare",
			basicText:  "Verursacht Entsetzen, Blow Guns",
			icons:      ["stegadon01.gif"],
			options:    []
		},
		
		razordon: {
			name:       "Stachelsalamander Jagdrudel",
			points:     75,
			basicText:  "Verursacht Angst, Plänkler, Schuppenhaut",
			maxsize:    3,
			slot: 		"Rare",
			icons:      ["salamander1.gif"],
			deployment: salamandDeployment,
			options:    [ [["iSkink", "Extra Skink herder", 5 ]] ]
		},
		
		salamand: {
			name:       "Salamander Jagdrudel",
			points:     75,
			basicText:  "Verursacht Angst, Plänkler, Schuppenhaut",
			maxsize:    3,
			slot: 		"Rare",
			icons:      ["salamander1.gif"],
			deployment: salamandDeployment,
			options:    [ [["iSkink", "Extra Skink herder", 5 ]] ]
		}
	}
};

var baseUnit = new Unit(null, null);

