// this code will cache the person history data

function paste_history(myid)
{
	if(myid == '') return '';

	if(typeof(db_person[myid]) == "undefined") return '';

	var html = '';

	var history = get_paste_history(myid);

	if(history.length)
	{
		html += '<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>';
		html += '<table border="0" cellspacing="0" cellpadding="0" width="100%" class="history">';
		html += '<tr valign="top"><th colspan="2">Timeline</th><th>Name</th><th>Age</th><th>Status</th><th>M</th><th>Location</th><th>Occupation</th><th>Further Information</th></tr>';

		for(var i=0; i<history.length; i++)
		{
			var row = history[i];

			html += '<tr valign="top">';
			html += '<th class="date">' + row[0].tiny() + '</th>';
			html += '<th class="nowrap">' + row[1] + '</th>';
			html += '<td class="nowrap">' + row[3] + '</td>';
			html += '<td>' + row[6] + '</td>';
			html += '<td>' + row[4] + '</td>';
			html += '<td>' + row[5] + '</td>';
			html += '<td>' + row[2] + '</td>';
			html += '<td>' + row[9] + '</td>';
			html += '<td class="nowrap">' + row[8] + '</td>';
			html += '</tr>';
		}

		html += '</table></td></tr></table>';
	}

	return html;
}


var db_history = new Array();

function get_paste_history(myid)
{
	if(typeof(db_history[myid]) == "undefined")
	{
		var hd = new Array();

		// Assumption that each person only appears once in each census year!

		if(census_set_1841.has(myid)) hd.push(census_set_1841.history(myid));
		if(census_set_1851.has(myid)) hd.push(census_set_1851.history(myid));
		if(census_set_1861.has(myid)) hd.push(census_set_1861.history(myid));
		if(census_set_1871.has(myid)) hd.push(census_set_1871.history(myid));
		if(census_set_1881.has(myid)) hd.push(census_set_1881.history(myid));
		if(census_set_1891.has(myid)) hd.push(census_set_1891.history(myid));
		if(census_set_1901.has(myid)) hd.push(census_set_1901.history(myid));

		// BMD classes - returns a matrix of data

		{ var hist =    birth_set.history(myid); for(var i=0; i<hist.length; i++) hd.push(hist[i]); }
		{ var hist =  baptism_set.history(myid); for(var i=0; i<hist.length; i++) hd.push(hist[i]); }
		{ var hist = marriage_set.history(myid); for(var i=0; i<hist.length; i++) hd.push(hist[i]); }
		{ var hist =    death_set.history(myid); for(var i=0; i<hist.length; i++) hd.push(hist[i]); }

		// Sort

		var sf = function(a, b) { return a[0].stamp - b[0].stamp; }

		hd.sort(sf);

		// Bit of a hack, won't be needed once 1881 finished.
		for(var i=0; i<hd.length; i++)
		{
			hd[i][8] = hd[i][8].replace(/, England/, '');
			hd[i][8] = hd[i][8].replace(/, Wales/, '');
			hd[i][8] = hd[i][8].replace(/, Scotland/, '');
		}

		// Cache

		db_history[myid] = hd;
	}

	return db_history[myid];
}

