summaryrefslogtreecommitdiffabout
path: root/content/util.js
authorMichael Krelin <hacker@klever.net>2006-10-01 23:53:31 (UTC)
committer Michael Krelin <hacker@klever.net>2006-10-01 23:53:31 (UTC)
commitb6a122d536aef024b69d40cdf2ac0332d7c14607 (patch) (side-by-side diff)
tree5b6f01eb73f858e6caaf22301e23d7b6b996ffea /content/util.js
parent455df70118b045c6053b33ae2f0318a70e4f96b8 (diff)
downloadfireflix-b6a122d536aef024b69d40cdf2ac0332d7c14607.zip
fireflix-b6a122d536aef024b69d40cdf2ac0332d7c14607.tar.gz
fireflix-b6a122d536aef024b69d40cdf2ac0332d7c14607.tar.bz2
paginating through search results
git-svn-id: http://svn.klever.net/kin/fireflix/trunk@179 fe716a7a-6dde-0310-88d9-d003556173a8
Diffstat (limited to 'content/util.js') (more/less context) (show whitespace changes)
-rw-r--r--content/util.js7
1 files changed, 7 insertions, 0 deletions
diff --git a/content/util.js b/content/util.js
index c4af09e..ccc61cf 100644
--- a/content/util.js
+++ b/content/util.js
@@ -1,70 +1,77 @@
/*
* convert unicode string to utf-8 representation.
* needed for correct md5 hash calculation.
*/
function toutf8(ucode) {
var rv = '';
for(var i=0;i<ucode.length;++i) {
var cc = ucode.charCodeAt(i);
if(cc<=0x7F)
rv += ucode.charAt(i);
else if(cc<=0x7ff)
rv += String.fromCharCode(
0xc0|((cc>> 6)&0x1f),
0x80|( cc &0x3f) );
else if(cc<=0xffff)
rv += String.fromCharCode(
0xe0|((cc>>12)&0x0f),
0x80|((cc>> 6)&0x3f),
0x80|( cc &0x3f) );
else if(cc<=0x1fffff)
rv += String.fromCharCode(
0xf0|((cc>>18)&0x07),
0x80|((cc>>12)&0x3f),
0x80|((cc>> 6)&0x3f),
0x80|( cc &0x3f) );
else if(cc<=0x03ffffff)
rv += String.fromCharCode(
0xf8|((cc>>24)&0x03),
0x80|((cc>>18)&0x3f),
0x80|((cc>>12)&0x3f),
0x80|((cc>> 6)&0x3f),
0x80|( cc &0x3f) );
else if(cc<=0x7fffffff)
rv += String.fromCharCode(
0xfc|((cc>>30)&0x01),
0x80|((cc>>24)&0x3f),
0x80|((cc>>18)&0x3f),
0x80|((cc>>12)&0x3f),
0x80|((cc>> 6)&0x3f),
0x80|( cc &0x3f) );
}
return rv;
}
/*
* extract xpath-specified string value
*/
function xp_str(xp,x) {
var rv = x.evaluate(
xp, x, null, XPathResult.STRING_TYPE, null );
return rv.stringValue;
}
/*
* extract xpath-specified node
*/
function xp_node(xp,x) {
var rv = x.evaluate(
xp, x, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null );
return rv.singleNodeValue;
}
+/*
+ * extract xpath-specified ordered set of nodes
+ */
+function xp_nodes(xp,x) {
+ return x.evaluate(
+ xp, x, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
+}
/*
* pull in elements into documents as a member variables
*/
function pull_elements(th,d,els) {
for(var e in els) {
var en=els[e];
th[en] = d.getElementById(en);
}
}