jsCalendar by Tournier Guillaume

List of the differents events: navigate (year or month changed), beforeShow, afterShow, beforeClose, afterClose, change.

Demo:

Output:
    Example: <input type="text" name="calendar" id="calendar" />
    Output: <ul id="output"><li style="display: none;"></li></ul>
    var cal = new Calendar('calendar'), output = $('output');
    $w('navigate beforeShow afterShow beforeClose afterClose change').each(function(eventName) {
        cal.observe(eventName, function(cal) {
            var value = 'change' == eventName ? ': ' + cal.formattedDate() : '';
            output.insert({ top: '<li>' + eventName + value + '</li>' });
        });
    });