title: trim is not a function error
body: <p>I recently get this error and not sure how to resolve it...</p>
  
  <pre><code>TypeError: $(...).get(...).trim is not a function
  </code></pre>
  
  <p>The script I use is this:</p>
  
  <pre><code>function vbstatus_change_status(statusID,userID,inputID,editboxID,statusboxID)
  {
      $(inputID).value=vbstatus_htmlspecialchars_decode($(statusID).get('text').trim(),'ENT_QUOTES');
      $(statusboxID).setStyle('display','none');
      $(editboxID).setStyle('display','inline');
      $(inputID).addEvent('keydown',function(e){
          if(e.key=='enter'){
              vbstatus_update_status(statusID,userID,inputID,editboxID,statusboxID);
          }
      }); 
      if($chk($('inlinemodform'))){
          $('inlinemodform').addEvent('submit', vbstatus_formkill);
      }
  
  }
  </code></pre>
  
  <p>I was looking at an issue similar to the one I have <a href="https://stackoverflow.com/questions/4775206/var-replace-is-not-a-function">here</a>, yet not sure how to deal with it!!</p>
  
  <p>any idea how to do that?</p>
  
  <p><strong>Update:</strong> here the script I'm using</p>
  
  <pre><code>function vbstatus_htmlspecialchars_decode (string, quote_style) {
  
      var optTemp = 0, i = 0, noquotes= false;
      if (typeof quote_style === 'undefined') {        quote_style = 2;
      }
      string = string.toString().replace(/&amp;lt;/g, '&lt;').replace(/&amp;gt;/g, '&gt;');
      var OPTS = {
          'ENT_NOQUOTES': 0,        'ENT_HTML_QUOTE_SINGLE' : 1,
          'ENT_HTML_QUOTE_DOUBLE' : 2,
          'ENT_COMPAT': 2,
          'ENT_QUOTES': 3,
          'ENT_IGNORE' : 4    };
      if (quote_style === 0) {
          noquotes = true;
      }
      if (typeof quote_style !== 'number') { // Allow for a single string or an array of string flags        quote_style = [].concat(quote_style);
          for (i=0; i &lt; quote_style.length; i++) {
              // Resolve string input to bitwise e.g. 'PATHINFO_EXTENSION' becomes 4
              if (OPTS[quote_style[i]] === 0) {
                  noquotes = true;            }
              else if (OPTS[quote_style[i]]) {
                  optTemp = optTemp | OPTS[quote_style[i]];
              }
          }        quote_style = optTemp;
      }
      if (quote_style &amp; OPTS.ENT_HTML_QUOTE_SINGLE) {
          string = string.replace(/&amp;#0*39;/g, "'"); // PHP doesn't currently escape if more than one 0, but it should
          // string = string.replace(/&amp;apos;|&amp;#x0*27;/g, "'"); 
  // This would also be useful here, but not a part of PHP    
  }
      if (!noquotes) {
          string = string.replace(/&amp;quot;/g, '"');
      }
  
      return string;
  }
  
  
  function vbstatus_get_html_translation_table (table, quote_style) {
  
      var entities = {}, hash_map = {}, decimal = 0, symbol = '';    var constMappingTable = {}, constMappingQuoteStyle = {};
      var useTable = {}, useQuoteStyle = {};
  
      // Translate arguments
      constMappingTable[0]      = 'HTML_SPECIALCHARS';    constMappingTable[1]      = 'HTML_ENTITIES';
      constMappingQuoteStyle[0] = 'ENT_NOQUOTES';
      constMappingQuoteStyle[2] = 'ENT_COMPAT';
      constMappingQuoteStyle[3] = 'ENT_QUOTES';
       useTable       = !isNaN(table) ? constMappingTable[table] : table ? table.toUpperCase() : 'HTML_SPECIALCHARS';
      useQuoteStyle = !isNaN(quote_style) ? constMappingQuoteStyle[quote_style] : quote_style ? quote_style.toUpperCase() : 'ENT_COMPAT';
  
      if (useTable !== 'HTML_SPECIALCHARS' &amp;&amp; useTable !== 'HTML_ENTITIES') {
          throw new Error("Table: "+useTable+' not supported');        // return false;
      }
  
      entities['38'] = '&amp;amp;';
      if (useTable === 'HTML_ENTITIES') {        entities['160'] = '&amp;nbsp;';
          entities['161'] = '&amp;iexcl;';
          entities['162'] = '&amp;cent;';
          entities['163'] = '&amp;pound;';
          entities['164'] = '&amp;curren;';        entities['165'] = '&amp;yen;';
          entities['166'] = '&amp;brvbar;';
          entities['167'] = '&amp;sect;';
          entities['168'] = '&amp;uml;';
          entities['169'] = '&amp;copy;';        entities['170'] = '&amp;ordf;';
          entities['171'] = '&amp;laquo;';
          entities['172'] = '&amp;not;';
          entities['173'] = '&amp;shy;';
          entities['174'] = '&amp;reg;';        entities['175'] = '&amp;macr;';
          entities['176'] = '&amp;deg;';
          entities['177'] = '&amp;plusmn;';
          entities['178'] = '&amp;sup2;';
          entities['179'] = '&amp;sup3;';        entities['180'] = '&amp;acute;';
          entities['181'] = '&amp;micro;';
          entities['182'] = '&amp;para;';
          entities['183'] = '&amp;middot;';
          entities['184'] = '&amp;cedil;';        entities['185'] = '&amp;sup1;';
          entities['186'] = '&amp;ordm;';
          entities['187'] = '&amp;raquo;';
          entities['188'] = '&amp;frac14;';
          entities['189'] = '&amp;frac12;';        entities['190'] = '&amp;frac34;';
          entities['191'] = '&amp;iquest;';
          entities['192'] = '&amp;Agrave;';
          entities['193'] = '&amp;Aacute;';
          entities['194'] = '&amp;Acirc;';        entities['195'] = '&amp;Atilde;';
          entities['196'] = '&amp;Auml;';
          entities['197'] = '&amp;Aring;';
          entities['198'] = '&amp;AElig;';
          entities['199'] = '&amp;Ccedil;';        entities['200'] = '&amp;Egrave;';
          entities['201'] = '&amp;Eacute;';
          entities['202'] = '&amp;Ecirc;';
          entities['203'] = '&amp;Euml;';
          entities['204'] = '&amp;Igrave;';        entities['205'] = '&amp;Iacute;';
          entities['206'] = '&amp;Icirc;';
          entities['207'] = '&amp;Iuml;';
          entities['208'] = '&amp;ETH;';
          entities['209'] = '&amp;Ntilde;';        entities['210'] = '&amp;Ograve;';
          entities['211'] = '&amp;Oacute;';
          entities['212'] = '&amp;Ocirc;';
          entities['213'] = '&amp;Otilde;';
          entities['214'] = '&amp;Ouml;';        entities['215'] = '&amp;times;';
          entities['216'] = '&amp;Oslash;';
          entities['217'] = '&amp;Ugrave;';
          entities['218'] = '&amp;Uacute;';
          entities['219'] = '&amp;Ucirc;';        entities['220'] = '&amp;Uuml;';
          entities['221'] = '&amp;Yacute;';
          entities['222'] = '&amp;THORN;';
          entities['223'] = '&amp;szlig;';
          entities['224'] = '&amp;agrave;';        entities['225'] = '&amp;aacute;';
          entities['226'] = '&amp;acirc;';
          entities['227'] = '&amp;atilde;';
          entities['228'] = '&amp;auml;';
          entities['229'] = '&amp;aring;';        entities['230'] = '&amp;aelig;';
          entities['231'] = '&amp;ccedil;';
          entities['232'] = '&amp;egrave;';
          entities['233'] = '&amp;eacute;';
          entities['234'] = '&amp;ecirc;';        entities['235'] = '&amp;euml;';
          entities['236'] = '&amp;igrave;';
          entities['237'] = '&amp;iacute;';
          entities['238'] = '&amp;icirc;';
          entities['239'] = '&amp;iuml;';        entities['240'] = '&amp;eth;';
          entities['241'] = '&amp;ntilde;';
          entities['242'] = '&amp;ograve;';
          entities['243'] = '&amp;oacute;';
          entities['244'] = '&amp;ocirc;';        entities['245'] = '&amp;otilde;';
          entities['246'] = '&amp;ouml;';
          entities['247'] = '&amp;divide;';
          entities['248'] = '&amp;oslash;';
          entities['249'] = '&amp;ugrave;';        entities['250'] = '&amp;uacute;';
          entities['251'] = '&amp;ucirc;';
          entities['252'] = '&amp;uuml;';
          entities['253'] = '&amp;yacute;';
          entities['254'] = '&amp;thorn;';        entities['255'] = '&amp;yuml;';
      }
  
      if (useQuoteStyle !== 'ENT_NOQUOTES') {
          entities['34'] = '&amp;quot;';    }
      if (useQuoteStyle === 'ENT_QUOTES') {
          entities['39'] = '&amp;#39;';
      }
      entities['60'] = '&amp;lt;';    entities['62'] = '&amp;gt;';
  
  
      // ascii decimals to real symbols
      for (decimal in entities) {        symbol = String.fromCharCode(decimal);
          hash_map[symbol] = entities[decimal];
      }
  
      return hash_map;}
  function vbstatus_htmlentities (string, quote_style) {
      var hash_map = {}, symbol = '', tmp_str = '', entity = '';
      tmp_str = string.toString();    
      if (false === (hash_map = vbstatus_get_html_translation_table('HTML_ENTITIES', quote_style))) {
          return false;
      }
      hash_map["'"] = '&amp;#039;';    for (symbol in hash_map) {
          entity = hash_map[symbol];
          tmp_str = tmp_str.split(symbol).join(entity);
      }
          return tmp_str;
  }
  function vbstatus_formkill(e){
  e.stop();
  }
  function vbstatus_change_status(statusID,userID,inputID,editboxID,statusboxID)
  {
      $(inputID).value=vbstatus_htmlspecialchars_decode($(statusID).get('text').trim(),'ENT_QUOTES');
      $(statusboxID).setStyle('display','none');
      $(editboxID).setStyle('display','inline');
      $(inputID).addEvent('keydown',function(e){
          if(e.key=='enter'){
              vbstatus_update_status(statusID,userID,inputID,editboxID,statusboxID);
          }
      }); 
      if($chk($('inlinemodform'))){
          $('inlinemodform').addEvent('submit', vbstatus_formkill);
      }
  
  }
  
  function vbstatus_update_status(statusID,userID,inputID,editboxID,statusboxID)
  {
      var update_url = 'vbstatus.php?do=update_status';
      var update_text = $(inputID).value;
      var req = new Request.HTML({url:update_url, data:{'status':update_text},
          onSuccess: function(html,responseElements,responseHTML,responseJavascript) {
              var myJSON = JSON.decode(responseHTML);
                  $(statusID).set('html',myJSON.updated_status);
                  $(statusboxID).setStyle('display','inline');
                  $(editboxID).setStyle('display','none');
                  if($chk($('inlinemodform'))){
                  $('inlinemodform').removeEvent('submit', vbstatus_formkill);
                  }
  
                  $(inputID).removeEvents('keydown');
                      },
          onFailure: function() {
                  $(statusID).set('text','The Request Failed');
                  if($chk($('inlinemodform'))){
                  $('inlinemodform').removeEvent('submit', vbstatus_formkill);    
                  }
                  $(inputID).removeEvents('keydown');
                      }
                  });
      req.send();
  }
  </code></pre>
  
  <p><strong>Update# 2:</strong> this script uses mootools lib.</p>
  
  <p><strong>Update # 3: is it possible to convert this script to Jquery instead of Mootools?</strong></p>