var Salidas=function(){
	this.baseUrl=null;
	this.setUrl=function(url){
		this.baseUrl=url;
	}
	this.test=function(){
		console.log('La clase Salidas ha sido instanciado correctamente');
	}
	this.cargarTrans=function(table){
		if(table == "Salidas por transacciones"){
			var tableInventario = $('#salidas-agrupadas-table').DataTable();			
		}else{
			var tableInventario = $('#salidas-individuales-table').DataTable();			
		}
		tableInventario.ajax.reload();
		setTimeout(function () { $('div.dataTables_filter input').focus(); }, 100);
	}
	this.guardarSalidaMultiple=function(e){
		e.preventDefault();
		var $sender = $(e.target);	
		$sender.attr('disabled','disabled');
		var _this=this;
		var productos=[];
		if($('#multiple-salida-productos-table tbody tr').length == 0){
			toastr.options = {
			  "closeButton": true,
			  "progressBar": true,
			  "positionClass": "toast-top-right"
			}
			toastr.error('No has agregado ningun Producto, agregue al menos 1');
			$sender.removeAttr('disabled');
		}else{
			var transaccion=$("#salida-nueva-transaccion-tipo option:selected").text();
			swal({
				title: 'Guardar Transacci&oacute;n ',
				text: 'Este proceso es irreversible<br>&iquest;Deseas guardar la salida de '+$("#multiple-salida-productos-table tbody tr").size()+' items como '+transaccion+'?',
				html: true,
				type: 'info',
				showCancelButton: true,
				confirmButtonColor: '#3C8DBC',
				confirmButtonText: 'Si, guardar salida',
				cancelButtonText: 'No guardar nada'
			},
			function(isConfirm){
				var products=$("#multiple-salida-productos-table tr");
				if(isConfirm){
					$.each(products,function(index,product){
						productos.push({id:$(product).attr('data-id'),pre:$(product).attr('data-pre'),uequiv:$(product).attr('data-uequiv'),desc:$(product).find('.table-desc').attr('data-value'),cant:$(product).find('.table-cant').attr('data-value'),costo:$(product).find('.table-costo').attr('data-value'),tipoventa:$(product).find('.table-tipoventa').attr('data-value')});
					});
					$.post(_this.baseUrl+'productos/guardarsalida', {salida:$('#salida-nueva-transaccion-tipo').val(),productos:JSON.stringify(productos)})
					.done(function(responseText) {
						toastr.options = {
							"closeButton": true,
							"progressBar": true,
							"positionClass": "toast-top-right"
						}
						toastr.success('La salida se ha registrado en la Base de Datos del Sistema');
						_this.cargarTrans($("#salidas-mode-btn").text());
						getAlertsMiracle15();
						Custombox.close();
					});		
				}else{
					$sender.removeAttr('disabled');
				}
			});
		}
	}
	this.guardarDevoluvionProveedor=function(e){
		e.preventDefault();
		var $sender = $(e.target);	
		$sender.attr('disabled','disabled');
		var _this=this;
		if($('#dev-proveedor-proveedor').val()){
			if($("#dev-proveedor-productos-wrapper table tr").size()>0){
				swal({
					title: 'Guardar Transacci&oacute;n ',
					text: 'Este proceso es irreversible<br>&iquest;Deseas guardar la salida de '+$("#dev-proveedor-productos-table tbody tr").size()+' items como devoluci&oacute;n al proveedor '+$('#dev-proveedor-proveedor option:selected').text()+'?',
					html: true,
					type: 'info',
					showCancelButton: true,
					confirmButtonColor: '#3C8DBC',
					confirmButtonText: 'Si, guardar devolucion',
					cancelButtonText: 'No guardar nada'
				},
				function(isConfirm){
					if(isConfirm){
						var products=$("#dev-proveedor-productos-table tr");
						var productos=[];
						$.each(products,function(index,product){
							productos.push({id:$(product).attr('data-id'),desc:$(product).find('.table-desc').attr('data-value'),cant:$(product).find('.table-cant').attr('data-value'),costo:$(product).find('.table-costo').attr('data-value'),tipoventa:$(product).find('.table-tipoventa').attr('data-value')});
						});
						$.post(_this.baseUrl+'productos/guardarsalida', {proveedor:$('#dev-proveedor-proveedor').val(),salida:$('#salida-nueva-transaccion-tipo').val(),productos:JSON.stringify(productos)})
						.done(function(responseText) {
							toastr.options = {
								"closeButton": true,
								"progressBar": true,
								"positionClass": "toast-top-right"
							}
							toastr.success('La devoluci&oacute;n se ha registrado en la Base de Datos del Sistema');
							_this.cargarTrans($("#salidas-mode-btn").text());
							getAlertsMiracle15();
							Custombox.close();
						});
					}else{
						$sender.removeAttr('disabled');
					}
				});
			}else{
				toastr.options = {
					"closeButton": true,
					"progressBar": true,
					"positionClass": "toast-top-right"
				}
				toastr['error']('No se han ingresado productos en la tabla de devolucines.');
				$sender.removeAttr('disabled');
			}
		}else{
			toastr.options = {
				"closeButton": true,
				"progressBar": true,
				"positionClass": "toast-top-right"
			}
			toastr['error']('Debe seleccionar un proveedor para registrar la devolucion');
			$sender.removeAttr('disabled');
		}
	}
	/*Anular compra*/
	this.cargarCompra=function(proveedor,documento,num){
		$.get(this.baseUrl+"productos/cargarcompra",{proveedor:proveedor,doc:documento,numdoc:num},function(compra){
			$("#nueva-salida-anulacion-compra-wrapper").html(compra);
		},'html');
	}
	this.guardarAnularCompra=function(e){
		e.preventDefault();
		var $sender = $(e.target);	
		/* $sender.attr('disabled','disabled'); */
		var _this=this;
		
		if($("#nueva-salida-anulacion-compra-condicion").val()==1 && $("#nueva-salida-anulacion-compra-credito").val()==''){
			this.setCredito($("#nueva-salida-anulacion-compra-proveedor").val());
		}else{
			var transaccion=$("#salida-nueva-transaccion-tipo option:selected").text();
			swal({
				title: 'Guardar Transacci&oacute;n ',
				text: 'Este proceso es irreversible<br>&iquest;Deseas guardar la salida de '+$("#nueva-salida-anulacion-compra-productos-wrapper table tr").size()+' items como '+transaccion+'?',
				html: true,
				type: 'info',
				showCancelButton: true,
				confirmButtonColor: '#3C8DBC',
				confirmButtonText: 'Si, guardar salida',
				cancelButtonText: 'No guardar nada'
			},
			function(isConfirm){
				if(isConfirm){
					var products=$("#nueva-salida-anulacion-compra-productos-wrapper table tr");
					var productos=[];
					$.each(products,function(index,product){
						productos.push({id:$(product).attr('data-id'),pre:$(product).attr('data-pre'),uequiv:$(product).attr('data-uequiv'),cant:$(product).find('.table-cant').attr('data-value'),costo:$(product).find('.table-costo').attr('data-value')});
					});
					$.post(_this.baseUrl+'productos/guardaranularcompra', {credito:$("#nueva-salida-anulacion-compra-credito").val(),compra:$('#nueva-salida-anulacion-compra-id-compra').val(),total:$("#nueva-salida-anulacion-compra-total").attr('data-value'),productos:JSON.stringify(productos)})
					.done(function(saved) {
						if(saved){
							toastr.options = {
								"closeButton": true,
								"progressBar": true,
								"positionClass": "toast-top-right"
							}
							toastr.success('La salida por anulaci&oacute; de compra se ha registrado en la Base de Datos del Sistema');
							_this.cargarTrans($("#salidas-mode-btn").text());
							getAlertsMiracle15();
							Custombox.close();
						}
					});
				}else{
					$sender.removeAttr('disabled');
				}
			});
		}		
	}
	this.setCredito=function(id){
		Custombox.open({
			target:this.baseUrl+'proveedores/creditosxproveedordevmin?proveedor='+id, 
			effect: 'fadein',
			complete:function(){
				$(".modal-body input:text").first().focus();
			}
		});
	}
}
var salidas = new Salidas();
