function UploaderEX(divUploader) {
	
	var me = this;
	me.mesCarga = null;
	me.idCarga = null;
	me.scope = null;
	
	this.uploader = $("#"+divUploader).uploadFile({
							url: contextPath + "/carga/transacciones/cargaArchivo.action",
							fileName:"file",
							dragDrop:true,
							autoSubmit:false,
							multiple:false,
							maxFileCount:1,
							maxFileSize: 20971520,
							dynamicFormData: function()
							{
								var data ={
											"mesCarga"  : me.mesCarga,
											"idCarga":me.idCarga
										};
								return data;
							},
							dragDropStr: "<span><b>Arrastra aqui el archivo a subir</b></span>",
				            uploadStr:"Subir",
				            abortStr: "Abortar",
				            cancelStr: "Cancelar",
				            deletelStr: "Borrar",
				            doneStr: "Concluido",
				            multiDragErrorStr: "No se permite arrastrar mas de un archivo.",
				            extErrorStr: "No es posible adjuntar el documento. Activar extensiones: ",
				            duplicateErrorStr: "No es posible adjuntar el documento. El archivo ya existe.",
				            sizeErrorStr: "No es posible adjuntar el documento. Tama&ntilde;o m&aacute;ximo permitido: ",
				            uploadErrorStr: "Carga no permitida",
				            maxFileCountErrorStr: "No es posible adjuntar el documento. Tama&ntilde;o m&aacute;ximo de documentos permitido:",
				            downloadStr: "Descargar",
				            acceptFiles:" .xls, .xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel ",
				            onSubmit:function(files)
							{				            					            	
							},
				            onSuccess:function(files,data,xhr,pd)
				            {	
				              
				            	  $("#esperaDiv").html("<h4 class='text-primary'> Terminado </h4>");
						            $('#modalCargarArchivo').modal('hide');
						            me.scope.RecuperaIdReporteError(data.cargaPrincipal);
						            me.scope.consultarCarga();
						            showMessage("Carga exitosa.");  
				            },
				            onError: function(files,status,errMsg,pd)
				            {
				            	showError("Ocurri\u00F3 un error al subir el documento");
				            	$('#modalCargarArchivo').modal('hide');
				            }
					});
	
	this.getFileName = function (nameModal) { 				      
		var fileName = $("#"+nameModal+" div.ajax-file-upload-filename").text();
		var arr      = fileName.split('');
		var cont     = 0;
		
		for(var i=arr.length-1; i>0; i--)		
			if(arr[i] == '('  && cont == 0)
			   cont = i;							
		cont = (arr.length - cont);
		cont = (arr.length - cont)-1;		
		return fileName.substring(4, cont);												 
	};
}

UploaderEX.prototype.startUpload = function(nameModal) {			    
		if(this.getFileName(nameModal).includes(" "))
		{
			this.uploader.stopUpload();
			$("#"+nameModal).modal('hide');
			showError("El nombre del archivo contiene espacios en blanco.");
		}
		else
		{
			$("#esperaDiv").html("<h4 class='text-primary'> Procesando... </h4>");
			this.uploader.startUpload();
		}			
};

UploaderEX.prototype.limpiaForma = function(nameModal) {			
	$("#"+nameModal).find("div.ajax-file-upload-statusbar").remove();  // se quitan los div con informacion de las cargar previas.
};