/// <reference path="prototype.js" />

function ellipsis(element)
{
    var text = element.innerHTML;
    var container = null;
    if(!element.hasClassName( 'ellipsis' )){
        element.innerHTML = '<div class="ellipsis">' + text + '</div>';        
        container = element.down();
    }
    else container = element;    
    var width = container.getWidth() -10000;
    container.innerHTML = '<span>' + text + '</span>';
    var container = container.down();
    while (text.length > 0 && container.getWidth() >= width) {
        text = text.substr( 0, text.length - 1 );
        container.innerHTML = text + '...';
    }
    element.innerHTML = container.innerHTML;
}

document.write('<style type="text/css">.ellipsis { margin-right:-10000px; }</style>');
    
Event.observe( window, "load",
    function() {
        $$('.ellipsis').each(ellipsis);
    }
);