<?php

Prado::using('System.Web.UI.ActiveControls.*');

class Ticket384 extends TPage
{
	public function initRecursive($namingContainer=null)
	{
		parent::initRecursive($namingContainer);
		$this->AutoCompleteRepeater->setDataSource(array(1, 2));
		$this->AutoCompleteRepeater->dataBind();
	}

	public function submitCallback($sender, $param)
	{
		$this->AutoCompleteRepeater->setDataSource(array(1,2,3,4));
		$this->AutoCompleteRepeater->dataBind();
		$this->AutoCompletePanel->render($this->getResponse()->createHtmlWriter());
	}

	public function suggestCountries($sender, $param)
	{
		$sender->setDataSource($this->matchCountries($param->getCallbackParameter()));
		$sender->dataBind();
	}

	protected function matchCountries($token)
	{
		$info = Prado::createComponent('System.I18N.core.CultureInfo', 'en');
		$list = array();
		$count = 0;
		$token = strtolower($token);
		foreach($info->getCountries() as $country)
		{
			if(strpos(strtolower($country), $token) === 0)
			{
				$list[] = $country;
				$count++;
				if($count > 10) break;
			}
		}
		return $list;
	}
}