// acción al inicio de selección de archivo
function fileDialogStart() {

	var txtFileName = document.getElementById("txtFileName");
	$('#'+this.customSettings.nombre_txt).val("");
	this.cancelUpload();

}

// archivo en espera
function fileQueued(file) {
	try {
		var progress = new FileProgress(file, this.customSettings.progressTarget, this.customSettings.nombre);
		progress.setStatus("Pendiente...");
		progress.toggleCancel(true, this);
		$('#'+this.customSettings.nombre_txt).val(file.name);
		$('#'+this.customSettings.nombre).val(file.name);
		$('#'+this.customSettings.div_aviso).html('');

	} catch (ex) {
		this.debug(ex);
	}

}

// acción al finalizar la selección de archivos diferido
function fileDialogComplete_diferido(numFilesSelected, numFilesQueued) {
	try {
		if (numFilesSelected > 0) {
			$("#"+this.customSettings.cancelButtonId).removeAttr("disabled");
		}
		
	} catch (ex)  {
        this.debug(ex);
	}
}

// acción al finalizar la selección de archivos directo
function fileDialogComplete_directo(numFilesSelected, numFilesQueued) {
	try {
		if (numFilesSelected > 0) {
			$("#"+this.customSettings.cancelButtonId).removeAttr("disabled");
		}
	
    	this.startUpload();
    
	} catch (ex)  {
        this.debug(ex);
	}
}

// acción al iniciar la subida
function uploadStart(file) {
	try {
		var progress = new FileProgress(file, this.customSettings.progressTarget, this.customSettings.nombre);
		progress.setStatus("Subiendo Archivo...");
		progress.toggleCancel(true, this);
	}
	catch (ex) {}
	
	return true;
}

// acción de progreso de carga
function uploadProgress(file, bytesLoaded, bytesTotal) {
	try {
		var percent = Math.ceil((bytesLoaded / bytesTotal) * 100);

		var progress = new FileProgress(file, this.customSettings.progressTarget, this.customSettings.nombre);
		progress.setProgress(percent);
		progress.setStatus("Subiendo Archivo...");
	} catch (ex) {
		this.debug(ex);
	}
}

// exito en la subida
function uploadSuccess(file, serverData) {
	try {
		var progress = new FileProgress(file, this.customSettings.progressTarget, this.customSettings.nombre);
		progress.setComplete();
        msg_final = serverData.split('||');
		progress.setStatus("Completo: "+msg_final[0]);
		progress.toggleCancel(false);
        $('#'+this.customSettings.nombre_txt).val("");
		$('#'+this.customSettings.nombre).val(msg_final[1]);

	} catch (ex) {
		this.debug(ex);
	}
}

// una vez que terminó la subida diferida
function uploadComplete_diferido(file) {
	if (this.getStats().files_queued === 0) {
		$("#"+this.customSettings.cancelButtonId).attr("disabled","disabled");
	}
}

// función a ser llamada para chequear si se finalizaron todas las cargas
// y finalmente enviar el formulario.
function finaliza_upload(total, archivos) {
	
    var total_final = 0;
	
    for(i=1;i<=total;i++){
        if (eval('swfu_' + archivos[i] + '.getStats().files_queued') === 0) {
            total_final++;
       }
    } // fin del bucle
    
    // si se subieron todos los archivos
    if(total===total_final) {
    	clearInterval(subiendo_archivos);
    	formulario.submit();
    }
}

// una vez que terminó la subida directo
function uploadComplete_directo(file) {
	if (this.getStats().files_queued === 0) {
		$("#"+this.customSettings.cancelButtonId).attr("disabled","disabled");
	}
	listar(this.customSettings.idrelacional); // esto es solo para la galería de imágenes
}

function queueComplete(numFilesUploaded) {
	texto_status = "{numero} archivo/s subido/s";
    $("#"+this.customSettings.div_aviso).html(texto_status.replace("{numero}", numFilesUploaded));
}
