
function maxOneOfWep( unit, optionName, count ) {
  return maxOneOf( unit, optionName, count, maxOneOfWep );
}

function maxOneOfMWep( unit, optionName, count ) {
  return maxOneOf( unit, optionName, count, maxOneOfMWep );
}

function maxOneMount( unit, optionName, count ) {
  return maxOneOf( unit, optionName, count, maxOneMount );
}

function maxOneOfMArm( unit, optionName, count ) {
  return maxOneOf( unit, optionName, count, maxOneOfMArm );
}

var optionsMagicWep25 = [
					   ["mSwordBat", "Sword of Battle", 25, {changeFunction: maxOneOfMWep}],
					   ["mSwordKng", "Sword of Kings", 25, {changeFunction: maxOneOfMWep} ],
					   ["mTombBlad", "Tomb Blade", 25 , {changeFunction: maxOneOfMWep}],
					   ["mSwordMig", "Sword of Might", 20, {changeFunction: maxOneOfMWep}],
					   ["mBiteBlad", "Biting Blade", 10, {changeFunction: maxOneOfMWep}],
					   ["mBaleSpk", "The Balefire Spike", 10, {changeFunction: maxOneOfMWep}]
			];

var optionsMagicWep = [
					   ["mFrostbld", "Frostblade", 100, {changeFunction: maxOneOfMWep}],
					   ["mDreadlan", "Dreadlance", 60, {changeFunction: maxOneOfMWep}],
					   ["mSwordPwr", "Sword of Unholy Power", 40, {changeFunction: maxOneOfMWep}],
					   ["mSkabscra", "Skabscrath", 30, {changeFunction: maxOneOfMWep} ],
					   ["mSwordStr", "Sword of Striking", 30, {changeFunction: maxOneOfMWep}],
			   ].concat(optionsMagicWep25);

var optionsMagicWepVamp = [ ["mBloodDrn", "Blood Drinker", 40, {changeFunction: maxOneOfMWep}] ].
  concat( optionsMagicWep );


var optionsMagicArm = [
					   ["mWalHau", "Walach's Bloody Hauberk", 45, {changeFunction: maxOneOfMArm}],
					   ["mAccArm", "The Accursed Armor", 25, {changeFunction: maxOneOfMArm}],
					   ["mFlayHaub", "The Flayed Hauberk", 25, {changeFunction: maxOneOfMArm}],
					   ["mArmNig", "Armor of Night", 25, {changeFunction: maxOneOfMArm}],
					   ["mNightsh", "Nightshroud", 20, {changeFunction: maxOneOfMArm} ],
					   ["mEnchShld", "Enchanted Shield", 15, {changeFunction: maxOneOfMArm} ],
					   ];

var optionsMagicArmVamp = optionsMagicArm.concat( 
												 [ ["mCadCuir", "The Cadaverous Cuirass", 15, {changeFunction: maxOneOfMArm}] ] );

var optionsMagicEnc = [
						["mHandDus", "The Hand of Dust", 50 ],
						["mRodFlamD", "Rod of Flaming Death", 40 ],
						["mHelmCom", "Helm of Commandment", 30 ],
						["mCursedBk", "The Cursed Book", 20 ]
						];

var optionsMagicEncVamp = optionsMagicEnc.concat( 
												 [ ["mTalLyc", "Talisman of the Lycni", 20 ] ] );


var optionsMagicTal = [
						["mCarstRng", "The Carstein Ring", 75.],
						["mCrownDam", "Crown of the Damned", 35 ],
						["mWristBGl", "Wristbands of Black Gold", 30 ],
						["mGemBlood", "The Gem of Blood", 25 ],
						["mTalisPrt", "Talisman of Protection", 15 ],
						];

