function humanize_time(time){
	var min = time.getMinutes();
	var sec = time.getSeconds();
	
	min = min < 10 ? '0' + min : min;
	sec = sec < 10 ? '0' + sec : sec;
	
	return '' + time.getHours() + ':' + min + ':' + sec;
};

function name_to_color(name){
	var r = 0, g = 0, b = 0;
	
	name = name.toUpperCase();
	
	for (var i = 0; i < name.length; i = i + 3){
		r = r + name.charCodeAt(i);
		g = g + (name.charCodeAt(i + 1) || 75);
		b = b + (name.charCodeAt(i + 2) || 75);
	}
	
	var max = r > g ? (r > b ? r : b) : (g > b ? g : b);
	var min = r < g ? (r < b ? r : b) : (g < b ? g : b);
	var span = max - min;
	
	r = (r - min) * (192 / span);
	g = (g - min) * (192 / span);
	b = (b - min) * (192 / span);
	
	return 'rgb(' + Math.round(r) + ', ' + Math.round(g) + ', ' + Math.round(b) + ')';
};

$(document).ready(function(){
	var blur_handler = function(){
		var element = $(this);
		if ( element.val() == '' )
			element.addClass('empty').val( element.attr('title') );
	};
	
	$('input.with_caption').blur(blur_handler);
	$('input.with_caption').focus(function(){
		var element = $(this);
		if ( element.hasClass('empty') )
			element.removeClass('empty').val('');
	});
	
	// set the captions for all empty elements right at the beginning
	$('input.with_caption').each(blur_handler);
});