432
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 1
/**
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 2
* helper function to return a node containing the
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 3
* search summary for a given text. keywords is a list
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 4
* of stemmed words, hlwords is the list of normal, unstemmed
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 5
* words. the first one is used to find the occurance, the
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 6
* latter for highlighting it.
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 7
*/
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 8
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 9
jQuery.makeSearchSummary = function(text, keywords, hlwords) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 10
var textLower = text.toLowerCase();
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 11
var start = 0;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 12
$.each(keywords, function() {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 13
var i = textLower.indexOf(this.toLowerCase());
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 14
if (i > -1)
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 15
start = i;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 16
});
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 17
start = Math.max(start - 120, 0);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 18
var excerpt = ((start > 0) ? '...' : '') +
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 19
$.trim(text.substr(start, 240)) +
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 20
((start + 240 - text.length) ? '...' : '');
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 21
var rv = $('<div class="context"></div>').text(excerpt);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 22
$.each(hlwords, function() {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 23
rv = rv.highlightText(this, 'highlight');
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 24
});
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 25
return rv;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 26
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 27
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 28
/**
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 29
* Porter Stemmer
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 30
*/
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 31
var PorterStemmer = function() {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 32
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 33
var step2list = {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 34
ational: 'ate',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 35
tional: 'tion',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 36
enci: 'ence',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 37
anci: 'ance',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 38
izer: 'ize',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 39
bli: 'ble',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 40
alli: 'al',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 41
entli: 'ent',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 42
eli: 'e',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 43
ousli: 'ous',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 44
ization: 'ize',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 45
ation: 'ate',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 46
ator: 'ate',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 47
alism: 'al',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 48
iveness: 'ive',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 49
fulness: 'ful',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 50
ousness: 'ous',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 51
aliti: 'al',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 52
iviti: 'ive',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 53
biliti: 'ble',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 54
logi: 'log'
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 55
};
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 56
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 57
var step3list = {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 58
icate: 'ic',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 59
ative: '',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 60
alize: 'al',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 61
iciti: 'ic',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 62
ical: 'ic',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 63
ful: '',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 64
ness: ''
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 65
};
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 66
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 67
var c = "[^aeiou]"; // consonant
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 68
var v = "[aeiouy]"; // vowel
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 69
var C = c + "[^aeiouy]*"; // consonant sequence
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 70
var V = v + "[aeiou]*"; // vowel sequence
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 71
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 72
var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 73
var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 74
var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 75
var s_v = "^(" + C + ")?" + v; // vowel in stem
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 76
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 77
this.stemWord = function (w) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 78
var stem;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 79
var suffix;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 80
var firstch;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 81
var origword = w;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 82
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 83
if (w.length < 3)
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 84
return w;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 85
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 86
var re;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 87
var re2;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 88
var re3;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 89
var re4;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 90
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 91
firstch = w.substr(0,1);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 92
if (firstch == "y")
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 93
w = firstch.toUpperCase() + w.substr(1);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 94
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 95
// Step 1a
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 96
re = /^(.+?)(ss|i)es$/;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 97
re2 = /^(.+?)([^s])s$/;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 98
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 99
if (re.test(w))
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 100
w = w.replace(re,"$1$2");
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 101
else if (re2.test(w))
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 102
w = w.replace(re2,"$1$2");
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 103
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 104
// Step 1b
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 105
re = /^(.+?)eed$/;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 106
re2 = /^(.+?)(ed|ing)$/;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 107
if (re.test(w)) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 108
var fp = re.exec(w);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 109
re = new RegExp(mgr0);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 110
if (re.test(fp[1])) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 111
re = /.$/;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 112
w = w.replace(re,"");
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 113
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 114
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 115
else if (re2.test(w)) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 116
var fp = re2.exec(w);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 117
stem = fp[1];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 118
re2 = new RegExp(s_v);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 119
if (re2.test(stem)) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 120
w = stem;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 121
re2 = /(at|bl|iz)$/;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 122
re3 = new RegExp("([^aeiouylsz])\\1$");
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 123
re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 124
if (re2.test(w))
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 125
w = w + "e";
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 126
else if (re3.test(w)) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 127
re = /.$/;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 128
w = w.replace(re,"");
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 129
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 130
else if (re4.test(w))
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 131
w = w + "e";
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 132
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 133
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 134
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 135
// Step 1c
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 136
re = /^(.+?)y$/;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 137
if (re.test(w)) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 138
var fp = re.exec(w);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 139
stem = fp[1];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 140
re = new RegExp(s_v);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 141
if (re.test(stem))
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 142
w = stem + "i";
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 143
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 144
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 145
// Step 2
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 146
re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 147
if (re.test(w)) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 148
var fp = re.exec(w);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 149
stem = fp[1];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 150
suffix = fp[2];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 151
re = new RegExp(mgr0);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 152
if (re.test(stem))
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 153
w = stem + step2list[suffix];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 154
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 155
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 156
// Step 3
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 157
re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 158
if (re.test(w)) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 159
var fp = re.exec(w);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 160
stem = fp[1];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 161
suffix = fp[2];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 162
re = new RegExp(mgr0);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 163
if (re.test(stem))
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 164
w = stem + step3list[suffix];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 165
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 166
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 167
// Step 4
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 168
re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 169
re2 = /^(.+?)(s|t)(ion)$/;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 170
if (re.test(w)) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 171
var fp = re.exec(w);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 172
stem = fp[1];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 173
re = new RegExp(mgr1);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 174
if (re.test(stem))
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 175
w = stem;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 176
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 177
else if (re2.test(w)) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 178
var fp = re2.exec(w);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 179
stem = fp[1] + fp[2];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 180
re2 = new RegExp(mgr1);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 181
if (re2.test(stem))
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 182
w = stem;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 183
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 184
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 185
// Step 5
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 186
re = /^(.+?)e$/;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 187
if (re.test(w)) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 188
var fp = re.exec(w);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 189
stem = fp[1];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 190
re = new RegExp(mgr1);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 191
re2 = new RegExp(meq1);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 192
re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 193
if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 194
w = stem;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 195
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 196
re = /ll$/;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 197
re2 = new RegExp(mgr1);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 198
if (re.test(w) && re2.test(w)) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 199
re = /.$/;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 200
w = w.replace(re,"");
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 201
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 202
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 203
// and turn initial Y back to y
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 204
if (firstch == "y")
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 205
w = firstch.toLowerCase() + w.substr(1);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 206
return w;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 207
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 208
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 209
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 210
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 211
/**
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 212
* Search Module
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 213
*/
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 214
var Search = {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 215
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 216
_index : null,
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 217
_queued_query : null,
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 218
_pulse_status : -1,
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 219
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 220
init : function() {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 221
var params = $.getQueryParameters();
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 222
if (params.q) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 223
var query = params.q[0];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 224
$('input[@name="q"]')[0].value = query;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 225
this.performSearch(query);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 226
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 227
},
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 228
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 229
/**
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 230
* Sets the index
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 231
*/
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 232
setIndex : function(index) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 233
var q;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 234
this._index = index;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 235
if ((q = this._queued_query) !== null) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 236
this._queued_query = null;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 237
Search.query(q);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 238
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 239
},
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 240
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 241
hasIndex : function() {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 242
return this._index !== null;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 243
},
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 244
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 245
deferQuery : function(query) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 246
this._queued_query = query;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 247
},
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 248
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 249
stopPulse : function() {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 250
this._pulse_status = 0;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 251
},
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 252
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 253
startPulse : function() {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 254
if (this._pulse_status >= 0)
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 255
return;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 256
function pulse() {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 257
Search._pulse_status = (Search._pulse_status + 1) % 4;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 258
var dotString = '';
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 259
for (var i = 0; i < Search._pulse_status; i++)
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 260
dotString += '.';
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 261
Search.dots.text(dotString);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 262
if (Search._pulse_status > -1)
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 263
window.setTimeout(pulse, 500);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 264
};
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 265
pulse();
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 266
},
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 267
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 268
/**
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 269
* perform a search for something
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 270
*/
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 271
performSearch : function(query) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 272
// create the required interface elements
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 273
this.out = $('#search-results');
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 274
this.title = $('<h2>' + _('Searching') + '</h2>').appendTo(this.out);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 275
this.dots = $('<span></span>').appendTo(this.title);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 276
this.status = $('<p style="display: none"></p>').appendTo(this.out);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 277
this.output = $('<ul class="search"/>').appendTo(this.out);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 278
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 279
$('#search-progress').text(_('Preparing search...'));
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 280
this.startPulse();
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 281
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 282
// index already loaded, the browser was quick!
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 283
if (this.hasIndex())
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 284
this.query(query);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 285
else
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 286
this.setQuery(query);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 287
},
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 288
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 289
query : function(query) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 290
// stem the searchterms and add them to the
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 291
// correct list
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 292
var stemmer = new PorterStemmer();
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 293
var searchterms = [];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 294
var excluded = [];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 295
var hlterms = [];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 296
var tmp = query.split(/\s+/);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 297
var object = (tmp.length == 1) ? tmp[0].toLowerCase() : null;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 298
for (var i = 0; i < tmp.length; i++) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 299
// stem the word
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 300
var word = stemmer.stemWord(tmp[i]).toLowerCase();
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 301
// select the correct list
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 302
if (word[0] == '-') {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 303
var toAppend = excluded;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 304
word = word.substr(1);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 305
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 306
else {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 307
var toAppend = searchterms;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 308
hlterms.push(tmp[i].toLowerCase());
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 309
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 310
// only add if not already in the list
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 311
if (!$.contains(toAppend, word))
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 312
toAppend.push(word);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 313
};
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 314
var highlightstring = '?highlight=' + $.urlencode(hlterms.join(" "));
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 315
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 316
console.debug('SEARCH: searching for:');
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 317
console.info('required: ', searchterms);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 318
console.info('excluded: ', excluded);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 319
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 320
// prepare search
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 321
var filenames = this._index.filenames;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 322
var titles = this._index.titles;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 323
var terms = this._index.terms;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 324
var descrefs = this._index.descrefs;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 325
var modules = this._index.modules;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 326
var desctypes = this._index.desctypes;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 327
var fileMap = {};
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 328
var files = null;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 329
var objectResults = [];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 330
var regularResults = [];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 331
$('#search-progress').empty();
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 332
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 333
// lookup as object
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 334
if (object != null) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 335
for (var module in modules) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 336
if (module.indexOf(object) > -1) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 337
fn = modules[module];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 338
descr = _('module, in ') + titles[fn];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 339
objectResults.push([filenames[fn], module, '#module-'+module, descr]);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 340
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 341
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 342
for (var prefix in descrefs) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 343
for (var name in descrefs[prefix]) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 344
if (name.toLowerCase().indexOf(object) > -1) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 345
match = descrefs[prefix][name];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 346
fullname = (prefix ? prefix + '.' : '') + name;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 347
descr = desctypes[match[1]] + _(', in ') + titles[match[0]];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 348
objectResults.push([filenames[match[0]], fullname, '#'+fullname, descr]);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 349
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 350
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 351
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 352
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 353
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 354
// sort results descending
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 355
objectResults.sort(function(a, b) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 356
return (a[1] > b[1]) ? -1 : ((a[1] < b[1]) ? 1 : 0);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 357
});
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 358
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 359
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 360
// perform the search on the required terms
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 361
for (var i = 0; i < searchterms.length; i++) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 362
var word = searchterms[i];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 363
// no match but word was a required one
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 364
if ((files = terms[word]) == null)
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 365
break;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 366
if (files.length == undefined) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 367
files = [files];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 368
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 369
// create the mapping
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 370
for (var j = 0; j < files.length; j++) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 371
var file = files[j];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 372
if (file in fileMap)
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 373
fileMap[file].push(word);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 374
else
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 375
fileMap[file] = [word];
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 376
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 377
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 378
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 379
// now check if the files don't contain excluded terms
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 380
for (var file in fileMap) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 381
var valid = true;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 382
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 383
// check if all requirements are matched
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 384
if (fileMap[file].length != searchterms.length)
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 385
continue;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 386
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 387
// ensure that none of the excluded terms is in the
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 388
// search result.
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 389
for (var i = 0; i < excluded.length; i++) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 390
if (terms[excluded[i]] == file ||
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 391
$.contains(terms[excluded[i]] || [], file)) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 392
valid = false;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 393
break;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 394
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 395
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 396
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 397
// if we have still a valid result we can add it
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 398
// to the result list
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 399
if (valid)
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 400
regularResults.push([filenames[file], titles[file], '', null]);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 401
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 402
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 403
// delete unused variables in order to not waste
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 404
// memory until list is retrieved completely
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 405
delete filenames, titles, terms;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 406
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 407
// now sort the regular results descending by title
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 408
regularResults.sort(function(a, b) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 409
var left = a[1].toLowerCase();
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 410
var right = b[1].toLowerCase();
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 411
return (left > right) ? -1 : ((left < right) ? 1 : 0);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 412
});
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 413
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 414
// combine both
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 415
var results = regularResults.concat(objectResults);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 416
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 417
// print the results
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 418
var resultCount = results.length;
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 419
function displayNextItem() {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 420
// results left, load the summary and display it
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 421
if (results.length) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 422
var item = results.pop();
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 423
var listItem = $('<li style="display:none"></li>');
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 424
listItem.append($('<a/>').attr(
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 425
'href',
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 426
item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX +
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 427
highlightstring + item[2]).html(item[1]));
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 428
if (item[3]) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 429
listItem.append($('<span> (' + item[3] + ')</span>'));
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 430
Search.output.append(listItem);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 431
listItem.slideDown(5, function() {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 432
displayNextItem();
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 433
});
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 434
} else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 435
$.get('_sources/' + item[0] + '.txt', function(data) {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 436
listItem.append($.makeSearchSummary(data, searchterms, hlterms));
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 437
Search.output.append(listItem);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 438
listItem.slideDown(5, function() {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 439
displayNextItem();
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 440
});
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 441
});
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 442
} else {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 443
// no source available, just display title
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 444
Search.output.append(listItem);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 445
listItem.slideDown(5, function() {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 446
displayNextItem();
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 447
});
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 448
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 449
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 450
// search finished, update title and status message
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 451
else {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 452
Search.stopPulse();
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 453
Search.title.text(_('Search Results'));
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 454
if (!resultCount)
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 455
Search.status.text(_('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.'));
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 456
else
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 457
Search.status.text(_('Search finished, found %s page(s) matching the search query.').replace('%s', resultCount));
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 458
Search.status.fadeIn(500);
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 459
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 460
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 461
displayNextItem();
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 462
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 463
}
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 464
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 465
$(document).ready(function() {
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 466
Search.init();
f2ddfa555b0f
Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff
changeset
+ − 467
});