function count(obj, field, limit)
{
    if (!document.getElementById) return false;
    if (document.getElementById(field))
    {
        var numChars = obj.value.length;
        if (numChars < limit)
        {
            document.getElementById(field).value = limit - numChars;
        }
        else
        {
            obj.value = obj.value.substring(0, limit);
            document.getElementById(field).value = 0;
        }
    }
}

function counterDisplay()
{
    if (!document.getElementById) return false;
    if (document.getElementById('desc'))
    {
        var textarea = document.getElementById('desc');
        textarea.onkeyup = function()
        {
            count(this, 'counter', 250);
        }
        textarea.onchange = function()
        {
            count(this, 'counter', 250);
        }
    }
}

addLoadEvent(counterDisplay);