| 
				
			 | 
			
			
				@@ -1,4 +1,10 @@ 
			 | 
		
	
		
			
			| 
				1
			 | 
			
				1
			 | 
			
			
				 $(document).ready(function() { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				2
			 | 
			
			
				+    highlightResult('top')(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				4
			 | 
			
			
				+    $('.result').on('click', function() { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				5
			 | 
			
			
				+        highlightResult($(this))(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				6
			 | 
			
			
				+    }); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				7
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				2
			 | 
			
				8
			 | 
			
			
				     var vimKeys = { 
			 | 
		
	
		
			
			| 
				3
			 | 
			
				9
			 | 
			
			
				         27: { 
			 | 
		
	
		
			
			| 
				4
			 | 
			
				10
			 | 
			
			
				             key: 'Escape', 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -50,13 +56,13 @@ $(document).ready(function() { 
			 | 
		
	
		
			
			| 
				50
			 | 
			
				56
			 | 
			
			
				         }, 
			 | 
		
	
		
			
			| 
				51
			 | 
			
				57
			 | 
			
			
				         75: { 
			 | 
		
	
		
			
			| 
				52
			 | 
			
				58
			 | 
			
			
				             key: 'k', 
			 | 
		
	
		
			
			| 
				53
			 | 
			
				
			 | 
			
			
				-            fun: previousResult, 
			 | 
		
	
		
			
			| 
				
			 | 
			
				59
			 | 
			
			
				+            fun: highlightResult('up'), 
			 | 
		
	
		
			
			| 
				54
			 | 
			
				60
			 | 
			
			
				             des: 'select previous search result', 
			 | 
		
	
		
			
			| 
				55
			 | 
			
				61
			 | 
			
			
				             cat: 'Results' 
			 | 
		
	
		
			
			| 
				56
			 | 
			
				62
			 | 
			
			
				         }, 
			 | 
		
	
		
			
			| 
				57
			 | 
			
				63
			 | 
			
			
				         74: { 
			 | 
		
	
		
			
			| 
				58
			 | 
			
				64
			 | 
			
			
				             key: 'j', 
			 | 
		
	
		
			
			| 
				59
			 | 
			
				
			 | 
			
			
				-            fun: nextResult, 
			 | 
		
	
		
			
			| 
				
			 | 
			
				65
			 | 
			
			
				+            fun: highlightResult('down'), 
			 | 
		
	
		
			
			| 
				60
			 | 
			
				66
			 | 
			
			
				             des: 'select next search result', 
			 | 
		
	
		
			
			| 
				61
			 | 
			
				67
			 | 
			
			
				             cat: 'Results' 
			 | 
		
	
		
			
			| 
				62
			 | 
			
				68
			 | 
			
			
				         }, 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -75,7 +81,7 @@ $(document).ready(function() { 
			 | 
		
	
		
			
			| 
				75
			 | 
			
				81
			 | 
			
			
				         79: { 
			 | 
		
	
		
			
			| 
				76
			 | 
			
				82
			 | 
			
			
				             key: 'o', 
			 | 
		
	
		
			
			| 
				77
			 | 
			
				83
			 | 
			
			
				             fun: openResult(false), 
			 | 
		
	
		
			
			| 
				78
			 | 
			
				
			 | 
			
			
				-            des: 'open  search result', 
			 | 
		
	
		
			
			| 
				
			 | 
			
				84
			 | 
			
			
				+            des: 'open search result', 
			 | 
		
	
		
			
			| 
				79
			 | 
			
				85
			 | 
			
			
				             cat: 'Results' 
			 | 
		
	
		
			
			| 
				80
			 | 
			
				86
			 | 
			
			
				         }, 
			 | 
		
	
		
			
			| 
				81
			 | 
			
				87
			 | 
			
			
				         84: { 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -118,6 +124,50 @@ $(document).ready(function() { 
			 | 
		
	
		
			
			| 
				118
			 | 
			
				124
			 | 
			
			
				         } 
			 | 
		
	
		
			
			| 
				119
			 | 
			
				125
			 | 
			
			
				     }); 
			 | 
		
	
		
			
			| 
				120
			 | 
			
				126
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
			 | 
			
				127
			 | 
			
			
				+    function highlightResult(which) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				128
			 | 
			
			
				+        return function() { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				129
			 | 
			
			
				+            var current = $('.result[data-vim-selected]'); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				130
			 | 
			
			
				+            if (current.length === 0) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				131
			 | 
			
			
				+                current = $('.result:first'); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				132
			 | 
			
			
				+                if (current.length === 0) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				133
			 | 
			
			
				+                    return; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				134
			 | 
			
			
				+                } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				135
			 | 
			
			
				+            } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				136
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				137
			 | 
			
			
				+            var next; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				138
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				139
			 | 
			
			
				+            if (typeof which !== 'string') { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				140
			 | 
			
			
				+                next = which; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				141
			 | 
			
			
				+            } else { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				142
			 | 
			
			
				+                switch (which) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				143
			 | 
			
			
				+                    // case 'visible': 
			 | 
		
	
		
			
			| 
				
			 | 
			
				144
			 | 
			
			
				+                    // TODO 
			 | 
		
	
		
			
			| 
				
			 | 
			
				145
			 | 
			
			
				+                    case 'down': 
			 | 
		
	
		
			
			| 
				
			 | 
			
				146
			 | 
			
			
				+                        next = current.next('.result'); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				147
			 | 
			
			
				+                        if (next.length === 0) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				148
			 | 
			
			
				+                            next = $('.result:first'); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				149
			 | 
			
			
				+                        } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				150
			 | 
			
			
				+                        break; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				151
			 | 
			
			
				+                    case 'up': 
			 | 
		
	
		
			
			| 
				
			 | 
			
				152
			 | 
			
			
				+                        next = current.prev('.result'); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				153
			 | 
			
			
				+                        if (next.length === 0) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				154
			 | 
			
			
				+                            next = $('.result:last'); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				155
			 | 
			
			
				+                        } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				156
			 | 
			
			
				+                        break; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				157
			 | 
			
			
				+                    case 'bottom': 
			 | 
		
	
		
			
			| 
				
			 | 
			
				158
			 | 
			
			
				+                        next = $('.result:last'); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				159
			 | 
			
			
				+                        break; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				160
			 | 
			
			
				+                    case 'top': 
			 | 
		
	
		
			
			| 
				
			 | 
			
				161
			 | 
			
			
				+                    default: 
			 | 
		
	
		
			
			| 
				
			 | 
			
				162
			 | 
			
			
				+                        next = $('.result:first'); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				163
			 | 
			
			
				+                } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				164
			 | 
			
			
				+            } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				165
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				166
			 | 
			
			
				+            current.removeAttr('data-vim-selected').removeClass('well well-sm'); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				167
			 | 
			
			
				+            next.attr('data-vim-selected', 'true').addClass('well well-sm'); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				168
			 | 
			
			
				+        } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				169
			 | 
			
			
				+    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				170
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				121
			 | 
			
				171
			 | 
			
			
				     function reloadPage() { 
			 | 
		
	
		
			
			| 
				122
			 | 
			
				172
			 | 
			
			
				         document.location.reload(false); 
			 | 
		
	
		
			
			| 
				123
			 | 
			
				173
			 | 
			
			
				     } 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -146,12 +196,14 @@ $(document).ready(function() { 
			 | 
		
	
		
			
			| 
				146
			 | 
			
				196
			 | 
			
			
				     function scrollPage(amount) { 
			 | 
		
	
		
			
			| 
				147
			 | 
			
				197
			 | 
			
			
				         return function() { 
			 | 
		
	
		
			
			| 
				148
			 | 
			
				198
			 | 
			
			
				             window.scrollBy(0, amount); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				199
			 | 
			
			
				+            highlightResult('visible')(); 
			 | 
		
	
		
			
			| 
				149
			 | 
			
				200
			 | 
			
			
				         } 
			 | 
		
	
		
			
			| 
				150
			 | 
			
				201
			 | 
			
			
				     } 
			 | 
		
	
		
			
			| 
				151
			 | 
			
				202
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				152
			 | 
			
				203
			 | 
			
			
				     function scrollPageTo(position) { 
			 | 
		
	
		
			
			| 
				153
			 | 
			
				204
			 | 
			
			
				         return function() { 
			 | 
		
	
		
			
			| 
				154
			 | 
			
				205
			 | 
			
			
				             window.scrollTo(0, position); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				206
			 | 
			
			
				+            highlightResult('visible')(); 
			 | 
		
	
		
			
			| 
				155
			 | 
			
				207
			 | 
			
			
				         } 
			 | 
		
	
		
			
			| 
				156
			 | 
			
				208
			 | 
			
			
				     } 
			 | 
		
	
		
			
			| 
				157
			 | 
			
				209
			 | 
			
			
				  
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -159,13 +211,18 @@ $(document).ready(function() { 
			 | 
		
	
		
			
			| 
				159
			 | 
			
				211
			 | 
			
			
				         $('input#q').focus(); 
			 | 
		
	
		
			
			| 
				160
			 | 
			
				212
			 | 
			
			
				     } 
			 | 
		
	
		
			
			| 
				161
			 | 
			
				213
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				162
			 | 
			
				
			 | 
			
			
				-    function previousResult() { 
			 | 
		
	
		
			
			| 
				163
			 | 
			
				
			 | 
			
			
				-    } 
			 | 
		
	
		
			
			| 
				164
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				165
			 | 
			
				
			 | 
			
			
				-    function nextResult() { 
			 | 
		
	
		
			
			| 
				166
			 | 
			
				
			 | 
			
			
				-    } 
			 | 
		
	
		
			
			| 
				167
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				168
			 | 
			
				214
			 | 
			
			
				     function openResult(newTab) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				215
			 | 
			
			
				+        return function() { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				216
			 | 
			
			
				+            var link = $('.result[data-vim-selected] .result_header a'); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				217
			 | 
			
			
				+            if (link.length) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				218
			 | 
			
			
				+                var url = link.attr('href'); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				219
			 | 
			
			
				+                if (newTab) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				220
			 | 
			
			
				+                    window.open(url); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				221
			 | 
			
			
				+                } else { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				222
			 | 
			
			
				+                    window.location.href = url; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				223
			 | 
			
			
				+                } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				224
			 | 
			
			
				+            } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				225
			 | 
			
			
				+        }; 
			 | 
		
	
		
			
			| 
				169
			 | 
			
				226
			 | 
			
			
				     } 
			 | 
		
	
		
			
			| 
				170
			 | 
			
				227
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				171
			 | 
			
				228
			 | 
			
			
				     function toggleHelp() { 
			 |