var optionsMagicArc = [
					   ["mSkullSt", "Skull Staff", 65 ],
					   ["mStafDamn", "Staff of Damnation", 40.],
					   ["mBookArkh", "Book of Arkhan", 35.],

					   ["mCrimson", "Crimson Gem of Lahmia", 20.],

					   ["mPowerStn", "Power Stone", 25, {maxCount:4} ],
					   ["mDispel", "Dispel Scroll", 25, {maxCount:4}],

					   ["mSceptNo", "Sceptre de Noirot", 25.],
					   ["mStaffSor", "Staff of Sorcery", 25.],
					   ["mBlackPer", "Black Periapt", 15.],
					   ];


var optionsBloodlines = [
						["iSpecForm", "Spectral Form", 50 ],
						["iGhoulkin", "Ghoulkin", 25 ],
						["iSupeHorr", "Supernatural Horror", 25 ],

						["iBldMastB", "Master of the Black Arts", 50.],
						["iBldForbL", "Forbidden Lore", 35.],
						["iBldNehek", "Dark Acolyte", 30.],

						["iFlyingHo", "Flying Horror", 30.],
						["iInfHat", "Infinite Hatred", 25.],
						["iHunterIn", "Hunter in the Dark", 25.],

						["iRedFr", "Red Fury", 50.],
						["iAvatarSh", "Avatar of Death (Shield)", 20.],
						["iAvatarGW", "Avatar of Death (Great Weapon)", 20.],
						["iAvatar2W", "Avatar of Death (Two Hand Weapons)", 20.],
						["iDreadkni", "Dread Knight", 25, {icons: ["mountedvampire01.gif"]} ],

						["iAuraDM", "Aura of Dark Majesty", 50.],
						["iWalkDead", "Walking Death", 25.],
						["iBegu", "Beguile", 25.],

						["iLordODead", "Lord of the Dead", 15.],
						["iSummonC", "Summon Creatures of the Night", 15.],
						["iSummonGh", "Summon Ghouls", 15.]
						];

var optionsMagicBanner25 = [
							["WarBann", "War Banner", 25.],
							["IconofVe", "Icon of Vengeance", 25],
							["BanDeadL", "Banner of the Dead Legion", 25],
							["CursedPe", "Cursed Pennant of Mousillon", 25],
							["BanEndle", "Banner of the Endless Nightmare", 25],
							["StdHellV", "Standard of Hellish Vigour", 25],
							["StdEverl", "Standard of Everlasting Death", 15],
							["BanHellf", "Banner of Hellfire", 10]
							];

var optionsMagicBanner50 = [
							["BanBarrw", "The Banner of the Barrows", 45],
							["ScreamBn", "Screaming Banner", 40],
							["RoyalSta", "Royal Standard of Strigos", 35]
							].concat( optionsMagicBanner25 );

var optionsMagicBanner75 = [
							["FlgofBlo", "The Flag of Blood Keep", 75]
							].concat( optionsMagicBanner50 );

var optionsMagicBanner = [["FlgDrakhof", "Drakenhof Banner", 125]].concat(optionsMagicBanner75);


var iconFolder = "image/";

