/**
 * Poner la palabra
 **/

function addWord(word) {
    input = document.getElementById('newsletter:messageMail');//forms['newsletter'].elements['newsletter:messageMail'];
    insText = word;
    input.focus();
    if( input.createTextRange ) {
        document.selection.createRange().text += insText;
    } else if( input.setSelectionRange ) {
        var len = input.selectionEnd;
        input.value = input.value.substr( 0, len ) + insText + input.value.substr( len );
        input.setSelectionRange(len+insText.length,len+insText.length);
    } else {
        input.value += insText;
    }
}

function limitCharacters(input,eventReceived,maxCharacter) {


    var element = document.getElementById(input.id);
    var evento = eventReceived || window.event;
    var codeChar = evento.charCode || evento.keyCode;
    //Allow horizontal arrows
    if (codeChar == 37 || codeChar == 39) {
        return true;
    }
    
    //Allow backspace and 'Supr'' keys.
    if (codeChar == 8 || codeChar == 46) {
        return true;
    }

    if(element.value.length >= maxCharacter)
        return false;
    else
        return true;
    
}
var win;

function windowExport(type,value){
    if(win==null){
        win=this.window.open('jsp/admin/users/export.jsp?type='+type+'&value='+value, 'ExportUsers','width=1,height=1,top=0,left=0,status,toolbar=1,scrollbar s');
        setTimeout("isOpen()",2000);
    }else{
        isOpen();
    }
}
function windowExportWord(){
    window.open('jsp/pqr/admin/export.jsp', 'ExportarSolicitudCerrada','toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=1,height=1,top=0,left=0');
}

function windowExportRequest(type){
    window.open('jsp/pqr/exportRequests.jsp?type='+type, 'ExportarSolicitudes','width=1,height=1,top=0,left=0,status,toolbar=1,scrollbar s,location');
//window.opener='x';
//window.close();

}

function isOpen(){
    if(win!=null){
        win.close();
        win=null;
    }
}

//Funicon que solo deja ingresar numeros
function acceptNum(evt)
{
    // NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57
    var evento = evt || window.event;
    var codeChar = evento.charCode || evento.keyCode;

    return (codeChar <= 13 || (codeChar >= 48 && codeChar <= 57));
}

//Funicon que no permite ingresar carácteres especiales
function notAcceptCharactersEsperciales(evt)
{
    // NOTE: Backspace = 8, Enter = 13, '"'=34, '*'=42, '.'= 46 '/' = 47, ':'= 58, '<'=60, '>'= 62, '?'=63, '\' = 92, '|'=124
    var evento = evt || window.event;
    var codeChar = evento.charCode || evento.keyCode;

    return !(codeChar==34 || codeChar==42 || codeChar==46 || codeChar==47 || codeChar==58 || codeChar==60 ||
        codeChar==62 || codeChar==63 || codeChar==92 || codeChar==124);
}
//Funicon que no permite ingresar carácteres especiales
function onlyAcceptDot(evt)
{
    // NOTE: Backspace = 8, Enter = 13, '"'=34, '*'=42,  '/' = 47, ':'= 58, '<'=60, '>'= 62, '?'=63, '\' = 92, '|'=124
    var evento = evt || window.event;
    var codeChar = evento.charCode || evento.keyCode;

    return !(codeChar==34 || codeChar==42 || codeChar==47 || codeChar==58 || codeChar==60 ||
        codeChar==62 || codeChar==63 || codeChar==92 || codeChar==124);
}






//---------------------------------------------  FUNCION AUTOCOMPLETAR  --------------------------------------------------------------


