function uploadStatus(file, targetID) {
	//this.holderId = file.id;
	
	this.holder = document.getElementById(targetID);
	this.holder.className = 'currentStatusRootHolder';
	this.uploadResult= null;
	
	if (this.holder.innerHTML=='') {
		// Si no existia la estructura de status la creamos...
		this.currentStatus = document.createElement("DIV");
		this.currentStatus.innerHTML = 'Estado: ';
		this.holder.appendChild(this.currentStatus);
		
		var span = document.createElement('SPAN');
		span.id='uploadStatusCurrentStatus';
		span.className='uploadStatusCurrentStatus';
		span.innerHTML=' preparando archivos...';
		this.currentStatus.appendChild(span);
		
		// contenedor para los archivos subidos correctamente..
		var result = document.createElement('DIV');
		this.holder.appendChild(result);
		var uploadResult = document.createElement('SPAN');
		uploadResult.id = 'uploadStatusResultHolder';
		uploadResult.innerHTML = '0 archivos subidos correctamente.';
		result.appendChild(uploadResult);

		var uploadResultText = document.createElement('SPAN');
		uploadResultText.id = 'uploadStatusResultTextHolder';
		uploadResultText.innerHTML = '';
		result.appendChild(uploadResultText);
		
		var errorsBtn = document.createElement('SPAN');
		errorsBtn.id='errorsLogToggleBtn';
		errorsBtn.style.display = 'none';
		errorsBtn.innerHTML=' Ver informe de errores';
		this.holder.appendChild(errorsBtn);
	
		// contenedor para los archivos subidos erroneamente
		var div = document.createElement('DIV');
		div.id = 'uploadStatusErrorsLog';
		div.className = 'uploadStatusErrorsLog';
		div.style.display='none';
		div.innerHTML = '';
		this.holder.appendChild(div);

		errorsBtn.onclick = function () {
			var errorsLog = document.getElementById('uploadStatusErrorsLog');
			if (errorsLog.style.display=='none') { errorsLog.style.display = 'block'; }
			else { errorsLog.style.display = 'none'; }
		};
	}
}

uploadStatus.prototype.addUploadSuccess = function (file) {
	var uploadResult = document.getElementById('uploadStatusResultHolder');
	var uploadResultText = document.getElementById('uploadStatusResultTextHolder');
	var total = parseInt(uploadResult.innerHTML);
	
	uploadResult.className = 'success';
	uploadResultText.className = 'success';
	
	if (total=='' || total==null || total=='NaN') { total = 0; }
	total++;
	uploadResult.innerHTML=total;
	uploadResultText.innerHTML='&nbsp;archivo'+(total!=1?'s':'')+' subido'+(total!=1?'s':'')+' correctamente.';
	
};

uploadStatus.prototype.addUploadError = function (message) {
	var errorsLog = document.getElementById('uploadStatusErrorsLog');
	errorsLog.innerHTML+=message+'<br />';
	
	var errorsBtn = document.getElementById('errorsLogToggleBtn');
	errorsBtn.style.display = 'block';
};

uploadStatus.prototype.startUploadAdvice = function (file) {
	var currentStatus = document.getElementById('uploadStatusCurrentStatus');
	currentStatus.innerHTML = 'subiendo archivos...';
};

uploadStatus.prototype.allUploadsComplete = function (file) {
	var currentStatus = document.getElementById('uploadStatusCurrentStatus');
	currentStatus.innerHTML = 'Operaci&oacute;n terminada.';
};
