(function($){
$.fn.aqTip = function(html,options) {
	var opts = $.extend({}, $.fn.aqTip.defaults, options);
	return this.each(function() {
		var $obj = $(this);

		$('<div class="aqTip"><\/div>').appendTo($obj);

		var $layer = $('.aqTip',$obj);

		$layer.css({ display: 'none', position: 'absolute' }).css(opts.css);

		if (jQuery.isFunction(html)) html($layer);
		else $layer.html(html);

		//var p = $obj.position();
		var p = $obj.offset();
		var ow = $obj.width() > $layer.width() 
			? $obj.width() : $layer.width();
		var x = p.left + ow + opts.marginX;
		if (x > document.body.clientWidth)
			x = p.left - ow - opts.marginX;

		$layer.css({ left: x+'px', top: p.top+opts.marginY+'px' });

		$obj.hover(function(){$layer.show()}, function(){$layer.hide()});
	});
};

$.fn.aqTipOne = function(html,options) {
	var opts = $.extend({}, $.fn.aqTip.defaults, options);
	return this.each(function() {

	borderLeftRight = (opts.bgImageAlign != undefined && opts.bgImageAlign.indexOf("right") >= 0) ? "border-right" : "border-left" ;
	
	
	if(opts.bgImageAlign != undefined && opts.bgImageAlign.indexOf("top") >= 0){
		marginTop = "23px;";
		borderTopBottom = "border-top";
		closeMarginBottom = "8px";
	}
	else{
		marginTop = 0;
		borderTopBottom = "border-bottom";
		closeMarginBottom = "27px";
	}

	if(html != undefined)html = "<div style=\"background-color:#F1F0EC; padding:5px; height: " + (opts.height - 35) + "px; border: solid 2px "+opts.borderColor + "; "+borderLeftRight+":0; "+borderTopBottom+":0; margin-top:"+marginTop+"; \">"+html+"<div style=\"position:absolute; right:5px; bottom:"+closeMarginBottom+"; color:#999999; font-family:tahoma; font-size:8pt; cursor:pointer;\" onClick=$(this).parent().parent().toggle();>[X]fechar</div></div>";

		if (!$('#aqTip').length) {
			$('<div id="aqTip"><\/div>').appendTo(document.body);
			$('#aqTip').css({ display: 'none', position: 'absolute' })
				.css(opts.css);
		}

		var $obj = $(this);
		if (html) {
			$('#aqTip').html(html);

			//var p = $obj.position();
			var p = $obj.offset();
			//alert($obj.height());
			//var ow = ($obj.width() > $('#aqTip').width()) ? $obj.width():$('#aqTip').width();
			var ow = $obj.width();
			
			if(opts.bgImageAlign != undefined && opts.bgImageAlign.indexOf("top") >= 0)
				p.top = p.top + $obj.height() + 10;
			else
				p.top = p.top - opts.height;

			if(opts.bgImageAlign != undefined && opts.bgImageAlign.indexOf("left") >= 0)
				var x = p.left + ow + opts.marginX;
			else
				var x = p.left - opts.width;
		
			if (x > document.body.clientWidth)
				x = p.left - ow - opts.marginX;

			if(opts.bgImageAlign != undefined && opts.bgImageAlign.indexOf("right") >= 0){
				_borderLeft = 0;
				_borderRight = 'solid 2px '+opts.borderColor;
			
			}
			else{
				_borderLeft = 'solid 2px '+opts.borderColor;
				_borderRight = 0;
			}

			$('#aqTip').show()
				.css({ 
					left: x+'px', 
					border:0,
					zIndex:10,
					top: p.top+opts.marginY+'px', 
					width: opts.width+'px', 
					height:opts.height+'px',
					borderLeft: _borderLeft,
					borderRight: _borderRight,
					backgroundImage: 'url('+opts.bgImageSrc+')',
					backgroundPosition: opts.bgImageAlign,
					backgroundRepeat: 'no-repeat'
				})
		} else
			$('#aqTip:visible').hide()

		return false;
	});
};

$.fn.aqTip.defaults = { 
	marginX: 10, marginY: 10, 
	css: { 
		color: '#444',
		border: '1px solid #ddd', padding: 0 }
};
})(jQuery);
