
EditItemHandler = {};
EditItemHandler.ItemName = null;
EditItemHandler.ReturnUrl = null;

EditItemHandler.Adding = "Adding #thing...";
EditItemHandler.Added = "The new #thing has been added.";
EditItemHandler.Editing = "Saving changes to #thing...";
EditItemHandler.Edited = "Changes have been saved to the #thing.";

EditItemHandler.SubmitAdd = function() {

	Tools.SetProgress(EditItemHandler.Adding.replace(/\#thing/g, EditItemHandler.ItemName));

	AjaxForms.OnSuccess = function(result) {
		EditItemHandler.OnSuccess(result, EditItemHandler.Added.replace(/\#thing/g, EditItemHandler.ItemName));
	}

	AjaxForms.SubmitForm();
}

EditItemHandler.SubmitEdit = function() {

	Tools.SetProgress(EditItemHandler.Editing.replace(/\#thing/g, EditItemHandler.ItemName));

	AjaxForms.OnSuccess = function(result) {
		EditItemHandler.OnSuccess(result, EditItemHandler.Edited.replace(/\#thing/g, EditItemHandler.ItemName));
	}

	AjaxForms.SubmitForm();
}

EditItemHandler.OnSuccess = function(result, message) {

	if(EditItemHandler.ReturnUrl == null) {
		AjaxForms.ShowNotification("InfoMessage", message);
	} else {
		AjaxForms.PostInfo(message);
		document.location = EditItemHandler.ReturnUrl;
	}
}

EditItemHandler.DeleteItem = function()
{
	if(!confirm("Really delete this " + EditItemHandler.ItemName + "?"))
		return;
	
	Tools.SetProgress("Deleting " + EditItemHandler.ItemName + "...");

	AjaxForms.DoAjax(document.location, "Action=Delete", function(result)
	{
		EditItemHandler.OnSuccess(result, "The " + EditItemHandler.ItemName + " has been deleted.");
	} );
}
