(function(n){function s(){if(!f){f=!0;for(var i in t)n(i).each(function(){var r,u;r=n(this);u=r.data("jqae");(u.containerWidth!=r.width()||u.containerHeight!=r.height())&&o(r,t[i])});f=!1}}function h(n){t[n]&&(delete t[n],t.length||i&&(window.clearInterval(i),i=undefined))}function c(n,r){t[n]=r;i||(i=window.setInterval(function(){s()},200))}function e(){return this.nodeType===3}function u(t){var f,i,r;if(t.contents().length){if(f=t.contents(),i=f.eq(f.length-1),i.filter(e).length)return(r=i.get(0).nodeValue,r=n.trim(r),r=="")?(i.remove(),!0):!1;while(u(i));return i.contents().length?!1:(i.remove(),!0)}return!1}function r(n){var i,t;return n.contents().length?(t=n.contents(),i=t.eq(t.length-1),i.filter(e).length?i:r(i)):(n.append(""),t=n.contents(),t.eq(t.length-1))}function l(t){var u=r(t),i,f;return u.length?(i=u.get(0).nodeValue,f=i.lastIndexOf(" "),f>-1?(i=n.trim(i.substring(0,f)),u.get(0).nodeValue=i):u.get(0).nodeValue="",!0):!1}function o(t,i){var s=t.data("jqae"),f,e,h;s||(s={});f=s.wrapperElement;f||(f=t.wrapInner("<div/>").find(">div"),f.css({margin:0,padding:0,border:0}));e=f.data("jqae");e||(e={});h=e.originalContent;h?f=e.originalContent.clone(!0).data("jqae",{originalContent:h}).replaceAll(f):f.data("jqae",{originalContent:f.clone(!0)});t.data("jqae",{wrapperElement:f,containerWidth:t.width(),containerHeight:t.height()});var c=t.height(),a=(parseInt(t.css("padding-top"),10)||0)+(parseInt(t.css("border-top-width"),10)||0)-(f.offset().top-t.offset().top),o=!1,v=f;i.selector&&(v=n(f.find(i.selector).get().reverse()));v.each(function(){var t=n(this),s=t.text(),e=!1;if(f.innerHeight()-t.innerHeight()>c+a)t.remove();else if(u(t),t.contents().length){for(o&&(r(t).get(0).nodeValue+=i.ellipsis,o=!1);f.innerHeight()>c+a;){if(e=l(t),!e){o=!0;t.remove();break}if(u(t),t.contents().length)r(t).get(0).nodeValue+=i.ellipsis;else{o=!0;t.remove();break}}i.setTitle=="onEllipsis"&&e||i.setTitle=="always"?t.attr("title",s):i.setTitle!="never"&&t.removeAttr("title")}})}var t={},i,f=!1,a={ellipsis:"...",setTitle:"never",live:!1};n.fn.ellipsis=function(t,i){var u,r;return u=n(this),typeof t!="string"&&(i=t,t=undefined),r=n.extend({},a,i),r.selector=t,u.each(function(){var t=n(this);o(t,r)}),r.live?c(u.selector,r):h(u.selector),this}})(jQuery)