| 
							
							if(searx.autocompleter) {
 | 
						
						
						
						
							 | 
							
							    window.addEvent('domready', function() {
 | 
						
						
						
						
							 | 
							
								    new Autocompleter.Request.JSON('q', '/autocompleter', {
 | 
						
						
						
						
							 | 
							
									    postVar:'q',
 | 
						
						
						
						
							 | 
							
									    postData:{
 | 
						
						
						
						
							 | 
							
										    'format': 'json'
 | 
						
						
						
						
							 | 
							
									    },
 | 
						
						
						
						
							 | 
							
									    ajaxOptions:{
 | 
						
						
						
						
							 | 
							
									        timeout: 5   // Correct option?
 | 
						
						
						
						
							 | 
							
									    },
 | 
						
						
						
						
							 | 
							
									    'minLength': 4,
 | 
						
						
						
						
							 | 
							
									    'selectMode': false,
 | 
						
						
						
						
							 | 
							
									    cache: true,
 | 
						
						
						
						
							 | 
							
									    delay: 300
 | 
						
						
						
						
							 | 
							
								    });
 | 
						
						
						
						
							 | 
							
							    });
 | 
						
						
						
						
							 | 
							
							}
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							(function (w, d) {
 | 
						
						
						
						
							 | 
							
							    'use strict';
 | 
						
						
						
						
							 | 
							
							    function addListener(el, type, fn) {
 | 
						
						
						
						
							 | 
							
							        if (el.addEventListener) {
 | 
						
						
						
						
							 | 
							
							            el.addEventListener(type, fn, false);
 | 
						
						
						
						
							 | 
							
							        } else {
 | 
						
						
						
						
							 | 
							
							            el.attachEvent('on' + type, fn);
 | 
						
						
						
						
							 | 
							
							        }
 | 
						
						
						
						
							 | 
							
							    }
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							    function placeCursorAtEnd() {
 | 
						
						
						
						
							 | 
							
							        if (this.setSelectionRange) {
 | 
						
						
						
						
							 | 
							
							            var len = this.value.length * 2;
 | 
						
						
						
						
							 | 
							
							            this.setSelectionRange(len, len);
 | 
						
						
						
						
							 | 
							
							        }
 | 
						
						
						
						
							 | 
							
							    }
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							    addListener(w, 'load', function () {
 | 
						
						
						
						
							 | 
							
							        var qinput = d.getElementById('q');
 | 
						
						
						
						
							 | 
							
							        if (qinput !== null && qinput.value === "") {
 | 
						
						
						
						
							 | 
							
							            addListener(qinput, 'focus', placeCursorAtEnd);
 | 
						
						
						
						
							 | 
							
							            qinput.focus();
 | 
						
						
						
						
							 | 
							
							        }
 | 
						
						
						
						
							 | 
							
							    });
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							    if (!!('ontouchstart' in window)) {
 | 
						
						
						
						
							 | 
							
							        document.getElementsByTagName("html")[0].className += " touch";
 | 
						
						
						
						
							 | 
							
							    }
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							})(window, document);
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							var xmlHttp
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							function GetXmlHttpObject(){
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							    var xmlHttp = null;
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							    try {
 | 
						
						
						
						
							 | 
							
							        // Firefox, Opera 8.0+, Safari
 | 
						
						
						
						
							 | 
							
							        xmlHttp = new XMLHttpRequest();
 | 
						
						
						
						
							 | 
							
							    }
 | 
						
						
						
						
							 | 
							
							    catch (e) {
 | 
						
						
						
						
							 | 
							
							        // Internet Explorer
 | 
						
						
						
						
							 | 
							
							        try {
 | 
						
						
						
						
							 | 
							
							            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
 | 
						
						
						
						
							 | 
							
							        }
 | 
						
						
						
						
							 | 
							
							        catch (e){
 | 
						
						
						
						
							 | 
							
							            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
 | 
						
						
						
						
							 | 
							
							        }
 | 
						
						
						
						
							 | 
							
							    }
 | 
						
						
						
						
							 | 
							
							    return xmlHttp;
 | 
						
						
						
						
							 | 
							
							}
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							var timer;
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							// Load more results
 | 
						
						
						
						
							 | 
							
							function load_more(query,page){
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							    xmlHttp = GetXmlHttpObject();
 | 
						
						
						
						
							 | 
							
							    clearTimeout(timer);
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							    if(xmlHttp == null){
 | 
						
						
						
						
							 | 
							
							        alert ("Your browser does not support AJAX!");
 | 
						
						
						
						
							 | 
							
							        return;
 | 
						
						
						
						
							 | 
							
							    }
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							    favicons[page] = [];
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							    xmlHttp.onreadystatechange = function(){
 | 
						
						
						
						
							 | 
							
							        
 | 
						
						
						
						
							 | 
							
							        var loader = document.getElementById('load_more');
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							        // If 4, response OK
 | 
						
						
						
						
							 | 
							
							        if (xmlHttp.readyState == 4){
 | 
						
						
						
						
							 | 
							
							            
 | 
						
						
						
						
							 | 
							
							            var res = xmlHttp.responseText;
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							            clearTimeout(timer);
 | 
						
						
						
						
							 | 
							
							            timer = setTimeout(function(){},6000);
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							            var results = document.getElementById('results_list');
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							            var newNode = document.createElement('span');      
 | 
						
						
						
						
							 | 
							
							            newNode.innerHTML = res;
 | 
						
						
						
						
							 | 
							
							            results_list.appendChild(newNode);
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							            var scripts = newNode.getElementsByTagName('script');
 | 
						
						
						
						
							 | 
							
							            for (var ix = 0; ix < scripts.length; ix++) {
 | 
						
						
						
						
							 | 
							
							                eval(scripts[ix].text);
 | 
						
						
						
						
							 | 
							
							            }
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							            load_images(page);
 | 
						
						
						
						
							 | 
							
							            document.getElementById("load_more").onclick = function() { load_more(query, (page+1)); }
 | 
						
						
						
						
							 | 
							
							            loader.removeAttribute("disabled");
 | 
						
						
						
						
							 | 
							
							            
 | 
						
						
						
						
							 | 
							
							        } else {
 | 
						
						
						
						
							 | 
							
							            loader.disabled = 'disabled';
 | 
						
						
						
						
							 | 
							
							        }
 | 
						
						
						
						
							 | 
							
							    }
 | 
						
						
						
						
							 | 
							
							    var url = "/";
 | 
						
						
						
						
							 | 
							
							    var params = "q="+query+"&pageno="+page+"&category_general=1&category_files=1&category_images=1&category_it=1&category_map=1&category_music=1&category_news=1&category_social+media=1&category_videos=1";
 | 
						
						
						
						
							 | 
							
							    xmlHttp.open("POST",url,true);
 | 
						
						
						
						
							 | 
							
							    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 | 
						
						
						
						
							 | 
							
							    xmlHttp.setRequestHeader("Content-length", params.length);
 | 
						
						
						
						
							 | 
							
							    xmlHttp.setRequestHeader("Connection", "close");
 | 
						
						
						
						
							 | 
							
							    xmlHttp.send(params);
 | 
						
						
						
						
							 | 
							
							}
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							// Load the images on the canvas in the page
 | 
						
						
						
						
							 | 
							
							function load_images(page){
 | 
						
						
						
						
							 | 
							
							    var arrayLength = favicons[page].length;
 | 
						
						
						
						
							 | 
							
							    for (var i = 1; i < arrayLength+1; i++) {
 | 
						
						
						
						
							 | 
							
							        var img = new Image();
 | 
						
						
						
						
							 | 
							
							        img.setAttribute("i",i)
 | 
						
						
						
						
							 | 
							
							        img.onload = function () {
 | 
						
						
						
						
							 | 
							
							            var id = 'canvas-'+page+'-'+this.getAttribute("i");
 | 
						
						
						
						
							 | 
							
							            var can = document.getElementById(id);
 | 
						
						
						
						
							 | 
							
							            var ctx = can.getContext("2d");
 | 
						
						
						
						
							 | 
							
							            ctx.drawImage(this, 0, 0, 16, 16);
 | 
						
						
						
						
							 | 
							
							        };
 | 
						
						
						
						
							 | 
							
							        img.src = favicons[page][i];
 | 
						
						
						
						
							 | 
							
							    }
 | 
						
						
						
						
							 | 
							
							} |