Upload de vários arquivos AJAX HTML5

Me deparei com este código de upload simples do js ajax (parece que o jquery$.post não funciona com HTML5 por algum motivo),

    /* If you want to upload only a file along with arbitary data that
       is not in the form, use this */
    var fd = new FormData();
    fd.append("file", document.getElementById('file').files[0]);

    /* If you want to simply post the entire form, use this */
    //var fd = document.getElementById('form1').getFormData();

    var xhr = new XMLHttpRequest();        
    xhr.upload.addEventListener("progress", uploadProgress, false);
    xhr.addEventListener("load", uploadComplete, false);
    xhr.addEventListener("error", uploadFailed, false);
    xhr.addEventListener("abort", uploadCanceled, false);
    xhr.open("POST", "Upload.php");
    xhr.send(fd);

Mas eu tenho dois problemas aqui,

o que essa linha significa após o objetoFormData?

fd.append("file", document.getElementById('file').files[0]);

Por que preciso de um ID lá? Posso fazer algo usando jqueryappend() com$('input[type=file]')?

Este ajax é apenas para upload de arquivo único, como posso alterá-lo para upload de vários arquivos?

questionAnswers(1)

yourAnswerToTheQuestion