importing greclusters into git
[greclusters.git] / ui.js
blob1804ef6791370db6c1bcae92c10f686ec9be4274
1 function random_cluster(till){\r
2     return function(){\r
3         var n = Math.floor(Math.random()*till);\r
4         window.location = "#c" + n;\r
5     }\r
6 }\r
7 \r
8 function scroller(offset, repeat_code){\r
9     var MAX_STEPS = 10;\r
10     var INCREMENT = 10;\r
11     var REPEAT_FREQ = 30;\r
12     \r
13     var timer;\r
14     var steps=0;\r
15     \r
16     function scrollABit(){\r
17         if (steps > MAX_STEPS){\r
18             clearTimeout(timer);\r
19             steps = 0;\r
20         }else{\r
21             window.scrollBy(0, INCREMENT * offset);\r
22             steps = steps + 1;\r
23             timer = setTimeout(repeat_code, REPEAT_FREQ);\r
24         }\r
25     }\r
26     return scrollABit;\r
27 }\r
29 var scroll_down = scroller(+1, "scroll_down()");\r
30 var scroll_up = scroller(-1, "scroll_up()");\r
32 function scroll_to(index){\r
33     return function(){\r
34         window.location = "#c" + index;\r
35     }\r
36 }\r
38 $(document).shortkeys({\r
39     'n': scroll_down,\r
40     'p': scroll_up,\r
41     'r': random_cluster(total),\r
42     'u': random_cluster(200),\r
43     'i': random_cluster(500),\r
44     '0': scroll_to("1"),\r
45     '1': scroll_to("100"),\r
46     '2': scroll_to("200"),\r
47     '3': scroll_to("300"),\r
48     '4': scroll_to("400"),\r
49     '5': scroll_to("500"),\r
50     '6': scroll_to("600"),\r
51     '7': scroll_to("700"),\r
52     '8': scroll_to("800"),\r
53     '9': scroll_to("900"),\r
54 });\r