function textlimit(Obj,maxcount,counter)
{
    function c_len(){    
        if(this.value.length > this.maxcount && this.maxcount != 0) 
            return false;
        update_count(this);    
    }
    
    function upd_count(){    update_count(this);}
    
    function update_count(elem){
        if(elem.counter != null){
            cnt = getObj(elem.counter);
            cnt.innerHTML = elem.value.length
    }}
    
    function check(){
        if (this.value.length  > this.maxcount && this.maxcount != 0) 
            this.value = this.value.substr(0,this.maxcount);
        update_count(this); 
    }
    
    Obj.counter   = counter;      Obj.maxcount  = maxcount;
    Obj.onkeypress= c_len;        Obj.onkeydown = upd_count;    
    Obj.onkeyup   = check;        Obj.onfocus   = check;
    Obj.onblur    = check;        
    Obj.onmouseup = check;

    update_count(Obj);
    
/*************** OTHER USED / NEEDED FUNCTIONS ***************************/
function getObj( ref ) { if( document.getElementById( ref ) != null )//W3C/
return document.getElementById(ref); else if(document.all[ref]!=null)//IE5/
return document.all[ ref ]; else if( document.layers[ ref ] != null )//NN4/
return document.layers[ref]; else alert('Object "'+ref+'" not Found')//ERR/
}/************************************************************************/
} 