function doApplyPortal(portal){
	module.dirty=true;
	getEditObject(
		{
			"source":module.portals[portal],
			"fields":[
				{
					"id":"portalName",
					"property":"name",
					"elementProperty":"value"
				},
				{
					"id":"portalDescription",
					"property":"description",
					"elementProperty":"value"
				}
			]
		}
	);
	doEditPortals();
}
function doModifyPortal(portal,addnew){
	var content = "";
	content += createEditObjectContent(
		{
			"title":"Modify Portal",
			"index":portal,
			"fields":[
				{
					"label":"Name:",
					"id":"portalName",
					"type":"text"
				},
				{
					"label":"Description:",
					"id":"portalDescription",
					"type":"textarea"
				}
			],
			"events":{
				"onapply":"doApplyPortal",
				"oncancel":(addnew==true)?("doDeletePortal"):("doEditPortals")
			}
		}
	);
	gameContentDiv.innerHTML=content;		
	setEditObject(
		{
			"source":module.portals[portal],
			"fields":[
				{
					"id":"portalName",
					"property":"name",
					"elementProperty":"value"
				},
				{
					"id":"portalDescription",
					"property":"description",
					"elementProperty":"value"
				}
			]
		}
	);
}
function doDeletePortal(){
	module.dirty=true;
		module.portals.pop();
		doEditPortals();
}
function doAddPortal(){
	module.portals.push({"name":"new portal","description":"new portal description"});
	doModifyPortal(module.portals.length-1,true);
}
function doEditPortals(message){
		var content=createEditObjectListContent(
			{
				"title":"Edit Portals",
				"source":module.portals,
				"fields":[
					{
						"header":"Name",
						"property":"name"
					},
					{
						"header":"Description",
						"property":"description"
					}
				],
				"events":{
					"onmodify":"doModifyPortal",
					"ondelete":"doDeletePortal"
				}
			}
		);
		content += "<p><button onclick=\"doAddPortal();\">Add</button></p>";
		content += "<p><button onclick=\"doEditMenu();\">Edit Menu</button></p>";
		if(message!=null){
			content += "<p>"+message+"</p>";
		}
		gameContentDiv.innerHTML=content;		
}