﻿/*
    Minimizar para subir a PRE/Real: http://www.vlead.in/resources/tools/minify-javascript/
*/
//Realizar la búsqueda, pasando a la página de resultados
function Search(isHome, txtName, rbAllName, rbREName, rbJobName, rbMotorName, rbOtherName) {
    var url = "";
    var txt = "";
    var at = "";
    var nosearch = false;

    txt = document.getElementById(txtName).value;
    txt = trim(txt);
    
    
    if (txt.length > 0) {
        if (document.getElementById(rbAllName).checked) at = "0";
        if (document.getElementById(rbREName).checked) at = "2";
        if (document.getElementById(rbJobName).checked) at = "1";
        if (document.getElementById(rbMotorName).checked) at = "3";
        if (document.getElementById(rbOtherName).checked) at = "4";

        txt = cleanStringForLucene(txt).replace(/[\.]/g, " ");
        if (txt.length > 0) {
            url = 'Search.aspx' + "?q=" + txt + "&at=" + at;

            window.location = url;
        }
        else
            nosearch = true;
    }
    else
        nosearch = true;


    if (nosearch == true) {
        if (isHome == false) {
            url = 'default.aspx';

            window.location = url;
        }
        else
            document.getElementById(txtName).value = txt;
    }
   
}

//Capturar la pulsación del Enter en la búsqueda
function onEnter(evt, btnName) {
    var KEYENTER = 13;
    var keyCode = null;
    var ff = false;

    if (evt.which) {
        //firefox
        keyCode = evt.which;
        ff = true;
    }
    else if (evt.keyCode) {
        //IE
        keyCode = evt.keyCode;
        ff = false;
    }
    
    //Enter
    if (keyCode == KEYENTER) {
        if (ff == true)  //firefox
            document.getElementById(btnName).onclick();
        else  //IE
            document.getElementById(btnName).click();
        return false;
    }
    return true;
}

//Preparar la cadena para Lucene
function cleanStringForLucene(str) {
    str = str.replace(/</g, '');
    str = str.replace(/\"/g, '');
    str = str.replace(/\(/g, ' ').replace(/\)/g, ' ');
    str = str.replace(/\{/g, ' ').replace(/\}/g, ' ');
    str = str.replace(/\[/g, ' ').replace(/\]/g, ' ');
    str = str.replace(/\+/g, ' ').replace(/\-/g, '').replace(/\=/g, '');
    str = str.replace(/\&/g, '').replace(/\|/g, '').replace(/\\/g, '');
    str = str.replace(/\*/g, '').replace(/\?/g, '');
    str = str.replace(/\!/g, '');
    str = str.replace(/\^/g, '');
    str = str.replace(/\~/g, '');
    str = str.replace("/", ' ');
    str = str.replace(/\%/gi, '').replace(/\$/gi, '');
    str = str.replace(/\:/g, '').replace(/\;/g, '').replace(/\,/g, '');
    str = trim(str);
    return encodeURIComponent(str).replace(/\'/g, "%27");
}

function trim(s) {
    return s.replace(/^\s+|\s+$/g, '');
}