The first public beta of DayPilot Pro for JavaScript has been released.
Release notes: http://javascript.daypilot.org/daypilot-pro-for-javascript-1-0-beta3/
<div id="dp"></div>
<script type="text/javascript">
    var dp = new DayPilot.Scheduler("dp");
    // behavior and appearance
    dp.cssClassPrefix = "scheduler_8";
    dp.cellWidth = 40;
    dp.eventHeight = 25;
    dp.headerHeight = 25;
    // view
    dp.startDate = new DayPilot.Date("2013-05-01").firstDayOfMonth();  // or just dp.startDate = "2013-03-25";
    dp.cellGroupBy = "Month";
    dp.days = dp.startDate.daysInMonth();
    dp.cellDuration = 1440; // one day
    dp.moveBy = 'Full';
    dp.showToolTip = false;
    // no events at startup, we will load them later using loadEvents()
    dp.events.list = [];
    dp.treeEnabled = true;
    dp.rowHeaderWidthAutoFit = true;
    dp.rowHeaderWidth = 200;
    // 
    dp.resources = [
                 { name: "Room A", id: "A", expanded: true, children:[
                         { name : "Room A.1", id : "A.1" },
                         { name : "Room A.2", id : "A.2" }
                         ] 
                 },
                 { name: "Room B", id: "B" },
                 { name: "Room C", id: "C", loaded: false }
                ];
    // http://api.daypilot.org/daypilot-scheduler-oneventmoved/ 
    dp.onEventMoved = function (args) {
        DayPilot.request(
            "backend_move.php", 
            function(req) { // success
                var response = eval("(" + req.responseText + ")");
                if (response && response.result) {
                    dp.message("Moved: " + response.message);
                }
            },
            args,
            function(req) {  // error
                dp.message("Saving failed");
            }
        );        
    };
    // http://api.daypilot.org/daypilot-scheduler-oneventclick/
    dp.onEventClick = function(args) {
        alert("clicked: " + args.e.id());
    };
    dp.init();
    loadEvents();
    function loadEvents() {
        DayPilot.request("backend_events.php", function(result) {
            var data = eval("(" + result.responseText + ")");
            for(var i = 0; i < data.length; i++) {
                var e = new DayPilot.Event(data[i]);                
                dp.events.add(e);
            }
        });
    }
</script>