/*
 * @name:    tooltip
 * @version: 0.1 
 * @release: 2008-10-06
 * @type:    jQuery plugin  
 * @author:  David Sklar
--------------------------------------- */
(function($){$.fn.tooltip=function(options){var opts=$.extend({},{parentBox:'body',linked:false,padding:10},options);var box,top,pack,head,body,bottom,pointer;box=$('<div class="tooltip"></div>');top=$('<big></big>');pack=$('<div></div>');head=$('<h3></h3>');body=$('<p></p>');bottom=$('<small></small>');pointer=$('<span></span>');pack.append(head).append(body);box.append(top).append(pack).append(bottom).append(pointer).css({'position':'absolute','z-index':1,'opacity':0});if($.fn.bgiframe){}
$('body').append(box);var origin=[];var parentBox,padding,msie6,dx=0;parentBox=$(opts.parentBox);linked=opts.linked;padding=opts.padding;msie6=($.browser.msie&&parseInt(navigator.userAgent.toLowerCase().match(/msie (\d\.0)/)[1])<=6)?true:false;function show(e){var target=$(e.target),x,y,h;origin['txt']=target.attr('title');origin['url']=target.attr('class');head.html(target.html());body.html(origin['txt']);h=top.height()+pack.height()+bottom.height()+pointer.height();box.css({'height':h});target.attr({'title':''});if(linked){target.css({'text-decoration':'none','cursor':'pointer'}).bind('click',function(e){window.location.href=origin['url'];e.preventDefault();});}
x=target.offset().left;y=target.offset().top-box.height();dx=(x+box.width())-(parentBox.offset().left+parentBox.width());if(dx>0){x=x-(dx+padding);}
if(msie6){box.css({'top':y,'left':x,'opacity':1.0});}else{box.css({'top':y,'left':x}).fadeTo(100,1.0);}};function hide(e){var target=$(e.target),content;if(target.is('acronym')){if(msie6){box.css({'opacity':0});}else{box.fadeTo(50,0);}
target.attr({'title':origin['txt']});if(linked){target.css({'text-decoration':'underline','cursor':'default'}).unbind('click');}}};function set(e){var target=$(e.target),x;var limit=parseInt(pack.css('padding-left'));x=e.pageX-target.offset().left;if(dx>0){x=x+dx+padding;}
if(x<10){x=limit;}
if(msie6){x=(dx>0)?limit+dx+padding:limit;}
pointer.css({'position':'relative','left':x});};return this.each(function(i){$(this).bind('mouseover focus',function(e){show(e);}).bind('mousemove',function(e){set(e);}).bind('mouseout blur',function(e){hide(e);});});};})(jQuery);
