public function Init () {
		if ($this->dispatchState > 0) return;
		self::$allControllers[spl_object_hash($this)] = & $this;
		if ($this->parentController === NULL && !$this->request->IsCli()) {
			if ($this->autoStartSession) 
				$this->application->SessionStart();
			$responseContentType = $this->ajax ? 'text/javascript' : 'text/html';
			$this->response->SetHeader('Content-Type', $responseContentType);
		}
		if ($this->autoInitProperties)
			$this->processAutoInitProperties();
		foreach ($this->childControllers as $controller) {
			$controller->Init();
			if ($controller->dispatchState == 5) break;
		}
		if ($this->dispatchState === 0) 
			$this->dispatchState = 1;
	}