/******************************************

 * Autocompleter created by Exi (http://www.technobase.fm/member/1)

 * please find some information about on

 * http://blog.rarecore.eu/autocompleter-using-xajax.html

 ******************************************/



var rc_autocompleter_date = 0;

var rc_autocompleter_refresh = 0;

var rc_autocompleter_delay_stamp = 0;

var rc_active;



function rc_autocompleter_click(t, r, d, js) {

    //document.getElementById(t).value = r;

    cadenaArray = new Array();

    cadenaArray = js.split("#");

  //alert(cadenaArray[0]+"<-->"+cadenaArray[1]);

    var f="changeSearch('"+cadenaArray[0]+"','"+cadenaArray[1]+"','"+cadenaArray[2]+"','"+cadenaArray[3]+"')";

    //eval(alert(js));

    //eval(alert(f));

    eval(f);

    rc_autocompleter_blur2(d);

}



function rc_autocompleter_focus(d) {

    document.getElementById(d).style.visibility = 'visible';

}



function rc_autocompleter_blur(d) {

    window.setTimeout('rc_autocompleter_blur2(\'' + d + '\')', 300);

}



function rc_autocompleter_blur2(d) {

    document.getElementById(d).style.visibility = 'hidden';
    inicia_autocompleter();

}



function rc_autocompleter_call() {

    var now = new Date().getTime() / 1000;

    var s = parseInt(now);



    rc_autocompleter_date = now;

}



function rc_autocompleter_return(d, t, v, i) {

    if(t >= rc_autocompleter_refresh) {

        rc_autocompleter_refresh = t;

        document.getElementById(d).style.visibility = v;

        document.getElementById(d).innerHTML = i;

    }

}



function rc_autocompleter_move(id1, id2, keyc) {

    var child = document.getElementById(id2).childNodes[0].childNodes;

    var idx = -1;

    for(var i=0; i < child.length; i++) {

        if(child[i].className == 'li_hover') {

            idx = i;

        }



        child[i].className = '';

    }



    // return

    if(keyc == 13) {

        var text = '';



        if(child[idx].innerText) {

            text = child[idx].innerText;

        } else {

            text = child[idx].textContent;

        }

        //var js=child[idx].onclick;

        var js=child[idx].id;

        rc_autocompleter_click(id1, text, id2, js);



    } else {

        // up

        if(keyc == 40) {

            if(idx == (child.length - 1)) {

                idx = 0;

            } else {

                idx++;

            }



        // down

        } else if(keyc == 38) {

            idx--;



            if(idx < 0) {

                idx = (child.length - 1);

            }

        }



        child[idx].className = 'li_hover';

    }

}



function rc_microtime () {

    return new Date().getTime();

}



function rc_autocompleter(e, id1, id2) {

    if(!e) e = window.event;

    var keyc = e.keyCode || e.which;

    if(keyc == 38 || keyc == 40 || keyc == 13) {

        rc_autocompleter_move(id1, id2, keyc);



    } else {

        rc_autocompleter_delay_stamp = rc_microtime();

        rc_active = window.setTimeout('rc_autocompleter_delay(\'' + rc_autocompleter_delay_stamp + '\')', 100);

    }

}