<script class='controller'>
    setTimeout(function() 
	{

        /*           ACTUALIZAR CONTADORES               */
        $(document).off('click', "#updateCharts");
        $(document).on('click', '#updateCharts', function(e) {
            var userIntel = JSON.parse(window.localStorage.getItem("userIntel")),
                panelToShow = userIntel.panelUsuario,
                userId = $('#sidebarLoaded').attr('userIdPanel');
            $("#loading").fadeIn("fast", function() {
                showPanel(panelToShow, userId);
            });
        });
		

        /** CUANDO INICIA EL MODULO CARGAMOS LAS PRIMERAS TARJETAS */
        $('.anim1').velocity("transition.slideUpBigIn", {
            stagger: 250,
            complete: function() {
                $('#buscarDevol').focus();
            }
        });

        /** LE RESTAMOS 1 UNIDAD AL LISTADO SELECCIONADO */
        $(document).off('click', ".restarUnidad");
        $(document).on('click', '.restarUnidad', function(e) {

            var codigoBarrasDevuelto = $(this).parent().parent().parent().find('.codigoBarrasDevuelto').html(),
                unidTotales = $(this).parent().parent().parent().find('.unidTotales').html(),
                unidXDevolver = $(this).parent().parent().parent().find('.unidXDevolver').html();

            unidXDevolver--;
            if (unidXDevolver == 0) {
                $(this).parent().parent().parent().parent().remove();
                return;
            }
            var newPropor = (+unidXDevolver * 100) / +unidTotales
            $(this).parent().parent().parent().find('.unidXDevolver').html(unidXDevolver);
            $(this).parent().parent().parent().find('.unidXDevolverPropor').attr('style', 'width: ' + newPropor.toFixed(0) + '%');
        });

        /** ELIMINAMOS EL LISTADO SELECCIONADO */
        $(document).off('click', ".deletethisLine");
        $(document).on('click', '.deletethisLine', function(e) {
            var amountRead = $(this).parent().find('.cantProd').html();
            $(this).parent().remove();


            var totalEscan = $('.unidadesEscaenadasTotal span').html();
            totalEscan = +totalEscan - +amountRead;
            $('.unidadesEscaenadasTotal span').html(totalEscan);
            return;
        });
		
		/**GUARDAR TRANLADO DE UBICACION A UBICACION**/
		$(document).off('click','.enviarUbi');
		$(document).on('click','.enviarUbi',function(e){
			
			var origenUbic = $(document).find('#fullUbiOrigInp').val();
			var destinoUbic = $(document).find('#fullUbiDestInp').val();
			var userId = $('#sidebarLoaded').attr('userIdPanel');
			
			var formDataValidar =  new FormData();
			formDataValidar.append('meth','valUbics');
			formDataValidar.append('OrgCod',origenUbic);
			formDataValidar.append('desCod',destinoUbic);
			
			apiCall(formDataValidar, function(data) {
				alert(JSON.stringify(data));
				if(data.valid == 'F'){
					$.growl.error({
                            message: data.msg,
                            duration: 6000
                    });
					$(document).find('#fullUbiOrigInp').val('');
					$(document).find('#fullUbiDestInp').val('');
					$(document).find('#fullUbiOrigInp').focus();
					return;
					
				}else if(data.valid == 'ERROR'){
					$.growl.error({
                            message: "No se pudieron validar las ubicaciones",
                            duration: 6000
                    });
					
					$(document).find('#fullUbiOrigInp').val('');
					$(document).find('#fullUbiDestInp').val('');
					$(document).find('#fullUbiOrigInp').focus();
					return;
				}
			});
			
			var formData = new formData();
			
			formData.append('meth','saveNewReubicMAsivo');
			formData.append('orgCod',origenUbic);
			formData.append('desCod',destinoUbic);
			formData.append('userCod',userId);
			
			$(this).velocity("transition.slideUpOut", {
                    duration: 200,
                    complete: function() {
						$('#enviarUbiFake').velocity("transition.slideUpIn", {
							duration: 200,
                            complete: function() {
								apiCall(formData, function(data) {
									if(data.status == 'OK'){
										 swal({
											title: "Felicitaciones",
											text: "La reubicacion de los productos ha sido registrada exitosamente.",
											type: "success",
											showCancelButton: false,
											confirmButtonText: 'Entendido',
											cancelButtonText: 'salir'
										});
										window.location.reload();
									}else{
										$('#enviarUbiFake').velocity("transition.slideUpOut", {
                                            duration: 200,
                                            complete: function() {
                                                swal({
                                                    title: "Lo Sentimos",
                                                    text: "Hubo un problema para guardar sus datos, intente de nuevo",
                                                    type: "error",
                                                    showCancelButton: false,
                                                    confirmButtonText: 'Entendido',
                                                    cancelButtonText: 'salir'
                                                });
                                                $('.enviarUbi').velocity("transition.slideUpIn", {
                                                    duration: 200
                                                })
                                            }
                                        });
									}
								 });
							}
						});
						 
					}
			 });
			 
			 
			
		});
		

        /** GUARDAMOS EL TRASLADO */
        $(document).off('click', "#saveNewDevol");
        $(document).on('click', '#saveNewDevol', function(e) {

            var rowsCount = 0,
                reubDet = [],
                userId = $('#sidebarLoaded').attr('userIdPanel');
				

            $(document).find('.listadoTraslad tbody tr').each(function(i, n) {

                var reubRow = {};
                reubRow.prod = $(n).find('.codigoBarras').html();
				reubRow.bod = $(document).find('#bodegaBox').val();
                reubRow.orig = $(n).find('.origProd').attr('data-origProd');
                reubRow.dest = $(n).find('.destProd').attr('data-destProd');
                reubRow.tiporig = $(n).find('.tipOrigProd').html();
                reubRow.tipdest = $(n).find('.tipDestProd').html();
                reubRow.totalUnidades = $(n).find('.cantProd').html();

                reubDet.push(reubRow);
                rowsCount++;
            });

            if (rowsCount > 0) {

                $(this).velocity("transition.slideUpOut", {
                    duration: 200,
                    complete: function() {
                        $('#saveNewDevolFake').velocity("transition.slideUpIn", {
                            duration: 200,
                            complete: function() {
                                console.log(reubDet);
                                var formData = new FormData(),
                                    userId = $('#sidebarLoaded').attr('userIdPanel');
                                formData.append('userReub', userId);
                                formData.append('objReub', JSON.stringify(reubDet));
                                formData.append('meth', 'saveNewReub');
                                apiCall(formData, function(data) {
                                    console.log(data);
                                    if (data.status == "saved") {
                                        $('.anim3,.porDevolInfoBox,#saveNewDevolFake').velocity("transition.slideUpOut", {
                                            duration: 200,
                                            complete: function() {
                                                swal({
                                                    title: "Felicitaciones",
                                                    text: "La reubicacion de los productos ha sido registrada exitosamente.",
                                                    type: "success",
                                                    showCancelButton: false,
                                                    confirmButtonText: 'Entendido',
                                                    cancelButtonText: 'salir'
                                                });
                                                $('.porDevolInfoBox').remove();
                                                $('.anim11,#saveNewDevol').velocity("transition.slideUpIn", {
                                                    duration: 200
                                                })
												window.location.reload();
                                            }
                                        });
                                    } else {
                                        $('#saveNewDevolFake').velocity("transition.slideUpOut", {
                                            duration: 200,
                                            complete: function() {
                                                swal({
                                                    title: "Lo Sentimos",
                                                    text: "Hubo un problema para guardar sus datos, intente de nuevo",
                                                    type: "error",
                                                    showCancelButton: false,
                                                    confirmButtonText: 'Entendido',
                                                    cancelButtonText: 'salir'
                                                });
                                                $('#saveNewDevol').velocity("transition.slideUpIn", {
                                                    duration: 200
                                                })
                                            }
                                        });
                                    }
                                });

                            }
                        });
                    }
                });
            } else {
                $.growl.error({
                    message: "No hay productos leidos para reubicar"
                });
            }

        });

        /*           ACTUALIZAR CAJA O INDIVIDUAL               */
        $(document).off('click', ".leerCajaCompleta");
        $(document).on('click', '.leerCajaCompleta', function(e) {
            $('.readerPistolBox').velocity("transition.slideLeftBigOut", {
                duration: 200,
                complete: function() {
                    $('.readerPistolCaja').velocity("transition.slideLeftBigIn", {
                        duration: 200
                    });
					$('.readerUbicacionCCaja').velocity("transition.slideLeftBigOut",{
						duration: 200,
						complete: function() {}
					});
                }
            });
			
			
        });
		
		/*           ACTUALIZAR CAJA O INDIVIDUAL               */
        $(document).off('click', ".leerUbiCompleta");
        $(document).on('click', '.leerUbiCompleta', function(e) {
            $('.readerPistolBox').velocity("transition.slideLeftBigOut", {
                duration: 200,
                complete: function() {
                    $('.readerUbicacionCCaja').velocity("transition.slideLeftBigIn", {
                        duration: 200
                    });
					$('.readerPistolCaja').velocity("transition.slideLeftBigOut",{
						duration: 200,
						complete: function() {}
					});
                }
            });
			
			
        });
		
        $(document).off('click', ".leerProductosIndividuales");
        $(document).on('click', '.leerProductosIndividuales', function(e) {
			
            $('.readerPistolCaja').velocity("transition.slideLeftBigOut", {
                duration: 200,
                complete: function() {
                    $('.readerPistolBox').velocity("transition.slideLeftBigIn", {
                        duration: 200
                    });
					$('.readerUbicacionCCaja').velocity("transition.slideLeftBigOut",{
						duration: 200,
						complete: function() {}
					});
                }
            });
			
			
        });

        /*$(document).off('click', ".readerPistolCaja button.enviarCaja");
        $(document).on('click', '.readerPistolCaja button.enviarCaja', function(e) {
            savehisCaja();
        });*/
        $('.cajaBoxInp').keypress(function(e) {
            if (e.which == 13) {
                var codUbi = $(document).find('#fullCajaOrigInp').val();
				var codMAsterB = $(document).find('#cajaBoxInp').val();
				
				var formData = new FormData();
				formData.append('codUbi',codUbi);
				formData.append('codMB',codMAsterB);
				formData.append('meth','consultarMasterBosUbic');
				apiCall(formData, function(data){
					if(data.status == 'noprod'){
						$.growl.error({message: "No existe la Caja MAster en la ubicacion"});
						$('#fullCajaOrigInp').val('');
						$('#cajaBoxInp').val('');
						$('#fullCajaDestInp').val('');
						$('#fullCajaOrigInp').focus();
						return;
					}else{
						
						savehisCaja();
					}
				});
            }
        });
		
		/** CONSULTAMOS SI LA UBICACION DESTINO EXISTE*/
        $(document).off('change', "#locationBox");
        $(document).on('change', "#locationBox", function(e) {
            var formData = new FormData(),
                tiporigdest = $(document).find("input[type=radio][name=dest-radios]:checked").val(),
				bod = $(document).find('#bodegaBox').val(),
                codUbi = $(document).find('#locationBox').val();
				// alert(bod); 
            if (tiporigdest == 'U') {
                formData.append('codUbi', codUbi);
				formData.append('bod', bod);
                formData.append('meth', 'consultarDest');
				formData.append('tiporigdest', tiporigdest);
                apiCall(formData, function(data) {
                 // alert(JSON.stringify(data));
                    if (data.status == "gotProd") {
                        $(document).find('#saveNewDevol').removeAttr('disabled');
                    } else {
                        $.growl.error({
                            message: "La ubicacion destino no existe en la bodega ",
                            duration: 6000
                        });
                        $(document).find('#locationBox').val('');
                        $(document).find('#locationBox').focus();
                    }
                });
            }
			else  
			{
			if (tiporigdest == 'C') {
                formData.append('codUbi', codUbi);
                formData.append('bod', bod);
				formData.append('tiporigdest', tiporigdest);
				formData.append('meth', 'consultarDest');
                apiCall(formData, function(data) {
                    //alert(JSON.stringify(data));
                    if (data.status == "gotProd") {
                        $(document).find('#saveNewDevol').removeAttr('disabled');
                    } else {
                        $.growl.error({
                            message: "La caja master destino no existe en la bodega ",
                            duration: 6000
                        });
                        $(document).find('#locationBox').val('');
                        $(document).find('#locationBox').focus();
                    }
                });
            }
			}

        });
		
		/** Sonsultar si origen existe **/
        $(document).off('change', "#cajamasterBox");
        $(document).on('change', "#cajamasterBox", function(e) {
            var formData = new FormData(),
                tiporigdest = $(document).find("input[type=radio][name=orig-radios]:checked").val(),
                bod = $(document).find('#bodegaBox').val(),
				codUbi = $(document).find('#cajamasterBox').val();
				//alert(bod);
            if (tiporigdest == 'U') {
                formData.append('codUbi', codUbi);
				formData.append('bod', bod);
				formData.append('tiporigdest1', tiporigdest);
                formData.append('meth', 'consultarUbic');
                apiCall(formData, function(data){
                  //  alert(JSON.stringify(data));
                    if (data.status == "gotProd") {
                        $(document).find('#saveNewDevol').removeAttr('disabled');
                    } else {
                        $.growl.error({
                            message: "La ubicacion origen no existe en la bodega",
                            duration: 6000
                        });
                        $(document).find('#cajamasterBox').val('');
                        $(document).find('#cajamasterBox').focus();
                    }
                });
            }else{
				if (tiporigdest == 'C') {
					formData.append('codUbi', codUbi);
					formData.append('tiporigdest1', tiporigdest);
					formData.append('bod', bod);
					formData.append('meth', 'consultarUbic');
					//alert ("Hola Mundo");
					apiCall(formData, function(data){
					//	alert(JSON.stringify(data));
						//alert ("Hola Mundo");
						if (data.status == "gotProd") {
							$(document).find('#saveNewDevol').removeAttr('disabled');
						} else {
							
							$.growl.error({
								message: "La caja origen no existe en la bodega ",
								duration: 6000
							});
							$(document).find('#cajamasterBox').val('');
							$(document).find('#cajamasterBox').focus();
						}
					});
				}
			}
			
        });
		

        enterSubm();
    }, 1000);

    /** AL LEER CON PISTOLA UN CODIGO DE BARRA */
    function getThisProd() {

        var origVal = $(document).find('#cajamasterBox').val(),
            destVal = $(document).find('#locationBox').val(),
            prodVal = $(document).find('#productoBox').val(),
            tiporigVal = $(document).find("input[type=radio][name=orig-radios]:checked").val(),
            tipdestVal = $(document).find("input[type=radio][name=dest-radios]:checked").val(),
            isPresentInDB = 0,
            isPresent = 0;


        var formData = new FormData();
        formData.append('codbar', prodVal);
        formData.append('meth', 'consultarPNL');
        apiCall(formData, function(data) {
            if (data.status != "gotProd") {
                isPresentInDB == 1;
                $(document).find('#productoBox').val('');
                $(document).find('#productoBox').focus();
                $.growl.error({
                    message: "Codigo de barras no existe en el sistema ",
                    duration: 6000
                });
            } else 
			
			{
                $(document).find('.listadoTraslad tbody tr').each(function(i, n) {
                    var prod = $(n).find('.codigoBarras').html(),
                        orig = $(n).find('.origProd').attr('data-origProd'),
                        dest = $(n).find('.destProd').attr('data-destProd'),
                        tiporig = $(n).find('.tipOrigProd').html(),
                        tipdest = $(n).find('.tipDestProd').html(),
                        totalUnidades = $(n).find('.cantProd').html();

                    if (prod == prodVal && destVal == dest && origVal == orig && tiporigVal == tiporig && tipdestVal == tipdest) {
                        isPresent = 1;
                        totalUnidades = +totalUnidades + 1;
                        $(n).find('.cantProd').html(totalUnidades);


                        var totalEscan = $('.unidadesEscaenadasTotal span').html();
                        totalEscan++;
                        $('.unidadesEscaenadasTotal span').html(totalEscan);
                    }
                });
                if (isPresent == 0) {
                    $('.listadoTraslad tbody').prepend(' <tr class="thisTrasladoProd">' +
                        '<td class="codigoBarras" data-valtype="codigoBarras">' + prodVal + '</td>' +
                        '<td class="origProd" data-origProd="' + origVal + '">(' + tiporigVal + ')-' + origVal + '</td> ' +
                        '<td class="destProd" data-destProd="' + destVal + '">(' + tipdestVal + ')-' + destVal + '</td> ' +
                        '<td class="cantProd" data-valtype="cantProd">' + 1 + '</td> ' +
                        '<td class="offscreen tipOrigProd" data-valtype="tipOrigProd">' + tiporigVal + '</td> ' +
                        '<td class="offscreen tipDestProd" data-valtype="tipDestProd">' + tipdestVal + '</td> ' +
                        '<td class="offscreen tipDestProd" data-valtype="tipDestProd">' + tipdestVal + '</td> ' +
                        '<td class="deletethisLine btn-danger text-center" data-valtype="deletethisLine"><i class="fa fa-2x fa-window-close" aria-hidden="true"></i></td> ' +
                        ' </tr>');

                    $('.anim11').velocity("transition.slideUpBigOut", {
                        stagger: 250,
                        complete: function() {
                            $('.anim3').velocity("transition.slideUpBigIn", {
                                stagger: 250,
                                complete: function() {
                                    $('#productoBox').focus();
                                }
                            });
                        }
                    });

                    var totalEscan = $('.unidadesEscaenadasTotal span').html();
                    totalEscan++;
                    $('.unidadesEscaenadasTotal span').html(totalEscan);
                }
                $(document).find('#productoBox').val('');
                $(document).find('#productoBox').focus();

            }
        });
    }

    /** FUNCIONALIDAD DE LOS INPUT */
    function enterSubm() {
        /*  ORIGEN! */
        $('.cajamasterBoxInp').keypress(function(e) {
            if (e.which == 13) {
                $('.locationBoxInp').val('');
                $('.locationBoxInp').focus();
            }
        });

        /*  DESTINO! */
        $('.locationBoxInp').on('keypress', function(e) {
            if (e.which == 13) {
                $('.productoBoxInp').val('');
                $('.productoBoxInp').focus();
            }
        });
		
        $('.productoBoxInp').keypress(function(e) {
            if (e.which == 13) {
                var origVal = $(document).find('#cajamasterBox').val(),
                    destVal = $(document).find('#locationBox').val(),
					bod = $(document).find('#bodegaBox').val(),
                    prodVal = $(document).find('#productoBox').val(),
					tiporigVal = $(document).find("input[type=radio][name=orig-radios]:checked").val();
                if (origVal == '' || destVal == '' || prodVal == '') {
                    $.growl.error({
                        message: "Debe llenar todos los campos"
                    });
                    return;
					getThisProd();
                }else{
					var formData = new FormData();
					formData.append('OrigProd', prodVal);
					formData.append('Origen', origVal);
					formData.append('TipoOrg', tiporigVal);
					formData.append('bod', bod);
					formData.append('meth', 'OrigenProd');
					apiCall(formData, function(data) {
						//alert("Aqui toy");
						//alert(bod);
						//alert(JSON.stringify(data));
						//$.growl.error({message:"Hola Mundo"});
						if(data.qer =='N'){
							$.growl.error({
								message: "Producto no existente en el Origen"
							});
							return ;
						}
						else{
							getThisProd();
						}
					});
				}
                
            }
        });

        $(document).off('change', "input[type=radio][name=orig-radios]");
        $(document).on('change', "input[type=radio][name=orig-radios]", function(e) {
            console.log(this.value);
            if (this.value == 'U') {
                $(document).find('.DestRadios').slideDown('slow');
            } else if (this.value == 'C') {
                //$(document).find('.DestRadios').slideUp('slow');
            }
        });
		
		/** al presionar boton de enviar caja completa**/
		$(document).off('click',".readerPistolCaja button.enviarCaja");
		$(document).on('click',".readerPistolCaja button.enviarCaja", function(e){
			var codUbi = $(document).find('#fullCajaOrigInp').val();
			var codMAsterB = $(document).find('#cajaBoxInp').val();
			
			var formData = new FormData();
			formData.append('codUbi',codUbi);
			formData.append('codMB',codMAsterB);
			formData.append('meth','consultarMasterBosUbic');
			apiCall(formData, function(data){
				if(data.status == 'noprod'){
					$.growl.error({message: "No existe la Caja MAster en la ubicacion"});
					$('#fullCajaOrigInp').val('');
					$('#cajaBoxInp').val('');
					$('#fullCajaDestInp').val('');
					$('#fullCajaOrigInp').focus();
					return;
				}else{
					savehisCaja();
				}
			});
		});

        /** AL PRESIONAR EL BOTON EL CODIGO DE BARRA Y LO CARGAMOS AL LISTADO */
        $(document).off('click', ".readerPistolBox button.envi");
        $(document).on('click', '.readerPistolBox button.envi', function(e) {

            var origVal = $(document).find('#cajamasterBox').val(),
                destVal = $(document).find('#locationBox').val(),
                prodVal = $(document).find('#productoBox').val(),
				//tipoOrg = $(document).find("#input[type=radio][name=orig-radios]").val();
				tiporigVal = $(document).find("input[type=radio][name=orig-radios]:checked").val();
				//alert(tiporigVal);
            if (origVal == '' || destVal == '' || prodVal == '') {
                
				$.growl.error({
                    message: "Debe llenar todos los campos"
                });
				
                return;
				//getThisProd();
				
            }else{
				var formData = new FormData();
				formData.append('OrigProd', prodVal);
				formData.append('Origen', origVal);
				formData.append('TipoOrg', tiporigVal);
				formData.append('meth', 'OrigenProd');
				apiCall(formData, function(data) {
					//alert("Aqui toy");
					//alert(data);
					//alert(JSON.stringify(data));
					//$.growl.error({message:"Hola Mundo"});
					if(data.qer =='N'){
						$.growl.error({
							message: "El Producto no existe en el Origen"
						});
						return ;
					}else{
						getThisProd();
					}
				});
			}
            
        });

    }

    /** REUBICAR CAJA COMPLETA */
    function savehisCaja() {

        var rowsCount = 0,
            reubDet = [],
            dest = $(document).find('#fullCajaDestInp').val(),
			bod = $(document).find('#bodegaBox').val(),
            orig = $(document).find('#fullCajaOrigInp').val(),
            cajacod = $(document).find('#cajaBoxInp').val(),
            userId = $('#sidebarLoaded').attr('userIdPanel');

        if (dest == '' || orig == '' || cajacod == '')  {
            $.growl.error({
                message: "Debe llenar todos los campos"
            });
            return;
        }

        var reubRow = {};
        reubRow.prod = cajacod;
        reubRow.orig = orig;
        reubRow.dest = dest;
        reubDet.push(reubRow);

        var formData = new FormData(),
            userId = $('#sidebarLoaded').attr('userIdPanel');
        formData.append('userReub', userId);
        formData.append('objReubCaja', JSON.stringify(reubDet));
        formData.append('meth', 'saveNewReubCaja');
        apiCall(formData, function(data) {
            console.log(data);
            if (data.status == "saved") {
                swal({
                    title: "Felicitaciones",
                    text: "La reubicacion de la caja ha sido registrada exitosamente.",
                    type: "success",
                    showCancelButton: false,
                    confirmButtonText: 'Entendido',
                    cancelButtonText: 'salir'
                });
                /** OCULTAMOS TODO COMO SI ABRIERA EL MODULO DESDE CERO */
                /* $('.readerPistolCaja').velocity("transition.slideLeftBigOut", {
                    duration: 200,
                    complete: function() {
                        $('.readerPistolBox').velocity("transition.slideLeftBigIn", {
                            duration: 200
                        });
                    }
                });*/
			//	$('#fullCajaDestInp').val(''),
			//	$('#fullCajaOrigInp').val(''),
                $('#cajaBoxInp').val('');
                $('#cajaBoxInp').focus();

            } else {
                swal({
                    title: "Lo Sentimos",
                    text: "Hubo un problema para guardar sus datos, intente de nuevo",
                    type: "error",
                    showCancelButton: false,
                    confirmButtonText: 'Entendido',
                    cancelButtonText: 'salir'
                });
            }
        });
    }
</script>