function FIND(item) { if( window.mmIsOpera ) return(document.getElementById(item));if (document.all) return(document.all[item]);if (document.getElementById) return(document.getElementById(item));return(false);}
    function moveXbySlicePos (x, img) {if (!document.layers) {var onWindows = navigator.platform ? navigator.platform == "Win32" : false;var macIE45 = document.all && !onWindows && getExplorerVersion() == 4.5;var par = img;var lastOffset = 0;while(par){if( par.leftMargin && ! onWindows ) x += parseInt(par.leftMargin);if( (par.offsetLeft != lastOffset) && par.offsetLeft ) x += parseInt(par.offsetLeft);if( par.offsetLeft != 0 ) lastOffset = par.offsetLeft;par = macIE45 ? par.parentElement : par.offsetParent;}} else if (img.x) x += img.x;return x;}
    function moveYbySlicePos (y, img) {if(!document.layers) {var onWindows = navigator.platform ? navigator.platform == "Win32" : false;var macIE45 = document.all && !onWindows && getExplorerVersion() == 4.5;var par = img;var lastOffset = 0;while(par){if( par.topMargin && !onWindows ) y += parseInt(par.topMargin);if( (par.offsetTop != lastOffset) && par.offsetTop ) y += parseInt(par.offsetTop);if( par.offsetTop != 0 ) lastOffset = par.offsetTop;par = macIE45 ? par.parentElement : par.offsetParent;}} else if (img.y >= 0) y += img.y;return y;}
    //function resaltar2 (targetString, term) {var targetLC = targetString.toLowerCase();var termLC = term.toLowerCase();var ind = 0;var offset = 0;var text = '';while ((ind = targetLC.indexOf(termLC, offset)) >= 0) {text += targetString.substring(offset, ind) + "<span class=\"resalteSelect\">" + targetString.substring(ind, ind + term.length) + "</span>";offset = ind + term.length;}text += targetString.substring(offset, targetString.length);return text;}
    function resaltar(targetString, term) {var strReplace = " " + targetString + " ";var aux;if (term == '*') {eval('pattern = /([^A-Za-z0-9_]+)(\\'+term+')/ig;');	} else { eval('pattern = /([^A-Za-z0-9_]+)('+term+')/ig;');	}aux = strReplace.replace(pattern, "$1<span class=\"resalteSelect\">$2</span>");aux = aux.replace(/\s+(.+)\s+/, "$1");return aux;}
    function find(arreglo) {
        var queryAux = obj.value.toLowerCase();
        var contactoAux;
        var id = 0;
        var k = 0;
        var htmlContent = '';
        var ancho = 0;

        if (queryAux != '') {
            for(k in arreglo) {
                infoArr = arreglo[k].split("|*");

                htmlContent += "<a class=\"selectdinamico\" onclick=\"document.getElementById('"+obj.id+"').value='"+infoArr[0]+"';divAutoUser.style.display = 'none';\">"+resaltar(infoArr[1], queryAux)+"</a>";
                if (ancho < arreglo[k].length) {
                    ancho = arreglo[k].length;
                }
            }
            if (htmlContent != '') {
                divAutoUser.innerHTML = htmlContent;
            } else {
                divAutoUser.innerHTML = "";
                divAutoUser.style.display = 'none';
            }
        } else {
            divAutoUser.innerHTML = "";
            divAutoUser.style.display = 'none';
        }
        return ancho;
    }

    var msgError = '';
    /**
     * function sajax_init_object
     */
    function sajax_init_object() {var A;try {A=new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {try {A=new ActiveXObject("Microsoft.XMLHTTP");} catch (oc) {A=null;	}}if(!A && typeof XMLHttpRequest != "undefined")A = new XMLHttpRequest();if (!A)msgError += "Could not create connection object.";return A;}
    sajax_request_type = "POST";

    /**
     * function sajax_do_call
     */
    function sajax_do_call(func_name, args) {
        var i, x, n;
        var uri;
        var post_data;

        uri = "autocomplete";
        /*if (sajax_request_type == "GET") {
        if (uri.indexOf("?") == -1)
        uri = uri + "?rs=" + escape(func_name);
        else
        uri = uri + "&rs=" + escape(func_name);
        for (i = 0; i < args.length-1; i++)
        uri = uri + "&rsargs[]=" + escape(args[i]);
        uri = uri + "&rsrnd=" + new Date().getTime();
        post_data = null;
    } else {*/
        post_data = "op=" + args[0] + "&value=" + args[1];
        /*for (i = 0; i < args.length-1; i++)
        post_data = post_data + "&rsargs[]=" + escape(args[i]);*/
        //}

        x = sajax_init_object();
        if (x != null) {
            x.open(sajax_request_type, uri, true);
            //if (sajax_request_type == "POST") {
            //x.setRequestHeader("Method", "POST " + uri + " HTTP/1.1");
            x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            //}
            x.onreadystatechange = function() {
                if (x.readyState != 4)
                    return;
                msgError += "received " + x.responseText;

                var status;
                var data;
                //status = x.responseText.charAt(0);
                data = x.responseText;//.substring(0);
                /*if (status == "-")
                    alert("Error: " + data);
                else*/
                args[args.length-1](data);
            }
            x.send(post_data);
            msgError = func_name + " uri = " + uri + "/post = " + post_data;
            msgError += func_name + " waiting..";
        }
        delete x;
    }

    /**
     * function search
     */
    var divAutoUser = null;
    var iddivAutoUser = 0;
    var obj = null;

    function resaltarSearch(id) {
        try {
            document.getElementById("s_" + iddivAutoUser).className = "selectdinamico";
            document.getElementById("s_" + id).className = "selectdinamicohover";
            iddivAutoUser = id;
        } catch(e) {
            document.getElementById("s_" + iddivAutoUser).className = "selectdinamicohover";
        }
    }

    function search(type, name, e) {
        /** Miramos el tipo de tecla que oprimio */

        var code;
        if(typeof e == "undefined") e = window.event;
        if (e.keyCode) code = e.keyCode;
        else if (e.which) code = e.which;

        if (code != 37 && code != 38 && code != 39 && code != 40 && code != 13) {
            obj = FIND(name) || document.images[name] || document.links[name] || document.anchors[name];

            iddivAutoUser = 0;
            //var divAutoUser = document.getElementById('divAutoUser');
            if (obj.value != '') {
                x = moveXbySlicePos (0, obj);
                y = moveYbySlicePos (20, obj);
                divAutoUser.style.top = y+"px";
                divAutoUser.style.left = x+"px";
                x_search(type, obj.value, listResults);
            } else {
                divAutoUser.style.display = 'none';
            }

        }
        // onblur
        obj.onblur = function() {
            divAutoUser.onmouseover = function () {
                divAutoUser.style.display = '';
                //setTimeout ("divAutoUser.style.display = 'none';", 100);
            }
            divAutoUser.onmouseout = function () {
                divAutoUser.style.display = 'none';
            }
        }
        // onkeydown
        obj.onkeydown = function (e) {
            var code;

            if(typeof e == "undefined") e = window.event;
            if (e.keyCode) code = e.keyCode;
            else if (e.which) code = e.which;

            if (divAutoUser.style.display == '') {
                // 38 up arrow key
                if (code == 38) {
                    resaltarSearch(iddivAutoUser - 1);
                    return false;
                }
                // 40 down arrow key
                if (code == 40) {
                    resaltarSearch(iddivAutoUser + 1);
                    return false;
                }
                // 13 return key
                if (code == 13) {
                    document.getElementById('s_'+iddivAutoUser).onclick();
                    return false;
                }
                // 9 tab key
                if (code == 9) {
                    document.getElementById('s_'+iddivAutoUser).onclick();
                }
                // 27 tab key
                if (code == 27) {
                    obj.onkeyup = function() {};
                    divAutoUser.style.display = 'none';
                }
            }
        }
        divAutoUser.onmouseover = null;
        divAutoUser.onmouseout = null;
        return true;
    }
    /**
     *
     */
    function recuadro(id) {
        template = "<div id=\""+id+"\" style=\"position:absolute;display:none;padding:5px;background:#EEE;border-top:1px solid #B2B2B2;border-left:1px solid #B2B2B2;border-right:1px solid #000;border-bottom:1px solid #000;\"></div>";
        document.write(template);
        divAutoUser = FIND(id);
    }

    // wrapper for search
    function x_search() {sajax_do_call("search", x_search.arguments);}
    /**
     * Arma el listado y saca el ancho maximo para cuadrar el recuadro
     */
    function list(arreglo) {
        var queryAux = obj.value.toLowerCase();
        var infoArr;
        var k;
        var htmlContent = '';
        var ancho = 0;
        var idconsec = 0;        
        if (queryAux != '') {            
            for(k=0;k<arreglo.length;k++) {
                infoArr = arreglo[k].split(",");
                htmlContent += "<a id=\"s_"+idconsec+"\" class=\"selectdinamico\" onmouseover=\"resaltarSearch("+idconsec+");\" onclick=\"document.getElementById('"+obj.id+"').value='"+infoArr[0]+"';divAutoUser.style.display = 'none';\">"+resaltar(infoArr[1], queryAux)+"</a>";
                if (ancho < arreglo[k].length) {
                    ancho = arreglo[k].length;
                }
                idconsec++;           
            }            
            if (htmlContent != '') {
                divAutoUser.innerHTML = htmlContent;
            } else {
                divAutoUser.innerHTML = "";
                divAutoUser.style.display = 'none';
            }
        } else {
            divAutoUser.innerHTML = "";
            divAutoUser.style.display = 'none';
        }
        return ancho;
    }
    /**
     * Lista los resultados
     */
    function listResults(result) {
        /**
         * Verificamos que el resultado sea vacio
         */
        if (result == "") {
            divAutoUser.style.display = 'auto';
            return;
        }
        var arreglo = result.split("|");

        ancho = list(arreglo);
        divAutoUser.style.display = '';

        if (ancho <= 85) {
            //divAutoUser.style.width = (7 * ancho)+"px";
        } else {
            divAutoUser.style.width = "auto";
        }
        if (arreglo.length <= 10) {
            if(arreglo.length == 1 && ancho > 85) {
            //    divAutoUser.style.height = "40px";
            } else {
              //  divAutoUser.style.height = (20 * arreglo.length)+"px";
            }
        } else {
            divAutoUser.style.height = "auto";
        }

        if (divAutoUser.style.display == '') {
            resaltarSearch(0);
        }
    }

    /**
     * Probamos que sirva el XMLHttpRequest
     */
    z = sajax_init_object();
    if (z == null) { // si no sirve ponemos el mensaje de que no sirve
        var tplAux = '<div style="background:#FAE5B0;padding:5px;border:1px solid #FAD163">' +
            'Para obtener mejores resultados, utilice un navegador totalmente compatible.' +
            '<input type="button" value="Ver Informaci&oacute;n" onclick="efectoOcultar(this, document.getElementById(\'infoLess\'), \'Mostrar Informaci&oacute;n\', \'Ocultar Informaci&oacute;n\');">' +
            '<div id="infoLess" style="display:none">' +
            '<h3>Es compatible con mi navegador?</h3>'+
            'Puede utilizar las utilidades en un PC, Linux o Macintosh (Mac) que utilice uno de los navegadores siguientes: '+
            '	<ul><li>IE 5.5 o posterior (descargar:<a href="http://www.microsoft.com/windows/ie/downloads/default.asp">Windows</a>)'+
            '	</li><li>Netscape 7.1 o posterior (descargar: <a href="http://channels.netscape.com/ns/browsers/download.jsp">Windows</a> <a href="http://channels.netscape.com/ns/browsers/download.jsp">Mac</a> <a href="http://channels.netscape.com/ns/browsers/download.jsp">Linux</a>)'+
            '	</li><li>Mozilla 1.4 o posterior (descargar: <a href="http://www.mozilla.org/products/mozilla1.x/">Windows</a> <a href="http://www.mozilla.org/products/mozilla1.x/">Mac</a> <a href="http://www.mozilla.org/products/mozilla1.x/">Linux</a>)'+
            '	</li><li>Firefox 0.8 o posterior (descargar: <a href="http://www.mozilla.org/products/firefox/">Windows</a> <a href="http://www.mozilla.org/products/firefox/">Mac</a> <a href="http://www.mozilla.org/products/firefox/">Linux</a>)'+
            '	</li><li>Opera 8.5 o posterior (descargar: <a href="http://www.opera.com/download/index.dml?custom=yes">Windows</a> <a href="http://www.opera.com/download/index.dml?custom=yes">Mac</a> <a href="http://www.opera.com/download/index.dml?custom=yes">Linux</a>)</li></ul>'+
            '	Si accede con un navegador distinto a los anteriores, el sistema inhabilitara automaticamente las opciones avanzadas.'+
            ' Independientemente del navegador que emplee, debe tener activadas las cookies. Si su navegador es compatible con JavaScript, por favor, habil?telo tambi?n.'+
            '</div>' +
            '</div>';
        document.write(tplAux);
        delete tplAux;

        function efectoOcultar(objButton, objPanel, avisoMostrar, avisoOcultar) {
            if (objPanel.style.display == 'none') {
                objButton.value = avisoOcultar;
                objPanel.style.display = "";
            } else {
                objButton.value = avisoMostrar;
                objPanel.style.display = "none";
            }
        }
    }
    delete z;



