<html><HTA:APPLICATION  ID="windowselevate" icon="#"/>
<script language="vbscript">
  document.title = "elxr control panel"
  self.ResizeTo 200,600
  
  Sub Window_Onload
  self.MoveTo (screen.availWidth - (document.body.clientWidth + 40)),10
  End Sub

  Set objShell = CreateObject("WScript.Shell")
  Set objENV = objShell.Environment("Process")
  dim NODE_ENV 
  NODE_ENV = objENV("NODE_ENV")
</script>

<script language="javascript">
  //WINDOWSTATE="minimize" SHOWINTASKBAR="no" SYSMENU="no" CAPTION="no"
  // https://devblogs.microsoft.com/scripting/how-can-i-pass-command-line-variables-to-an-hta-when-it-starts/
  // alert(windowselevate.commandLine)
  var args = windowselevate.commandLine.split('"').slice(3);
  // alert(args)
  var processedArgs = { _ : [] }
  var namedArgs = [];
  for(var item in args){
    if(args[item].charAt(0) === '-'){ 
      namedArgs.push(args[item])
      var split = args[item].split('=');
      processedArgs[split[0].slice(2)] = split[1] || true;
    } 
    else processedArgs._.push(args[item]);
  }
  // args = args.forEach(function(item){ })
  // alert('processedArgs._ : ' + processedArgs._);
  // alert(processedArgs.runas);
  
  // PB : TODO -- Convert all the cli args back to string.
  var cargs = (processedArgs.debug ? '--inspect-brk=9228' : '') + ' elxr ' + processedArgs._.join(' ') + ' ' +  namedArgs.join(' ');
  // alert(cargs)
  var shell = new ActiveXObject('shell.application'); 
  // alert('launching node privilged. ' + processedArgs['nodepath']) 
  // shell.ShellExecute('where', 'node', '', '', 10);
  shell.ShellExecute('node', cargs, '', 'runas', 1);
  // shell.ShellExecute(processedArgs['nodepath'], cargs, '', 'runas', 1);
  var fso = new ActiveXObject('Scripting.FileSystemObject');
  
  window.onload = function() {
    document.body.style.backgroundColor = 'black';
    document.body.style.fontFamily = 'arial';
    var log = document.createElement('div');
    log.innerHTML='Please Wait';
    function l(msg){ log.innerHTML+= msg; };
    log.style.color = 'blue';
    log.style.width = '95%';
    log.id = 'log';
    document.body.appendChild(log);  
    
    l('<Br/>Current config : ')
    l('<Br/>NODE_ENV = ' + NODE_ENV)
    l('<Br/>cmd = ' + processedArgs._[0])
    processedArgs._[1] === 'use' ? l('<Br/>using = ' + processedArgs._[2]) : null;
    l('<Br/><Br/>')
    
    var timer = function(){
      l('.');
      if(fso.FileExists("run.done")) close();
      else window.setTimeout(timer, 1000);
    };
    window.setTimeout(timer, 3000);
  };
  
</script>
</html>