il problema si pone per riuscire a ricavare i parametri 'name' e 'tmp_name' dell'input file all'interno di uno script ajax!

Diciamo che io voglio richiamare una funzione (xmlhttpPost) javascript all'evento onSubmit e dopo i vari passaggi di ajax ho bisogno di recuperare i valori dell'input file, scriverli in post ("nome=".+nome+"&casa="+casa e inviarli a un file che in php me li stampi (successivamente li riutilizzerò)!

codice:
<script language="Javascript">
//Funzione per la gestione asincrona AJAX
function xmlhttpPost(strURL) {
//Inizializzo l'oggetto xmlHttpReq
var xmlHttpReq = false;
var self = this;
// qui valutiamo la tipologia di browser utilizzato per selezionare la tipologia di oggetto da creare.
// Se sono in un browser Mozilla/Safari, utilizzo l'oggetto XMLHttpRequest per lo scambio di dati tra browser e server.
if (window.XMLHttpRequest) {
self.xmlHttpReq = new XMLHttpRequest();
}
// Se sono in un Browser di Microsoft (IE), utilizzo Microsoft.XMLHTTP 
//che rappresenta la classe di riferimento per questo browser
else if (window.ActiveXObject) {
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
//Apro il canale di connessione per regolare il tipo di richiesta.
//Passo come parametri il tipo di richiesta, url e se è o meno un operazione asincrona (isAsync)
self.xmlHttpReq.open('POST', strURL, true);

//setto l'header dell'oggetto
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

/* Passo alla richiesta i valori del form in modo da generare l'output desiderato*/
self.xmlHttpReq.send(recuperaValore());

/* Valuto lo stato della richiesta */
self.xmlHttpReq.onreadystatechange = function() {

/*Gli stai di una richiesta possono essere 5
* 0 - UNINITIALIZED
* 1 - LOADING
* 2 - LOADED
* 3 - INTERACTIVE
* 4 - COMPLETE*/

//Se lo stato è completo 
if (self.xmlHttpReq.readyState == 4) {
/* Aggiorno la pagina con la risposta ritornata dalla precendete richiesta dal web server.Quando la richiesta è terminata il responso della richiesta è disponibie come responseText.*/
aggiornaPagina(self.xmlHttpReq.responseText);
}
}
}


/*Questa funzione recupera i dati dal form.*/
function recuperaValore() {
var form = document.forms['form']; //Recupero il nome del form
var titolo = form.titolo.value; // Recupero il testo nella casella txt
var imge = form.imge.value; // Recupero il testo nella casella txt
var descrizione = form.descrizione.value; // Recupero il testo nella casella txt
valore = 'titolo=' + escape(titolo)+'&descrizione=' + escape(descrizione)+'&imge=' + escape(imge);  //Setto il valore della casella in modo idoneo a AJAX
return valore;
}


/*Questa funzione viene richiamata dall'oggetto xmlHttpReq per l'aggiornamento asincrono dell'elemento risultato*/
function aggiornaPagina(stringa){
document.getElementById("risultato").innerHTML = stringa;
}
</script>




<form name="form" enctype="multipart/form-data" onSubmit="javascript:xmlhttpPost('action.php'); return false;">



<span>Immagine:</span> <input type="file" id="imge" name="imge" /></p>



<span>Titolo:</span> <input type="text" name="titolo" /></p>



<span>Descrizione:</span> <textarea name="descrizione"></textarea></p>



<input type="submit" value="Invia" />

<div id="risultato"></div>

</form>

Poi nel file php:
<?php
codice:
$titolo = $_POST['titolo'];
$descrizione = $_POST['descrizione'];
$percorso = $_FILES['imge']['tmp_name'];
    $nome = $_FILES['imge']['name'];
echo "Post inserito: Titolo = $titolo,
 Descrizione = $descrizione
Percorso= $percorso
nome= $nome";
?>
Lo script funziona solo per i campi text e textarea!!!!
Ma non mi stampa le info sul file!!!!!!
Aspetto pareri! grazie...