new function(){
var w = unsafeWindow;
w.register_hook('AFTER_INIT', function(){
GM_addStyle('.fs-focus{background-color:#888;color:#fff !important}');
GM_addStyle('#right_body,#subs_body{bodrder:2px solid #fff}');
with(w){
register_hook('AFTER_PRINTFEED', function(){
State.focus_subscribe_id = State.now_reading;
});
function get_next_from(sid){
var list = Ordered.list;
if(!list) return;
var offset = list.indexOfStr(sid);
var next = list[offset+1];
return next;
}
function get_prev_from(sid){
var list = Ordered.list;
if(!list) return;
var offset = list.indexOfStr(sid);
var prev = list[offset-1];
return prev;
}
var state = 0;
function subs_focus(id, e){
var el = $('subs_item_' + id);
if(!el) return;
SubsItem.onhover.call(el,e)
if(Config.view_mode != "flat"){
var tvroot = QueryCSS.findParent(function(){
return /^treeview/.test(this.id)
}, el);
var tv = TreeView.get_control(tvroot.id);
tv && tv.open()
}
var sc = $("subs_container");
sc.scrollTop = el.offsetTop - $("subs_container").offsetTop - 64;
sc.scrollLeft = 0;
}
function subs_unfocus(id,e){
var el = $('subs_item_' + id);
if(!el) return;
SubsItem.onunhover.call(el, e);
}
Control.scan_up = function(e){
var current = State.focus_subscribe_id || State.now_reading;
var prev = get_prev_from(current);
if(prev){
if(current){ subs_unfocus(current, e) }
subs_focus(prev, e);
State.focus_subscribe_id = prev;
}
};
Control.scan_down = function(e){
var current = State.focus_subscribe_id || State.now_reading;
var next = get_next_from(current);
if(next){
if(current){ subs_unfocus(current, e) }
subs_focus(next, e);
State.focus_subscribe_id = next;
}
};
Keybind.add('left', function(){
state = 0;
setStyle('subs_body', {
border : '2px dotted #99f'
});
setStyle('right_body', {
border : '2px solid #fff'
})
});
Keybind.add('right', function(){
if(state == 1){ Control.pin(); return }
if(state == 0){
state = 1;
if(State.focus_subscribe_id){
Control.read(State.focus_subscribe_id, Control.prefetch);
}
setStyle('subs_body', {
border : '2px solid #fff'
});
setStyle('right_body', {
border : '2px dotted #99f'
})
}
});
Keybind.add('down', function(){
if(state == 1){ Control.go_next(); return }
Control.scan_down();
});
Keybind.add('up', function(){
if(state == 1){ Control.go_prev(); return }
Control.scan_up();
});
}
});
}