var baseDefinition = {
  name: "Vampirecounts",
  maxsize: 1,
  noSpecialName: 1,
  subDefinitions: {

	vlad: {
	  name:       "Vlad",
	  fullName:   "Vlad von Carstein",
	  points:     490.,
	  maxsize:    1,
	  basicText:  "Causes Terror, Walking Death, Aura of Dark Majesty, Beguile,<br/> Blood Drinker",
	  icons:      ["vampire1.gif"],
	  options:    []
	},

	mannfred: {
	  name:       "Count Mannfred",
	  fullName:   "Count Mannfred",
	  points:     475.,
	  maxsize:    1,
	  basicText:  "Master of the Black Arts, Sword of Unholy Power, Summon Creatures of the Nicht, Abyssal Terror, Lord of the Dead",
	  icons:      ["vampire2.gif"],
	  options:    [
				   [
					["iNightmr", "Barded Nightmare", 20, {changeFunction: maxOneMount, icons: ["mountedvampire01.gif"]} ],
					["iHellstd", "Hellsteed", 30, {changeFunction: maxOneMount, icons: ["mountedvampire01.gif"]} ],
					["iAbyssTr", "Abyssal Terror", 135, {changeFunction: maxOneMount} ]
					],
				   optionsMagicArc,
				   ]
	},

	vampireLord: {
	  name:       "Vampire Lord",
	  points:     205.,
	  itemPoints: 100,
	  maxsize:    1,
	  icons:      ["vampire1.gif","vampire2.gif","vampire3.gif","vampire4.gif"],
	  options:    [
				   [
					["iNightmr", "Nightmare", 20, {changeFunction: maxOneMount, icons: ["mountedvampire01.gif"]} ],
					["iHellstd", "Hellsteed", 30, {changeFunction: maxOneMount, icons: ["mountedvampire01.gif"]} ],
					["iAbyssTr", "Abyssal Terror", 135, {changeFunction: maxOneMount} ],
					["iDragon", "Zombie Dragon", 275, {changeFunction: maxOneMount, icons: ["zombiedragon01.gif"]} ],
					null,
					["Magic3", "Level 3 Upgrade", 50.],
					],
				   optionsMagicWepVamp.concat( null, optionsMagicArmVamp ),
				   optionsMagicEncVamp.concat( null, optionsMagicTal ),
				   optionsMagicArc,
				   optionsBloodlines,
				   ]
	},

	acolythMan: {
	  name:       "Mannfred A.",
	  fullName:   "Mannfred the Acolyte",
	  points:     185.,
	  maxsize:    1,
	  icons:      ["vampire2.gif"],
	  basicText:  "Sword of Unholy Power, Abyssal Terror, Walking Death",
	  options:    [
				   [
					["iNightmr", "Barded Nightmare", 20, {changeFunction: maxOneMount, icons: ["mountedvampire01.gif"]} ],
					["iAbyssTr", "Abyssal Terror", 135, {changeFunction: maxOneMount} ],
					],
				   optionsMagicArc,
				   ]
	},

	konrad: {
	  name:       "Konrad",
	  points:     145.,
	  maxsize:    1,
	  icons:      ["necromancer1.gif"],
	  basicText:  "Red Fury, Infinite Hatred",
	  options:    []
	},

	isabel: {
	  name:       "Isabella",
	  fullName:   "Isabella von Carstein",
	  points:     90.,
	  maxsize:    1,
	  icons:      ["vampire4.gif"],
	  basicText:  "Beguile",
	  options:    []
	},

	necromancer: {
	  name:       "Necromancer",
	  points:     40,
	  itemPoints: 50,
	  maxsize:    1,
	  basicText:  "Mage level 1",
	  icons:      ["necromancer1.gif","necromancer2.gif"],
	  options:    [
				   [
					["iNightmr", "Nightmare", 15, {changeFunction: maxOneMount, icons: ["mountedvampire01.gif"]}],
					null,
					["spell1", "Invocation of Nehek", 15.],
					["spell2", "Raise Dead", 15.],
					["spell3", "Vanhel's Danse Macabre", 15.]
					],
				   optionsMagicWep.concat( null, [
												  ["mNightsh", "Nightshroud", 20, {changeFunction: maxOneOfMArm} ]
												  ] ),
				   optionsMagicEnc.concat( null, optionsMagicTal ),
				   optionsMagicArc,
				   ]
	},

	vampire: {
	  name:       "Vampire",
	  points:     100.,
	  itemPoints: 50,
	  maxsize:    1,
	  icons:      ["vampire1.gif","vampire2.gif","vampire3.gif","vampire4.gif"],
	  options:    [
				   [
					["iNightmr", "Nightmare", 8, {changeFunction: maxOneMount, icons: ["mountedvampire01.gif"]} ],
					["iHellstd", "Hellsteed", 20, {changeFunction: maxOneMount, icons: ["mountedvampire01.gif"]} ],
					["iBSB", "Battle Standard Bearer", 25],
					],
				   optionsMagicWepVamp.concat( null, optionsMagicArmVamp ),
				   optionsMagicEncVamp.concat( null, optionsMagicTal, null, optionsMagicArc ),
				   optionsMagicBanner,
				   optionsBloodlines
				   ]
	},

	wightKi: {
	  name:       "Wight King",
	  points:     75,
	  itemPoints: 50,
	  maxsize:    1,
	  basicText:  "Shield, Heavy Armour",
	  icons:      ["wightlord1.gif"],
	  options:    [
				   [
					["iSteed", "Skeletal Steed", 15, {changeFunction: maxOneMount, icons: ["mountedwightchampion1.gif"]} ],
					["iBarding", "Barding", 5 ],
					["iLance", "Lance", 12, {changeFunction: maxOneOfWep} ],
					["iGreatWep", "Great Weapon", 10, {changeFunction: maxOneOfWep} ],
					["iExtraHand", "Extra Hand Weapon", 8, {changeFunction: maxOneOfWep} ],
					null,
					["iBSB", "Battle Standard Bearer", 25, {icons: ["skeleton_std01.gif"] } ]
					],
				   optionsMagicWep.concat( [["mBlackAxe", "Black Axe of Krell", 50 ]], null, optionsMagicArm ),
				   optionsMagicEnc.concat( optionsMagicTal ),
				   optionsMagicBanner
				   ]
	},

	zombies: {
	  name:       "Zombie Horde",
	  points:     4.,
	  minsize:    20,
	  icons: [ "zombie1.gif", "zombie2.gif", "zombie3.gif", "zombie4.gif", "zombie5.gif", "zombie6.gif",],
	  options:    [
				   [
					["Music", "Musician", 4.],
					["Std", "Standard Bearer", 8, {icons: ["zombie_std01.gif"] } ],
					]
				   ]
	},

	skeletons: {
	  name:       "Skeleton Warriors",
	  points:     8.,
	  minsize:    10,
	  basicText:  "Shield, Light Armour",
	  icons:      ["skeleton1.gif", "skeleton2.gif", "skeleton3.gif", "skeleton4.gif", "skeleton5.gif" ],
	  options:    [
				   [
					["iSpear", "Spear", 1, {icons: ["skeleton1.gif", "skeleton_spear01.gif"] } ],
					], 
				   [
					["Champ", "Skeleton Champion", 8, {icons: ["skeletonheavy1.gif"] } ],
					["Music", "Musician", 4, {icons: ["skeletonmusic1.gif"]} ],
					["Std", "Standard Bearer", 8, {icons: ["skeleton_std01.gif"] } ]
					],
				   optionsMagicBanner25,
				   ]
	},

	ghouls: {
	  name:       "Crypt Ghouls",
	  points:     8.,
	  minsize:    10,
	  basicText:  "Poison",
	  icons:      ["ghoul1.gif","ghoul2.gif","ghoul3.gif","ghoul4.gif","ghoul5.gif"],
	  options:    [
				   [
					["Champ", "Crypt Ghast", 8, {icons: ["ghoul_champ01.gif"] } ],
					],
				   ]
	},

	direWolfes: {
	  name:       "Dire Wolves",
	  points:     8.,
	  minsize:    5,
	  maxsize:    21,
	  basicText:  "Fast Cavalry",
	  icons:      ["direwolf1.gif", "direwolf2.gif", "direwolf3.gif" ],
	  options:    [
				   [
					["Champ", "Doom Wolf", 10, {icons: ["doomwolf1.gif"]} ]
					]
				   ]
	},

	batSwarm: {
	  name:       "Bat Swarm",
	  points:     35.,
	  minsize:    3,
	  maxsize:    10,
	  basicText:  "Swarm, Flyer",
	  icons:      ["batswarm1.gif"]
	},


	corpseChart: {
	  name:       "Corpse Chart",
	  noSpecialName: 1,
	  points:     75,
	  maxsize:    1,
	  basicText:  "Regeneration",
	  icons:      ["corpsechart.gif"],
	  options:    [ [
				   ["iBalefire", "Balefire", 25 ],
				   ["iLodestone", "Unholy Lodestone", 25 ]
				   ]
			]
	},


	graveGrd: {
	  name:       "Grave Guard",
	  points:     12.,
	  minsize:    5,
  	  icons:
	  ["skeletonheavy1.gif","skeletonheavy2.gif","skeletonheavy3.gif","skeletonheavy4.gif"],
	  basicText:  "Undead, Heavy Armour, Shield",
	  options:    [
				   [
					["iGreatWep", "Great Weapon", 1.],
					["Champ", "Seneschal", 12],
					["Std", "Standard Bearer", 12.],
					["Music", "Musician", 6.],
					],
				   optionsMagicBanner50,
				   ]
	},

	blackKnights: {
	  name:       "Black Knights",
	  points:     24.,
	  minsize:    5,
	  basicText:  "Lance, Heavy Armour, Shield, Skeletal Steed",
	  icons:      ["mountedwight1.gif","mountedwight2.gif","mountedwight3.gif",
				   "mountedwight4.gif","mountedwight5.gif"],
	  options:    [
				   [
					["iBarding", "Barding", 4.],
					["Champ", "Hell Knight", 16],
					["Music", "Musician", 8.],
					["Std", "Standard Bearer", 16.],
					],
				   optionsMagicBanner50,
				   ]
	},

	spirHosts: {
	  name:       "Spirit Host",
	  points:     65.,
	  minsize:    3,
	  maxsize:    10,
	  icons: 	["ghosts.gif"],
	  basicText:  "Ethereal"
	},

	fellBats: {
	  name:       "Fell Bats",
	  points:     20.,
	  minsize:    3,
	  maxsize:    10,
	  icons: 	["vampirebat1.gif"],
	  basicText:  "Undead, Flyer"
	},

	varghulf: {
	  name:       "Varghulf",
	  points:     175.,
	  itemPoints: 0,
	  maxsize:    1,
	  basicText:  "Hatred, Regenerate, Undead, Causes Terror"
	},

	wraiths: {
	  name:       "Cairn Wraiths",
	  points:     50.,
	  minsize:    3,
	  maxsize:    10,
	  icons:
	  ["skeletonheavy1.gif","skeletonheavy2.gif","skeletonheavy3.gif","skeletonheavy4.gif"],
	  basicText:  "Skirmishers, Causes Terror, Great Weapon, Ethereal",
	  options:    [
				   [
					["Champ", "Tomb Banshee", 25, {icons:
					["banshee1.gif"]} ],
					]
				   ]
	},

	bloodKnights: {
	  name:       "Blood Knights",
	  points:     55.,
	  minsize:    4,
	  maxsize:    20,
	  basicText:  "Nightmares, Frenzy, Undead, Lance, Heavy Armour, Shield",
	  icons:      ["mountedwight1.gif","mountedwight2.gif","mountedwight3.gif",
				   "mountedwight4.gif","mountedwight5.gif"],
	  options:    [
				   [
					["Champ", "Kastellan", 20, {icons:["mountedwight1.gif"]} ],
					["Music", "Musician", 10.],
					["Std", "Standard Bearer", 20.]
					],
				optionsMagicWep25,
				optionsMagicBanner75,
				   ]
	},

	blkCoach: {
	  name:       "Black Coach",
	  noSpecialName: 1,
	  points:     200.,
	  itemPoints: 0,
	  maxsize:    1,
	  basicText:  "Nightmares, Chariot, Causes Terror, Large Target",
	  icons:      ["blackcoach.gif"]
	}

  }
};


var baseUnit = new Unit( null, null );
