function TTimer(maxTi)
{
	this.maxTi=maxTi;
	this.startTi=0;
	this.status=0; // 0..stopped, 1..running
	this.dateObj=0;
	this.resumeTi=0;

  this.Init = Init;

  this.Init();

  function Init()
  {
		this.dateObj = new Date();
  }

	this.SetMaxTi = function SetMaxTi(maxTi)
	{
		this.maxTi=maxTi;
  }

	this.Start = function Start()
	{
		this.dateObj = new Date();
		this.startTi=this.dateObj.getTime();
		this.status=1;
  }

  this.Resume = function Resume()
  {
  	if (this.status==1) return;
    if (this.resumeTi==0) this.Start();
    else
    {
    	this.startTi=this.resumeTi;
    	this.status=1;
    }
  }

	this.Stop = function Stop()
	{
		this.dateObj = new Date();
		this.resumeTi=this.dateObj.getTime();
		this.startTi=0;
		this.status=0;
  }

	this.Check = function Check()
	{
		if (this.status==0) return 0;

		var elapsedTi=this.GetElapsedTime();
		if (elapsedTi>=this.maxTi)
		{
			this.Stop();
			return 1;
		}
		if (this.maxTi==0) return 0;
		return elapsedTi/this.maxTi;
  }

  this.GetElapsedTime = function GetElapsedTime()
  {
  	if (this.status==0) return 0;
    this.dateObj = new Date();
  	return this.dateObj.getTime()-this.startTi;
  }

  this.GetMaxTi = function GetMaxTi()
  {
  	return this.maxTi;
  }
}