<?

class fmWaitDiskReady extends Form_children {
	public $fmName;
	private $btContinue_time = 0; // отсчет будет идти в обратную сторону до нуля
	public $status = '';
	private $btContinueText = "Продолжить";

	function __construct() {
		parent::__construct('fmWaitDiskReady');
	}

	// открытие формы
	function open() {
		GLOBAL $Ui_thread;

		$this->status = 'wait_disk';
		$this->ui('timer')->enabled = true;
		parent::open();
	}

	// закрытие формы
	function close() {
		GLOBAL $Ui_thread;
		
		$this->ui('timer')->enabled = false;
		$this->ui('bt_continue')->enabled = false;
		$this->ui('bt_continue')->text = $this->btContinueText;

		$this->ui('lb_disk_found')->visible = false;

		parent::close();
	}

	function btStop() {
		GLOBAL $Bt_run, $INFO, $log;

		$this->status = false;
		$Bt_run->stop($INFO['step']);
		$log->line("Обработка прервана");
		$this->close();
	}

	function btContinue() {
		$this->status = 'found';
		$this->close();
	}

	// function timer_run($sec) {
	// 	GLOBAL $log;

	// 	$this->ui('timer')->enabled = 1;
	// }

	function timer_iteration() {
		GLOBAL $Disc_info, $Paths;

		logFile($this->status);


		// чекаем диск на доступность
		if($this->status == 'wait_disk') {
			$isReady = $Disc_info->isReady($Paths->disc_name);
			logFile($Paths->disc_name);
			logFile(var_dump_str($isReady));
			if($isReady) {
				$this->btContinue_time = 30;
				$this->ui('bt_continue')->enabled = true;
				$this->ui('lb_disk_found')->visible = true;
				$this->status = 'timer_continue';
			}
		}
		// отсчитываем таймер до нажатия кнопки "продолжить"
		else {
			// время вышло, заклугляемся
			if($this->btContinue_time == 0) {
				$this->btContinue();
			}

			$time = $this->btContinue_time --;
			$this->ui('bt_continue')->text = $this->btContinueText . " ($time)";
		}
	}

}

?>