// ==UserScript==
// @name PWE Discussion Manager
// @namespace https://github.com/Eiledon/PWEVC/
// @downloadURL https://github.com/Eiledon/PWEVC/raw/master/PWE_Discussion_Manager.user.js
// @updateURL https://github.com/Eiledon/PWEVC/raw/master/PWE_Discussion_Manager.user.js
// @include http://forum.arcgames.com/*
// @version 0.4.9.1
// @description Adds Autopage (Discussions/Comments/Search Results/Activity, Profiles - Discussions/Comments), Filtering (Discussions) and buttons for Scroll to Top and Bottom
// @grant none
// @copyright 2015, Eiledon. portions of code from Asterelle
// ==/UserScript==
var _sep = "_" ;
var _url = "";
var lastScrollTop = 0, delta = 5;
var triggerdelay = 500;
var _autopagepaused = false;
var _workingimage = "https://cd8ba0b44a15c10065fd-24461f391e20b7336331d5789078af53.ssl.cf1.rackcdn.com/images/progress.gif"; //progress image
//temporary CSS - will be moved to external CSS file after some testing
var _css = "";
_css += ".postfilter { width: 900px; background: rgba(0, 0, 0, 0.3); padding: 2px; margin-right:8px; vertical-align:top; box-shadow: 0px 0px 10px 0px rgba(255,255,255,0.3); } ";
_css += ".postfilter-form { vertical-align:top; white-space:no-wrap; } ";
_css += ".postfilter-form > fieldset { border:none; margin:0; } ";
_css += ".postfilter-grpwrap { border: 1px solid rgba(255,255,255,0.3); margin: 5px; margin-bottom: 10px; vertical-align:top; min-height:140px; } ";
_css += ".postfilter-grp { padding: 5px; width: 280px; vertical-align:top; } ";
_css += ".postfilter-controls .postfilter-chk, .postfilter-rdo, .postfilter-lbl { vertical-align:middle; } ";
_css += ".postfilter-controls > fieldset { border-top:1px solid rgba(255,255,255,0.3); } ";
_css += ".postfilter-inline { float:left; display:inline-block; } ";
_css += ".postfilter-block { display:block; vertical-align:middle; } ";
_css += ".postfilter-chk, .postfilter-rdo { margin-right:2px; } ";
_css += ".postfilter-lbl { margin:2px 0px; } ";
_css += ".postfilter-desc { margin-left:4px; font-weight:bold;} ";
_css += ".resetDMOptions { color: #fff; border-radius : 5px; border: 1px solid rgba(255,255,255,0.3); background: rgba(0, 0, 0, 0.3); margin:5px; float:right; box-shadow: 0px 0px 5px 0px rgba(255,255,255,0.3); } ";
_css += ".resetDMOptions:hover { box-shadow: 0px 0px 5px #FFFFFF; } ";
_css += ".postfilter-chk, .postfilter-rdo, .postfilter-lbl:not(.postfilter-desc), .resetDMOptions { cursor:pointer; } ";
_css += ".enhance-discussion .SpOptions:before { content: \"\\f146\" !important; color: #69CAFE !important; } ";
_css += ".discussionManager { width: 925px; } ";
_css += "#totopbutton { display:inline-block; position: fixed; bottom: 2px; right: 7px; opacity: 0.75; filter:alpha(opacity=75);} ";
_css += "#toendbutton { display:inline-block; position: fixed; top: 10px; right: 7px; opacity: 0.75; filter:alpha(opacity=75);} ";
_css += "#toPage { display:inline-block; float:right; } ";
_css += "#ScrollToPrev, #ScrollToNext, #autopageToggle { display:inline-block; margin-right:5px; opacity: 0.75; filter:alpha(opacity=75);} ";
_css += "#totopbutton:hover, #toendbutton:hover, #ScrollToPrev:hover, #ScrollToNext:hover, #autopageToggle:hover { opacity: 1; filter:alpha(opacity=100); } ";
_css += "#totopbutton .navbutton, #toendbutton .navbutton, #toPage .navbutton {text-align:left; font-family:vanillicon; font-size:32px; font-weight: normal; color:#A7A7A9; text-shadow: 0px 2px 4px black; cursor:pointer;} ";
_css += "#toPage .navbutton {font-size:24px; vertical-align:middle; height: 22px; width: 22px;} ";
_css += "h2 #toPage .navbutton { height: 28px; width: 30px; line-height: 28px; margin-top: -3px; background: transparent linear-gradient(#373A43, #272731) repeat scroll 0% 0%; border-top: 1px solid #44444E; text-align: center; border-radius: 5px; } ";
_css += "h2.CommentHeading[id=firstheader] #toPage .navbutton { margin-top: -14px; }"; //to align with pager
//default values
var pweDiscussionManager = {
"features": [
{
"fname":"fScrollButtons",
"fdesc":"Show Scroll Buttons",
"ftype":"Feature",
"fselector":"fScrollButtons",
"fdefault":"checked"
},
{
"fname":"fAutoPage",
"fdesc":"Use Autopaging",
"ftype":"Feature",
"fselector":"fAutoPage",
"fdefault":"checked"
},
{
"fname":"fFilter",
"fdesc":"Use Filter",
"ftype":"Feature",
"fselector":"fFilter",
"fdefault":"checked"
}
],
"filters": [
{
"fname":"fAnnounce",
"fdesc":"Announcements",
"ftype":"Discussion",
"fselector":"tr.ItemDiscussion:has(span.Tag-Announcement)",
"fdefault":"checked"
},
{
"fname":"fPoll",
"fdesc":"Polls",
"ftype":"Discussion",
"fselector":"tr.ItemDiscussion:has(span.Tag-Poll)",
"fdefault":""
},
{
"fname":"fQuestion",
"fdesc":"Questions",
"ftype":"Discussion",
"fselector":"tr.ItemDiscussion:has(span.QnA-Tag-Question),tr.ItemDiscussion:has(span.QnA-Tag-Answered),tr.ItemDiscussion:has(span.QnA-Tag-Accepted)",
"fdefault":"checked"
},
{
"fname":"fClosed",
"fdesc":"Closed",
"ftype":"Discussion",
"fselector":"tr.ItemDiscussion:has(span.Tag.Tag-Closed)",
"fdefault":""
},
{
"fname":"fNew",
"fdesc":"Unread (New)",
"ftype":"Comment",
"fselector":"tr.Item.New.ItemDiscussion, tr.Item.Unread.ItemDiscussion:not(tr.Participated)",
"fdefault":"checked"
},
{
"fname":"fPUnread",
"fdesc":"Read (New)",
"ftype":"Comment",
"fselector":"tr.Participated.Unread",
"fdefault":"checked"
},
{
"fname":"fRead",
"fdesc":"Read (No New)",
"ftype":"Comment",
"fselector":"tr.Read.ItemDiscussion, tr.Participated.Read.ItemDiscussion",
"fdefault":"checked"
}
]
};
// insert code generates css style to head
var addCSS = function(){ $("").appendTo("head"); };
// add filter and settings dialog
var addFilterForm = function(){
// form opening html
var _formopen = "
";
_formopen += "
Navigation & Filters
";
_formopen += "
";
// section(s) opening html
var _wrapopen = "
";
var _wrapclose = "
";
var _ffeature = "