var rc = { init: function() { rc.ajax.init(); rc.dialog.init(); rc.page.init(); }, ajax: { init: function() { }, get: function(url) { $.ajax({ url: url, type: "GET", dataType: "json", success: rc.ajax.success, error: rc.ajax.failure }); }, post: function(url, data) { $.ajax({ url: url, type: "POST", dataType: "json", data: data, success: rc.ajax.success, error: rc.ajax.failure }); }, success: function(d, s, x) { rc.page.update(d); rc.dialog.prepare(d); rc.trigger_all(d); }, failure: function(x, s, e) { console.log("Ajax Failure: " + s, e); console.log(x.responseText); } }, dialog: { init: function() { $("#dialog-header-close").click(rc.dialog.close); }, prepare: function(d) { if (d.dialog && d.dialog.show) { if (d.dialog.buttons) { switch (d.dialog.buttons.type) { case 'ok': $("#dialog-footer-ok-ok").click( function() { rc.trigger(d.dialog.buttons.actions.ok, d.dialog.buttons.params); } ); $("#dialog-footer-ok").show(); break; case 'okcancel': $("#dialog-footer-okcancel-ok").click(function() { rc.trigger(d.dialog.buttons.actions.ok, d.dialog.buttons.params); }); $("#dialog-footer-okcancel-cancel").click(function() { rc.trigger(d.dialog.buttons.actions.cancel, d.dialog.buttons.params); }); $("#dialog-footer-okcancel").show(); break; case 'yesno': $("#dialog-footer-yesno-yes").click( function() { rc.trigger(d.dialog.buttons.actions.yes, d.dialog.buttons.params); } ); $("#dialog-footer-yesno-no").click( function() { rc.trigger(d.dialog.buttons.actions.no, d.dialog.buttons.params); } ); $("#dialog-footer-yesno").show(); break; } } if (d.dialog.title) { $('#dialog-header-title').html(d.dialog.title); } if (d.dialog.content) { $('#dialog-body').html(d.dialog.content); } $("#dialog").modal({ show: true, backdrop: true, keyboard: true, }); } }, close: function() { // Hide the dialog $("#dialog").modal({ show: false, }); // Remove the dialog content $("#dialog-body").html(); // Hide all buttons $(".dialog-footer-buttonset").hide(); // Strip all event handlers $(".dialog-footer-buttonset input[type='button']").unbind('click'); }, error: function(title, content, messages) { var formatted_content = $('
').append($('

').text('content')); if (messages) { var formatted_messages = $('