﻿function ellip(obj, more, hobj) {
    if (typeof (more) == 'undefined') more = '&hellip;';
    if (typeof (hobj) == 'undefined') { hobj = obj; }

    var rnd = parseInt(Math.random() * 100000);
    
    txt = obj.innerHTML;
    hor = hobj.offsetHeight + findTop(hobj);
    parts = txt.split(' ');
    arrpos = parts.length;

    obj.innerHTML = obj.innerHTML + '<span id="el' + rnd + '"></span>';
    span = document.getElementById('el' + rnd);
    toppos = findTop(span) + parseInt(span.offsetHeight);
	
    while (hor < toppos) {
        arrpos--;
        dum = parts[arrpos]
        parts[arrpos] += ' <span id="el' + rnd + '">' + more + '</span><br /><br />';
        obj.innerHTML = parts.join(' ');
        var span = document.getElementById('el' + rnd);
        var toppos = findTop(span) + parseInt(span.offsetHeight);
        parts[arrpos] = dum;
    }
}

function findTop(obj) {
    var curleft = curtop = 0;
    if (obj.offsetParent) {
        curtop = obj.offsetTop
        while (obj = obj.offsetParent) {
            curtop += obj.offsetTop
        }
    }

    return curtop;
}