// jQuery Objectj
jQuery.widget('ui.tooltip', {
	
	defaults: {
		closeOnClick: true
	},
	
	_init: function() {			
		var self = this;
						
		// tooltip
		self.element.addClass('ui-tooltip').css('display', 'none');
		
		if (self.defaults.closeOnClick) {
			self.element.click(function() {
				self.close();
			});
		}
														
		// tooltip arrow
		self.element.append($('<div></div>').addClass('ui-tooltip-arrow').addClass('ui-tooltip-arrow-left'));
		
		// tooltip close button
		self.element.append($('<a></a>').attr({
			href:     '#',
			tabindex: '5000'
		}).addClass('ui-tooltip-close')
		  .text(' ')
		  .click(function() { // close button
			  self.close();
			  return false;
		  }));
		
		// tooltip messages container
		self.element.append($('<div></div>').addClass('ui-tooltip-content').append('<ul></ul>'));	
	},
	
	// methods
	addMessage: function(message) {
		$(this.element).children('.ui-tooltip-content')
			           .children('ul')
			           .append($('<li></li>').text(message));
	},	
	
	emptyMessages : function() {
		$(this.element).children('.ui-tooltip-content')
		               .children('ul')
		               .empty();		
	},
	
	open: function() {
		this.element.fadeIn(200);			       
	},
	
	close: function() {
		this.element.fadeOut(200);			       
	},
	
	toggle: function() {
		if (this.element.is(':visible')) {
			this.close();
		}
		else {
			this.open();
		}
	}
	
});

