function addfile(basename,extra,filenum,multifile) {
	if (!filenum){
		filenum = "filenum";
	}
	if (!multifile){
		multifile="multifile";
	}
	//get the last number
	var oNum = document.getElementById(filenum);
	var iLast = parseInt(oNum.value);
	var oDiv = document.getElementById(multifile);
	
	//get the next number
	oNum.value = iLast + 1;
	
	var big = false;
	if (document.getElementById(basename+'loader'+iLast)){
		big = true;
		var newDiv = document.createElement("DIV");
		newDiv.id = basename+"wrapper"+oNum.value;
		multifile = newDiv.id;
		oDiv = oDiv.appendChild(newDiv);
		oDiv.style.display="none";
		copyNode(basename,iLast,false,false,'',multifile);
		setText(basename+oNum.value,'');
		copyNode(basename,iLast,false,false,'_label',multifile);
		setDisplay(basename+iLast+'_label','none');
		setInnerHTML(basename+oNum.value+'_name','&nbsp;');
		
		setDisplay(basename+iLast+'_label','none');
		oLbl = document.getElementById(basename+oNum.value+'_label');
		oLbl.getElementsByTagName("a")[0].id = basename+oNum.value+'_btn';
		oLbl.getElementsByTagName("span")[0].id = basename+oNum.value+'_name';
		document.getElementById(basename+'wrapper'+iLast).style.display='block';
		copyNode(basename+"loader",iLast,false,false,'',multifile);
		showIFrame(basename,iLast);
		
		var oBR = document.createElement("BR");
		oBR.className = "so_half";
		oDiv.appendChild(oBR);
		
	}else{
		copyNode(basename,iLast,false,false,'_btn',multifile);
		copyNode(basename,iLast,false,false,'',multifile);
		setText(basename+oNum.value,'');
		copyNode(basename,iLast,false,false,'_label',multifile);
		setDisplay(basename+oNum.value+'_label','none');
		copyNode(basename,iLast,false,true,'_name',multifile);
		setInnerHTML(basename+oNum.value+'_name','&nbsp;');
	}
	

	if (extra){
		ids = extra.split(",");
		for (idx in ids) {
			copyNode(ids[idx],iLast,true,false,'',multifile);
			setText(ids[idx]+oNum.value,0);
		}
	}
	
	//var oHR = document.createElement("HR");
	//oDiv.appendChild(oHR);
}

function copyNode(basename,iLast,dolabel,dobr,suffix,multifile){
	if (!multifile){
		multifile="multifile";
	}
	var iNext = iLast + 1;
	
	//get the names of the nodes
	var tLast = basename + iLast;
	var tNext = basename + iNext;
	if (suffix){
		tLast = tLast + suffix;
		tNext = tNext + suffix;
	}

	//get the last file input item
	var oNode = document.getElementById(tLast);
	if (!oNode){
		return;
	}

	var oDiv = document.getElementById(multifile);
	
	//clone the item
	var oClone = oNode.cloneNode(true);
	
	if (dolabel){
		var lNode = oNode.previousSibling;
		if (lNode){
			var lClone = lNode.cloneNode(true);	
			oDiv.appendChild(lClone);
		}
	}
		
	

	//empty the data out of the last node
	oClone.id = tNext;
	oClone.name = tNext;
	
	//append the node to the div
	oDiv.appendChild(oClone);
	
	//insert a <BR>;
	if (dobr){
		var oBR = document.createElement("BR");
		oDiv.appendChild(oBR);
	}
	
}
	