diff --git a/.gitattributes b/.gitattributes
index 69844f8edcd6dec8f0d55112811b4d6929baade3..661add718310ed0a18d672cb2f796e279973998e 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -37,8 +37,8 @@ init.*			text
 *.pyw 			text
 *.pyx  			text
 
-# Cheetah template
-*.tmpl			text
+# Mako template
+*.mako			text
 
 # Web file
 *.htm text
diff --git a/gui/slick/interfaces/default/comingEpisodes.mako b/gui/slick/interfaces/default/comingEpisodes.mako
index 752493538b45312bc688fae1409af30ef9222bdb..074c3462501a10676264c3c6a93ed9d142786cd6 100644
--- a/gui/slick/interfaces/default/comingEpisodes.mako
+++ b/gui/slick/interfaces/default/comingEpisodes.mako
@@ -238,7 +238,7 @@ $(document).ready(function(){
                 <a href="${sbRoot}/home/searchEpisode?show=${cur_result['showid']}&amp;season=${cur_result['season']}&amp;episode=${cur_result['episode']}" title="Manual Search" id="forceUpdate-${cur_result['showid']}x${cur_result['season']}x${cur_result['episode']}" class="forceUpdate epSearch"><img alt="[search]" height="16" width="16" src="${sbRoot}/images/search16.png" id="forceUpdateImage-${cur_result['showid']}" /></a>
             </td>
         </tr>
-        <!-- end cur_result['show_name'] //-->
+        <!-- end ${cur_result['show_name']} //-->
 % endfor
     </tbody>
 
@@ -460,8 +460,8 @@ $(document).ready(function(){
 
 % if 'calendar' == layout:
 
-##<%today = datetime.date.today()%>
-<% dates = [today + datetime.timedelta(days = i) for i in range(7)] %>
+## <% today = datetime.date.today() %>
+<% dates = [today.date() + datetime.timedelta(days = i) for i in range(7)] %>
 <% tbl_day = 0 %>
 <br>
 <br>
@@ -525,9 +525,7 @@ $(document).ready(function(){
 <div class="clearfix"></div>
 
 <script type="text/javascript" charset="utf-8">
-<!--
 window.setInterval('location.reload(true)', 600000); // Refresh every 10 minutes
-//-->
 </script>
 
 <%include file="/inc_bottom.mako"/>
diff --git a/gui/slick/interfaces/default/config_anime.mako b/gui/slick/interfaces/default/config_anime.mako
index 05878e5d56a562c0b292213b5931d12b8a7d45ff..8ba6a04677e6ad842864e23c0343be93a9ccebf3 100644
--- a/gui/slick/interfaces/default/config_anime.mako
+++ b/gui/slick/interfaces/default/config_anime.mako
@@ -18,7 +18,7 @@
 
                 <ul>
                     <li><a href="#core-component-group1">AnimeDB Settings</a></li>
-                    <li><a href="#core-component-group2">Look & Feel</a></li>
+                    <li><a href="#core-component-group2">Look &amp; Feel</a></li>
                 </ul>
 
                 <div id="core-component-group1" class="tab-pane active component-group">
diff --git a/gui/slick/interfaces/default/config_backuprestore.mako b/gui/slick/interfaces/default/config_backuprestore.mako
index 2ae855669bc86c6c1d885e9cdf0eae4c9f2cb87c..6eaeb3344650cb5c4e57a624bf2e697c61f5f9b0 100644
--- a/gui/slick/interfaces/default/config_backuprestore.mako
+++ b/gui/slick/interfaces/default/config_backuprestore.mako
@@ -87,9 +87,9 @@
 <div class="clearfix"></div>
 
 <script type="text/javascript" charset="utf-8">
-    jQuery('#backupDir').fileBrowser({ title: 'Select backup folder to save to', key: 'backupPath' });
-    jQuery('#backupFile').fileBrowser({ title: 'Select backup files to restore', key: 'backupFile', includeFiles: 1 });
-    jQuery('#config-components').tabs();
+    $('#backupDir').fileBrowser({ title: 'Select backup folder to save to', key: 'backupPath' });
+    $('#backupFile').fileBrowser({ title: 'Select backup files to restore', key: 'backupFile', includeFiles: 1 });
+    $('#config-components').tabs();
 </script>
 
 <%include file="/inc_bottom.mako"/>
diff --git a/gui/slick/interfaces/default/config_general.mako b/gui/slick/interfaces/default/config_general.mako
index b9c3208130fa817010f718bfe7e32d4298010354..6bd2311f867992997c1116ec56967c5f1fadc4f1 100644
--- a/gui/slick/interfaces/default/config_general.mako
+++ b/gui/slick/interfaces/default/config_general.mako
@@ -27,7 +27,6 @@
 <script type="text/javascript" src="${sbRoot}/js/lib/bootstrap-formhelpers.min-2.3.0.js?${sbPID}"></script>
 
 <script type="text/javascript" charset="utf-8">
-    <!--
     $(document).ready(function(){
         if ($("input[name='proxy_setting']").val().length == 0) {
             $("input[id='proxy_indexers']").prop('checked', false);
@@ -43,7 +42,6 @@
             }
         });
     });
-    //-->
 </script>
 
 <div id="config">
@@ -644,7 +642,7 @@
                             <label for="ep_default_deleted_status">
                                 <span class="component-title">Default deleted episode status:</span>
                                     <span class="component-desc">
-% if not sickbeard.SKIP_REMOVED_FILES or (sickbeard.USE_TRAKT and sickbeard.TRAKT_USE_ROLLING_DOWNLOAD):
+% if not sickbeard.SKIP_REMOVED_FILES:
                                         <select name="ep_default_deleted_status" id="ep_default_deleted_status" class="form-control input-sm">
                                         % for defStatus in [ARCHIVED, IGNORED]:
                                             <option value="${defStatus}" ${('', 'selected="selected"')[sickbeard.EP_DEFAULT_DELETED_STATUS == defStatus]}>${statusStrings[defStatus]}</option>
@@ -787,8 +785,8 @@
 <div></div>
 
 <script type="text/javascript" charset="utf-8">
-    jQuery('#log_dir').fileBrowser({ title: 'Select log file folder location' });
-    jQuery('#config-components').tabs();
+    $('#log_dir').fileBrowser({ title: 'Select log file folder location' });
+    $('#config-components').tabs();
 </script>
 
 <%include file="/inc_bottom.mako"/>
diff --git a/gui/slick/interfaces/default/config_notifications.mako b/gui/slick/interfaces/default/config_notifications.mako
index 8c0542e65421e5ca198123350150a134631975d4..099c24bdd81a125543c6942404ecee770c43cbc1 100644
--- a/gui/slick/interfaces/default/config_notifications.mako
+++ b/gui/slick/interfaces/default/config_notifications.mako
@@ -659,7 +659,7 @@
                                 </label>
                                 <label>
                                     <span class="component-title">&nbsp;</span>
-                                    <span class="component-desc">(Messages & Settings > Account & System Information > System Information > DVR name)</span>
+                                    <span class="component-desc">(Messages &amp; Settings > Account &amp; System Information > System Information > DVR name)</span>
                                 </label>
                             </div>
                             <input type="submit" class="config_submitter btn" value="Save Changes" />
@@ -1657,17 +1657,10 @@
                                 <div class="field-pair">
                                     <label for="trakt_start_paused">
                                         <span class="component-title">Start paused</span>
-% if not sickbeard.TRAKT_USE_ROLLING_DOWNLOAD:
                                         <span class="component-desc">
                                             <input type="checkbox" name="trakt_start_paused" id="trakt_start_paused" ${('', 'checked="checked"')[bool(sickbeard.TRAKT_START_PAUSED)]}/>
                                             <p>show's grabbed from your trakt watchlist start paused.</p>
                                         </span>
-% else:
-                                        <span class="component-desc">
-                                            <input type="checkbox" name="trakt_start_paused" id="trakt_start_paused" #${('', 'checked="checked"')[bool(sickbeard.TRAKT_START_PAUSED)]} disabled="disable"/>
-                                            <p>show's grabbed from your trakt watchlist start paused.</p>
-                                        </span>
-% endif
                                     </label>
                                 </div>
                             </div>
@@ -1681,48 +1674,6 @@
                                     <span class="component-desc">Name(slug) of List on Trakt for blacklisting show on 'Add Trending Show' & 'Add Recommended Shows' pages</span>
                                 </label>
                             </div>
-                            <div class="field-pair">
-                                <label for="trakt_use_rolling_download">
-                                    <span class="component-title">Use rolling download</span>
-                                    <span class="component-desc">
-                                        <input type="checkbox" class="enabler" name="trakt_use_rolling_download" id="trakt_use_rolling_download" ${('', 'checked="checked"')[bool(sickbeard.TRAKT_USE_ROLLING_DOWNLOAD)]}/>
-                                        <p>Collect defined number of episodes after last watched one</p>
-                                    </span>
-                                </label>
-                            </div>
-                            <div id="content_trakt_use_rolling_download">
-                                  <div class="field-pair">
-                                    <label for="trakt_rolling_num_ep">
-                                        <span class="component-title">Number of episodes</span>
-                                        <span class="component-desc">
-                                        <input type="number" name="trakt_rolling_num_ep" id="trakt_rolling_num_ep" value="${sickbeard.TRAKT_ROLLING_NUM_EP}" class="form-control input-sm input75"/>
-                                    </label>
-                                    <label>
-                                        <span class="component-title">&nbsp;</span>
-                                        <span class="component-desc">Episodes that Sickrage will download based on the last watched episode</span>
-                                    </label>
-                                </div>
-                                <div class="field-pair">
-                                    <label for="trakt_rolling_frequency">
-                                        <span class="component-title">Rolling frequency check</span>
-                                        <input type="text" name="trakt_rolling_frequency" id="trakt_rolling_frequency" value="${sickbeard.TRAKT_ROLLING_FREQUENCY}" class="form-control input-sm input250" />
-                                    </label>
-                                    <p>
-                                        <span class="component-desc">Hours between check. (Cannot be lower than 4 hours)</span>
-                                    </p>
-                                </div>
-                                  <div class="field-pair">
-                                    <label for="trakt_rolling_add_paused">
-                                        <span class="component-title">Add new show as paused</span>
-                                        <span class="component-desc">
-                                        <input type="checkbox" name="trakt_rolling_add_paused" id="trakt_rolling_add_paused" ${('', 'checked="checked"')[bool(sickbeard.TRAKT_ROLLING_ADD_PAUSED)]}/>
-                                    </label>
-                                    <label>
-                                        <span class="component-title">&nbsp;</span>
-                                        <span class="component-desc">Stop rolling download to start to download episode.</span>
-                                    </label>
-                                </div>
-                            </div>
                             <div class="testNotification" id="testTrakt-result">Click below to test.</div>
                             <input type="button" class="btn" value="Test Trakt" id="testTrakt" />
                             <input type="submit" class="btn config_submitter" value="Save Changes" />
@@ -1882,6 +1833,6 @@
 
 <div class="clearfix"></div>
 <script type="text/javascript" charset="utf-8">
-    jQuery('#config-components').tabs();
+    $('#config-components').tabs();
 </script>
 <%include file="/inc_bottom.mako"/>
diff --git a/gui/slick/interfaces/default/config_postProcessing.mako b/gui/slick/interfaces/default/config_postProcessing.mako
index 05bc981f88b337110d36c1c31dd098a54e1f9b24..1b509883add04b01edbeed973427b9445a3e9b53 100644
--- a/gui/slick/interfaces/default/config_postProcessing.mako
+++ b/gui/slick/interfaces/default/config_postProcessing.mako
@@ -1131,8 +1131,8 @@
 <div class="clearfix"></div>
 
 <script type="text/javascript" charset="utf-8">
-    jQuery('#config-components').tabs();
-    jQuery('#tv_download_dir').fileBrowser({ title: 'Select TV Download Directory' });
+    $('#config-components').tabs();
+    $('#tv_download_dir').fileBrowser({ title: 'Select TV Download Directory' });
 </script>
 
 <%include file="/inc_bottom.mako"/>
diff --git a/gui/slick/interfaces/default/config_providers.mako b/gui/slick/interfaces/default/config_providers.mako
index 4b75373959c23d346ec6ecd4c62d49693342f112..a88ab938b147e4dcb2ab6d32563af09238b4320c 100644
--- a/gui/slick/interfaces/default/config_providers.mako
+++ b/gui/slick/interfaces/default/config_providers.mako
@@ -734,6 +734,6 @@ $(document).ready(function(){
 </div>
 
 <script type="text/javascript" charset="utf-8">
-    jQuery('#config-components').tabs();
+    $('#config-components').tabs();
 </script>
 <%include file="/inc_bottom.mako"/>
diff --git a/gui/slick/interfaces/default/config_search.mako b/gui/slick/interfaces/default/config_search.mako
index 11592fcacf84bb78f9fe91d0ded0e62dd279babe..b6fb9c2424ae95171fd954f1ab1dcfed37c6b75b 100644
--- a/gui/slick/interfaces/default/config_search.mako
+++ b/gui/slick/interfaces/default/config_search.mako
@@ -595,11 +595,11 @@
 <div></div>
 
 <script type="text/javascript" charset="utf-8">
-    jQuery('#config-components').tabs();
-    jQuery('#nzb_dir').fileBrowser({ title: 'Select .nzb black hole/watch location' });
-    jQuery('#torrent_dir').fileBrowser({ title: 'Select .torrent black hole/watch location' });
-    jQuery('#torrent_path').fileBrowser({ title: 'Select .torrent download location' });
-    jQuery('#tv_download_dir').fileBrowser({ title: 'Select TV download location' });
+    $('#config-components').tabs();
+    $('#nzb_dir').fileBrowser({ title: 'Select .nzb black hole/watch location' });
+    $('#torrent_dir').fileBrowser({ title: 'Select .torrent black hole/watch location' });
+    $('#torrent_path').fileBrowser({ title: 'Select .torrent download location' });
+    $('#tv_download_dir').fileBrowser({ title: 'Select TV download location' });
 </script>
 
 <%include file="/inc_bottom.mako"/>
diff --git a/gui/slick/interfaces/default/config_subtitles.mako b/gui/slick/interfaces/default/config_subtitles.mako
index 58243ba97b9f515b3ce66fdfe8be8a0e47e2f854..9e2b3b49aae1fe347d5694fbcaed93bce6c0741a 100644
--- a/gui/slick/interfaces/default/config_subtitles.mako
+++ b/gui/slick/interfaces/default/config_subtitles.mako
@@ -180,7 +180,7 @@
 
 <div class="clearfix"></div>
 <script type="text/javascript" charset="utf-8">
-    jQuery('#config-components').tabs();
-    jQuery('#subtitles_dir').fileBrowser({ title: 'Select Subtitles Download Directory' });
+    $('#config-components').tabs();
+    $('#subtitles_dir').fileBrowser({ title: 'Select Subtitles Download Directory' });
 </script>
 <%include file="/inc_bottom.mako"/>
diff --git a/gui/slick/interfaces/default/editShow.mako b/gui/slick/interfaces/default/editShow.mako
index 6c00f1d9dddcd982dc0c9150cc776e7c3c23498b..be62433ab15b71668ecc0a1b6ba772aa3e8fd306 100644
--- a/gui/slick/interfaces/default/editShow.mako
+++ b/gui/slick/interfaces/default/editShow.mako
@@ -136,7 +136,7 @@ Separate words with a comma, e.g. "word1,word2,word3"<br />
 <script type="text/javascript" charset="utf-8">
     var all_exceptions = new Array;
 
-    jQuery('#location').fileBrowser({ title: 'Select Show Location' });
+    $('#location').fileBrowser({ title: 'Select Show Location' });
 
     $('#submit').click(function(){
         all_exceptions = []
@@ -162,7 +162,7 @@ Separate words with a comma, e.g. "word1,word2,word3"<br />
 
         $('#SceneName').val('')
 
-        if (jQuery.inArray(scene_ex, all_exceptions) > -1 || (scene_ex == ''))
+        if ($.inArray(scene_ex, all_exceptions) > -1 || (scene_ex == ''))
             return
 
         $("#SceneException").show()
diff --git a/gui/slick/interfaces/default/home.mako b/gui/slick/interfaces/default/home.mako
index ffad9f1582a9d1536efd638f88e9e70e05f5e33f..909aadb0479e16ebb790f771f6f3cc9b1b570898 100644
--- a/gui/slick/interfaces/default/home.mako
+++ b/gui/slick/interfaces/default/home.mako
@@ -306,7 +306,7 @@ $(document).ready(function(){
     <% fuzzydate = 'airdate' %>
     % if sickbeard.FUZZY_DATING:
     fuzzyMoment({
-        dtInline : ${('true', 'false')[sickbeard.HOME_LAYOUT == 'poster']},
+        dtInline : ${('true', 'false')[layout == 'poster']},
         containerClass : '.${fuzzydate}',
         dateHasTime : false,
         dateFormat : '${sickbeard.DATE_PRESET}',
@@ -317,7 +317,7 @@ $(document).ready(function(){
 
     var $container = [$('#container'), $('#container-anime')];
 
-    jQuery.each($container, function (j) {
+    $.each($container, function (j) {
         this.isotope({
             itemSelector: '.show',
             sortBy : '${sickbeard.POSTER_SORTBY}',
@@ -394,10 +394,10 @@ $(document).ready(function(){
     % endif
     <span> Layout:
         <select name="layout" class="form-control form-control-inline input-sm" onchange="location = this.options[this.selectedIndex].value;">
-            <option value="${sbRoot}/setHomeLayout/?layout=poster" ${('', 'selected="selected"')[sickbeard.HOME_LAYOUT == 'poster']}>Poster</option>
-            <option value="${sbRoot}/setHomeLayout/?layout=small" ${('', 'selected="selected"')[sickbeard.HOME_LAYOUT == 'small']}>Small Poster</option>
-            <option value="${sbRoot}/setHomeLayout/?layout=banner" ${('', 'selected="selected"')[sickbeard.HOME_LAYOUT == 'banner']}>Banner</option>
-            <option value="${sbRoot}/setHomeLayout/?layout=simple" ${('', 'selected="selected"')[sickbeard.HOME_LAYOUT == 'simple']}>Simple</option>
+            <option value="${sbRoot}/setHomeLayout/?layout=poster" ${('', 'selected="selected"')[layout == 'poster']}>Poster</option>
+            <option value="${sbRoot}/setHomeLayout/?layout=small" ${('', 'selected="selected"')[layout == 'small']}>Small Poster</option>
+            <option value="${sbRoot}/setHomeLayout/?layout=banner" ${('', 'selected="selected"')[layout == 'banner']}>Banner</option>
+            <option value="${sbRoot}/setHomeLayout/?layout=simple" ${('', 'selected="selected"')[layout == 'simple']}>Simple</option>
         </select>
         % if layout != 'poster':
         Search:
@@ -815,11 +815,7 @@ $(document).ready(function(){
         </td>
 
         <td align="center">
-% if sickbeard.TRAKT_USE_ROLLING_DOWNLOAD and sickbeard.USE_TRAKT:
-            <img src="${sbRoot}/images/${('no16.png", alt="No"', 'yes16.png", alt="Yes"')[int(curShow.paused) == 0]} width="16" height="16" />
-% else:
             <img src="${sbRoot}/images/${('no16.png", alt="No"', 'yes16.png", alt="Yes"')[int(curShow.paused) == 0 and curShow.status == 'Continuing']} width="16" height="16" />
-% endif
         </td>
 
         <td align="center">
diff --git a/gui/slick/interfaces/default/home_postprocess.mako b/gui/slick/interfaces/default/home_postprocess.mako
index e57294027480689ef3f66bafebc6a27d4934d0ae..4295d170cc28e9a4ef5b20d05a4f4b3e674a5f33 100644
--- a/gui/slick/interfaces/default/home_postprocess.mako
+++ b/gui/slick/interfaces/default/home_postprocess.mako
@@ -75,7 +75,7 @@
     </form>
 
 <script type="text/javascript" charset="utf-8">
-    jQuery('#episodeDir').fileBrowser({ title: 'Select Unprocessed Episode Folder', key: 'postprocessPath' });
+    $('#episodeDir').fileBrowser({ title: 'Select Unprocessed Episode Folder', key: 'postprocessPath' });
 </script>
 </div>
 
diff --git a/gui/slick/interfaces/default/home_recommendedShows.mako b/gui/slick/interfaces/default/home_recommendedShows.mako
index be633c5e3ce17c998375095faee14604a6241412..afa0373b570c0564893afe17e4fa3c5a64705bb6 100644
--- a/gui/slick/interfaces/default/home_recommendedShows.mako
+++ b/gui/slick/interfaces/default/home_recommendedShows.mako
@@ -18,7 +18,7 @@ $(document).ready(function(){
     $('#showsortdirection').val('asc');
 
     var $container = [$('#container')];
-    jQuery.each($container, function (j) {
+    $.each($container, function (j) {
         this.isotope({
             itemSelector: '.trakt_show',
             sortBy: 'original-order',
diff --git a/gui/slick/interfaces/default/home_trendingShows.mako b/gui/slick/interfaces/default/home_trendingShows.mako
index 948459bde6b93fbf9858f8dc9cb80b1230ecd748..7091d17a20bc4a5fa88e4aa83eccb3e8b3f87841 100644
--- a/gui/slick/interfaces/default/home_trendingShows.mako
+++ b/gui/slick/interfaces/default/home_trendingShows.mako
@@ -25,7 +25,7 @@ $(document).ready(function(){
     $('#showsortdirection').val('asc');
 
     var $container = [$('#container')];
-    jQuery.each($container, function (j) {
+    $.each($container, function (j) {
         this.isotope({
             itemSelector: '.trakt_show',
             sortBy: 'original-order',
diff --git a/gui/slick/interfaces/default/inc_top.mako b/gui/slick/interfaces/default/inc_top.mako
index be2a5cdb8f68ee006e1f518a9c598dd20d1625e0..a5ede60447b25de329231aaade64f0e18d25bb6b 100644
--- a/gui/slick/interfaces/default/inc_top.mako
+++ b/gui/slick/interfaces/default/inc_top.mako
@@ -91,52 +91,50 @@
         <script type="text/javascript" src="${sbRoot}/js/ajaxNotifications.js"></script>
         <script type="text/javascript">
             function initActions() {
-                $("#SubMenu a[href*='/home/restart/']").addClass('btn restart').html('<span class="submenu-icon-restart pull-left"></span> Restart');
-                $("#SubMenu a[href*='/home/shutdown/']").addClass('btn shutdown').html('<span class="submenu-icon-shutdown pull-left"></span> Shutdown');
-                $("#SubMenu a[href*='/home/logout/']").addClass('btn').html('<span class="ui-icon ui-icon-power pull-left"></span> Logout');
-                $("#SubMenu a:contains('Edit')").addClass('btn').html('<span class="ui-icon ui-icon-pencil pull-left"></span> Edit');
-                $("#SubMenu a:contains('Remove')").addClass('btn remove').html('<span class="ui-icon ui-icon-trash pull-left"></span> Remove');
-                $("#SubMenu a:contains('Clear History')").addClass('btn clearhistory').html('<span class="ui-icon ui-icon-trash pull-left"></span> Clear History');
-                $("#SubMenu a:contains('Trim History')").addClass('btn trimhistory').html('<span class="ui-icon ui-icon-trash pull-left"></span> Trim History');
-                $("#SubMenu a[href$='/errorlogs/clearerrors/']").addClass('btn').html('<span class="ui-icon ui-icon-trash pull-left"></span> Clear Errors');
-                $("#SubMenu a[href$='/errorlogs/submit_errors/']").addClass('btn').html('<span class="ui-icon ui-icon-arrowreturnthick-1-n pull-left"></span> Submit Errors');
-                $("#SubMenu a:contains('Re-scan')").addClass('btn').html('<span class="ui-icon ui-icon-refresh pull-left"></span> Re-scan');
-                $("#SubMenu a:contains('Backlog Overview')").addClass('btn').html('<span class="ui-icon ui-icon-refresh pull-left"></span> Backlog Overview');
-                $("#SubMenu a[href$='/home/updatePLEX/']").addClass('btn').html('<span class="ui-icon ui-icon-refresh pull-left"></span> Update PLEX');
-                $("#SubMenu a:contains('Force')").addClass('btn').html('<span class="ui-icon ui-icon-transfer-e-w pull-left"></span> Force Full Update');
-                $("#SubMenu a:contains('Rename')").addClass('btn').html('<span class="ui-icon ui-icon-tag pull-left"></span> Preview Rename');
-                $("#SubMenu a[href$='/config/subtitles/']").addClass('btn').html('<span class="ui-icon ui-icon-comment pull-left"></span> Search Subtitles');
-                $("#SubMenu a[href*='/home/subtitleShow']").addClass('btn').html('<span class="ui-icon ui-icon-comment pull-left"></span> Download Subtitles');
-                $("#SubMenu a:contains('Anime')").addClass('btn').html('<span class="submenu-icon-anime pull-left"></span> Anime');
-                $("#SubMenu a:contains('Settings')").addClass('btn').html('<span class="ui-icon ui-icon-search pull-left"></span> Search Settings');
-                $("#SubMenu a:contains('Provider')").addClass('btn').html('<span class="ui-icon ui-icon-search pull-left"></span> Search Providers');
-                $("#SubMenu a:contains('Backup/Restore')").addClass('btn').html('<span class="ui-icon ui-icon-gear pull-left"></span> Backup/Restore');
-                $("#SubMenu a:contains('General')").addClass('btn').html('<span class="ui-icon ui-icon-gear pull-left"></span> General');
-                $("#SubMenu a:contains('Episode Status')").addClass('btn').html('<span class="ui-icon ui-icon-transferthick-e-w pull-left"></span> Episode Status Management');
-                $("#SubMenu a:contains('Missed Subtitle')").addClass('btn').html('<span class="ui-icon ui-icon-transferthick-e-w pull-left"></span> Missed Subtitles');
-                $("#SubMenu a[href$='/home/addShows/']").addClass('btn').html('<span class="ui-icon ui-icon-video pull-left"></span> Add Show');
-                $("#SubMenu a:contains('Processing')").addClass('btn').html('<span class="ui-icon ui-icon-folder-open pull-left"></span> Post-Processing');
-                $("#SubMenu a:contains('Manage Searches')").addClass('btn').html('<span class="ui-icon ui-icon-search pull-left"></span> Manage Searches');
-                $("#SubMenu a:contains('Manage Torrents')").addClass('btn').html('<span class="submenu-icon-bittorrent pull-left"></span> Manage Torrents');
-                $("#SubMenu a[href$='/manage/failedDownloads/']").addClass('btn').html('<span class="submenu-icon-failed-download pull-left"></span> Failed Downloads');
-                $("#SubMenu a:contains('Notification')").addClass('btn').html('<span class="ui-icon ui-icon-note pull-left"></span> Notifications');
-                $("#SubMenu a:contains('Update show in KODI')").addClass('btn').html('<span class="submenu-icon-kodi pull-left"></span> Update show in KODI');
-                $("#SubMenu a[href$='/home/updateKODI/']").addClass('btn').html('<span class="submenu-icon-kodi pull-left"></span> Update KODI');
-                $("#SubMenu a:contains('Update show in Emby')").addClass('btn').html('<span class="ui-icon ui-icon-refresh pull-left"></span> Update show in Emby');
-                $("#SubMenu a[href$='/home/updateEMBY/']").addClass('btn').html('<span class="ui-icon ui-icon-refresh pull-left"></span> Update Emby');
-                $("#SubMenu a:contains('Pause')").addClass('btn').html('<span class="ui-icon ui-icon-pause pull-left"></span> Pause');
-                $("#SubMenu a:contains('Resume')").addClass('btn').html('<span class="ui-icon ui-icon-play pull-left"></span> Resume');
+                $("#SubMenu a[href*='/home/restart/']").addClass('restart').html('<span class="submenu-icon-restart"></span> Restart');
+                $("#SubMenu a[href*='/home/shutdown/']").addClass('shutdown').html('<span class="submenu-icon-shutdown"></span> Shutdown');
+                $("#SubMenu a[href*='/home/logout/']").html('<span class="ui-icon ui-icon-power"></span> Logout');
+                $("#SubMenu a:contains('Edit')").html('<span class="ui-icon ui-icon-pencil"></span> Edit');
+                $("#SubMenu a:contains('Remove')").addClass('remove').html('<span class="ui-icon ui-icon-trash"></span> Remove');
+                $("#SubMenu a:contains('Clear History')").addClass('clearhistory').html('<span class="ui-icon ui-icon-trash"></span> Clear History');
+                $("#SubMenu a:contains('Trim History')").addClass('trimhistory').html('<span class="ui-icon ui-icon-trash"></span> Trim History');
+                $("#SubMenu a[href$='/errorlogs/clearerrors/']").html('<span class="ui-icon ui-icon-trash"></span> Clear Errors');
+                $("#SubMenu a[href$='/errorlogs/submit_errors/']").html('<span class="ui-icon ui-icon-arrowreturnthick-1-n"></span> Submit Errors');
+                $("#SubMenu a:contains('Re-scan')").html('<span class="ui-icon ui-icon-refresh"></span> Re-scan');
+                $("#SubMenu a:contains('Backlog Overview')").html('<span class="ui-icon ui-icon-refresh"></span> Backlog Overview');
+                $("#SubMenu a[href$='/home/updatePLEX/']").html('<span class="ui-icon ui-icon-refresh"></span> Update PLEX');
+                $("#SubMenu a:contains('Force')").html('<span class="ui-icon ui-icon-transfer-e-w"></span> Force Full Update');
+                $("#SubMenu a:contains('Rename')").html('<span class="ui-icon ui-icon-tag"></span> Preview Rename');
+                $("#SubMenu a[href$='/config/subtitles/']").html('<span class="ui-icon ui-icon-comment"></span> Search Subtitles');
+                $("#SubMenu a[href*='/home/subtitleShow']").html('<span class="ui-icon ui-icon-comment"></span> Download Subtitles');
+                $("#SubMenu a:contains('Anime')").html('<span class="submenu-icon-anime"></span> Anime');
+                $("#SubMenu a:contains('Settings')").html('<span class="ui-icon ui-icon-search"></span> Search Settings');
+                $("#SubMenu a:contains('Provider')").html('<span class="ui-icon ui-icon-search"></span> Search Providers');
+                $("#SubMenu a:contains('Backup/Restore')").html('<span class="ui-icon ui-icon-gear"></span> Backup/Restore');
+                $("#SubMenu a:contains('General')").html('<span class="ui-icon ui-icon-gear"></span> General');
+                $("#SubMenu a:contains('Episode Status')").html('<span class="ui-icon ui-icon-transferthick-e-w"></span> Episode Status Management');
+                $("#SubMenu a:contains('Missed Subtitle')").html('<span class="ui-icon ui-icon-transferthick-e-w"></span> Missed Subtitles');
+                $("#SubMenu a[href$='/home/addShows/']").html('<span class="ui-icon ui-icon-video"></span> Add Show');
+                $("#SubMenu a:contains('Processing')").html('<span class="ui-icon ui-icon-folder-open"></span> Post-Processing');
+                $("#SubMenu a:contains('Manage Searches')").html('<span class="ui-icon ui-icon-search"></span> Manage Searches');
+                $("#SubMenu a:contains('Manage Torrents')").html('<span class="submenu-icon-bittorrent"></span> Manage Torrents');
+                $("#SubMenu a[href$='/manage/failedDownloads/']").html('<span class="submenu-icon-failed-download"></span> Failed Downloads');
+                $("#SubMenu a:contains('Notification')").html('<span class="ui-icon ui-icon-note"></span> Notifications');
+                $("#SubMenu a:contains('Update show in KODI')").html('<span class="submenu-icon-kodi"></span> Update show in KODI');
+                $("#SubMenu a[href$='/home/updateKODI/']").html('<span class="submenu-icon-kodi"></span> Update KODI');
+                $("#SubMenu a:contains('Update show in Emby')").html('<span class="ui-icon ui-icon-refresh"></span> Update show in Emby');
+                $("#SubMenu a[href$='/home/updateEMBY/']").html('<span class="ui-icon ui-icon-refresh"></span> Update Emby');
+                $("#SubMenu a:contains('Pause')").html('<span class="ui-icon ui-icon-pause"></span> Pause');
+                $("#SubMenu a:contains('Resume')").html('<span class="ui-icon ui-icon-play"></span> Resume');
+
+                $('#SubMenu a span').addClass('pull-left');
 
             };
 
             $(document).ready(function() {
-
                 initActions();
 
-                $("#NAV${topmenu}").addClass("active");
-
                 $('.dropdown-toggle').dropdownHover();
-
             });
         </script>
     <script type="text/javascript" src="${sbRoot}/js/confirmations.js?${sbPID}"></script>
@@ -159,25 +157,25 @@
             % if sbLogin:
                 <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                     <ul class="nav navbar-nav navbar-right">
-                        <li id="NAVnews">
+                        <li id="NAVnews" ${('', 'class="active"')[topmenu == 'news']}>
                             <a href="${sbRoot}/news/">News</a>
                         </li>
-                        <li id="NAVnews">
+                        <li id="NAVirc" ${('', 'class="active"')[topmenu == 'irc']}>
                             <a href="${sbRoot}/IRC/">IRC</a>
                         </li>
-                        <li id="NAVhome">
+                        <li id="NAVhome" ${('', 'class="active"')[topmenu == 'home']}>
                             <a href="${sbRoot}/home/">Shows</a>
                         </li>
 
-                        <li id="NAVcomingEpisodes">
+                        <li id="NAVcomingEpisodes" ${('', 'class="active"')[topmenu == 'comingEpisodes']}>
                             <a href="${sbRoot}/comingEpisodes/">Coming Episodes</a>
                         </li>
 
-                        <li id="NAVhistory">
+                        <li id="NAVhistory" ${('', 'class="active"')[topmenu == 'history']}>
                             <a href="${sbRoot}/history/">History</a>
                         </li>
 
-                        <li id="NAVmanage" class="dropdown">
+                        <li id="NAVmanage" class="dropdown ${('', 'active')[topmenu == 'manage']}">
                             <a href="${sbRoot}/manage/" class="dropdown-toggle" data-toggle="dropdown">Manage <b class="caret"></b></a>
                             <ul class="dropdown-menu">
                                 <li><a href="${sbRoot}/manage/"><i class="menu-icon-manage"></i>&nbsp;Mass Update</a></li>
@@ -205,7 +203,7 @@
                             </ul>
                         </li>
 
-                        <li id="NAVerrorlogs" class="dropdown">
+                        <li id="NAVerrorlogs" class="dropdown" ${('', 'class="active"')[topmenu == 'errorlogs']}>
                             <a href="${sbRoot}/errorlogs/" class="dropdown-toggle" data-toggle="dropdown">${logPageTitle} <b class="caret"></b></a>
                             <ul class="dropdown-menu">
                                 <li><a href="${sbRoot}/errorlogs/"><i class="menu-icon-viewlog-errors"></i>&nbsp;View Log (Errors)</a></li>
@@ -213,7 +211,7 @@
                             </ul>
                         </li>
 
-                        <li id="NAVconfig" class="dropdown">
+                        <li id="NAVconfig" class="dropdown" ${('', 'class="active"')[topmenu == 'config']}>
                             <a href="${sbRoot}/config/" class="dropdown-toggle" data-toggle="dropdown"><img src="${sbRoot}/images/menu/system18.png" class="navbaricon hidden-xs" /><b class="caret hidden-xs"></b><span class="visible-xs">Config <b class="caret"></b></span></a>
                             <ul class="dropdown-menu">
                                 <li><a href="${sbRoot}/config/"><i class="menu-icon-help"></i>&nbsp;Help &amp; Info</a></li>
@@ -263,7 +261,7 @@
                           <% inner_first = False %>
                       % endfor
                   % else:
-                      <a href="${sbRoot}/${menuItem['path']}" ${("", "class=\"confirm\"")['confirm' in menuItem]}>${menuItem['title']}</a>
+                      <a href="${sbRoot}/${menuItem['path']}" class="btn${('', ' confirm')['confirm' in menuItem]}">${menuItem['title']}</a>
                       <% first = False %>
                   % endif
             % endif
diff --git a/gui/slick/interfaces/default/manage_manageSearches.mako b/gui/slick/interfaces/default/manage_manageSearches.mako
index aed40d90a160f2d2a0794a1e17c0b9b72d8ae94f..030baefaa4b14cf1ed826c3ec8d9fc7538277369 100644
--- a/gui/slick/interfaces/default/manage_manageSearches.mako
+++ b/gui/slick/interfaces/default/manage_manageSearches.mako
@@ -27,11 +27,7 @@
 
 <h3>Daily Search:</h3>
 <a class="btn" href="${sbRoot}/manage/manageSearches/forceSearch"><i class="icon-exclamation-sign"></i> Force</a>
-% if not dailySearchStatus:
-    Not in progress<br />
-% else:
-    In Progress<br />
-% endif
+${('Not in progress', 'In Progress')[dailySearchStatus]}<br />
 <br />
 
 <h3>Find Propers Search:</h3>
diff --git a/gui/slick/interfaces/default/manage_massEdit.mako b/gui/slick/interfaces/default/manage_massEdit.mako
index fc6250eb8762d459ec78bfb88920798d4a51d5a3..26e2df65cc2f3619824c2ac617123f96838f9ffd 100644
--- a/gui/slick/interfaces/default/manage_massEdit.mako
+++ b/gui/slick/interfaces/default/manage_massEdit.mako
@@ -191,6 +191,6 @@
 <br />
 
 <script type="text/javascript" charset="utf-8">
-    jQuery('#location').fileBrowser({ title: 'Select Show Location' });
+    $('#location').fileBrowser({ title: 'Select Show Location' });
 </script>
 <%include file="/inc_bottom.mako"/>
diff --git a/gui/slick/interfaces/default/manage_torrents.mako b/gui/slick/interfaces/default/manage_torrents.mako
index e48b4f133a9139282827bc8415e8c27b6124b734..f4800653e916642807d05ce4682cb9acd00d45d7 100644
--- a/gui/slick/interfaces/default/manage_torrents.mako
+++ b/gui/slick/interfaces/default/manage_torrents.mako
@@ -1,13 +1,8 @@
-<%!
-    import sickbeard
-    import datetime
-    from sickbeard.common import *
-%>
 <%include file="/inc_top.mako"/>
 <script type="text/javascript" src="${sbRoot}/js/plotTooltip.js?${sbPID}"></script>
 % if not header is UNDEFINED:
     <h1 class="header">${header}</h1>
-% else;
+% else:
     <h1 class="title">${title}</h1>
 % endif
 
diff --git a/gui/slick/interfaces/default/restart_bare.mako b/gui/slick/interfaces/default/restart_bare.mako
index f7a202b5adbaafdcb2e0c8052c8de3834f2430d5..f58307f771d46d8d1c788d9aef1a5c21af73465a 100644
--- a/gui/slick/interfaces/default/restart_bare.mako
+++ b/gui/slick/interfaces/default/restart_bare.mako
@@ -22,7 +22,7 @@ sbDefaultPage = "${sbDefaultPage}";
 </script>
 
 <script type="text/javascript" src="${sbRoot}/js/lib/jquery-1.11.2.min.js?${sbPID}"></script>
-<script type="text/javascript" src="${sbRoot}/js/restart.js?${sbPID}&${sbDefaultPage}"></script>
+<script type="text/javascript" src="${sbRoot}/js/restart.js?${sbPID}&amp;${sbDefaultPage}"></script>
 
 <% themeSpinner = ('', '-dark')['dark' == themeSpinner] %>
 <h2>Performing Restart</h2>
diff --git a/gui/slick/interfaces/default/status.mako b/gui/slick/interfaces/default/status.mako
index 8f8382dcab4b8d7a14979ce20fa82ba24723ab22..7be146ff6ea67f7a4ace1132d89cbf05d887aacb 100644
--- a/gui/slick/interfaces/default/status.mako
+++ b/gui/slick/interfaces/default/status.mako
@@ -23,7 +23,6 @@
         'Post Process': 'autoPostProcesserScheduler',
         'Subtitles Finder': 'subtitlesFinderScheduler',
         'Trakt Checker': 'traktCheckerScheduler',
-        'Trakt Rolling': 'traktRollingScheduler',
     }
 %>
 
diff --git a/gui/slick/interfaces/default/trendingShows.mako b/gui/slick/interfaces/default/trendingShows.mako
index 46401a085a8fb1749748fc43d2d8095687d9ac37..ce1cc030347d1d665569f48da19c3161a7e590a8 100644
--- a/gui/slick/interfaces/default/trendingShows.mako
+++ b/gui/slick/interfaces/default/trendingShows.mako
@@ -15,7 +15,7 @@ $(document).ready(function(){
     $('#showsortdirection').val('asc');
 
     var $container = [$('#container')];
-    jQuery.each($container, function (j) {
+    $.each($container, function (j) {
         this.isotope({
             itemSelector: '.trakt_show',
             sortBy: 'original-order',
diff --git a/sickbeard/__init__.py b/sickbeard/__init__.py
index ad34a71150232b98d2128a950d6fb73997d383eb..ef33f107b995277d1d2e8170eb0c48f6376e0a63 100644
--- a/sickbeard/__init__.py
+++ b/sickbeard/__init__.py
@@ -101,7 +101,6 @@ properFinderScheduler = None
 autoPostProcesserScheduler = None
 subtitlesFinderScheduler = None
 traktCheckerScheduler = None
-traktRollingScheduler = None
 
 showList = None
 loadingShowList = None
@@ -447,10 +446,6 @@ TRAKT_SYNC_REMOVE = False
 TRAKT_DEFAULT_INDEXER = None
 TRAKT_TIMEOUT = None
 TRAKT_BLACKLIST_NAME = None
-TRAKT_USE_ROLLING_DOWNLOAD = None
-TRAKT_ROLLING_NUM_EP = None
-TRAKT_ROLLING_ADD_PAUSED = None
-TRAKT_ROLLING_FREQUENCY = None
 
 USE_PYTIVO = False
 PYTIVO_NOTIFY_ONSNATCH = False
@@ -565,7 +560,7 @@ def initialize(consoleLogging=True):
             TORRENT_USERNAME, TORRENT_PASSWORD, TORRENT_HOST, TORRENT_PATH, TORRENT_SEED_TIME, TORRENT_PAUSED, TORRENT_HIGH_BANDWIDTH, TORRENT_LABEL, TORRENT_LABEL_ANIME, TORRENT_VERIFY_CERT, TORRENT_RPCURL, TORRENT_AUTH_TYPE, \
             USE_KODI, KODI_ALWAYS_ON, KODI_NOTIFY_ONSNATCH, KODI_NOTIFY_ONDOWNLOAD, KODI_NOTIFY_ONSUBTITLEDOWNLOAD, KODI_UPDATE_FULL, KODI_UPDATE_ONLYFIRST, \
             KODI_UPDATE_LIBRARY, KODI_HOST, KODI_USERNAME, KODI_PASSWORD, BACKLOG_FREQUENCY, \
-            USE_TRAKT, TRAKT_USERNAME, TRAKT_ACCESS_TOKEN, TRAKT_REFRESH_TOKEN, TRAKT_REMOVE_WATCHLIST, TRAKT_SYNC_WATCHLIST, TRAKT_REMOVE_SHOW_FROM_SICKRAGE, TRAKT_METHOD_ADD, TRAKT_START_PAUSED, traktCheckerScheduler, traktRollingScheduler, TRAKT_USE_RECOMMENDED, TRAKT_SYNC, TRAKT_SYNC_REMOVE, TRAKT_DEFAULT_INDEXER, TRAKT_REMOVE_SERIESLIST, TRAKT_TIMEOUT, TRAKT_BLACKLIST_NAME, TRAKT_USE_ROLLING_DOWNLOAD, TRAKT_ROLLING_NUM_EP, TRAKT_ROLLING_ADD_PAUSED, TRAKT_ROLLING_FREQUENCY, USE_IMDB_POPULAR, \
+            USE_TRAKT, TRAKT_USERNAME, TRAKT_ACCESS_TOKEN, TRAKT_REFRESH_TOKEN, TRAKT_REMOVE_WATCHLIST, TRAKT_SYNC_WATCHLIST, TRAKT_REMOVE_SHOW_FROM_SICKRAGE, TRAKT_METHOD_ADD, TRAKT_START_PAUSED, traktCheckerScheduler, TRAKT_USE_RECOMMENDED, TRAKT_SYNC, TRAKT_SYNC_REMOVE, TRAKT_DEFAULT_INDEXER, TRAKT_REMOVE_SERIESLIST, TRAKT_TIMEOUT, TRAKT_BLACKLIST_NAME, USE_IMDB_POPULAR, \
             USE_PLEX, PLEX_NOTIFY_ONSNATCH, PLEX_NOTIFY_ONDOWNLOAD, PLEX_NOTIFY_ONSUBTITLEDOWNLOAD, PLEX_UPDATE_LIBRARY, USE_PLEX_CLIENT, PLEX_CLIENT_USERNAME, PLEX_CLIENT_PASSWORD, \
             PLEX_SERVER_HOST, PLEX_SERVER_TOKEN, PLEX_HOST, PLEX_USERNAME, PLEX_PASSWORD, DEFAULT_BACKLOG_FREQUENCY, MIN_BACKLOG_FREQUENCY, BACKLOG_STARTUP, SKIP_REMOVED_FILES, \
             USE_EMBY, EMBY_HOST, EMBY_APIKEY, \
@@ -1059,12 +1054,6 @@ def initialize(consoleLogging=True):
         TRAKT_DEFAULT_INDEXER = check_setting_int(CFG, 'Trakt', 'trakt_default_indexer', 1)
         TRAKT_TIMEOUT = check_setting_int(CFG, 'Trakt', 'trakt_timeout', 30)
         TRAKT_BLACKLIST_NAME = check_setting_str(CFG, 'Trakt', 'trakt_blacklist_name', '')
-        TRAKT_USE_ROLLING_DOWNLOAD = bool(check_setting_int(CFG, 'Trakt', 'trakt_use_rolling_download', 0))
-        TRAKT_ROLLING_NUM_EP = check_setting_int(CFG, 'Trakt', 'trakt_rolling_num_ep', 0)
-        TRAKT_ROLLING_ADD_PAUSED = check_setting_int(CFG, 'Trakt', 'trakt_rolling_add_paused', 1)
-        TRAKT_ROLLING_FREQUENCY = check_setting_int(CFG, 'Trakt', 'trakt_rolling_frequency', 8)
-        if TRAKT_ROLLING_FREQUENCY < 4:
-            TRAKT_ROLLING_FREQUENCY = 4
 
         USE_IMDB_POPULAR = bool(check_setting_int(CFG, 'IMDB', 'use_imdb_popular', 1))
 
@@ -1398,11 +1387,6 @@ def initialize(consoleLogging=True):
                                                     threadName="TRAKTCHECKER",
                                                     silent=not USE_TRAKT)
 
-        traktRollingScheduler = scheduler.Scheduler(traktChecker.TraktRolling(),
-                                                    cycleTime=datetime.timedelta(hours=TRAKT_ROLLING_FREQUENCY),
-                                                    threadName="TRAKTROLLING",
-                                                    silent=not TRAKT_USE_ROLLING_DOWNLOAD)
-
         subtitlesFinderScheduler = scheduler.Scheduler(subtitles.SubtitlesFinder(),
                                                        cycleTime=datetime.timedelta(hours=SUBTITLES_FINDER_FREQUENCY),
                                                        threadName="FINDSUBTITLES",
@@ -1419,7 +1403,7 @@ def start():
     global __INITIALIZED__, backlogSearchScheduler, \
         showUpdateScheduler, versionCheckScheduler, showQueueScheduler, \
         properFinderScheduler, autoPostProcesserScheduler, searchQueueScheduler, \
-        subtitlesFinderScheduler, USE_SUBTITLES, traktCheckerScheduler, traktRollingScheduler,  \
+        subtitlesFinderScheduler, USE_SUBTITLES, traktCheckerScheduler,  \
         dailySearchScheduler, events, started
 
     with INIT_LOCK:
@@ -1487,15 +1471,6 @@ def start():
                 traktCheckerScheduler.silent = True
             traktCheckerScheduler.start()
 
-            # start the trakt checker
-            if TRAKT_USE_ROLLING_DOWNLOAD and USE_TRAKT:
-                traktRollingScheduler.silent = False
-                traktRollingScheduler.enable = True
-            else:
-                traktRollingScheduler.enable = False
-                traktRollingScheduler.silent = True
-            traktRollingScheduler.start()
-
             started = True
 
 
@@ -1503,7 +1478,7 @@ def halt():
     global __INITIALIZED__, backlogSearchScheduler, \
         showUpdateScheduler, versionCheckScheduler, showQueueScheduler, \
         properFinderScheduler, autoPostProcesserScheduler, searchQueueScheduler, \
-        subtitlesFinderScheduler, traktCheckerScheduler, traktRollingScheduler, \
+        subtitlesFinderScheduler, traktCheckerScheduler, \
         dailySearchScheduler, events, started
 
     with INIT_LOCK:
@@ -1575,13 +1550,6 @@ def halt():
             except Exception:
                 pass
 
-            traktRollingScheduler.stop.set()
-            logger.log(u"Waiting for the TRAKTROLLING thread to exit")
-            try:
-                traktRollingScheduler.join(10)
-            except Exception:
-                pass
-
             properFinderScheduler.stop.set()
             logger.log(u"Waiting for the PROPERFINDER thread to exit")
             try:
@@ -2045,10 +2013,6 @@ def save_config():
     new_config['Trakt']['trakt_default_indexer'] = int(TRAKT_DEFAULT_INDEXER)
     new_config['Trakt']['trakt_timeout'] = int(TRAKT_TIMEOUT)
     new_config['Trakt']['trakt_blacklist_name'] = TRAKT_BLACKLIST_NAME
-    new_config['Trakt']['trakt_use_rolling_download'] = int(TRAKT_USE_ROLLING_DOWNLOAD)
-    new_config['Trakt']['trakt_rolling_num_ep'] = int(TRAKT_ROLLING_NUM_EP)
-    new_config['Trakt']['trakt_rolling_add_paused'] = int(TRAKT_ROLLING_ADD_PAUSED)
-    new_config['Trakt']['trakt_rolling_frequency'] = int(TRAKT_ROLLING_FREQUENCY)
 
     new_config['IMDB'] = {}
     new_config['IMDB']['use_imdb_popular'] = int(USE_IMDB_POPULAR)
diff --git a/sickbeard/config.py b/sickbeard/config.py
index 60a53756012661e0ff9d45cf49c1618aae8ec364..d9151c5c3e2509e7194058e7945b794e6421ce1e 100644
--- a/sickbeard/config.py
+++ b/sickbeard/config.py
@@ -196,10 +196,10 @@ def change_SHOWUPDATE_HOUR(freq):
     sickbeard.showUpdateScheduler.start_time = datetime.time(hour=sickbeard.SHOWUPDATE_HOUR)
 
 def change_SUBTITLES_FINDER_FREQUENCY(subtitles_finder_frequency):
-    
+
     if subtitles_finder_frequency == '' or subtitles_finder_frequency is None:
             subtitles_finder_frequency = 1
-    
+
     sickbeard.SUBTITLES_FINDER_FREQUENCY = to_int(subtitles_finder_frequency, 1)
 
 def change_VERSION_NOTIFY(version_notify):
@@ -215,7 +215,7 @@ def change_VERSION_NOTIFY(version_notify):
 
 def change_DOWNLOAD_PROPERS(download_propers):
     download_propers = checkbox_to_value(download_propers)
-    
+
     if sickbeard.DOWNLOAD_PROPERS == download_propers:
         return
 
@@ -234,7 +234,7 @@ def change_DOWNLOAD_PROPERS(download_propers):
 
 def change_USE_TRAKT(use_trakt):
     use_trakt = checkbox_to_value(use_trakt)
-    
+
     if sickbeard.USE_TRAKT == use_trakt:
         return
 
@@ -251,29 +251,10 @@ def change_USE_TRAKT(use_trakt):
         sickbeard.traktCheckerScheduler.silent = True
         logger.log(u"Stopping TRAKTCHECKER thread", logger.INFO)
 
-def change_TRAKT_USE_ROLLING_DOWNLOAD(trakt_use_rolling_download):
-    trakt_use_rolling_download = checkbox_to_value(trakt_use_rolling_download)
-    
-    if sickbeard.TRAKT_USE_ROLLING_DOWNLOAD == trakt_use_rolling_download:
-        return
-    
-    sickbeard.TRAKT_USE_ROLLING_DOWNLOAD = trakt_use_rolling_download
-    
-    if sickbeard.USE_TRAKT and sickbeard.TRAKT_USE_ROLLING_DOWNLOAD:
-        if not sickbeard.traktRollingScheduler.enable:
-            logger.log(u"Starting TRAKTROLLING thread", logger.INFO)
-            sickbeard.traktRollingScheduler.silent = False
-            sickbeard.traktRollingScheduler.enable = True
-        else:
-            logger.log(u"Unable to start TRAKTROLLING thread. Already running", logger.INFO)
-    else:
-        sickbeard.traktRollingScheduler.enable = False
-        sickbeard.traktRollingScheduler.silent = True
-        logger.log(u"Stopping TRAKTROLLING thread", logger.INFO)
 
 def change_USE_SUBTITLES(use_subtitles):
     use_subtitles = checkbox_to_value(use_subtitles)
-    
+
     if sickbeard.USE_SUBTITLES == use_subtitles:
         return
 
@@ -292,7 +273,7 @@ def change_USE_SUBTITLES(use_subtitles):
 
 def change_PROCESS_AUTOMATICALLY(process_automatically):
     process_automatically = checkbox_to_value(process_automatically)
-    
+
     if sickbeard.PROCESS_AUTOMATICALLY == process_automatically:
         return
 
diff --git a/sickbeard/dailysearcher.py b/sickbeard/dailysearcher.py
index 5d5d3d27b39a8a5968345b7fba24a1b2dad66f21..2a4d2b3b22fd11d2fec10b6f70268dd52a1e3753 100644
--- a/sickbeard/dailysearcher.py
+++ b/sickbeard/dailysearcher.py
@@ -88,15 +88,11 @@ class DailySearcher():
                 # if an error occured assume the episode hasn't aired yet
                 continue
 
-            UpdateWantedList = 0
             ep = show.getEpisode(int(sqlEp["season"]), int(sqlEp["episode"]))
             with ep.lock:
                 if ep.season == 0:
                     logger.log(u"New episode " + ep.prettyName() + " airs today, setting status to SKIPPED because is a special season")
                     ep.status = common.SKIPPED
-                elif sickbeard.TRAKT_USE_ROLLING_DOWNLOAD and sickbeard.USE_TRAKT:
-                    ep.status = common.SKIPPED
-                    UpdateWantedList = 1
                 else:
                     logger.log(u"New episode %s airs today, setting to default episode status for this show: %s" % (ep.prettyName(), common.statusStrings[ep.show.default_ep_status]))
                     ep.status = ep.show.default_ep_status
@@ -109,8 +105,6 @@ class DailySearcher():
         else:
             logger.log(u"No new released episodes found ...")
 
-        sickbeard.traktRollingScheduler.action.updateWantedList()
-
         # queue episode for daily search
         dailysearch_queue_item = sickbeard.search_queue.DailySearchQueueItem()
         sickbeard.searchQueueScheduler.action.add_item(dailysearch_queue_item)
diff --git a/sickbeard/show_queue.py b/sickbeard/show_queue.py
index d206cf406153e5d767547fef04a9aac8aa608e28..49a0812e130f2b817387797321bc138c9b45c282 100644
--- a/sickbeard/show_queue.py
+++ b/sickbeard/show_queue.py
@@ -215,9 +215,6 @@ class QueueItemAdd(ShowQueueItem):
         self.whitelist = whitelist
         self.default_status_after = default_status_after
 
-        if sickbeard.TRAKT_USE_ROLLING_DOWNLOAD and sickbeard.USE_TRAKT:
-            self.paused = sickbeard.TRAKT_ROLLING_ADD_PAUSED
-
         self.show = None
 
         # this will initialize self.show to None
@@ -390,8 +387,6 @@ class QueueItemAdd(ShowQueueItem):
             logger.log(u"Error searching dir for episodes: " + ex(e), logger.ERROR)
             logger.log(traceback.format_exc(), logger.DEBUG)
 
-        sickbeard.traktRollingScheduler.action.updateWantedList(self.show.indexerid)
-
         # if they set default ep status to WANTED then run the backlog to search for episodes
         # FIXME: This needs to be a backlog queue item!!!
         if self.show.default_ep_status == WANTED:
diff --git a/sickbeard/traktChecker.py b/sickbeard/traktChecker.py
index de4b1b1f4086f922180b95923784021f999ebd14..cd02445533924c06f3a8122b0839f84ab5bb735e 100644
--- a/sickbeard/traktChecker.py
+++ b/sickbeard/traktChecker.py
@@ -63,7 +63,7 @@ class TraktChecker():
     def __init__(self):
         self.trakt_api = TraktAPI(sickbeard.SSL_VERIFY, sickbeard.TRAKT_TIMEOUT)
         self.todoBacklog = []
-        self.todoWanted = []        
+        self.todoWanted = []
         self.ShowWatchlist = {}
         self.EpisodeWatchlist = {}
         self.Collectionlist = {}
@@ -86,7 +86,7 @@ class TraktChecker():
                 # sync trakt.tv library with sickrage library
                 self.syncLibrary()
             except Exception:
-                logger.log(traceback.format_exc(), logger.DEBUG) 
+                logger.log(traceback.format_exc(), logger.DEBUG)
 
     def findShow(self, indexer, indexerid):
         traktShow = None
@@ -168,9 +168,9 @@ class TraktChecker():
             except traktException as e:
                 logger.log(u"Could not connect to Trakt service: %s" % ex(e), logger.WARNING)
                 return
-                
+
     def syncLibrary(self):
-        if sickbeard.TRAKT_SYNC and sickbeard.USE_TRAKT:    
+        if sickbeard.TRAKT_SYNC and sickbeard.USE_TRAKT:
             logger.log(u"Sync SickRage with Trakt Collection", logger.DEBUG)
 
             if self._getShowCollection():
@@ -198,13 +198,13 @@ class TraktChecker():
             if len(trakt_data):
                 data = self.trakt_bulk_data_generate(trakt_data)
                 self.trakt_api.traktRequest("sync/collection/remove", data, method='POST')
-                self._getShowCollection()                
- 
+                self._getShowCollection()
+
             logger.log(u"COLLECTION::REMOVE::FINISH - Look for Episodes to Remove From Trakt Collection", logger.DEBUG)
-    
+
     def addEpisodeToTraktCollection(self):
         if sickbeard.TRAKT_SYNC and sickbeard.USE_TRAKT:
-            logger.log(u"COLLECTION::ADD::START - Look for Episodes to Add to Trakt Collection", logger.DEBUG)  
+            logger.log(u"COLLECTION::ADD::START - Look for Episodes to Add to Trakt Collection", logger.DEBUG)
 
             myDB = db.DBConnection()
             sql_selection='select tv_shows.indexer, tv_shows.startyear, showid, show_name, season, episode from tv_episodes,tv_shows where tv_shows.indexer_id = tv_episodes.showid and tv_episodes.status in ('+','.join([str(x) for x in Quality.DOWNLOADED + [ARCHIVED]])+')'
@@ -223,8 +223,8 @@ class TraktChecker():
                     self.trakt_api.traktRequest("sync/collection", data, method='POST')
                     self._getShowCollection()
 
-            logger.log(u"COLLECTION::ADD::FINISH - Look for Episodes to Add to Trakt Collection", logger.DEBUG)  
-                
+            logger.log(u"COLLECTION::ADD::FINISH - Look for Episodes to Add to Trakt Collection", logger.DEBUG)
+
     def syncWatchlist(self):
         if sickbeard.TRAKT_SYNC_WATCHLIST and sickbeard.USE_TRAKT:
             logger.log(u"Sync SickRage with Trakt Watchlist", logger.DEBUG)
@@ -260,7 +260,7 @@ class TraktChecker():
             if len(trakt_data):
                 data = self.trakt_bulk_data_generate(trakt_data)
                 self.trakt_api.traktRequest("sync/watchlist/remove", data, method='POST')
-                self._getEpisodeWatchlist()                
+                self._getEpisodeWatchlist()
 
             logger.log(u"WATCHLIST::REMOVE::FINISH - Look for Episodes to Remove from Trakt Watchlist", logger.DEBUG)
 
@@ -277,7 +277,7 @@ class TraktChecker():
                     trakt_id = sickbeard.indexerApi(cur_episode["indexer"]).config['trakt_id']
                     if not self._checkInList(trakt_id,str(cur_episode["showid"]),str(cur_episode["season"]),str(cur_episode["episode"])):
                         logger.log(u"Adding Episode %s S%02dE%02d to watchlist" %
-                        (cur_episode["show_name"],cur_episode["season"],cur_episode["episode"]), logger.DEBUG)                     
+                        (cur_episode["show_name"],cur_episode["season"],cur_episode["episode"]), logger.DEBUG)
                         trakt_data.append((cur_episode["showid"],cur_episode["indexer"],cur_episode["show_name"],cur_episode["startyear"],cur_episode["season"], cur_episode["episode"]))
 
                 if len(trakt_data):
@@ -290,13 +290,13 @@ class TraktChecker():
     def addShowToTraktWatchList(self):
         if sickbeard.TRAKT_SYNC_WATCHLIST and sickbeard.USE_TRAKT:
             logger.log(u"SHOW_WATCHLIST::ADD::START - Look for Shows to Add to Trakt Watchlist", logger.DEBUG)
-            
+
             if sickbeard.showList is not None:
                 trakt_data = []
                 for show in sickbeard.showList:
                     trakt_id = sickbeard.indexerApi(show.indexer).config['trakt_id']
                     if not self._checkInList(trakt_id,str(show.indexerid),'0','0',List='Show'):
-                        logger.log(u"Adding Show: Indexer %s %s - %s to Watchlist" % ( trakt_id,str(show.indexerid), show.name), logger.DEBUG)                    
+                        logger.log(u"Adding Show: Indexer %s %s - %s to Watchlist" % ( trakt_id,str(show.indexerid), show.name), logger.DEBUG)
                         show_el = {'title': show.name, 'year': show.startyear, 'ids': {}}
                         if trakt_id == 'tvdb_id':
                             show_el['ids']['tvdb'] = show.indexerid
@@ -356,7 +356,7 @@ class TraktChecker():
                 else:
                     self.todoWanted.append((indexer_id, 1, 1))
         logger.log(u"SHOW_WATCHLIST::CHECK::FINISH - Trakt Show Watchlist", logger.DEBUG)
-        
+
     def updateEpisodes(self):
         """
         Sets episodes to wanted that are in trakt watchlist
@@ -368,10 +368,10 @@ class TraktChecker():
             return
 
         managed_show = []
-        
+
         indexer = int(sickbeard.TRAKT_DEFAULT_INDEXER)
         trakt_id = sickbeard.indexerApi(indexer).config['trakt_id']
-        
+
         for show_el in self.EpisodeWatchlist[trakt_id]:
             indexer_id = int(show_el)
             show = self.EpisodeWatchlist[trakt_id][show_el]
@@ -386,7 +386,7 @@ class TraktChecker():
                         managed_show.append(indexer_id)
                         for season_el in show['seasons']:
                             season = int(season_el)
-                            for episode_el in show['seasons'][season_el]['episodes']:                          
+                            for episode_el in show['seasons'][season_el]['episodes']:
                                 self.todoWanted.append((indexer_id, season, int(episode_el)))
                 else:
                     if newShow.indexer == indexer:
@@ -397,7 +397,7 @@ class TraktChecker():
             except TypeError:
                 logger.log(u"Could not parse the output from trakt for " + show["title"], logger.DEBUG)
         logger.log(u"SHOW_WATCHLIST::CHECK::FINISH - Trakt Episode Watchlist", logger.DEBUG)
-        
+
     def addDefaultShow(self, indexer, indexer_id, name, status):
         """
         Adds a new show with the default settings
@@ -440,38 +440,38 @@ class TraktChecker():
          Check in the Watchlist or CollectionList for Show
          Is the Show, Season and Episode in the trakt_id list (tvdb / tvrage)
         """
-        #logger.log(u"Checking Show: %s %s %s " % (trakt_id, showid, List),logger.DEBUG)        
-        
+        #logger.log(u"Checking Show: %s %s %s " % (trakt_id, showid, List),logger.DEBUG)
+
         if "Collection" == List:
             try:
                 if self.Collectionlist[trakt_id][showid]['seasons'][season]['episodes'][episode] == episode:
                     return True
             except:
-                return False       
+                return False
         elif "Show" == List:
             try:
                 if self.ShowWatchlist[trakt_id][showid]['id'] == showid:
                     return True
             except:
-                return False          
+                return False
         else:
             try:
                 if self.EpisodeWatchlist[trakt_id][showid]['seasons'][season]['episodes'][episode] == episode:
                     return True
             except:
                 return False
-                
+
     def _getShowWatchlist(self):
         """
         Get Watchlist and parse once into addressable structure
         """
-        
+
         try:
             self.ShowWatchlist = { 'tvdb_id' : {}, 'tvrage_id': {} }
             TraktShowWatchlist = self.trakt_api.traktRequest("sync/watchlist/shows")
             tvdb_id = 'tvdb'
             tvrage_id = 'tvrage'
-            
+
             for watchlist_el in TraktShowWatchlist:
                 tvdb = False
                 tvrage = False
@@ -482,31 +482,31 @@ class TraktChecker():
 
                 title = watchlist_el['show']['title']
                 year = str(watchlist_el['show']['year'])
-                    
+
                 if tvdb:
                     showid = str(watchlist_el['show']['ids'][tvdb_id])
                     self.ShowWatchlist[tvdb_id + '_id'][showid] = { 'id': showid , 'title' : title , 'year': year }
                 if tvrage:
                     showid = str(watchlist_el['show']['ids'][tvrage_id])
                     self.ShowWatchlist[tvrage_id + '_id'][showid] = { 'id': showid , 'title' : title , 'year': year }
-                   
+
         except traktException as e:
             logger.log(u"Could not connect to trakt service, cannot download Show Watchlist: %s" % ex(e), logger.ERROR)
             return False
 
         return True
-       
+
     def _getEpisodeWatchlist(self):
         """
          Get Watchlist and parse once into addressable structure
         """
-        
+
         try:
             self.EpisodeWatchlist = { 'tvdb_id' : {}, 'tvrage_id': {} }
             TraktEpisodeWatchlist = self.trakt_api.traktRequest("sync/watchlist/episodes")
             tvdb_id = 'tvdb'
             tvrage_id = 'tvrage'
-            
+
             for watchlist_el in TraktEpisodeWatchlist:
                 tvdb = False
                 tvrage = False
@@ -514,33 +514,33 @@ class TraktChecker():
                     tvdb = True
                 if not watchlist_el['show']['ids']["tvrage"] is None:
                     tvrage = True
-                    
+
                 title = watchlist_el['show']['title']
-                year = str(watchlist_el['show']['year'])              
+                year = str(watchlist_el['show']['year'])
                 season = str(watchlist_el['episode']['season'])
                 episode = str(watchlist_el['episode']['number'])
 
                 if tvdb:
                     showid = str(watchlist_el['show']['ids'][tvdb_id])
                     if not showid in self.EpisodeWatchlist[tvdb_id + '_id'].keys():
-                        self.EpisodeWatchlist[tvdb_id + '_id'][showid] = { 'id': showid , 'title' : title , 'year': year , 'seasons' : {} } 
-                    
-                    if not season in self.EpisodeWatchlist[tvdb_id + '_id'][showid]['seasons'].keys():                               
+                        self.EpisodeWatchlist[tvdb_id + '_id'][showid] = { 'id': showid , 'title' : title , 'year': year , 'seasons' : {} }
+
+                    if not season in self.EpisodeWatchlist[tvdb_id + '_id'][showid]['seasons'].keys():
                         self.EpisodeWatchlist[tvdb_id + '_id'][showid]['seasons'][season] = { 's': season , 'episodes' : {} }
-                    
+
                     if not episode in self.EpisodeWatchlist[tvdb_id + '_id'][showid]['seasons'][season]['episodes'].keys():
                         self.EpisodeWatchlist[tvdb_id + '_id'][showid]['seasons'][season]['episodes'][episode] = episode
 
                 if tvrage:
                     showid = str(watchlist_el['show']['ids'][tvrage_id])
                     if not showid in self.EpisodeWatchlist[tvrage_id + '_id'].keys():
-                        self.EpisodeWatchlist[tvrage_id + '_id'][showid] = { 'id': showid , 'title' : title , 'year': year , 'seasons' : {} } 
-                    
-                    if not season in self.EpisodeWatchlist[tvrage_id + '_id'][showid]['seasons'].keys():                               
+                        self.EpisodeWatchlist[tvrage_id + '_id'][showid] = { 'id': showid , 'title' : title , 'year': year , 'seasons' : {} }
+
+                    if not season in self.EpisodeWatchlist[tvrage_id + '_id'][showid]['seasons'].keys():
                         self.EpisodeWatchlist[tvrage_id + '_id'][showid]['seasons'][season] = { 's': season , 'episodes' : {} }
-                    
+
                     if not episode in self.EpisodeWatchlist[tvrage_id + '_id'][showid]['seasons'][season]['episodes'].keys():
-                        self.EpisodeWatchlist[tvrage_id + '_id'][showid]['seasons'][season]['episodes'][episode] = episode 
+                        self.EpisodeWatchlist[tvrage_id + '_id'][showid]['seasons'][season]['episodes'][episode] = episode
 
         except traktException as e:
             logger.log(u"Could not connect to trakt service, cannot download Episode Watchlist: %s" % ex(e), logger.WARNING)
@@ -552,15 +552,15 @@ class TraktChecker():
         """
         Get Collection and parse once into addressable structure
         """
-        
+
         try:
-        
+
             self.Collectionlist = { 'tvdb_id' : {}, 'tvrage_id': {} }
             logger.log(u"Getting Show Collection", logger.DEBUG)
             TraktCollectionList = self.trakt_api.traktRequest("sync/collection/shows")
             tvdb_id = 'tvdb'
             tvrage_id = 'tvrage'
-            
+
             for watchlist_el in TraktCollectionList:
                 tvdb = False
                 tvrage = False
@@ -571,8 +571,8 @@ class TraktChecker():
 
                 title = watchlist_el['show']['title']
                 year = str(watchlist_el['show']['year'])
-                
-                if 'seasons' in watchlist_el:                    
+
+                if 'seasons' in watchlist_el:
                     for season_el in watchlist_el['seasons']:
                         for episode_el in season_el['episodes']:
                             season = str(season_el['number'])
@@ -581,25 +581,25 @@ class TraktChecker():
                             if tvdb:
                                 showid = str(watchlist_el['show']['ids'][tvdb_id])
                                 if not showid in self.Collectionlist[tvdb_id + '_id'].keys():
-                                    self.Collectionlist[tvdb_id + '_id'][showid] = { 'id': showid , 'title' : title , 'year': year , 'seasons' : {} } 
-                                
-                                if not season in self.Collectionlist[tvdb_id + '_id'][showid]['seasons'].keys():                               
+                                    self.Collectionlist[tvdb_id + '_id'][showid] = { 'id': showid , 'title' : title , 'year': year , 'seasons' : {} }
+
+                                if not season in self.Collectionlist[tvdb_id + '_id'][showid]['seasons'].keys():
                                     self.Collectionlist[tvdb_id + '_id'][showid]['seasons'][season] = { 's': season , 'episodes' : {} }
-                                
+
                                 if not episode in self.Collectionlist[tvdb_id + '_id'][showid]['seasons'][season]['episodes'].keys():
                                     self.Collectionlist[tvdb_id + '_id'][showid]['seasons'][season]['episodes'][episode] = episode
 
                             if tvrage:
                                 showid = str(watchlist_el['show']['ids'][tvrage_id])
                                 if not showid in self.Collectionlist[tvrage_id + '_id'].keys():
-                                    self.Collectionlist[tvrage_id + '_id'][showid] = { 'id': showid , 'title' : title , 'year': year , 'seasons' : {} } 
-                                
-                                if not season in self.Collectionlist[tvrage_id + '_id'][showid]['seasons'].keys():                               
+                                    self.Collectionlist[tvrage_id + '_id'][showid] = { 'id': showid , 'title' : title , 'year': year , 'seasons' : {} }
+
+                                if not season in self.Collectionlist[tvrage_id + '_id'][showid]['seasons'].keys():
                                     self.Collectionlist[tvrage_id + '_id'][showid]['seasons'][season] = { 's': season , 'episodes' : {} }
-                                
+
                                 if not episode in self.Collectionlist[tvrage_id + '_id'][showid]['seasons'][season]['episodes'].keys():
-                                    self.Collectionlist[tvrage_id + '_id'][showid]['seasons'][season]['episodes'][episode] = episode                                    
-                                
+                                    self.Collectionlist[tvrage_id + '_id'][showid]['seasons'][season]['episodes'][episode] = episode
+
         except traktException as e:
             logger.log(u"Could not connect to trakt service, cannot download Show Collection: %s" % ex(e), logger.ERROR)
             return False
@@ -610,7 +610,7 @@ class TraktChecker():
         """
         Build the JSON structure to send back to Trakt
         """
-        
+
         uniqueShows = {}
         uniqueSeasons = {}
         for showid,indexerid,show_name,startyear,season,episode in data:
@@ -620,11 +620,11 @@ class TraktChecker():
                 if trakt_id == 'tvdb_id':
                     uniqueShows[showid]['ids']["tvdb"] = showid
                 else:
-                    uniqueShows[showid]['ids']["tvrage"] = showid               
+                    uniqueShows[showid]['ids']["tvrage"] = showid
                 uniqueSeasons[showid] = []
 
         # Get the unique seasons per Show
-        for showid,indexerid,show_name,startyear,season,episode in data:           
+        for showid,indexerid,show_name,startyear,season,episode in data:
             if season not in uniqueSeasons[showid]:
                 uniqueSeasons[showid].append(season)
 
@@ -643,173 +643,3 @@ class TraktChecker():
             showList.append(show)
         post_data = {'shows': showList}
         return post_data
-
-class TraktRolling():
-
-    def __init__(self):
-        self.trakt_api = TraktAPI(sickbeard.SSL_VERIFY, sickbeard.TRAKT_TIMEOUT)
-        self.EpisodeWatched = []
-
-    def run(self, force=False):
-        logger.log(u"Start getting list from Traktv", logger.DEBUG)
-
-        logger.log(u"Getting EpisodeWatched", logger.DEBUG)
-        if not self._getEpisodeWatched():
-            return
-
-        self.updateWantedList()
-
-    def _getEpisodeWatched(self):
-
-        try:
-            self.EpisodeWatched = self.trakt_api.traktRequest("sync/watched/shows")
-        except traktException as e:
-            logger.log(u"Could not connect to trakt service, cannot download show from library: %s" % ex(e), logger.ERROR)
-            return False
-
-        return True
-
-    def refreshEpisodeWatched(self):
-
-        if not (sickbeard.TRAKT_USE_ROLLING_DOWNLOAD and sickbeard.USE_TRAKT):
-            return False
-
-        if not self._getEpisodeWatched():
-            return False
-
-        return True
-
-    def updateWantedList(self, indexer_id = None):
-
-        if not (sickbeard.TRAKT_USE_ROLLING_DOWNLOAD and sickbeard.USE_TRAKT):
-            return False
-
-        if not self.refreshEpisodeWatched():
-            return False
-
-        num_of_download = sickbeard.TRAKT_ROLLING_NUM_EP
-
-        if not len(self.EpisodeWatched) or num_of_download == 0:
-            return True
-
-        logger.log(u"Start looking if having " + str(num_of_download) + " episode(s) not watched", logger.DEBUG)
-
-        myDB = db.DBConnection()
-
-        sql_selection="SELECT indexer, indexer_id, imdb_id, show_name, season, episode, paused FROM (SELECT * FROM tv_shows s,tv_episodes e WHERE s.indexer_id = e.showid) T1 WHERE T1.episode_id IN (SELECT T2.episode_id FROM tv_episodes T2 WHERE T2.showid = T1.indexer_id and T2.status in (?) and T2.season!=0 and airdate is not null ORDER BY T2.season,T2.episode LIMIT 1)"
-
-        if indexer_id is not None:
-            sql_selection=sql_selection + " and indexer_id = " + str(indexer_id)
-        else:
-            sql_selection=sql_selection + " and T1.paused = 0"
-
-        sql_selection=sql_selection + " ORDER BY T1.show_name,season,episode"
-
-        results = myDB.select(sql_selection,[SKIPPED])
-
-        for cur_result in results:
-
-            indexer_id = str(cur_result["indexer_id"])
-            show_name = (cur_result["show_name"])
-            sn_sb = cur_result["season"]
-            ep_sb = cur_result["episode"]
-
-            newShow = helpers.findCertainShow(sickbeard.showList, int(indexer_id))
-            imdb_id = cur_result["imdb_id"]
-
-            num_of_ep=0
-            season = 1
-            episode = 0
-
-            last_per_season = self.trakt_api.traktRequest("shows/" + str(imdb_id) + "/seasons?extended=full")
-            if not last_per_season:
-                logger.log(u"Could not connect to trakt service, cannot download last season for show", logger.ERROR)
-                return False
-
-            logger.log(u"indexer_id: " + str(indexer_id) + ", Show: " + show_name + " - First skipped Episode: Season " + str(sn_sb) + ", Episode " + str(ep_sb), logger.DEBUG)
-
-            if imdb_id not in (show['show']['ids']['imdb'] for show in self.EpisodeWatched):
-                logger.log(u"Show not founded in Watched list", logger.DEBUG)
-                if (sn_sb*100+ep_sb) > 100+num_of_download:
-                    logger.log(u"First " + str(num_of_download) + " episode already downloaded", logger.DEBUG)
-                    continue
-                else:
-                    sn_sb = 1
-                    ep_sb = 1
-                    num_of_ep = num_of_download
-            else:
-                logger.log(u"Show founded in Watched list", logger.DEBUG)
-
-                show_watched = [show for show in self.EpisodeWatched if show['show']['ids']['imdb'] == imdb_id]
-
-                season = show_watched[0]['seasons'][-1]['number']
-                episode = show_watched[0]['seasons'][-1]['episodes'][-1]['number']
-                logger.log(u"Last watched, Season: " + str(season) + " - Episode: " + str(episode), logger.DEBUG)
-
-                num_of_ep = num_of_download - (self._num_ep_for_season(last_per_season, sn_sb, ep_sb) - self._num_ep_for_season(last_per_season, season, episode)) + 1
-
-            logger.log(u"Number of Episode to Download: " + str(num_of_ep), logger.DEBUG)
-
-            s = sn_sb
-            e = ep_sb
-
-            for x in range(0,num_of_ep):
-
-                last_s = [last_x_s for last_x_s in last_per_season if last_x_s['number'] == s]
-                if last_s is None:
-                    break
-                if episode == 0 or (s*100+e) <= (int(last_s[0]['number'])*100+int(last_s[0]['episode_count'])): 
-
-                    if (s*100+e) > (season*100+episode):
-                        if not cur_result["paused"]:
-                            if newShow is not None:
-                                setEpisodeToWanted(newShow, s, e)
-                            else:
-                                self.todoWanted.append(int(indexer_id), s, e)
-                    else:
-                        self.setEpisodeToDefaultWatched(newShow, s, e)
-
-                    if (s*100+e) == (int(last_s[0]['number'])*100+int(last_s[0]['episode_count'])):
-                        s = s + 1
-                        e = 1
-                    else:
-                        e = e + 1
-
-        logger.log(u"Stop looking if having " + str(num_of_download) + " episode not watched", logger.DEBUG)
-        return True
-
-    def setEpisodeToDefaultWatched(self, show, s, e):
-        """
-        Sets an episode to ignored, only if it is currently skipped or failed
-        """
-        epObj = show.getEpisode(int(s), int(e))
-        if epObj:
-
-            with epObj.lock:
-                if epObj.status != SKIPPED:
-                    return
-
-                logger.log(u"Setting episode %s S%02dE%02d to %s " % (show.name, s, e, statusStrings[sickbeard.EP_DEFAULT_DELETED_STATUS] ))
-
-                epObj.status = sickbeard.EP_DEFAULT_DELETED_STATUS
-                epObj.saveToDB()
-
-    def _num_ep_for_season(self, show, season, episode):
-
-        num_ep = 0
-
-        for curSeason in show:
-
-            sn = int(curSeason["number"])
-            ep = int(curSeason["episode_count"])
-
-            if (sn < season):
-                num_ep = num_ep + (ep)
-            elif (sn == season):
-                num_ep = num_ep + episode
-            elif (sn == 0):
-                continue
-            else:
-                continue
-
-        return num_ep
diff --git a/sickbeard/webserve.py b/sickbeard/webserve.py
index e00908b4a893b1c346cfb7610b83b3a82d12d6bb..ca6f97ba1e44e0320c658b7ab1ea5ad00449b61c 100644
--- a/sickbeard/webserve.py
+++ b/sickbeard/webserve.py
@@ -1547,12 +1547,6 @@ class Home(WebRoot):
             except exceptions.CantUpdateException, e:
                 errors.append("Unable to force an update on scene exceptions of the show.")
 
-        if not paused and (sickbeard.TRAKT_USE_ROLLING_DOWNLOAD and sickbeard.USE_TRAKT):
-            # Checking if trakt and rolling_download are enable because updateWantedList()
-            # doesn't do the distinction between a failuire and being not activated(Return false)
-            if not sickbeard.traktRollingScheduler.action.updateWantedList(showObj.indexerid):
-                errors.append("Unable to force an update on wanted episode")
-
         if do_update_scene_numbering:
             try:
                 sickbeard.scene_numbering.xem_refresh(showObj.indexerid, showObj.indexer)
@@ -1586,12 +1580,6 @@ class Home(WebRoot):
 
         showObj.saveToDB()
 
-        if not showObj.paused and sickbeard.TRAKT_USE_ROLLING_DOWNLOAD and sickbeard.USE_TRAKT:
-            # Checking if trakt and rolling_download are enable because updateWantedList()
-            # doesn't do the distinction between a failuire and being not activated(Return false)
-            if not sickbeard.traktRollingScheduler.action.updateWantedList(showObj.indexerid):
-                errors.append("Unable to force an update on wanted episode")
-
         ui.notifications.message('%s has been %s' % (showObj.name,('resumed', 'paused')[showObj.paused]))
         return self.redirect("/home/displayShow?show=" + show)
 
@@ -2213,7 +2201,7 @@ class HomeIRC(Home):
     def index(self):
 
         t = PageTemplate(rh=self, file="IRC.mako")
-        return t.render(topmenu="IRC", header="IRC", title="IRC", submenu=self.HomeMenu())
+        return t.render(topmenu="irc", header="IRC", title="IRC", submenu=self.HomeMenu())
 
 @route('/news(/?.*)')
 class HomeNews(Home):
@@ -2221,7 +2209,6 @@ class HomeNews(Home):
         super(HomeNews, self).__init__(*args, **kwargs)
 
     def index(self):
-
         try:
             news = helpers.getURL('http://sickragetv.github.io/sickrage-news/news.md', session=requests.Session())
         except Exception:
@@ -2884,7 +2871,7 @@ class Manage(Home, WebRoot):
 
     def index(self):
         t = PageTemplate(rh=self, file="manage.mako")
-        return t.render(submenu=self.ManageMenu(), title='Mass Update', header='Mass Update')
+        return t.render(submenu=self.ManageMenu(), title='Mass Update', header='Mass Update', topmenu='manage')
 
 
     def showEpisodeStatuses(self, indexer_id, whichStatus):
@@ -2947,7 +2934,7 @@ class Manage(Home, WebRoot):
                 sorted_show_ids.append(cur_indexer_id)
 
         return t.render(title="Episode Overview",  header="Episode Overview",
-                    topmenu="manage", submenu=self.ManageMenu(), whichStatus=whichStatus,
+                    topmenu='manage', submenu=self.ManageMenu(), whichStatus=whichStatus,
                     show_names=show_names, ep_counts=ep_counts, sorted_show_ids=sorted_show_ids)
 
 
@@ -3024,7 +3011,7 @@ class Manage(Home, WebRoot):
         t = PageTemplate(rh=self, file="manage_subtitleMissed.mako")
 
         if not whichSubs:
-            return t.render(submenu=self.ManageMenu(), whichSubs=whichSubs, title='Episode Overview', header='Episode Overview')
+            return t.render(submenu=self.ManageMenu(), whichSubs=whichSubs, title='Episode Overview', header='Episode Overview', topmenu='manage')
 
         myDB = db.DBConnection()
         status_results = myDB.select(
@@ -3054,7 +3041,7 @@ class Manage(Home, WebRoot):
                 sorted_show_ids.append(cur_indexer_id)
 
         return t.render(submenu=self.ManageMenu(), whichSubs=whichSubs, show_names=show_names, ep_counts=ep_counts, sorted_show_ids=sorted_show_ids,
-                        title='Episode Overview', header='Episode Overview')
+                        title='Episode Overview', header='Episode Overview', topmenu='manage')
 
 
     def downloadSubtitleMissed(self, *args, **kwargs):
@@ -3137,7 +3124,7 @@ class Manage(Home, WebRoot):
             showSQLResults[curShow.indexerid] = sqlResults
 
         return t.render(submenu=self.ManageMenu(), showCounts=showCounts, showCats=showCats, showSQLResults=showSQLResults,
-                        title='Backlog Overview', header='Backlog Overview')
+                        title='Backlog Overview', header='Backlog Overview', topmenu='manage')
 
 
     def massEdit(self, toEdit=None):
@@ -3272,7 +3259,7 @@ class Manage(Home, WebRoot):
         return t.render(submenu=self.ManageMenu(), showList=toEdit, archive_firstmatch_value=archive_firstmatch_value, default_ep_status_value=default_ep_status_value,
                         paused_value=paused_value, anime_value=anime_value, flatten_folders_value=flatten_folders_value,
                         quality_value=quality_value, subtitles_value=subtitles_value, scene_value=scene_value, sports_value=sports_value,
-                        air_by_date_value=air_by_date_value, root_dir_list=root_dir_list, title='Mass Edit', header='Mass Edit')
+                        air_by_date_value=air_by_date_value, root_dir_list=root_dir_list, title='Mass Edit', header='Mass Edit', topmenu='manage')
 
 
     def massEditSubmit(self, archive_firstmatch=None, paused=None, default_ep_status=None,
@@ -3532,7 +3519,7 @@ class Manage(Home, WebRoot):
             webui_url = re.sub('://', '://' + str(sickbeard.TORRENT_USERNAME) + ':' + str(sickbeard.TORRENT_PASSWORD) + '@' ,webui_url)
 
         return t.render(submenu=self.ManageMenu(), webui_url=webui_url, info_download_station=info_download_station,
-                        title='Manage Torrents', header='Manage Torrents')
+                        title='Manage Torrents', header='Manage Torrents', topmenu='manage')
 
 
     def failedDownloads(self, limit=100, toRemove=None):
@@ -3554,7 +3541,7 @@ class Manage(Home, WebRoot):
 
         t = PageTemplate(rh=self, file="manage_failedDownloads.mako")
 
-        return t.render(submenu=self.ManageMenu(), limit=limit, failedResults=sqlResults, title='Failed Downloads', header='Failed Downloads')
+        return t.render(submenu=self.ManageMenu(), limit=limit, failedResults=sqlResults, title='Failed Downloads', header='Failed Downloads', topmenu='manage')
 
 
 @route('/manage/manageSearches(/?.*)')
@@ -3569,7 +3556,7 @@ class ManageSearches(Manage):
         return t.render(submenu=self.ManageMenu(), backlogPaused=sickbeard.searchQueueScheduler.action.is_backlog_paused(),
                         backlogRunning=sickbeard.searchQueueScheduler.action.is_backlog_in_progress(), dailySearchStatus=sickbeard.dailySearchScheduler.action.amActive,
                         findPropersStatus=sickbeard.properFinderScheduler.action.amActive, queueLength=sickbeard.searchQueueScheduler.action.queue_length(),
-                        title='Manage Searches', header='Manage Searches')
+                        title='Manage Searches', header='Manage Searches', topmenu='manage')
 
     def forceBacklog(self):
         # force it to run the next time it looks
@@ -3681,7 +3668,7 @@ class History(WebRoot):
             {'title': 'Trim History', 'path': 'history/trimHistory'},
         ]
 
-        return t.render(historyResults=sqlResults, compactResults=compact, limit=limit, submenu=submenu, title='History', header='History')
+        return t.render(historyResults=sqlResults, compactResults=compact, limit=limit, submenu=submenu, title='History', header='History', topmenu="history")
 
 
     def clearHistory(self):
@@ -3956,7 +3943,7 @@ class ConfigSearch(Config):
     def index(self):
         t = PageTemplate(rh=self, file="config_search.mako")
 
-        return t.render(submenu=self.ConfigMenu(), title='Config - Episode Search', header='Search Settings')
+        return t.render(submenu=self.ConfigMenu(), title='Config - Episode Search', header='Search Settings', topmenu='config')
 
 
     def saveSearch(self, use_nzbs=None, use_torrents=None, nzb_dir=None, sab_username=None, sab_password=None,
@@ -4056,7 +4043,7 @@ class ConfigPostProcessing(Config):
     def index(self):
         t = PageTemplate(rh=self, file="config_postProcessing.mako")
 
-        return t.render(submenu=self.ConfigMenu(), title='Config - Post Processing', header='Post Processing')
+        return t.render(submenu=self.ConfigMenu(), title='Config - Post Processing', header='Post Processing', topmenu='config')
 
 
     def savePostProcessing(self, naming_pattern=None, naming_multi_ep=None,
@@ -4246,7 +4233,7 @@ class ConfigProviders(Config):
     def index(self):
         t = PageTemplate(rh=self, file="config_providers.mako")
 
-        return t.render(submenu=self.ConfigMenu(), title='Config - Providers', header='Search Providers')
+        return t.render(submenu=self.ConfigMenu(), title='Config - Providers', header='Search Providers', topmenu='config')
 
 
     def canAddNewznabProvider(self, name):
@@ -4723,7 +4710,7 @@ class ConfigNotifications(Config):
     def index(self):
         t = PageTemplate(rh=self, file="config_notifications.mako")
 
-        return t.render(submenu=self.ConfigMenu(), title='Config - Notifications', header='Notifications')
+        return t.render(submenu=self.ConfigMenu(), title='Config - Notifications', header='Notifications', topmenu='config')
 
 
     def saveNotifications(self, use_kodi=None, kodi_always_on=None, kodi_notify_onsnatch=None,
@@ -4758,7 +4745,6 @@ class ConfigNotifications(Config):
                           trakt_remove_watchlist=None, trakt_sync_watchlist=None, trakt_remove_show_from_sickrage=None, trakt_method_add=None,
                           trakt_start_paused=None, trakt_use_recommended=None, trakt_sync=None, trakt_sync_remove=None,
                           trakt_default_indexer=None, trakt_remove_serieslist=None, trakt_timeout=None, trakt_blacklist_name=None,
-                          trakt_use_rolling_download=None, trakt_rolling_num_ep=None, trakt_rolling_add_paused=None, trakt_rolling_frequency=None,
                           use_synologynotifier=None, synologynotifier_notify_onsnatch=None,
                           synologynotifier_notify_ondownload=None, synologynotifier_notify_onsubtitledownload=None,
                           use_pytivo=None, pytivo_notify_onsnatch=None, pytivo_notify_ondownload=None,
@@ -4894,10 +4880,6 @@ class ConfigNotifications(Config):
         sickbeard.TRAKT_DEFAULT_INDEXER = int(trakt_default_indexer)
         sickbeard.TRAKT_TIMEOUT = int(trakt_timeout)
         sickbeard.TRAKT_BLACKLIST_NAME = trakt_blacklist_name
-        config.change_TRAKT_USE_ROLLING_DOWNLOAD(trakt_use_rolling_download)
-        sickbeard.TRAKT_ROLLING_NUM_EP = int(trakt_rolling_num_ep)
-        sickbeard.TRAKT_ROLLING_ADD_PAUSED = config.checkbox_to_value(trakt_rolling_add_paused)
-        sickbeard.TRAKT_ROLLING_FREQUENCY = int(trakt_rolling_frequency)
 
         sickbeard.USE_IMDB_POPULAR = config.checkbox_to_value(use_imdb_popular)
 
@@ -4963,7 +4945,7 @@ class ConfigSubtitles(Config):
     def index(self):
         t = PageTemplate(rh=self, file="config_subtitles.mako")
 
-        return t.render(submenu=self.ConfigMenu(), title='Config - Subtitles', header='Subtitles')
+        return t.render(submenu=self.ConfigMenu(), title='Config - Subtitles', header='Subtitles', topmenu='config')
 
 
     def saveSubtitles(self, use_subtitles=None, subtitles_plugins=None, subtitles_languages=None, subtitles_dir=None,
@@ -5016,7 +4998,7 @@ class ConfigAnime(Config):
 
         t = PageTemplate(rh=self, file="config_anime.mako")
 
-        return t.render(submenu=self.ConfigMenu(), title='Config - Anime', header='Anime')
+        return t.render(submenu=self.ConfigMenu(), title='Config - Anime', header='Anime', topmenu='config')
 
 
     def saveAnime(self, use_anidb=None, anidb_username=None, anidb_password=None, anidb_use_mylist=None,
@@ -5136,7 +5118,6 @@ class ErrorLogs(WebRoot):
                           'TORNADO': u'Tornado',
                           'Thread': u'Thread',
                           'MAIN': u'Main',
-                          'TRAKTROLLING': u'Trakt Rolling'
                           }
 
         if logFilter not in logNameFilters: