// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

Date.prototype.setISO8601 = function(dString){

	var regexp = /(\d\d\d\d)(-)?(\d\d)(-)?(\d\d)(T)?(\d\d)(:)?(\d\d)(:)?(\d\d)(\.\d+)?(Z|([+-])(\d\d)(:)?(\d\d))/;

	if (dString.toString().match(new RegExp(regexp))) {
		var d = dString.match(new RegExp(regexp));
		var offset = 0;

		this.setUTCDate(1);
		this.setUTCFullYear(parseInt(d[1],10));
		this.setUTCMonth(parseInt(d[3],10) - 1);
		this.setUTCDate(parseInt(d[5],10));
		this.setUTCHours(parseInt(d[7],10));
		this.setUTCMinutes(parseInt(d[9],10));
		this.setUTCSeconds(parseInt(d[11],10));
		if (d[12])
		this.setUTCMilliseconds(parseFloat(d[12]) * 1000);
		else
		this.setUTCMilliseconds(0);
		if (d[13] != 'Z') {
			offset = (d[15] * 60) + parseInt(d[17],10);
			offset *= ((d[14] == '-') ? -1 : 1);
			this.setTime(this.getTime() - offset * 60 * 1000);
		}
	}
	else {
		this.setTime(Date.parse(dString));
	}
	return this;
};

Date.prototype.from_now_in_string = function() {
	lag = Math.ceil((this - new Date())/1000);
	if(lag < 0) {
		return "Parsing now..."
	}
	else if(lag > 900) {
	  return "<a href='http://groups.google.com/group/superfeedr/web/frequently-asked-questions'><img src='/images/icons/arrow_in.png' /></a>"
	}
	else if(lag > 60) {
		return Math.ceil(lag/60) + " min" ;
	}
	else {
		return lag + " sec"; 
	}
};