I have no intention to checking line-by-line, this is my edited version of your last-but-one version. (Innocent obvious mistake of double script close tag taken out---but that is not a problem.)
[tt]
<html>
<head>
<script type="text/javascript">
<!--
function addNewFileUpload(){
var uploadControl = (window.event)?event.srcElement:arguments[arguments.length-1].target;
//get the position of the upload control
var uploadPos = uploadControl.name.slice(6, uploadControl.name.length);
//create the preview image
var previewImg = document.createElement("img");
if (uploadControl.value.indexOf("file:///")==-1) {
previewImg.src="file:///"+uploadControl.value.replace(/\\/g,"/");
} else {
previewImg.src=uploadControl.value;
}
var previewDiv = document.getElementById("upload" + uploadPos + "_preview");
//Hide the file upload Control
var controlDiv = document.getElementById("upload" + uploadPos + "_edit");
controlDiv.style.display = "none";
//Create a new set of divs to upload the next image
var containerDiv = document.getElementById("upload_container");
var newContainer = document.createElement("div");
var newPos = parseInt(uploadPos) + 1;
newContainer.id = "upload" + newPos + "_container";
var innerTextSolution = document.createTextNode("Image " + newPos + ":");
newContainer.appendChild(innerTextSolution);
var newEditDiv = document.createElement("div");
newEditDiv.id = "upload" + newPos + "_edit";
var newEditControl = document.createElement("input");
newEditControl.type = "file";
newEditControl.name = "upload" + newPos;
newEditControl.id = "upload" + newPos + "_file";
if(window.addEventListener) {
newEditControl.addEventListener("change", addNewFileUpload, false);
}
else {
newEditControl.attachEvent("onchange", addNewFileUpload);
}
newEditDiv.appendChild(newEditControl);
newContainer.appendChild(newEditDiv);
var newPreviewDiv = document.createElement("div");
newPreviewDiv.id = "upload" + newPos + "_preview";
newContainer.appendChild(newPreviewDiv);
containerDiv.appendChild(newContainer);
}
// --></script>
</head>
<body>
<form name="megauploadform" action="" method="post" enctype="multipart/form-data">
<div id="upload_container">
<div id="upload1_container">Image 1:
<div id="upload1_edit"><input type="file" name="upload1" id="upload1_file" onchange="addNewFileUpload(event)" /></div>
<div id="upload1_preview"></div>
</div>
</div>
</form>
</body>
</html>
[/tt]