derevnia / MyShows.me links serials

// ==UserScript==
// @name		   MyShows.me links serials
// @namespace      derevnia
// @author		   vk.com/derevnia
// @description    Чтобы каждый раз не вспоминать, где смотрите сериал, добавляете его id и ссылку на сайт с сериалом
// @version		   1.1.3
// @include		   *://myshows.me/*
// @updateURL	   https://openuserjs.org/install/derevnia/MyShows.me_links_serials.user.js
// @downloadURL    https://openuserjs.org/install/derevnia/MyShows.me_links_serials.user.js
// @license		   MIT
// @grant		   GM_xmlhttpRequest
// ==/UserScript==

let css = ".lostfilmALL > img{background-color:#dfd6e4;}" +
    ".lostfilmALL > img,.style >  img{border-radius:3px;border:1px solid transparent;}" +
    ".lostfilmALL > img:hover,.style >  img:hover{border:1px solid grey;}" +
    ".style{font-size: 16px;color: #b52d39}" +
    ".style:after {margin: 0 5px; text-decoration:none;content:'|';}" +
    ".style:last-child:after {content:'';}" +
    "td > a >img {vertical-align:top;}" +
    "td > a {border-radius: 5px;border:1px solid transparent;}" +
    "td > a:hover{border:1px solid grey;}" +
    "td {white-space:nowrap;}" +
    "a:link{z-index:2;position:relative;}" +
    "#popup{position: absolute;z-index: 4500;padding: 10px 20px;font-size: 13px;" +
    "line-height: 20px;color: #999;background: #f2f2f2;max-width: 330px;" +
    "border-radius: 5px;box-shadow: 0 2px #e5e5e5;display: none;margin-top: -55px;margin-left: -100px;" +
    "-webkit-transform: translateY(-100%);-moz-transform: translateY(-100%);transform: translateY(-100%);}",
    head = document.head || document.getElementsByTagName("head")[0],
    style = document.createElement("style");
