function apercu(sender) {
	var td = $(sender);
	var apercu = td.find('div.apercu');
	
	if (!(apercu.html() == '')) {
		var td_pos = td.position();
		var apercu_width = apercu.outerWidth();
		
		if (td_pos.left + apercu_width >= $(document).width()) {
			apercu.css('left', td_pos.left + td.outerWidth() - apercu_width);
		} else {
			apercu.css('left', td_pos.left);
		}
		apercu.css('top', td_pos.top + td.outerHeight());
		
		apercu.find('div.apercu_text').each(
			function() { 
				$(this).click( function() { long_display(this); } );
			}
		);
		
		apercu.css('display', 'block');
	}
	return true;
}

function close_apercu(sender) {
	var apercu = $(sender).find('div.apercu');
	
	if (!(apercu.html() == '')) {
		var div = apercu.find('div.apercu_text');
		div.each(function() { close_long_display(this); });
		apercu.css('display', 'none');
	}
	return true;
}

function long_display(sender) {
	var div = $(sender);
	var pre = div.find('pre');
	var hidden_div = div.find('div#complete_text');
	var hidden_p = div.find('p.hidden_p');
	
	div.css('cursor','default');
	pre.html(hidden_div.html());
	hidden_p.each( function() { $(this).show(); } );
	return true;
}

function close_long_display(sender) {
	var div = $(sender);
	var pre = div.find('pre');
	var hidden_p = div.find('p.hidden_p');
	var short_text_div = div.find('div#short_text');
	
	div.css('cursor','pointer');
	pre.html(short_text_div.html());
	hidden_p.each( function() { $(this).hide(); } );
	return true;
}
