code: function _blank(obj) {
          var cache;
  
          if((cache = typeof obj) !== 'boolean' && (cache !== 'number' || isNaN(obj)) && !obj) return true;
          if(cache == 'string' && obj.replace(/\s/g, '').length === 0) return true;
          if(cache == 'object') {
            if((cache = toString.call(obj)) == '[object Array]' && obj.length === 0) return true;
            if(cache == '[object Object]') {
              for(cache in obj) {
                return false;
              }
              return true;
            }
          }
          return false;
        }
docs: http://stackoverflow.com/questions/7880704/all-purpose-is-blank-in-javascript http://stackoverflow.com/questions/885414/a-concise-explanation-of-nil-v-empty-v-blank-in-ruby-on-rails