function doApplyMonster(monster){
	module.dirty=true;
	getEditObject(
		{
			"source":module.monsters[monster],
			"fields":[
				{
					"id":"monsterName",
					"property":"name",
					"elementProperty":"value"
				},
				{
					"id":"monsterDescription",
					"property":"description",
					"elementProperty":"value"
				},
				{
					"id":"monsterAttack",
					"property":"attack",
					"elementProperty":"value",
					"transform":Number
				},
				{
					"id":"monsterDefend",
					"property":"defend",
					"elementProperty":"value",
					"transform":Number
				},
				{
					"id":"monsterHealth",
					"property":"health",
					"elementProperty":"value",
					"transform":Number
				}
			]
		}
	);
	doEditMonsters();
}
function doModifyMonster(monster,addnew){
	var content = "";
	content += createEditObjectContent(
		{
			"title":"Modify Monster",
			"index":monster,
			"fields":[
				{
					"label":"Name:",
					"id":"monsterName",
					"type":"text"
				},
				{
					"label":"Description:",
					"id":"monsterDescription",
					"type":"textarea"
				},
				{
					"label":"Attack Value:",
					"id":"monsterAttack",
					"type":"text"
				},
				{
					"label":"Defend Value:",
					"id":"monsterDefend",
					"type":"text"
				},
				{
					"label":"Health:",
					"id":"monsterHealth",
					"type":"text"
				}
			],
			"events":{
				"onapply":"doApplyMonster",
				"oncancel":(addnew==true)?("doDeleteMonster"):("doEditMonsters")
			}
		}
	);
	gameContentDiv.innerHTML=content;		
	setEditObject(
		{
			"source":module.monsters[monster],
			"fields":[
				{
					"id":"monsterName",
					"property":"name",
					"elementProperty":"value"
				},
				{
					"id":"monsterDescription",
					"property":"description",
					"elementProperty":"value"
				},
				{
					"id":"monsterAttack",
					"property":"attack",
					"elementProperty":"value"
				},
				{
					"id":"monsterDefend",
					"property":"defend",
					"elementProperty":"value"
				},
				{
					"id":"monsterHealth",
					"property":"health",
					"elementProperty":"value"
				}
			]
		}
	);
}
function doDeleteMonster(){
	module.dirty=true;
		module.monsters.pop();
		doEditMonsters();
}
function doAddMonster(){
	module.monsters.push({"name":"new monster","description":"new monster description","attack":0,"defend":0,"health":1});
	doModifyMonster(module.monsters.length-1,true);
}
function doEditMonsters(message){
		var content=createEditObjectListContent(
			{
				"title":"Edit Monsters",
				"source":module.monsters,
				"fields":[
					{
						"header":"Name",
						"property":"name"
					},
					{
						"header":"Description",
						"property":"description"
					},
					{
						"header":"Attack Value",
						"property":"attack"
					},
					{
						"header":"Defend Value",
						"property":"defend"
					},
					{
						"header":"Health",
						"property":"health"
					}
				],
				"events":{
					"onmodify":"doModifyMonster",
					"ondelete":"doDeleteMonster"
				}
			}
		);
		content += "<p><button onclick=\"doAddMonster();\">Add</button></p>";
		content += "<p><button onclick=\"doEditMenu();\">Edit Menu</button></p>";
		if(message!=null){
			content += "<p>"+message+"</p>";
		}
		gameContentDiv.innerHTML=content;		
}