
if (!window.RemoveBad) {
    function RemoveBad(InStr)
    {
        InStr = InStr.replace(/\</g,"");

        InStr = InStr.replace(/\>/g,"");

        InStr = InStr.replace(/\"/g,"");

        InStr = InStr.replace(/\'/g,"");

        InStr = InStr.replace(/\%/g,"");

        InStr = InStr.replace(/\;/g,"");

        InStr = InStr.replace(/\(/g,"");

        InStr = InStr.replace(/\)/g,"");

        InStr = InStr.replace(/\&/g,"");

        InStr = InStr.replace(/\+/g,"");

        return InStr;
    }//RemoveBad
}

function dameFecha(strFecha)
{
    var arr = strFecha.split("-");
    if (arr.length == 3) {
        var fecha = new Date();
        fecha.setDate(parseInt(arr[0], 10));
        fecha.setMonth(parseInt(arr[1], 10) - 1);
        fecha.setFullYear(parseInt(arr[2], 10));
        return fecha;
    }
    return null;
}//dameFecha

function validar_buscador(form)
{
    var men = "";
    var enviar = false;
    var valor1;
    var valor2;
    
    if (form.campo_buscador.value != "") {
        if (form.campo_buscador.value.length <= 100) {
            form.campo_buscador.value = RemoveBad(form.campo_buscador.value);
            enviar = true;
        } else {
            men = "El campo de búsqueda libre no puede exceder los 100 caracteres.\n";
        }
    }

    // precios de la búsqueda avanzada
    if (document.getElementById("busc_avan_precio2_1") != null && document.getElementById("busc_avan_precio2_2") != null && (document.getElementById("busc_avan_precio2_1").value != "" || document.getElementById("busc_avan_precio2_2").value != "")) {
        valor1 = document.getElementById("busc_avan_precio2_1").value;
        valor2 = document.getElementById("busc_avan_precio2_2").value;        
        if (!isNaN(valor1) && !isNaN(valor2) && valor1!="" && valor2!="") {            
            if (valor1.length < 11 && valor2.length < 11) {
                if (parseFloat(valor1) >= 0 && parseFloat(valor2) >= 0) {
                    if (parseFloat(valor1) <= parseFloat(valor2)) {
                        document.getElementById("busc_avan_precio1_1").value = document.getElementById("busc_avan_precio2_1").value;
                        document.getElementById("busc_avan_precio1_2").value = document.getElementById("busc_avan_precio2_2").value;
                        enviar = true;
                    } else men += "El valor del precio inicial no puede ser menor que el valor del precio final.";
                } else men += "Lss precios no pueden ser negativos.";
            } else men += "El valor de los precios ha excedido los 10 dígitos.";
        } else men += "Los valores suministrados para los precios no son correctos.";
        if (men != "") {
            document.getElementById("busc_avan_precio1_1").value = "";
            document.getElementById("busc_avan_precio1_2").value = "";
            enviar = false;
        }
    }

    // fechas de la búsqueda avanzada
    if (document.getElementById("busc_avan_fecha2_1") != null && document.getElementById("busc_avan_fecha2_2") != null && (document.getElementById("busc_avan_fecha2_1").value != "" || document.getElementById("busc_avan_fecha2_2").value != "")) {
        valor1 = document.getElementById("busc_avan_fecha2_1").value;
        valor2 = document.getElementById("busc_avan_fecha2_2").value;
        var regexp1 = new RegExp("^[0-9]{2}-[0-9]{2}-[0-9]{4}$");
        var regexp2 = new RegExp("^[0-9]{2}-[0-9]{2}-[0-9]{4}$");
        if (regexp1.test(valor1) && regexp2.test(valor2)) {
            var fecha1 = dameFecha(valor1);
            var fecha2 = dameFecha(valor2);
            if (fecha1 <= fecha2) {
                document.getElementById("busc_avan_fecha1_1").value = document.getElementById("busc_avan_fecha2_1").value;
                document.getElementById("busc_avan_fecha1_2").value = document.getElementById("busc_avan_fecha2_2").value;
                enviar = true;
            } else men += "El valor de la fecha inicial no puede ser menor que el valor de la fecha final.";
        } else men += "Los valores suministrados para las fechas no son correctos (dd-mm-aaaa).";
        if (men != "") {
            document.getElementById("busc_avan_fecha1_1").value = "";
            document.getElementById("busc_avan_fecha1_2").value = "";
            enviar = false;
        }
    }

    if (enviar) return true;
    if (men != "") alert(men);
    else alert("Ha de rellenar algún campo para buscar.");
    return false;
}//validar_buscador

function mostrar_buscador_avanzado()
{
    var arrArg = mostrar_buscador_avanzado.arguments;
    var capa_a = document.getElementById("a_busqueda_avanzada");
    var capa = document.getElementById("busqueda_avanzada");
    if (capa_a != null && capa != null) {
        if (capa_a.nextSibling != null || capa.hasChildNodes()) {
            if (capa_a.nextSibling != null) {
                /*
                var nodo = capa_a.nextSibling;
                var nodo2;
                while (nodo != null) {
                    nodo2 = nodo;
                    nodo = nodo.nextSibling;
                    capa_a.parentNode.removeChild(nodo2);
                }
                */
                var nodo = capa_a.parentNode.lastChild;
                do {
                    capa_a.parentNode.removeChild(nodo);
                    nodo = capa_a.parentNode.lastChild;
                } while (nodo != capa_a);
            }
            if (capa.hasChildNodes()) {
                nodo = capa.lastChild;
                do {
                    capa.removeChild(nodo);
                    nodo = capa.lastChild;
                } while (nodo != null);
            }
            capa.style.backgroundColor = "#FFFFFF";
        } else {
            if (arrArg[0]) {
                capa_a.parentNode.appendChild(crear_elemento("input", "type=hidden;name=busc_avan_precio1_1;id=busc_avan_precio1_1;value=" + arrArg[3]));
                capa_a.parentNode.appendChild(crear_elemento("input", "type=hidden;name=busc_avan_precio1_2;id=busc_avan_precio1_2;value=" + arrArg[4]));
            }
            capa_a.parentNode.appendChild(crear_elemento("input", "type=hidden;name=busc_avan_fecha1_1;id=busc_avan_fecha1_1;value=" + arrArg[7]));
            capa_a.parentNode.appendChild(crear_elemento("input", "type=hidden;name=busc_avan_fecha1_2;id=busc_avan_fecha1_2;value=" + arrArg[8]));
            var str = "<form name=\"form_busqueda_avanzada_2\" id=\"form_busqueda_avanzada_2\" method=\"post\">";
            str += "<table bgcolor=\"#FFFDDE\">";
            //str += "<tr><td colspan='7' class='linea_separador'>&nbsp;</td></tr>";
            str += "<tr><td colspan='7'>&nbsp;</td></tr>";
            str += "<tr>";
            if (arrArg[0]) {
                str += "<td><label for=\"busc_avan_precio1\">" + arrArg[1] + "</label></td>";
                str += "<td>&nbsp;</td>";
                str += "<td><input type=\"text\" name=\"busc_avan_precio2_1\" id=\"busc_avan_precio2_1\" title=\"" + arrArg[1] + "\" value=\"" + arrArg[3] + "\" size=\"4\" maxlength=\"10\" /></td>";
                str += "<td>&nbsp;</td>";
                str += "<td>&nbsp;<label for=\"busc_avan_precio2\">" + arrArg[2] + "</label>&nbsp;</td>";
                str += "<td>&nbsp;</td>";
                str += "<td><input type=\"text\" name=\"busc_avan_precio2_2\" id=\"busc_avan_precio2_2\" title=\"" + arrArg[2] + "\" value=\"" + arrArg[4] + "\" size=\"4\" maxlength=\"10\" /></td>";
            }
            str += "</tr>";
            str += "<tr><td><label for=\"busc_avan_fecha1\">" + arrArg[5] + "<br/></label></td>";
            str += "<td>&nbsp;</td>";
            str += "<td>dd-mm-aaaa<br/><input type=\"text\" name=\"busc_avan_fecha2_1\" id=\"busc_avan_fecha2_1\" title=\"" + arrArg[5] + " (dd-mm-aaaa)\" value=\"" + arrArg[7] + "\" size=\"4\" maxlength=\"10\" /></td>";
            str += "<td>&nbsp;</td>";
            str += "<td>&nbsp;<label for=\"busc_avan_fecha2\">" + arrArg[6] + "</label>&nbsp;&nbsp;</td>";
            str += "<td>&nbsp;</td>";
            str += "<td>dd-mm-aaaa<br/><input type=\"text\" name=\"busc_avan_fecha2_2\" id=\"busc_avan_fecha2_2\" title=\"" + arrArg[6] + " (dd-mm-aaaa)\" value=\"" + arrArg[8] + "\" size=\"4\" maxlength=\"10\" /></td></tr>";
            str += "</table>";
            str += "</form>";
            capa.style.backgroundColor = "#FFFDDE";
            capa.innerHTML = str;
        }
    }
}//mostrar_buscador_avanzado