﻿aqeditor = function(page, form, submitAction, cancelAction, editor, onSubmitOk) {
	var ed = {};
	
	ed.open = function() {
		rules.openEditor(editor);
	}
	
	ed.close = function() {
		rules.closeEditor();
	}
	
	page.addForm({id: form, action: submitAction, onSuccess: function(ok) {
		if (ok) {
			if (onSubmitOk != null) {
				onSubmitOk();
			}
			else {	// Just close
				ed.close();			
			}
		}
		else {
			ed.open();	// parts may have closed it
		}
	}});

	ed.rules = function() {
		$('#' + form + ' .editor-cancel').live("click", function(e) {
			page.pull(cancelAction, [], function(ok) {
				if (ok) {
					ed.close();
				}
				else {
					ed.open();	// parts may have closed it
				}
			});
		});
	};
	
    page.addRule(function() {
        ed.rules();
    });

	return ed;
}