text: NW.Dom.shortcuts = (function() {
  
    // match missing R/L context
    var nextID = 0,
    reLeftContext = /^[\x20\t\n\r\f]*[>+~]/,
    reRightContext = /[>+~][\x20\t\n\r\f]*$/;
  
    return function(selector, from, alt) {
  
      // add left context if missing
      if (reLeftContext.test(selector)) {
        if (from.nodeType == 9) {
          selector = '* ' + selector;
        } else if (/html|body/i.test(from.nodeName)) {
          selector = from.nodeName + ' ' + selector;
        } else if (alt) {
          selector = NW.Dom.shortcuts(selector, alt);
        } else if (from.nodeType == 1 && from.id) {
          selector = '#' + from.id + ' ' + selector;
        } else {
          ++nextID;
          selector = '#' + (from.id = 'NW' + nextID) + ' ' + selector;
          //NW.Dom.emit('Unable to resolve a context for the shortcut selector "' + selector + '"');
        }
      }
  
      // add right context if missing
      if (reRightContext.test(selector)) {
        selector += ' *';
      }
  
      return selector;
    };
  
  })();
  