Ct_Page.loadComponentScript('Ct_PopupContent');

Ct_Page.scriptIsReady('Ct_PopupContent', function() {

	window.Ct_PopupContent_Static = Class.create(Ct_PopupContent, {

		_setNamespace: function() {
			this._namespace = 'ctPopupContentStatic';
		},

		_assemble: function($super) {
			$super();
			$$('.' + this._namespace).each(function(element) {
				var config, content;

				if (this.isAssembled(element, 2)) {
					return;
				}
				this._markAsAssembled(element, 2);
				config = this._makeConfig(element);
				content = $(config.contentContainerId);

				if (!Object.isElement(content)) {
					throw this._namespace + ': _assemble - content container undefined (bad id)';
				}
				element.store('content', content.innerHTML);
			}.bind(this));
		},

		onElementClick: function(event) {
			var element, offset, content, config, popupId;
			Event.stop(event);
			element = Event.findElement(event, '.' + this._namespace);
			offset = element.cumulativeOffset();
			config = element.retrieve('config', {});
			content = element.retrieve('content');

			popupId = element.retrieve('popupId');
			try {
				this._popupComponent.setTitle(popupId, config.title);
			} catch (ex) {}

			this._popupComponent.update(popupId, content);
			this._popupComponent.show(popupId);
		},

		refresh: function(ident, response) {
			var element;
			element = $(ident);

			if (!Object.isElement(element)) {
				return;
			}
			if (response.html) {
				element.retrieve('content').update(response.html);
			}
		},

		x: null
	});

	Ct_Page.registerScript('Ct_PopupContent_Static');
});
