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

function ellipsis(element)
{
    var text = element.innerHTML;
    var title = text;
    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 + '...';
    }
    
    if(text == title){
        if(element.readAttribute('title') != title)
            element.writeAttribute( 'title', '' );
        element.innerHTML = title;
        return;
    }
    element.writeAttribute( 'title', title );
    element.innerHTML = container.innerHTML;
}

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