
// 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.
/*
 * JavaScript Pretty Date
 * Copyright (c) 2008 John Resig (jquery.com)
 * Licensed under the MIT license.
 */

// Takes an ISO time and returns a string representing how
// long ago the date represents.
function prettyDate(time, justdate){
  if (!justdate) {var justdate = false;}
	var date = new Date((time || "").replace(/-/g,"/").replace(/[TZ]/g," ")),
		diff = (((new Date()).getTime() - date.getTime()) / 1000),
		day_diff = Math.floor(diff / 86400);
			
	if ( isNaN(day_diff) || day_diff < 0 || day_diff >= 31 )
		return;

  if (justdate) {
    return day_diff == 0 && "today" ||
		  day_diff == 1 && "yesterday" ||
		  day_diff < 7 && day_diff + " days ago" ||
		  day_diff < 31 && Math.ceil( day_diff / 7 ) + " weeks ago";
  } else {			
	  return day_diff == 0 && (
			  diff < 60 && "just now" ||
			  diff < 120 && "1 minute ago" ||
			  diff < 3600 && Math.floor( diff / 60 ) + " minutes ago" ||
			  diff < 7200 && "1 hour ago" ||
			  diff < 86400 && Math.floor( diff / 3600 ) + " hours ago") ||
		  day_diff == 1 && "yesterday" ||
		  day_diff < 7 && day_diff + " days ago" ||
		  day_diff < 31 && Math.ceil( day_diff / 7 ) + " weeks ago";
  }
}

// If jQuery is included in the page, adds a jQuery plugin to handle it as well
if ( typeof jQuery != "undefined" )
	jQuery.fn.prettyDate = function(){
		return this.each(function(){
			var date = prettyDate(this.title);
			if ( date )
				jQuery(this).fadeOut(100,function() {jQuery(this).text(date).fadeIn(100)});
		});
	};
