if (!window['VTLS']) window['VTLS'] = {};
VTLS.Gate = {
	'panels' : {},
	'preps' : {},
	'show' : function(name, opts) {
		if (!this.panels.hasOwnProperty(name)) return;
		if (this.preps.hasOwnProperty(name)) this.preps[name](opts);
		this.panels[name].show();
	},
	'hide' : function(name) {
		if (!this.panels.hasOwnProperty(name)) return;
		this.panels[name].hide();
	},
	'setprep' : function(name, fn) {
		if (!this.panels.hasOwnProperty(name)) return;
		this.preps[name] = fn;
	},
	'init' : function(name, opts) {
		if (!window['YAHOO'] || !YAHOO.widget || !YAHOO.widget.Panel) return;
		if (this.panels.hasOwnProperty(name)) return;
		if (!opts) opts = {};
		var gate_content_el = $(opts.id_content ? opts.id_content : 'gate_content');
		if (!gate_content_el) return;
		this.panels[name] = new YAHOO.widget.Panel(opts.id_container ? opts.id_container : 'gate_container',  {
			'width' : (opts.width ? (+opts.width) + 'px' : '550px'),
			'fixedcenter' : true,
			'close': opts.close ? !!opts.close : false,
			'draggable': false,
			'zindex': 4,
			'modal': true,
			'visible': false,
			'underlay' : 'none'
		});
		if (opts.prep && typeof opts.prep == 'function') this.preps[name] = opts.prep;
		this.panels[name].setHeader(opts.caption ? opts.caption : '');
		gate_content_el.style.display = 'block';
		this.panels[name].setBody(gate_content_el);
		this.panels[name].render();
		return this.panels[name];
	}
};
