/* All Rights Reserved - Compressed Files - (C) Copyright 2010 - Softel vdm, Inc. - www.softelvdm.com */


(function($){var t=$.tools.tooltip;t.dynamic={conf:{classNames:"top right bottom left"}};function getCropping(el){var w=$(window);var right=w.width()+w.scrollLeft();var bottom=w.height()+w.scrollTop();return[el.offset().top<=w.scrollTop(),right<=el.offset().left+el.width(),bottom<=el.offset().top+el.height(),w.scrollLeft()>=el.offset().left];}
function isVisible(crop){var i=crop.length;while(i--){if(crop[i]){return false;}}
return true;}
$.fn.dynamic=function(conf){if(typeof conf=='number'){conf={speed:conf};}
conf=$.extend({},t.dynamic.conf,conf);var cls=conf.classNames.split(/\s/),orig;this.each(function(){var api=$(this).tooltip().onBeforeShow(function(e,pos){var tip=this.getTip(),tipConf=this.getConf();if(!orig){orig=[tipConf.position[0],tipConf.position[1],tipConf.offset[0],tipConf.offset[1],$.extend({},tipConf)];}
$.extend(tipConf,orig[4]);tipConf.position=[orig[0],orig[1]];tipConf.offset=[orig[2],orig[3]];tip.css({visibility:'hidden',position:'absolute',top:pos.top,left:pos.left}).show();var crop=getCropping(tip);if(!isVisible(crop)){if(crop[2]){$.extend(tipConf,conf.top);tipConf.position[0]='top';tip.addClass(cls[0]);}
if(crop[3]){$.extend(tipConf,conf.right);tipConf.position[1]='right';tip.addClass(cls[1]);}
if(crop[0]){$.extend(tipConf,conf.bottom);tipConf.position[0]='bottom';tip.addClass(cls[2]);}
if(crop[1]){$.extend(tipConf,conf.left);tipConf.position[1]='left';tip.addClass(cls[3]);}
if(crop[0]||crop[2]){tipConf.offset[0]*=-1;}
if(crop[1]||crop[3]){tipConf.offset[1]*=-1;}}
tip.css({visibility:'visible'}).hide();});api.onBeforeShow(function(){var c=this.getConf(),tip=this.getTip();setTimeout(function(){c.position=[orig[0],orig[1]];c.offset=[orig[2],orig[3]];},0);});api.onHide(function(){var tip=this.getTip();tip.removeClass(conf.classNames);});ret=api;});return conf.api?ret:this;};})(jQuery);

