function set_date(id, year, month, day, hour, minute, second) {
	if(field = document.getElementById(id+'_year')) { 	field.value = year; }
	if(field = document.getElementById(id+'_month')) { 	field.value = month; }
	if(field = document.getElementById(id+'_day')) { 	field.value = day; }
	
	if(field = document.getElementById(id+'_hour')) { 	field.value = hour; }
	if(field = document.getElementById(id+'_minute')) { 	field.value = minute; }
	if(field = document.getElementById(id+'_second')) { 	field.value = second; }
	return true;
}

function timestamp_to_reltime(timestamp)
{
	d = new Date;
	now = d.getTime()/1000;

	if(now > timestamp) {
		delta = now - timestamp;
	} else  {
		delta = timestamp - now;
	}

	fulldelta = delta;

	if(delta == 0) {
		return 'Now';
	}
	days = Math.floor(delta/60/60/24);
	delta -= days*60*60*24;

	hours = Math.floor(delta/60/60);
	delta -= hours*60*60;

	minutes = Math.floor(delta/60);
	delta -= minutes*60;

	seconds = Math.floor(delta);

	str = '';

	if(days > 0) {
		str += days + 'd ';
	}
	if(hours > 0) {
		str += hours + 'h ';
	}
	if(minutes > 0) {
		str += minutes + 'm ';
	}
	if(days < 1 && seconds > 0) {
		str += seconds + 's ';
	}

	if(now > timestamp) {
		str += 'ago';
	} else {
		str = 'in ' + str;
	}
	return str;
}

function update_all_dates()
{
	var dates = document.getElementsByTagName('span');
	var rel;
	var x;
	for(x = 0; x < dates.length; x++) {
		if((rel = dates[x].getAttribute('rel'))) {
			var m = rel.match(/^date:(\d+)$/);
			if(m && m[1]) {
				dates[x].innerHTML = timestamp_to_reltime(m[1]);
			}
		}
	}
}

if(loadscript != undefined) {
	loadscript += " update_all_dates();";
}
