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() { $("#dialogheaderclose").click(rc.dialog.close); }, prepare: function(d) { if (d.dialog && d.dialog.show) { if (d.dialog.buttons) { switch (d.dialog.buttons.type) { case 'ok': $("#dialogfooterok").click( function() { rc.trigger(d.dialog.buttons.actions.ok, d.dialog.buttons.params); } ); $("#dialogfooterok").show(); break; case 'okcancel': $("#dialogfooterokcancel_ok").click(function() { rc.trigger(d.dialog.buttons.actions.ok, d.dialog.buttons.params); }); $("#dialogfooterokcancel_cancel").click(function() { rc.trigger(d.dialog.buttons.actions.cancel, d.dialog.buttons.params); }); $("#dialogfooterokcancel").show(); break; case 'yesno': $("#dialogfooteryes").click( function() { rc.trigger(d.dialog.buttons.actions.yes, d.dialog.buttons.params); } ); $("#dialogfooterno").click( function() { rc.trigger(d.dialog.buttons.actions.no, d.dialog.buttons.params); } ); $("#dialogfooteryesno").show(); break; } } if (d.dialog.title) { $('#dialogheadertitle').html(d.dialog.title); } if (d.dialog.content) { $('#dialogcontent').html(d.dialog.content); } $("#dialog").show(); } }, close: function() { // Hide the dialog $("#dialog").hide(); // Remove the dialog content $("#dialogcontent").html(); // Hide all buttons $(".dialogfooterbuttonset").hide(); // Strip all event handlers $(".dialogfooterbuttonset input[type='button']").unbind('click'); }, error: function(title, content, messages) { var formatted_content = $('
').append($('

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