// usage: log('inside coolFunc', this, arguments);
// paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
window.log = function(){
  log.history = log.history || [];   // store logs to an array for reference
  log.history.push(arguments);
  arguments.callee = arguments.callee.caller;
  if (this.console) console.log( Array.prototype.slice.call(arguments) );
};
// make it safe to use console.log always
(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();)b[a]=b[a]||c})(window.console=window.console||{});


// place any jQuery/helper plugins in here, instead of separate, slower script files.

/**
 * Simple jQuery widget that ajaxifying the calendar widget
 */
(function($) {
    $.fn.SnappCalendar = function(settings) {
        var config = {
        };

        if (settings) $.extend(config, settings);

        var element = $(this);

        this.next = function(url) {
            this.showMonth(url);
        }

        this.previous = function(url) {
            this.showMonth(url);
        }

        element.ajaxStart(function() {
            $(this).parent().animate({'opacity': 0.4}, 200);
        });
        element.ajaxStop(function() {
            $(this).parent().animate({'opacity': 1}, 500);
        });

        this.showMonth = function(url) {
            $.ajax({
                url: url,
                data: {},
                success: function(response) {
                    //console.log(response);
                    // Update calendar
                    element.html(response.html);
                },
                dataType: "json"
            });
        }
        return this;
    };
})(jQuery);
