﻿;(function($){
    jQuery.fn.extend({
        showTip:function(settings)
        {
            $(this).each(function(){
                //初始化配置信息
                var options = jQuery.extend({
                    flagCss:"tip",
                    flagWidth:$(this).outerWidth(),
                    flagInfo:$(this).attr("title"),
                    flagShowDown:true,
                    isAnimate:false,
                    flagIsRight:true
                },
                settings);
   
                if(!options.flagInfo)
                {
                    return;
                }
                $(this).removeAttr("title");
                $(this).mouseover(function(){
                    //设置提示信息最小宽度为163
                    options.flagWidth = (parseInt(options.flagWidth) < 100) ? 163 : parseInt(options.flagWidth);
                    var oTip = $("<div class='ui-slider-tooltip  ui-corner-all'></div>");
                    var oPointer = $("<div class='ui-tooltip-pointer-down'><div class='ui-tooltip-pointer-down-inner'></div></div>");
                    var oTipInfo = $("<div>" + options.flagInfo + "</div>").attr("class",options.flagCss).css("width",options.flagWidth + "px");
                    //合并提示信息
                    var oToolTip
                    if(options.flagShowDown)
                    {
                       oToolTip = $(oTip).append(oTipInfo).append(oPointer);
                    }
                    else
                    {
                        oToolTip = $(oTip).append(oTipInfo);
                    }
                    //添加淡入效果
                    if(options.isAnimate)
                    {
                        $(oToolTip).fadeIn("slow");
                    }
                    $(this).after(oToolTip);
                    
                    //计算提示信息的top、left和width
                    var position = $(this).position();
                    var oTipTop= eval(position.top - $(oTip).outerHeight() - 8);
                    var oTipLeft;
                    
                 
                    if(options.flagIsRight)
                     {
                       oTipLeft = position.left;
                     }
                    else
                     {
                       oTipLeft = position.left+149;
                     }
                    
                    $(oToolTip).css("top" , oTipTop + "px").css("left" , oTipLeft + "px");
                    
                    $(this).mouseout(function(){
                        $(oToolTip).remove();
                    });
                });
            });
            return this;
        }
    })
})(jQuery);
