function autoEllipseText(text, width) {
    var innerString = '';
    //Create a span element that will be used to get the width
    var span = document.createElement("span");
    span.style.display = 'inline';
    span.style.visibility = 'hidden';
    span.style.padding = '0px';
    document.body.appendChild(span);
    span.innerHTML = text;
    if (width == null || span.offsetWidth <= width) {
        innerString = text == null ? '' : text.toString();
    } else {
        if (text == null) {
            text = '';
        }
        var i = 1;
        span.innerHTML = '';
        while (span.offsetWidth < (width) && i < text.length)
        {
            span.innerHTML = text.substr(0, i) + '...';
            i++;
        }

        innerString = span.innerHTML;
    }
    document.body.removeChild(span);
    innerString = innerString.replace(/ /g, '&nbsp;');
    return innerString;
}

function escapeHTML(string) {
    var div = document.createElement('div');
    var text = document.createTextNode(string);
    div.appendChild(text);
    return div.innerHTML;
}



