KissCartoon Clean

Cleans KissCartoon

Från och med 2016-07-23. Se den senaste versionen.

Detta skript bör inte installeras direkt. Det är ett bibliotek för andra skript att inkludera med meta-direktivet // @require https://update.greasyfork.org/scripts/21614/137666/KissCartoon%20Clean.js

// ==UserScript==
// @include        http://kisscartoon.me/Cartoon/*
// @include        https://kisscartoon.me/Cartoon/*
// @include        http://kissanime.to/Anime/*
// @include        https://kissanime.to/Anime/*
// ==/UserScript==

var DOM = {
    // main containers
    $body : $('body'),
    $containerRoot : $('#containerRoot'),
    $container : $('#container'),
    $adsIfrme : $('#adsIfrme'),
    $barContent : $('.barContent').first(),

    // single elements
    $epSelect : $('#selectEpisode'),
    $epPrev : $('#btnPrevious'),
    $epNext : $('#btnNext'),
    $selectPlayerParent : $('#selectPlayer').parent().parent(),
    $lightSwitch : $('#switch'),
    $video : $('#centerDivVideo'),
    $videoJS : $('.video-js').first(),
    $download : $('#divDownload'),
    $filename : $('#divFileName'),
    $clsTempMSg : $('.clsTempMSg').first(),
    $profileLinkParent : $('a[href="/Profile"]').parent().parent(),

    // multiple elements
    $ads : $('*[id*="adsIfrme"]').not('.bigBarContainer'),
    $ads2 : $('#videoAd'),
    $clears : $('div[class*="clear"]'),
    $hide : $('.divCloseBut')
},

    // some variables
    title = $('title').text(),
    prevHref = DOM.$epPrev.parent().attr('href'),
    nextHref = DOM.$epNext.parent().attr('href'),

    strContains = function(haystack, needle){
        return (haystack.indexOf(needle) >= 0) ? true : false;
    },

    smartHide = function(elem){
        elem.css({
            'height' : 0,
            'overflow' : 'hidden',
            'padding' : 0,
            'margin' : 0
        });
    },

    restructurePage = function(){
        // hide unnecessary elements
        DOM.$selectPlayerParent.parent().prevAll('span').hide();
        DOM.$video.prev().prev('span').hide();
        DOM.$filename.hide();
        DOM.$ads.hide();
        DOM.$ads2.hide();
        DOM.$hide.hide();
        DOM.$lightSwitch.show();
        DOM.$clsTempMSg.hide();
        DOM.$profileLinkParent.hide();

        smartHide(DOM.$container.siblings());
        smartHide(DOM.$containerRoot.siblings());
        smartHide(DOM.$clears);

        // adjust sizes and spacings
        DOM.$adsIfrme.css({
            'padding' : 0,
            'margin' : 0
        });
        DOM.$barContent.css({
            'background' : 'none',
            'line-height' : 'normal',
            'padding' : 0,
            'margin' : 0
        });
        DOM.$selectPlayerParent.css({
            'float' : 'none',
            'width' : 'auto',
            'text-align' : 'center'
        });
        DOM.$epSelect.parent().parent().css('padding', 0);
        DOM.$download.css('padding', 0);

        // recolor
        DOM.$containerRoot.css('background-color', '#000');
        DOM.$adsIfrme.css('background-color', '#000');
        DOM.$videoJS.css('background-color', '#111');
        DOM.$adsIfrme.css('border', 'none');
    },

    modifyTitle = function(){
        title = title.replace(' (Sub)', '').replace('Episode ', '').split('-')[0];

        if (strContains(title, 'Fairy Tail (2014)')){
            title = 'Fairy Tail ' + (parseInt(title.split('(2014)')[1]) + 175);
        }

        $('title').text(title);
    },

    openEpisode = function(linkHref, linkTarget){
        if(linkHref === null){
            alert('EPISODE NOT FOUND');
        }else{
            window.open(linkHref, linkTarget);
        }
    },

    bindHotkeys = function(){
        $(document).keydown(function(e){
            if(e.ctrlKey && e.shiftKey && e.keyCode == 221){ // ctrl + shift + ]
                openEpisode(nextHref, '_blank');
            }else if(e.ctrlKey && e.keyCode == 221){ // ctrl + ]
                openEpisode(nextHref, '_self');
            }

            if(e.ctrlKey && e.shiftKey && e.keyCode == 219){ // ctrl + shift + [
                openEpisode(prevHref, '_blank');
            }else if(e.ctrlKey && e.keyCode == 219){ // ctrl + [
                openEpisode(prevHref, '_self');
            }
        });
    },

    showHotkeys = function(){
        $('.allofthelights_bg').css({
            'background' : '#fff !important',
            'opacity' : '1.00 !important'
        });
        /*
        DOM.$barContent.prepend('<div id="uscript-hotkey-box">This will disappear in <span id="uscript-hotkey-timer">11</span> seconds.<table id="uscript-hotkey-tbl"><tr><th colspan="2">Keyboard Shortcuts:</th></tr><tr><td>ctrl + ]</td><td>next episode in same tab</td></tr><tr><td>ctrl + [</td><td>previous episode in same tab</td></tr><tr><td>ctrl + shift + ]</td><td>next episode in new tab</td></tr><tr><td>ctrl + shift + [</td><td>previous episode in new tab</td></tr></table></div>');
        $('#uscript-hotkey-box').css({
            'color' : '#fff',
            'background-color' : '#333',
            'width' : '400px',
            'margin' : '0px auto'
        });
        $('#uscript-hotkey-tbl').css({
            'width' : '100%',
            'border' : '1px solid #fff'
        });
        var	timer = 11,
            interval = setInterval(function() {
                timer--;
                $('#uscript-hotkey-timer').text(timer);
                if (timer === 0) {
                    clearInterval(interval);
                    $('#uscript-hotkey-box').slideUp();
                }
            }, 1000);
            */
    };


//$(document).ready(function(){
//if(DOM.$video.length){
$('#switch').click();
restructurePage();
//modifyTitle();
bindHotkeys();
showHotkeys();
$('#videoAd').remove();
$('.allofthelights_bg').css('background','white !important').css('opacity','1.00 !important');
// checkNewEpisode();
//}
//});