/**
 * @author    Alexei Betancourt Brito
 * @copyright Copyright (c) 2010, Grupo Humidif
 * @link      http://www.humidif.com
 * @package   jQuery 1.3.2
 * @category  Plugin
 * @licence   GPL MIT
 * 
 * Plugin para el las noticias del sitio.
 */
$.humidifTooltips = {
	/**
	 * @description: Funcion que inicializa los tooltips al agregar eventos
	 * 				 a cualquier elemento del DOM que contenga el atributo ttref,
	 * 				 esta funcion debe llamarse cada vez que se actualice el DOM.
	 */
	initTooltips: function(){
		$('*[ttref]').each(function(){
			$(this)
			.bind('mouseover', function(){$.humidifTooltips.showTooltip($(this).attr('ttref'))})
			.bind('mouseout', function(){$.humidifTooltips.hideTooltip($(this).attr('ttref'))});
		});
	},
	/**
	 * @description: Funcion que agrega un tooltip al DOM en espera de ser mostrado.
	 * @param {String} id
	 * @param {String} value
	 */	
	addTooltip: function(id,value,parent){
		parent = (parent != false) ? parent : parent = 'body';
		$(parent).append('<p class="tooltip-p" id="' + id + '">' + value + '</p>');
	},
	/**
	 * @description: Funcion que muestra un tooltip
	 * @param {String} tooltip
	 */
	showTooltip: function(tooltip){
		// Obtenemos el contenido del tooltip, su posicion y dimensiones
		data     = $('p#'+tooltip).html(); 
		position = $('*:not(p)[ttref="'+tooltip+'"]').offset();
		height   = $('*:not(p)[ttref="'+tooltip+'"]').height();
		width    = $('*:not(p)[ttref="'+tooltip+'"]').width();
		// Establecemos la posicion del tooltip.
		leftPos  = position.left + width + 'px';
		topPos   = position.top + 'px';
		//alert(leftPos+' - '+topPos);
		// Creamos o mostramos el tooltip segun corresponda.
		if($('div#tooltip-main').length <= 0){
			$('body').append('<div id="tooltip-main"><div id="tooltip-arrow"><img class="arrow-img" src="'+assets_img+'c_a_r.gif" height="20" width="10" /></div><div id="tooltip-data">'+data+'</div></div>');
			$('div#tooltip-main').fadeIn('slow');
			$('div#tooltip-main').css({'left':leftPos,'top':topPos});
			$('div#tooltip-main').fadeIn('fast');
		}else{
			// Colocamos el texto en el tooltip, lo posicionamos y por ultimo lo mostramos
			$('div#tooltip-main div#tooltip-data').text(data);
			$('div#tooltip-main').css({'left':leftPos,'top':topPos});
			$('div#tooltip-main').fadeIn('fast');
		}
	},
	hideTooltip: function(){
		$('div#tooltip-main').fadeOut(25);
		$('div#tooltip-main div#tooltip-data').text();
	}
}
