function	makeTimeLogger()
{
	var	startTime, checkAreaStack;
	var	id;

	function	reset()
	{
		startTime = (new Date()).getTime();
		checkAreaStack = [];
		id = 0;
	}

	reset();

	function	startCheckArea( areacode )
	{
		var	startStack = {
			id:			id,
			start_milisec:	(new Date()).getTime() - startTime,
			areacode:	areacode
		};
		id++;
		checkAreaStack.push( startStack );

		return	{
			end:	function(){
				var	endStack = {
					id:			startStack.id,
					end_milisec:	(new Date()).getTime() - startTime
				};
				checkAreaStack.push( endStack );
			}
		};
	}

	function	outputLog()
	{
		var	endTime = (new Date()).getTime();
		return	{
			totalMiliSec:	endTime-startTime,
			checkAreaStack:	checkAreaStack
		};
	}

	return	{
		reset:	function() {
			reset();
		},
		startCheckArea:	function( areacode ) {
			return	startCheckArea( areacode );
		},
		outputLog:	function() {
			return	outputLog();
		}
	};
}
var	timeLogger = makeTimeLogger();