style.type = "text/css";
if (style.styleSheet) {
    style.styleSheet.cssText = css;
} else {
    style.appendChild(document.createTextNode(css));
}
head.appendChild(style);
let ss = [
    [
        "s226", "https://turbik.tv/Series/Community", "https://vk.com/kubik3"
    ],
    [
        "s51924", "http://www.lostfilm.tv/series/The_Handmaids_Tale/seasons/"
    ],
    [
        "s58102", "https://www.lostfilm.tv/series/The_First/seasons/"
    ],
    [
        "s49486", "https://www.lostfilm.tv/series/Six/seasons/"
    ],
    [
        "s53659", "https://www.lostfilm.tv/series/The_Crossing/seasons/"
    ],
    [
        "s56710", "https://www.lostfilm.tv/series/Lost_in_Space/seasons/"
    ],
    [
        "s55731", "https://www.lostfilm.tv/series/The_Terror/seasons/"
    ],
    [
        "s55550", "https://www.lostfilm.tv/series/9-1-1/seasons/"
    ],
    [
        "s53624", "https://www.lostfilm.tv/series/The_Good_Doctor/seasons/"
    ],
    [
        "s48017", "https://www.lostfilm.tv/series/Stranger_Things/seasons/"
    ],
    [
        "s55672", "https://www.lostfilm.tv/series/Altered_Carbon/seasons/"
    ],
    [
        "s38876", "https://www.lostfilm.tv/series/Daredevil/seasons/"
    ],
    [
        "s22410", "https://www.lostfilm.tv/series/Black_Mirror/seasons/"
    ],
    [
        "s44455", "https://www.lostfilm.tv/series/Legends_of_Tomorrow/seasons/"
    ],
    [
        "s32058", "https://turbik.tv/Series/BrooklynNineNine"
    ],
    [
        "s14", "https://www.lostfilm.tv/series/Prison_Break/seasons/"
    ],
    [
        "s42772", "https://www.lostfilm.tv/series/Dark_Matter/seasons/"
    ],
    [
        "s41931", "https://www.lostfilm.tv/series/The_Expanse/seasons/"
    ],
    [
        "s45534", "http://alexfilm.cc/viewtopic.php?t=1568"
    ],
    [
        "s31566", "https://www.lostfilm.tv/series/Helix/seasons/"
    ],
    [
        "s304", "https://turbik.tv/Series/Misfits"
    ],
    [
        "s43650", "https://www.lostfilm.tv/series/Colony/seasons/"
    ],
    [
        "s48595", "https://www.lostfilm.tv/series/Incorporated/seasons/"
    ],
    [
        "s7718", "https://www.lostfilm.tv/series/Sherlock/seasons/"
    ],
    [
        "s31739", "https://turbik.tv/Series/OrangeIsTheNewBlack", "http://seasonvar.ru/serial-7276-Oranzhevyj_-001-sezon.html"
    ],
    [
        "s44076", "https://www.lostfilm.tv/series/The_Last_Kingdom/seasons/"
    ],
    [
        "s28067", "https://turbik.tv/Series/Banshee"
    ],
    [
        "s44937", "https://www.lostfilm.tv/series/11-22-63/seasons/"
    ],
    [
        "s31419", "https://www.lostfilm.tv/series/Devious_Maids/seasons/"
    ],
    [
        "s31908", "https://www.lostfilm.tv/series/The_Last_Ship/seasons/"
    ],
    [
        "s18136", "https://turbik.tv/Series/PersonOfInterest", "https://www.lostfilm.tv/series/Person_of_Interest/seasons/"
    ],
    [
        "s39146", "https://turbik.tv/Series/12Monkeys", "https://www.lostfilm.tv/series/12_Monkeys/seasons/"
    ],
    [
        "s35540", "https://turbik.tv/Series/SiliconValley"
    ],
    [
        "s11945", "https://www.lostfilm.tv/series/Game_of_Thrones/seasons/"
    ],
    [
        "s39608", "http://seasonvar.ru/serial-14264-Poslednij_chelovek_na_Zemle-0003-sezon.html",
    ],
    [
        "s6266", "https://turbik.tv/Series/MikeAndMolly"
    ],
    [
        "s35595", "https://turbik.tv/Series/BetterCallSaul", "https://www.lostfilm.tv/series/Better_Call_Saul/seasons/"
    ],
    [
        "s29471", "https://turbik.tv/Series/Vikings", "https://www.lostfilm.tv/series/Vikings/seasons/"
    ],
    [
        "s32051", "https://www.lostfilm.tv/series/The_100/seasons/"
    ],
    [
        "s9118", "http://alexfilm.cc/viewtopic.php?t=1609"
    ],
    [
        "s6231", "https://turbik.tv/Series/HappyEndings"
    ],
    [
        "s18575", "https://turbik.tv/Series/2BrokeGirls", "https://vk.com/bravesound"
    ],
    [
        "s5317", "https://turbik.tv/Series/TheWalkingDead", "https://www.lostfilm.tv/series/The_Walking_Dead/seasons/"
    ],
    [
        "s38478", "https://turbik.tv/Series/iZombie"
    ],
    [
        "s34273", "https://turbik.tv/Series/BlackSails", "https://www.lostfilm.tv/series/Black_Sails/seasons/"
    ],
    [
        "s71", "https://turbik.tv/Series/HowIMetYourMother", "http://куражбамбей.рф/how-i-met"
    ],
    [
        "s2", "https://turbik.tv/Series/TheBigBangTheory", "http://куражбамбей.рф/serial-teoriya-bolshogo-vzryva-11-sezon.html"
    ],
    [
        "s42924", "https://turbik.tv/Series/FearTheWalkingDead", "https://www.lostfilm.tv/series/Fear_the_Walking_Dead/seasons/"
    ],
    [
        "s37893", "https://www.lostfilm.tv/series/Z_Nation/seasons/"
    ],
    [
        "s25403", "https://turbik.tv/Series/Defiance"
    ],
    [
        "s12630", "https://turbik.tv/Series/FallingSkies", "https://www.lostfilm.tv/series/Falling_Skies/seasons/"
    ],
    [
        "s28600", "https://turbik.tv/Series/MarvelsAgentsOfSHIELD", "https://www.lostfilm.tv/series/Agents_of_SHIELD/seasons/"
    ],
    [
        "s37713", "https://turbik.tv/Series/AgentCarter", "https://www.lostfilm.tv/series/Agent_Carter/seasons/"
    ],
    [
        "s42707", "https://turbik.tv/Series/Humans", "https://www.lostfilm.tv/series/Humans/seasons/"
    ],
    [
        "s29963", "https://turbik.tv/Series/UnderTheDome", "https://www.lostfilm.tv/series/Under_the_Dome/seasons/"
    ],
    [
        "s42735", "https://turbik.tv/Series/MrRobot", "https://www.lostfilm.tv/series/Mr_Robot/seasons/"
    ],
    [
        "s34435", "https://turbik.tv/Series/TheStrain", "https://www.lostfilm.tv/series/The_Strain/seasons/"
    ],
    [
        "s43025", "http://куражбамбей.рф/serial-zhivu-s-modelyami-1-sezon.html"
    ]
];
let aHref = "<a href='";
let a2 = "' target='_blank' class='style'>";
let aBeforeClass = "' target='_blank' class='";
let aAfterClass = "'>";
let aEndOfa = "</a>";
let img = [];
img['turbik'] = "<img src=' data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDgzRTE4MTJFNTIxMTFFNTkxNDJDN0QwNTJGQTA2RTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDgzRTE4MTNFNTIxMTFFNTkxNDJDN0QwNTJGQTA2RTciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowODNFMTgxMEU1MjExMUU1OTE0MkM3RDA1MkZBMDZFNyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowODNFMTgxMUU1MjExMUU1OTE0MkM3RDA1MkZBMDZFNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkNFw5AAAAGfSURBVHjapFPLSsNAFM2kCYhW8VG00KW4sS1Sq1/QVQVdFRUEVxJrhLYf4KIRP8BPUKHith/QpQuFigTEhY+Fq8ZVFQJtmiaeqRm5ioLawMmcOTNz75l7E+b7vtTPI0t9Poy/yuWyHI1GV0HXgXnG2DicDX3ayJgNrYnx2vO8M8uyTnHOY5qmqalUqoo92T9lZqzWaDSWlGQyuY2I2X+4z0QikV1egw0EkAKY3W53odPpTIOfE/0S2qzrunPgV0Rfk/GKCwGbdgqFQr1UKj1ibggdQfeh3RaLRdNxHE3oqElcARkWnhDgRnAsPpAWPwkCF/ey/NG8sILo316w3W67oVCox+ke8AE65w4kEn0Uwwvn0GOotBTwMKn+Ij3DHbxiHAkW93K5XD6RSMC9r4tM4Hn0/KLVavHrHhAHTQWLd0A6ELbwTay8n/GnSA02VVXNAIPIPkZuaiqwXUXmNBEnf+h77KuABEeybduHvP+kt78CrnFsmuZJr0q6rofxVelwsozpDDDB6xMkcgCbNwZ4BupAxTCMWq9u/f7ObwIMAPxIKtndb2JRAAAAAElFTkSuQmCC'>";// turbik
img['lostfilm'] = "<img src=' data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RkJBQkQ0RDNFNTIwMTFFNTk3NTE4RTNFNTRBMzFCMUEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RkJBQkQ0RDRFNTIwMTFFNTk3NTE4RTNFNTRBMzFCMUEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGQkFCRDREMUU1MjAxMUU1OTc1MThFM0U1NEEzMUIxQSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGQkFCRDREMkU1MjAxMUU1OTc1MThFM0U1NEEzMUIxQSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtLpXfgAAACGSURBVHjaYvz//z8DJYCJgUJAsQEsYNKPEewPxs0MjFhVLTrxmeH/fx504f9xFoyEXbDwxCNsmlFdgBf8l4VQjIYMCRYXUKTi/pMQBuiaiXcBzCvHscU3I5VigRgQb4kZQySFAQEX3ARi9f++DCj+xJku0FMiUKEGUOsVclzAOPQzE0CAAQC5oCP/2o5l+QAAAABJRU5ErkJggg=='>"; // Lostfilm
img['seasonvar'] = "<img src=' data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MEVCRDFDMTdGMzkxMTFFNTlDNzk5MjgxNTkxOThBRjgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MEVCRDFDMThGMzkxMTFFNTlDNzk5MjgxNTkxOThBRjgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowRUJEMUMxNUYzOTExMUU1OUM3OTkyODE1OTE5OEFGOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowRUJEMUMxNkYzOTExMUU1OUM3OTkyODE1OTE5OEFGOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Plyzy6UAAAGOSURBVHjahJK/SgNBEMbnLgmKWEVsbBQVERsFi2Cs7EQQC4sIFjYiNhKwE59BtBQLH0AbEYsodpa+gChKgi8gSIQYcutvJ+tluTt0wrczmd355s9NYIwRWQ5EJZS/ZEYi2UEfgqZ6auafECsRyCn5HmcVXZY8Vv6vnJFnh/p/U4zsKpHIHf83wGA2gQ3ugLaHjlTi+0DfbONbl14hiXJzjqRLvwBW4zcdueA8gOg9TSCJ0rtSETdj2rByzN1b8tkcOAVlr5pZzicdnF9+KGt+nryj2dJuIymiB8ASuIkz+5LwBW4PCpBYAtvrEDOw1fSlAiP55jeF1VDfvYkrsLOeRPejS6ngXlvXzKGRbiFycwjJHmiGtBhN9KIpMmcdyghEdR5OZ4Q33RcoqjbxF3EEOVkkeBxdw/OVQfAJLsGoVhv1tjV05ZV0Bt1Vffxl98ofJuAc6wOMZbVwhTUvLXa+TRtBanjPnLegBU7ibY2HGLBZRlZw7vM4xH7AW/DS1PFXwRn2EfcTeF/t1Y8AAwDtz2jKCBi1rAAAAABJRU5ErkJggg=='>";// seasonvar
img['alexfilm'] = "<img src=' data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Njg1MDVGNzE5MDc5MTFFNjgyRjlBOUFEQUM3RUNEREEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Njg1MDVGNzI5MDc5MTFFNjgyRjlBOUFEQUM3RUNEREEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2ODUwNUY2RjkwNzkxMUU2ODJGOUE5QURBQzdFQ0REQSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2ODUwNUY3MDkwNzkxMUU2ODJGOUE5QURBQzdFQ0REQSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsyMvBsAAAHHSURBVHjaxJPPSxVRFMfvmd/xaHwO4aJNIG8XtJCinbvClZB/geHCXRQIrtyLYORCcGH/QYsicFEg1DJFAuVBVNZGaiAI9PlknDdz+xzHgcfD3Vt0mc/8uPfM95zzvTNirTXDDMcMOYYWENf19Hof1uAIXsF7+HNF/BLMQgpfYdEgoCK7YPtxHO+z6/rzmqCPm9Bm3lZ4z+sKdIxAByZhW0S7swaTD/H5oYj5Xgfy8lFR9CLWXtYebMBP0KA23KteNsq46zr7dJtooM71evkLbjMRyVTgCcxDE27BL9grS/tJt5jMWsU1zs8uXHdE2dJqRayvAncHjeVoWVv+0Cp0IKaXoqrAmiCIxsIwTLgN1ZjWgIHrGGiSZOw4jkcvzPI8P2d+VP3SNc8L3jHX5XlFHfwGATy63J4P5HlzdnZ6PY5HTLfbyck6Qb9/RVyDecvwgOdd6NQmLkAELRVhYTrLMpOmv1cpP0DggHLvWFu8RXyx2UyM74fnRVHE9TZuwtyl2Em1K7JDsH5YUwjOIHC7LEvK90yj0TAkyBGZrT+Cp/AFulUL5qAyUB6T/YbjuO0oCj/SToq5ZRAEfp7nHcRey3//G/8JMAC6XLxxylXj4wAAAABJRU5ErkJggg=='>";// alexfilm
let getLocation = function (href) {
    let l = document.createElement("a");
    l.href = href;
    return l;
};
let li = [
    ["turbik.tv", "Турбик"],
    ["vk.com", "Вконтакте"],
    ["lostfilm.tv", "LostFilm"],
    ["xn--80aacbuczbw9a6a.xn--p1ai", "КуражБамбей"],
    ["alexfilm.cc", "AlexFilm"],
    ["seasonvar.ru", "SeasonVar"]
];
if (window.location.pathname.substring(0, 9) === "/profile/") {
    let z = document.getElementsByClassName("showHeader");
    for (var h = 0; h < z.length; h++) {
        z[h].getElementsByClassName("subHeader")[0].innerHTML += " " + z[h].id;
    }
    for (var i = 0; i < ss.length; i++) {
        var q = document.getElementById(ss[i][0]);
        if (q) {
            for (var n = 1; n < ss[i].length; n++) {
                for (var m = 0; m < li.length; m++) {
                    var l1 = getLocation(ss[i][n].replace(/[http*:\\]*www./, "")).hostname;
                    if (li[m][0] == l1) {
                        var ServiceName = l1.split('.')[0]; // получаем turbik, lostfilm вместо turbik.tv итд
                        if (img[ServiceName]) {
                            li[m][1] = '';
                        } else {
                            img[ServiceName] = '';
                        } // если есть картинка то выводим её, если нет то текст
                        q.innerHTML +=
                            aHref + ss[i][n] + aBeforeClass + "style " + ServiceName + aAfterClass + img[ServiceName] + li[m][1] + aEndOfa;
                        if (l1 == "turbik.tv" || l1 == "lostfilm.tv" || l1 == "seasonvar.ru" || l1 == "alexfilm.cc") {
                            var ServiceName = l1.split('.')[0]; // получаем turbik, lostfilm вместо turbik.tv итд
                            var se = q.parentNode.getElementsByClassName("seasonBlock");
                            for (var j = 0; j < se.length; j++) {
                                if (se[j].getAttribute('data-show-id') == ss[i][0].slice(1)) {
                                    //вывод для лостфильма ссылок на все сезоны
                                    if (l1 == "lostfilm.tv") {
                                        var fsbig = se[j].getElementsByClassName("fsBig");
                                        for (var xFS = 0; xFS < fsbig.length; xFS++) {
                                            fsbig[xFS].innerHTML += " <a class='lostfilmALL' href='" + ss[i][n] + "?Season=" + parseInt(fsbig[xFS].innerText) + "&Episode=999" + aBeforeClass + ServiceName + aAfterClass + img[ServiceName] + aEndOfa;
                                        }
                                    }
                                    var v = se[j].getElementsByClassName("bss_seri");
                                    for (var x = 0; x < v.length; x++) {
                                        v[x].style.width = "75px";
                                        var x1 = v[x].innerHTML.split("x"); // получаем серию и сезон
                                        if (v[x].innerHTML.length > 6) {
                                            h = x1[0]; //костыль. если уже выведен турбик чтобы не сбивалась серия у лостфильма
                                            var x1 = x1[1].split(" ");
                                            x1[1] = x1[0];
                                            x1[0] = h;
                                        }
                                        if (l1 == "turbik.tv") {
                                            x2 = ss[i][n].substring(0, 17); //url turbik
                                            x3 = ss[i][n].slice(24);
                                            v[x].innerHTML += " " + aHref + x2 + "/Watch" + x3 + "/Season" + x1[0] + "/Episode" + x1[1] + aBeforeClass + ServiceName + aAfterClass + img[ServiceName] + aEndOfa; //li[m][1] - название
                                            x2 = x2 + "/Watch" + x3 + "/Season" + x1[0] + "/Episode" + x1[1];
                                            x_episode = x1[1];
                                            parameters = '<span class="oe">Эпизод: ' + x1[1] + '</span>\r\n                    <span class="rsound"></span>';//костыль с пробелами для поиска пробелы не удалять
                                            function post(url, cb, parameters, ServiceName, categ) {
                                                GM_xmlhttpRequest({
                                                    method: "POST",
                                                    url: url,
                                                    synchronous: true,
                                                    headers: {
                                                        "User-Agent": "Mozilla/5.0",
                                                        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
                                                    },
                                                    onload: function (response) {
                                                        var doc = response.responseText;
                                                        if (doc.indexOf(parameters) > 0) {
                                                            categ.getElementsByClassName(ServiceName)[0].style.background = '#bcff82';
                                                            localStorage.setItem(url, categ.innerText);

                                                        }
                                                    },
                                                    onerror: function (response) {
                                                        post(url, cb, parameters, ServiceName, categ);
                                                    }
                                                });
                                            }

                                            if (v.length - 1 == x) { //начало только для первой серии
                                                var saved = localStorage.getItem(x2);//исключение для турбика в остальных ss[i][n]
                                                if (saved == v[x].innerText) {
                                                    v[x].getElementsByClassName(ServiceName)[0].style.background = '#bcff82';
                                                } else {
                                                    bar();
                                                }

                                                function bar(r) {
                                                    if (!r) post(x2, bar, parameters, ServiceName, v[x]);
                                                }
                                            }
                                        }
                                        if (l1 === "alexfilm.cc") {
                                            v[x].innerHTML += " " + aHref + ss[i][n] + aBeforeClass + ServiceName + aAfterClass + img[ServiceName] + aEndOfa;

                                            function post(url, cb, parameters, ServiceName, categ) {
                                                GM_xmlhttpRequest({
                                                    method: "POST",
                                                    url: url,
                                                    synchronous: true,
                                                    headers: {
                                                        "User-Agent": "Mozilla/5.0",
                                                        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
                                                    },
                                                    onload: function (response) {
                                                        var doc = response.responseText;
                                                        var parser = new DOMParser();
                                                        doc = parser.parseFromString(doc, "text/html");
                                                        var TorrentHref = doc.getElementById('panel1').getElementsByClassName('btn-group')[0].getElementsByTagName('a')[0].getAttribute("href"); //получаем url торрента
                                                        var TextH1 = doc.getElementsByTagName('h1')[0].getElementsByTagName('a')[0].innerText; //get text from h1>a
                                                        var epizode = TextH1.split('-')[1].split(' ')[0]; //получаем количество серий
                                                        if (parseInt(epizode) >= parseInt(parameters)) {
                                                            categ.getElementsByClassName(ServiceName)[0].style.background = '#bcff82';
                                                            localStorage.setItem(url, categ.innerText);

                                                            // меняем url для торрента
                                                            function extractDomain(url) {
                                                                var domain;
                                                                //find & remove protocol (http, ftp, etc.) and get domain

                                                                domain = url.split('/')[2];
                                                                domain = "http://" + domain + "/"; //первоначально скрипт без этой строки
                                                                return domain;
                                                            }

                                                            categ.getElementsByClassName(ServiceName)[0].href = extractDomain(url) + TorrentHref;
                                                            // конец замены url торрента
                                                        }
                                                    },
                                                    onerror: function (response) {
                                                        post(url, cb, parameters, ServiceName, categ);
                                                    }
                                                });
                                            }

                                            if (v.length - 1 === x) { //начало только для первой серии
                                                var saved = localStorage.getItem(ss[i][n]);
                                                if (saved == v[x].innerText) {
                                                    v[x].getElementsByClassName(ServiceName)[0].style.background = '#bcff82';
                                                } else {
                                                    bar();
                                                }

                                                function bar(r) {
                                                    if (!r) post(ss[i][n], bar, x1[1], ServiceName, v[x]);// ss[i][n] - url, x1[1] - серия
                                                }
                                            }
                                        }

                                        if (l1 == "lostfilm.tv") {
                                            // x4 = ss[i][n].substring(0, 42); //url lostfilm
                                            v[x].innerHTML += " " + aHref + ss[i][n] + "?Season=" + x1[0] + "&Episode=" + x1[1] + aBeforeClass + ServiceName + aAfterClass + img[ServiceName] + aEndOfa;
                                            // if (x1[1] < 10) {
                                            // x_episode = "0" + x1[1];
                                            // } else {
                                            x_episode = x1[1];
                                            // }
                                            // x_cat = ss[i][n].substring(39);
                                            x_season = x1[0];
                                            // parameters = "season_" + x_season + "/episode_" + x_episode;PlayEpisode('295','1','10')
                                            // parameters = "ShowAllReleases('" + x_cat + "','" + x_season + "','" + x_episode + "');return false;";
                                            parameters = "PlayEpisode('replace','" + x_season + "','" + x_episode + "')";

                                            function post(url, cb, parameters, ServiceName, categ) {
                                                GM_xmlhttpRequest({
                                                    method: "POST",
                                                    url: url,
                                                    synchronous: true,
                                                    timeout: '3000',
                                                    headers: {
                                                        "User-Agent": "Mozilla/5.0", // If not specified, navigator.userAgent will be used.
                                                        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" // If not specified, browser defaults will be used.
                                                    },
                                                    onload: function (response) {
                                                        var doc = response.responseText;

                                                        newvar = doc.split('FollowSerial(');//есть ли редирект
                                                        newvar = newvar[1].split(')');//получаем url редиректа
                                                        newvar = newvar[0];
                                                        parameters = parameters.replace("replace", newvar);
                                                        //Редирект
                                                        if (doc.indexOf('http-equiv="refresh"') > 0) {
                                                            url = doc.split('url=/');//есть ли редирект
                                                            url = url[1].split('"');//получаем url редиректа
                                                            url = "https://www.lostfilm.tv/" + url[0];
                                                            post(url, cb, parameters, ServiceName, categ);
                                                        }
                                                        if (doc.indexOf(parameters) > 0) {
                                                            categ.getElementsByClassName(ServiceName)[0].style.background = '#bcff82';
                                                            localStorage.setItem(url, categ.innerText);
                                                        }
                                                    },
                                                    onerror: function (response) {
                                                        post(url, cb, parameters, ServiceName, categ);
                                                    }
                                                });
                                            }

                                            if (v.length - 1 === x) { //начало только для первой серии
                                                var saved = localStorage.getItem(ss[i][n]);
                                                if (saved === v[x].innerText) {
                                                    v[x].getElementsByClassName(ServiceName)[0].style.background = '#bcff82';
                                                } else {
                                                    bar();
                                                }

                                                function bar(r) {
                                                    if (!r) post(ss[i][n], bar, parameters, ServiceName, v[x]);//переменные для GM_xmlhttpRequest x1[0] серия-
                                                    /*if (r) {}*/
                                                }
                                            } //конец только для первой серии
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
if (window.location.pathname.substring(0, 6) === "/view/") {
    var q = document.getElementById('showId').value;
    if (q) {
        for (var i = 0; i < ss.length; i++) {
            if (q === ss[i][0].substring(1)) {
                for (var n = 1; n < ss[i].length; n++) {
                    for (var m = 0; m < li.length; m++) {
                        var l1 = getLocation(ss[i][n].replace(/[https*:\\]*www./, ""))
                            .hostname;
                        if (li[m][0] == l1) {
                            document.getElementsByTagName('h1')[0].innerHTML +=
                                aHref + ss[i][n] + a2 + li[m][1] + aEndOfa;
                        }
                    }
                }
            }
        }
    }
}


// Listener for Pop up
let watched = document.getElementsByClassName("lostfilm");

let hint = {
    init: function () {
        let popupDiv = document.createElement('div');
        popupDiv.id = "popup";

        document.body.appendChild(popupDiv);
        var popup = document.getElementById('popup');
        var hintTarg = document.getElementsByClassName("lostfilm");

        // mouseOver
        for (var i = 0; i < hintTarg.length; i++) {
            hintTarg[i].onMouseOver = function (e) {
                popup.style.left = e.screenX + 'px';
                popup.style.top = e.screenY + 'px';
            };
        }
    }
};
hint.init();