/*!
 * Autor: Joao Costa
 * Contato: jrcosta77g@gmail.com
 */

$(function(){
	
	//método público avbalao
    $.fn.avbalao = function(o) {

	//padrões do plugin
	var p = {
		
		//largura auto, ou seja, basea-se no elemento pai para obter a largura
		largura		: 'auto',
		
		//texto no balao
		texto		: '',
		 
		 //estilo do balão
		 //classes: {balao:'balao', fundo:'balao_fundo', seta:'balao_seta', texto:'balao_texto'}
		 
		 sBalao		: 'balao',
		 sFundo		: 'balao_fundo',
		 sSeta		: 'balao_seta',
		 sTexto		: 'balao_texto'
		 		 
	 };
	 
	//extendendo as opções 
	var o = $.extend(p, o);
	
	//percorre cada elemento com o selector desejado
	this.each(function(){
			
		//pegando o texto
		var textoBalao = o.texto == '' ? $(this).text() : o.texto;
		
		//Caso o tamanho for total, pega o valor do objeto o qual ele está encapsulado
		var pBalao = $(this).parent().width();
		
		//condições para o tamanho
		var lBalao = o.largura == 'auto' ? 'auto' : o.largura == 'externa' ? pBalao+'px' : parseInt(o.largura)+'px';
				
		//div que encapsulará o balão		
		var cBalao = '<div class="' + o.sBalao + '" style="width:'+ lBalao +';">';
		
		//div que contém o fundo do balão
		var fBalao = '<div class="' + o.sFundo + '">';
		
		//resgatando e adicionando o texto no balão
		var tBalao = '<p class="' + o.sTexto + '">' + textoBalao + '</p></div>';
		
		//div com a seta
		var sBalao = '<div class="' + o.sSeta + '" style="position:absolute;"></div></div>';
		
		//acrescentando os elementos
		$(this).parent().append(cBalao+fBalao+tBalao+sBalao);

		//removendo o elemento oriundo
		$(this).remove();
	
	});
	 
 
	};
	
});
