﻿// Archivo JScript

var timerPRP = null;
var flagValRef = false;

/*
 Método para autoguardar las pinturas una vez se mete
 la cantidad en el cuadro, recibe la referenciaSKU
 referencia = parte antes del guión
 codTamPint = parte después del guión
 Qty = cantidad  
*/
AddPintura = function(referencia, codTamPint, Qty, f)
{
    var txtRef = $(referencia);
    
    if(txtRef.value.length == 0)
    {
        LimpiarFilaReferencia(txtRef);
        if (!flagValRef)
        {
            ModalDialog.Show("Información", "La referencia es requerida.", ModalDialog.OK);
        }
        return;
    }
    
    AddPinturas_OnSuccess = function(args)
    {
         var respuesta = eval('(' + args + ')');
    }

    Mundial.ScriptServices.AutoguardarPintura(txtRef.value, codTamPint, Qty, AddPinturas_OnSuccess, function() { }, function() { });
}

/*
 Limpia la matriz de pedidos rápidos de pinturas, sin eliminar las filas.
*/
LimpiarMatriz = function()
{
    limpiar = function()
    {
        var inputs = $('pedidos_pinturas').getElementsByTagName('INPUT');
        var deleted = 0;
        
        for(var i=0; i < inputs.length; i++)
        {
	        if(inputs[i].className.indexOf("clean") >= 0)
	        {
		        inputs[i].value="";
		    }
		    
		    if(inputs[i].className.indexOf("field_error") >= 0)
	        {
		        inputs[i].className = "clean field";
		    }
		    
		    if(inputs[i].id.indexOf("AddToCart") >= 0 && inputs[i].type == "submit")
	        {
		        inputs[i].className = "inactive_button";
		        inputs[i].disabled = true;
		    }
        }
    }
    
    ModalDialog.Show('Confirmación', '¿Está seguro que desea limpiar el pedido?', ModalDialog.YES|ModalDialog.NO, {'YES': limpiar});
}

/* Envuelve la función de validación y el timer para evitar comportamientos extraños */
TimerWrapper = function(tbxRefID, lblMarcaID, hiddenID)
{
    if(timerPRP != null)
		clearTimeout(timerPRP);
	timerPRP = setTimeout(function(){ValidarReferencia(tbxRefID, lblMarcaID, hiddenID);}, 1000);

}

/* 
    Limpia la fila de la matriz en caso de que la referencia no exista.
    Recibe el txtReferencia, para identificar la fila. 
*/
LimpiarFilaReferencia = function(ref)
{
    var tr = ref.parentNode.parentNode;
    var inputs = tr.getElementsByTagName('INPUT');
       
    if(inputs.length > 0)
    {
        for(var i = 0; i < inputs.length; i++)
        {
            if(inputs[i].type.toLowerCase() == "text")
            {
                inputs[i].value = "";
            }
        }
    }   
}
 
 /* Válida la referencia y trae la marca si existe o está activa la referencia. */
ValidarReferencia = function(tbxRefID, lblMarcaID, hiddenID)
{
    var referencia = $(tbxRefID);
    var marca = $(lblMarcaID);
    var hidden = $(hiddenID);
    
    ValidarReferencia_OnSuccess = function(args)
    {
        var respuesta = eval('(' + args + ')');
        
        if(!respuesta.resultado)
        { 
            var temp = referencia.value;
            LimpiarFilaReferencia(referencia);
            
            ModalDialog.Show("Información", "La referencia " + temp + " no se encuentra activa o no existe.", ModalDialog.OK);
            return;
        }
        flagValRef = true;
        hidden.value = respuesta.flia;
        marca.innerHTML = respuesta.flia;
    }

    Mundial.ScriptServices.ValidarReferencia(referencia.value, ValidarReferencia_OnSuccess, function() { }, function() { });
}

