home *** CD-ROM | disk | FTP | other *** search
- /*
- * bookmarks management
- * Copyright 2008 Kovid Goyal
- * License: GNU GPL v3
- */
-
- function selector_in_parent(elem) {
- var num = elem.prevAll().length;
- var sel = " > *:eq("+num+") ";
- return sel;
- }
-
- function selector(elem) {
- var obj = elem;
- var sel = "";
- while (obj[0] != document) {
- sel = selector_in_parent(obj) + sel;
- obj = obj.parent();
- }
- if (sel.length > 2 && sel.charAt(1) == ">") sel = sel.substring(2);
- return sel;
- }
-
- function calculate_bookmark(y, node) {
- var elem = $(node);
- var sel = selector(elem);
- var ratio = (y - elem.offset().top)/elem.height();
- if (ratio > 1) { ratio = 1; }
- if (ratio < 0) { ratio = 0; }
- sel = sel + "|" + ratio;
- return sel;
- }
-
- function animated_scrolling_done() {
- window.py_bridge.animated_scroll_done();
- }
-
- function scroll_to_bookmark(bookmark) {
- bm = bookmark.split("|");
- var ratio = 0.7 * parseFloat(bm[1]);
- $.scrollTo($(bm[0]), 1000,
- {
- over:ratio,
- axis: 'y', // Do not scroll in the x direction
- onAfter:function(){window.py_bridge.animated_scroll_done()}
- }
- );
- }
-
-