function filtrarProductos(porlet){ var prefValue = porlet.getSessionPref("filtrosActivos"); var tablaProductos = document.getElementById("frmCP:data"); var inputs = tablaProductos.getElementsByTagName("input"); var i = 0; if (!prefValue) { prefValue = ""; } else { if (prefValue.length)prefValue=prefValue.substring(1); } //alert('prefValue' + prefValue); for (i = 0; inputs.length > i; i++) { //por cada producto var visible=false; if (inputs[i].type == "hidden") { if (inputs[i].id.indexOf(":filtroId") > -1) { var valores = prefValue.split(','); var j=0; for (j=0;valores.length >j;j++){ //por cada filtro seleccionado var filtroPrecio = valores[j]; //alert('filtroPrecio: ' + filtroPrecio); if (filtroPrecio.indexOf('*')>-1 ) { var modalidad = filtroPrecio.substring(filtroPrecio.indexOf('*') + 1, filtroPrecio.indexOf('%')); var monedaSoles = detectaMonedaSoles(filtroPrecio); //alert('modalidad : ' + modalidad); var PrecioVentaDolares = inputs[i].parentNode.getElementsByTagName("input")[1].value; var PrecioVentaDolaresLong = dameNumero(PrecioVentaDolares); var PrecioVentaSoles = inputs[i].parentNode.getElementsByTagName("input")[2].value; var PrecioVentaSolesLong = dameNumero(PrecioVentaSoles); var PrecioCuotaDolares = inputs[i].parentNode.getElementsByTagName("input")[3].value; var PrecioCuotaDolaresLong = dameNumero(PrecioCuotaDolares) ; var PrecioCuotaSoles = inputs[i].parentNode.getElementsByTagName("input")[4].value; var PrecioCuotaSolesLong = dameNumero(PrecioCuotaSoles) ; var esRadioVisible = inputs[i].parentNode.getElementsByTagName("input")[5].value; var RadioVisible = determinaVisualizacion(esRadioVisible); var esPrecioVentaVisible = inputs[i].parentNode.getElementsByTagName("input")[6].value; var PrecioVentaVisible = determinaVisualizacion(esPrecioVentaVisible); var esPrecioRentaVisible = inputs[i].parentNode.getElementsByTagName("input")[7].value; var PrecioRentaVisible = determinaVisualizacion(esPrecioRentaVisible); var esPosibleFiltrarXVenta = true; var esPosibleFiltrarXAlq = true; //alert('RadioVisible ' + RadioVisible); if (!RadioVisible) { if (PrecioVentaVisible) { esPosibleFiltrarXAlq = false; } else { esPosibleFiltrarXVenta = false; } } //alert('esPosibleFiltrarXVenta ' + esPosibleFiltrarXVenta); //alert('esPosibleFiltrarXAlq ' + esPosibleFiltrarXAlq); var precioFiltro = ""; var precioFiltro1 = ""; var precioFiltro2 = ""; var precioFiltroLong = 0; var precioFiltro1Long = 0; var precioFiltro2Long = 0; if (modalidad.toUpperCase().indexOf('VENTA')>-1) { if (esPosibleFiltrarXVenta) { if (monedaSoles) { //Venta Soles if (filtroPrecio.indexOf('<')>-1) { precioFiltro = filtroPrecio.substring(filtroPrecio.indexOf("<") + 1,filtroPrecio.indexOf('*')); //alert('precioFiltro ' + precioFiltro); precioFiltroLong = parseFloat(precioFiltro); if (PrecioVentaSolesLong')>-1) { precioFiltro = filtroPrecio.substring(filtroPrecio.indexOf(">") + 1,filtroPrecio.indexOf('*')); //alert('precioFiltro ' + precioFiltro); precioFiltroLong = parseFloat(precioFiltro); if (PrecioVentaSolesLong>precioFiltroLong) { inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "block"; visible = true; } else { if (!visible) inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "none"; } } else if (filtroPrecio.indexOf('-')>-1) { precioFiltro1 = filtroPrecio.substring(filtroPrecio.indexOf("-") + 1, filtroPrecio.indexOf('*')); precioFiltro2 = filtroPrecio.substring(0,filtroPrecio.indexOf('-') ); //alert('precioFiltro1 ' + precioFiltro1); //alert('precioFiltro2 ' + precioFiltro2); precioFiltro1Long = parseFloat(precioFiltro1); precioFiltro2Long = parseFloat(precioFiltro2); if ((PrecioVentaSolesLong <= precioFiltro1Long) && (PrecioVentaSolesLong >= precioFiltro2Long) ) { inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "block"; visible = true; } else { if (!visible) inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "none"; } } } else { //Venta Dolares //alert('PrecioVentaDolaresLong ' + PrecioVentaDolaresLong); if (filtroPrecio.indexOf('<')>-1) { precioFiltro = filtroPrecio.substring(filtroPrecio.indexOf("<") + 1,filtroPrecio.indexOf('*')); //alert('precioFiltro ' + precioFiltro); precioFiltroLong = parseFloat(precioFiltro); if (PrecioVentaDolaresLong= precioFiltroLong'); if (!visible) inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "none"; } } else if (filtroPrecio.indexOf('>')>-1) { precioFiltro = filtroPrecio.substring(filtroPrecio.indexOf(">") + 1,filtroPrecio.indexOf('*')); //alert('precioFiltro ' + precioFiltro); precioFiltroLong = parseFloat(precioFiltro); if (PrecioVentaDolaresLong>precioFiltroLong) { inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "block"; visible = true; } else { if (!visible) inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "none"; } } else if (filtroPrecio.indexOf('-')>-1) { precioFiltro1 = filtroPrecio.substring(filtroPrecio.indexOf("-") + 1, filtroPrecio.indexOf('*')); precioFiltro2 = filtroPrecio.substring(0,filtroPrecio.indexOf('-') ); //alert('precioFiltro1 ' + precioFiltro1); //alert('precioFiltro2 ' + precioFiltro2); precioFiltro1Long = parseFloat(precioFiltro1); precioFiltro2Long = parseFloat(precioFiltro2); if ((PrecioVentaDolaresLong<=precioFiltro1Long) && (PrecioVentaDolaresLong>=precioFiltro2Long) ) { //alert('(PrecioVentaDolaresLongprecioFiltro2Long)'); inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "block"; visible = true; } else { //alert('else'); if (!visible) inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "none"; } } } } else { if (!visible) inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "none"; } } else { if (esPosibleFiltrarXAlq) { if (monedaSoles) { //Cuota de Inscripcion SOles if (filtroPrecio.indexOf('<')>-1) { precioFiltro = filtroPrecio.substring(filtroPrecio.indexOf("<") + 1,filtroPrecio.indexOf('*') + 1); precioFiltroLong = parseFloat(precioFiltro); if (PrecioCuotaSolesLong')>-1) { precioFiltro = filtroPrecio.substring(filtroPrecio.indexOf(">") + 1,filtroPrecio.indexOf('*') + 1); precioFiltroLong = parseFloat(precioFiltro); if (PrecioCuotaSolesLong>precioFiltroLong) { inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "block"; visible = true; } else { if (!visible) inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "none"; } } else if (filtroPrecio.indexOf('-')>-1) { precioFiltro1 = filtroPrecio.substring(filtroPrecio.indexOf("-") + 1, filtroPrecio.indexOf('*')); precioFiltro2 = filtroPrecio.substring(0,filtroPrecio.indexOf('-') ); precioFiltro1Long = parseFloat(precioFiltro1); precioFiltro2Long = parseFloat(precioFiltro2); if ((PrecioCuotaSolesLong <= precioFiltro1Long) && (PrecioCuotaSolesLong >= precioFiltro2Long) ) { inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "block"; visible = true; } else { if (!visible) inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "none"; } } } else { //Cuota de Inscripcion Dolares if (filtroPrecio.indexOf('<')>-1) { precioFiltro = filtroPrecio.substring(filtroPrecio.indexOf("<") + 1,filtroPrecio.indexOf('*') + 1); precioFiltroLong = parseFloat(precioFiltro); if (PrecioCuotaDolaresLong')>-1) { precioFiltro = filtroPrecio.substring(filtroPrecio.indexOf(">") + 1,filtroPrecio.indexOf('*') + 1); precioFiltroLong = parseFloat(precioFiltro); if (PrecioCuotaDolaresLong>precioFiltroLong) { inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "block"; visible = true; } else { if (!visible) inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "none"; } } else if (filtroPrecio.indexOf('-')>-1) { precioFiltro1 = filtroPrecio.substring(filtroPrecio.indexOf("-") + 1, filtroPrecio.indexOf('*')); precioFiltro2 = filtroPrecio.substring(0,filtroPrecio.indexOf('-') ); precioFiltro1Long = parseFloat(precioFiltro1); precioFiltro2Long = parseFloat(precioFiltro2); if ((PrecioCuotaDolaresLong <= precioFiltro1Long) && (PrecioCuotaDolaresLong >= precioFiltro2Long) ) { inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "block"; visible = true; } else { if (!visible) inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "none"; } } } } else { if (!visible) inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "none"; } } } else { if (inputs[i].value.indexOf(valores[j])>-1 ) { inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "block"; visible=true; } else { if (!visible) inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "none"; } } } } } } contarProductos(); } function dameNumero (num){ if (isNaN(num))return 0 else return parseFloat(num); } function determinaVisualizacion(cadena) { if (cadena.indexOf('display:inline')>-1 ) { return true; } else { return false; } } function detectaMonedaSoles(filtroPrecio) { var textoMoneda = filtroPrecio.substring(filtroPrecio.indexOf('%') + 1); if (textoMoneda.indexOf('S/.')>-1) { return true; } else { return false; } } function contarProductos() { var contador = 0 ; var tablaProductos = document.getElementById("frmCP:data"); var inputs = tablaProductos.getElementsByTagName("input"); for (i = 0; inputs.length > i; i++) { //por cada producto if (inputs[i].type == "hidden") { if (inputs[i].id.indexOf(":filtroId") > -1) { if (inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display.indexOf("block") > -1) { contador++; } } } } //alert('contador ' + contador); var txtCantProd = document.getElementById("frmCP:mensajeCantProductos"); txtCantProd.innerHTML = contador + " modelos concuerdan con sus criterios de busqueda"; } function filtrarPromociones(porlet){ var prefValue = porlet.getSessionPref("filtrosActivos"); var tablaProductos = document.getElementById("frmpromocion:tbpromocion"); var inputs = tablaProductos.getElementsByTagName("input"); var i = 0; if (!prefValue) { prefValue = ""; } else { if (prefValue.length) { prefValue = prefValue.substring(1); } } for (i = 0; inputs.length > i; i++) { //por cada producto var visible=false; if (inputs[i].type == "hidden") { if (inputs[i].id.indexOf(":filtroId") > -1) { var valores = prefValue.split(','); var j=0; for (j=0;valores.length >j;j++){ //por cada filtro seleccionado var filtroPrecio = valores[j]; //alert('filtroPrecio: ' + filtroPrecio); if (filtroPrecio.indexOf('*')>-1 ) { var PrecioVentaDolares = inputs[i].parentNode.getElementsByTagName("input")[1].value; var PrecioVentaDolaresLong = dameNumero(PrecioVentaDolares); var precioFiltro = ""; var precioFiltro1 = ""; var precioFiltro2 = ""; var precioFiltroLong = 0; var precioFiltro1Long = 0; var precioFiltro2Long = 0; //Venta Dolares if (filtroPrecio.indexOf('<')>-1) { precioFiltro = filtroPrecio.substring(filtroPrecio.indexOf("<") + 1,filtroPrecio.indexOf('*')); precioFiltroLong = parseFloat(precioFiltro); if (PrecioVentaDolaresLong= precioFiltroLong'); if (!visible) inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "none"; } } else if (filtroPrecio.indexOf('>')>-1) { precioFiltro = filtroPrecio.substring(filtroPrecio.indexOf(">") + 1,filtroPrecio.indexOf('*')); //alert('precioFiltro ' + precioFiltro); precioFiltroLong = parseFloat(precioFiltro); if (PrecioVentaDolaresLong>precioFiltroLong) { inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "block"; visible = true; } else { if (!visible) inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "none"; } } else if (filtroPrecio.indexOf('-')>-1) { precioFiltro1 = filtroPrecio.substring(filtroPrecio.indexOf("-") + 1, filtroPrecio.indexOf('*')); precioFiltro2 = filtroPrecio.substring(0,filtroPrecio.indexOf('-') ); //alert('precioFiltro1 ' + precioFiltro1); //alert('precioFiltro2 ' + precioFiltro2); precioFiltro1Long = parseFloat(precioFiltro1); precioFiltro2Long = parseFloat(precioFiltro2); if ((PrecioVentaDolaresLong<=precioFiltro1Long) && (PrecioVentaDolaresLong>=precioFiltro2Long) ) { //alert('(PrecioVentaDolaresLongprecioFiltro2Long)'); inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "block"; visible = true; } else { //alert('else'); if (!visible) inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "none"; } } } else { if (inputs[i].value.indexOf(valores[j])>-1 ) { inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "block"; visible=true; } else { if (!visible) inputs[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = "none"; } } } } } } }