$(document).ready(function(){
	// run the ticker
	$("#books").newsticker(11000);
	
	// add reload link
	$("#branding").append('<p><a href="#" id="flickr_reload">reload with a random image</a></p>');
	$("#flickr_reload").fadeTo(1500, 0.7);
	$("#flickr_imgtext").fadeTo(1500, 0.7);

	// random header reload
	$("#flickr_reload").click(function () {
		$("#flickr_header").fadeOut(3000, function () {
			$("#flickr_header").load("/includes/flickr_header.php").hide();
			$("#flickr_header").fadeIn(5000);
		});
		return false;
	});
	
	// comment form www value
    $("input#url").focus(
		function() {
		    if (this.value == "http://www...") { this.value = ""; }
		}).blur(
		function() {
		    if (this.value == "") { this.value = "http://www..."; }
		}
	);
	
	// if ($("#ontheblog").length > 0) {
	// 	var shorturl = $("link[rev*='canonical']:first").attr("href");
	//     $("#shorturl p").append('<a href="' + shorturl + '" title="">' + shorturl + '</a>');
	// }
	
	// lightbox stuff
	try {
		$("a[@rel*=lightbox]").lightBox(); 
	}
	catch(err) {}
	
});

// link up anything that looks like it should be href
String.prototype.linkify = function() {
	return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(m) {
		return m.link(m);
	});
};

// link up @usernames
String.prototype.linkuser = function() { 
	return this.replace(/[@]+[A-Za-z0-9-_]+/, function(u) { 
		var username = u.replace("@","") 
		return u.link("http://twitter.com/"+username); 
	}); 
}; 

// link up #hashtags
String.prototype.linktag = function() { 
	return this.replace(/[#]+[A-Za-z0-9-_]+/, function(t) { 
		var tag = t.replace("#","%23") 
		return t.link("http://search.twitter.com/search?q="+tag); 
	}); 
};

// relative time, ie 'posted couple of minutes ago'
function relative_time(time_value) {
  var values = time_value.split(" ");
  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
  var parsed_date = Date.parse(time_value);
  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
  delta = delta + (relative_to.getTimezoneOffset() * 60);

  var r = '';
  if (delta < 60) {
	r = 'a minute ago';
  } else if(delta < 120) {
	r = 'couple of minutes ago';
  } else if(delta < (45*60)) {
	r = (parseInt(delta / 60)).toString() + ' minutes ago';
  } else if(delta < (90*60)) {
	r = 'an hour ago';
  } else if(delta < (24*60*60)) {
	r = '' + (parseInt(delta / 3600)).toString() + ' hours ago';
  } else if(delta < (48*60*60)) {
	r = '1 day ago';
  } else {
	r = (parseInt(delta / 86400)).toString() + ' days ago';
  };
return r;
};
