/*
 * jQuery UI Panel 1.6rc2
 *
 *
 * Depends:
 *	ui.core.js
 */
(function($) {

$.widget("ui.panel", {
	_init: function() {
		this.options.event += '.panel'; // namespace event
		
		// create tabs
		this._panelize(true);
	},
	_setData: function(key, value) {
		this.options[key] = value;
		this._panelize();
	},
	ui: function(panel) {
		return {
			options: this.options,
			panel: panel
		};
	},
	_panelize: function(init) {
		var self = this, o = this.options;
		
		// initialization from scratch
		if (init) {
			
			this.element.wrap('<div class="' + o.containerClass + '"><div class="' + o.contentClass + '"><div class="' + o.innerClass + '"></div></div></div>');

			this.element.parent().parent().parent().prepend('<div class="' + o.headerClass + '"><div></div></div>').append('<div class="' + o.footerClass + '"><div></div></div>');
			
			
			// attach necessary classes for styling if not present
			this.element.addClass(o.panelClass);
			
			// clean up to avoid memory leaks in certain versions of IE 6
			/*$(window).bind('unload', function() {
				self.ui(self.$button).unbind('.button');				
			});*/

		}

	},

	destroy: function() {
		var o = this.options;
		this.element.unbind('.panel').removeClass(o.panelClass).removeData('panel');
	}
});

$.ui.panel.defaults = {
	// basic setup
	disabled: false,
	
	// CSS classes
	containerClass: 'ui-panel-container',
	headerClass: 'ui-panel-header',
	contentClass: 'ui-panel-content',
	innerClass: 'ui-panel-inner',
	panelClass: 'ui-panel',
	footerClass: 'ui-panel-footer'
};

})(jQuery);