<?php

class MyJavascriptLib extends TComponent
{
    private $_packages=array(); //keep track of all registrations

	private $_manager;

	protected function __construct(TPage $owner)
	{
		$this->_manager = $owner->getClientScript();
		$owner->onPreRenderComplete = array($this, 'registerScriptLoader');
	}

	public static function registerPackage(TControl $control, $name)
	{
		static $instance;
		if($instance===null)
			$instance=new self($control->getPage());
		$instance->_packages[$name]=true;
	}

	protected function registerScriptLoader()
	{
		$dir = dirname(__FILE__).'/myscripts'; //contains my javascript files
		$scripts = array_keys($this->_packages);
		$url = $this->_manager->registerJavascriptPackages($dir, $scripts);
		$this->_manager->registerScriptFile($url,$url);
	}
}

?>