1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
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];
}
}
|