whole_func_string: function(attr, defaultValue, prefix) {
          var v = this.getStyle(attr),
              color = prefix || prefix === '' ? prefix : '#',
              h, len, i=0;
  
          if (!v || (/transparent|inherit/.test(v))) {
              return defaultValue;
          }
          if (/^r/.test(v)) {
               v = v.slice(4, v.length - 1).split(',');
               len = v.length;
               for (; i<len; i++) {
                  h = parseInt(v[i], 10);
                  color += (h < 16 ? '0' : '') + h.toString(16);
              }
          } else {
              v = v.replace('#', '');
              color += v.length == 3 ? v.replace(/^(\w)(\w)(\w)$/, '$1$1$2$2$3$3') : v;
          }
          return(color.length > 5 ? color.toLowerCase() : defaultValue);
      }
func_code_string: function(attr, defaultValue, prefix) {
          var v = this.getStyle(attr),
              color = prefix || prefix === '' ? prefix : '#',
              h, len, i=0;
  
          if (!v || (/transparent|inherit/.test(v))) {
              return defaultValue;
          }
          if (/^r/.test(v)) {
               v = v.slice(4, v.length - 1).split(',');
               len = v.length;
               for (; i<len; i++) {
                  h = parseInt(v[i], 10);
                  color += (h < 16 ? '0' : '') + h.toString(16);
              }
          } else {
              v = v.replace('#', '');
              color += v.length == 3 ? v.replace(/^(\w)(\w)(\w)$/, '$1$1$2$2$3$3') : v;
          }
          return(color.length > 5 ? color.toLowerCase() : defaultValue);
      }
func_documentation_string: Return the CSS color for the specified CSS attribute. rgb, 3 digit (like `#fff`) and valid values
  are convert to standard 6 digit hex color.
  @param {String} attr The css attribute
  @param {String} defaultValue The default value to use when a valid color isn't found
  @param {String} [prefix] defaults to #. Use an empty string when working with
  color anims.