Upload do arquivo PHP AJAX

Eu olhei tudo sobre stackoverflow ea internet geral e não consigo encontrar um simples uploader de arquivo AJAX (apenas submissão do formulário). Os que eu encontrei não são flexíveis o suficiente e não se encaixam no meu propósito. Se eu pudesse ajustar esse script para uploads de arquivos, seria ótimo:

<script type="text/javascript">
 function upload(str)
 {
 if (str.length==0)
 { 
document.getElementById("txtHint").innerHTML="";
 return;
  }
 if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
   xmlhttp=new XMLHttpRequest();
   }
 else
   {// code for IE6, IE5
   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
 xmlhttp.onreadystatechange=function()
   {
   if (xmlhttp.readyState==4 && xmlhttp.status==200)
     {
     document.getElementById("hint").innerHTML=xmlhttp.responseText;
     }
   }
 xmlhttp.open("GET","ajax/link.php?q="+str,true);
 xmlhttp.send();
 }

No HTML eu teria

<input type='file' onblur='upload(this.value)'>

obrigado

questionAnswers(3)

yourAnswerToTheQuestion