
jQuery.fn.autoEllipsis=function(options){var get_AutoEllipsisScroller=function(id){var aeScrollerId="WingooliAutoEllipsisScroller_"+id
if(!document.getElementById(aeScrollerId)){var div=document.createElement("div");div.id=aeScrollerId+"_Container";div.innerHTML="<span id=\""+aeScrollerId+"\" style=\"overflow: visible; position: absolute; top: -2000px; color: orange\"></span>";document.body.appendChild(div);}return document.getElementById(aeScrollerId);};var StringEllipsesByMaxLetters=function(element,originalText,maxLettersAllowed){element.title="";var text=originalText;if(text==null||text=="")text=element.innerHTML;var maxAllowedLatterIndex=text.length-maxLettersAllowed;if(maxAllowedLatterIndex>0){element.title=text;if(originalText==null)originalText=text;element.innerHTML=text.substr(0,maxLettersAllowed-2).replace(/^\s+|\s+$/g,"")+"&hellip;";}else{element.innerHTML=text;}};var _this=this;var settings=jQuery.extend({},options);this.each(function(i){var aeScroller=get_AutoEllipsisScroller(i);saeScroller=$(aeScroller);sthis=$(this);saeScroller.text(sthis.text());var origText=sthis.html();var element=this;var elementBounds={width:element.offsetWidth,height:element.offsetHeight};var jAeScroller=$(aeScroller);var jElement=$(element);var props=["font-size","font-weight","font-family","font-style","padding"];for(var i=0;i<props.length;i++){try{jAeScroller.css(props[i],jElement.css(props[i]));}catch(ex){}}jElement.css("overflow","visible");jAeScroller.width(jElement.width());var isIe=(document.all!=undefined);var scrollerWidth=jAeScroller.width();var scrollerHeight=jAeScroller.height();var fitText=saeScroller.text();while(scrollerHeight>elementBounds.height&&fitText!=""){fitText=fitText.substr(0,fitText.length-2);var autoScrollerInnerHTML=fitText.replace(/^\s+|\s+$/g,"")+"&hellip;";saeScroller.html(autoScrollerInnerHTML);scrollerHeight=jAeScroller.height();}if(fitText==""){fitText=origText;saeScroller.html(fitText);jElement.css("whiteSpace","nowrap");jAeScroller.width("");var scrollerWidth=jAeScroller.width();}while(scrollerWidth>elementBounds.width&&fitText!=""){fitText=fitText.substr(0,fitText.length-2);var autoScrollerInnerHTML=fitText.replace(/^\s+|\s+$/g,"")+"&hellip;";saeScroller.html(autoScrollerInnerHTML);scrollerWidth=jAeScroller.width();}var scrollerHeight=aeScroller.offsetHeight;var r=(Math.ceil(elementBounds.height/scrollerHeight)-1);r+=(r==0)?1:0;var maxLettersAllowed=fitText.length*r;StringEllipsesByMaxLetters(element,origText,maxLettersAllowed+(r+1));});}
