Fluffy_Stick_JV

StickersJVC vous permet d'utiliser les stickers JVC rapidement.

目前為 2023-09-18 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         Fluffy_Stick_JV
// @author       ImThatGuy_edit_New_Atlantis
// @description  StickersJVC vous permet d'utiliser les stickers JVC rapidement.
// @namespace    Fluffy_Stick_JV
// @match        https://*.jeuxvideo.com/messages-prives/nouveau.php*
// @match        https://*.jeuxvideo.com/messages-prives/message.php*
// @match        https://*.jeuxvideo.com/forums/42-*
// @match        https://*.jeuxvideo.com/forums/1-*
// @match        https://*.jeuxvideo.com/forums/0-*
// @require      http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @require      https://cdnjs.cloudflare.com/ajax/libs/tipso/1.0.8/tipso.min.js
// @grant        GM_addStyle
// @grant        GM_getValue
// @grant        GM_setValue
// @version      0.4.3_v42
// @icon         https://i.imgur.com/NHTdDRb.png
// @license      MIT
// ==/UserScript==

/*
StickersJVC. 2018-2023.
Codé par ImThatGuy edit Shuichi

*/


//____________jquery__________________

(function($, window, document, undefined) {
  
  'use strict';
  
  var plugin = 'nuContextMenu';
  
  var defaults = {
    hideAfterClick: false,
    contextMenuClass: 'nu-context-menu',
    activeClass: 'active'
  };
  
  var nuContextMenu = function(container, options) {
    this.container = $(container);
    this.options = $.extend({}, defaults, options);
    this._defaults = defaults;
    this._name = plugin;
    this.init();
  };
  
  $.extend(nuContextMenu.prototype, {
    init: function() {
      
      if (this.options.items) {
        this.items = $(this.options.items);
      }
      
      if (this._buildContextMenu()) {
        this._bindEvents();
        this._menuVisible = this._menu.hasClass(this.options.activeClass);
      }
    },
    
    _getCallback: function() {
      return ((this.options.callback && typeof this.options.callback ===
      'function') ? this.options.callback : function() {});
    },
    
    _buildContextMenu: function() {
      
      // Create context menu
      this._menu = $('<div>')
      .addClass(this.options.contextMenuClass)
      .append('<ul>');
      
      var menuArray = this.options.menu,
      menuList = this._menu.children('ul');
      
      // Create menu items
      $.each(menuArray, function(index, element) {
        
        var item;
        
        if (element !== null && typeof element !==
          'object') {
          return;
          }
          
          if (element.name === 'void') {
            item = $('<hr>');
            menuList.append(item);
            return;
          }
          
          item = $('<li>')
          .attr('data-key', element.name)
          .text(' ' + element.title);
          
          if (element.icon) {
            var icon = $('<i>')
            .addClass('fa fa-' + element.icon.toString());
            item.prepend(icon);
          }
          
          menuList.append(item);
          
      });
      
      $('body')
      .append(this._menu);
      
      return true;
      
    },
    
    _pDefault: function(event) {
      event.preventDefault();
      event.stopPropagation();
      return false;
    },
    
    _contextMenu: function(event) {
      
      event.preventDefault();
      
      // Store the value of this
      // So it can be used in the listItem click event
      var _this = this;
      var element = event.target;
      
      if (this._menuVisible || this.options.disable) {
        return false;
      }
      
      var callback = this._getCallback();
      var listItems = this._menu.children('ul')
      .children('li');
      
      listItems.off()
      .on('click', function() {
        
        var key = $(this)
        .attr('data-key');
        callback(key, element);
        if (_this.options.hideAfterClick) {
          _this.closeMenu();
        }
      });
      
      this.openMenu();
      this._menu.css({
        'top': event.pageY + 'px',
        'left': event.pageX + 'px'
      });
      
      return true;
    },
    
    _onMouseDown: function(event) {
      // Remove menu if clicked outside
      if (!$(event.target)
        .parents('.' + this.options.contextMenuClass)
        .length) {
        this.closeMenu();
        }
    },
    
    _bindEvents: function() {
      
      if (this.items) {
        // Make it possible to bind to dynamically created items
        this.container.on('contextmenu', this.options.items,
                          $.proxy(this._contextMenu,
                                  this));
      } else {
        this.container.on('contextmenu', $.proxy(this._contextMenu,
                                                 this));
      }
      
      // Remove menu on click
      $(document)
      .on('mousedown', $.proxy(this._onMouseDown, this));
      
    },
    
    disable: function() {
      this.options.disable = true;
      return true;
    },
    
    destroy: function() {
      if (this.items) {
        this.container.off('contextmenu', this.options.items);
      } else {
        this.container.off('contextmenu');
      }
      this._menu.remove();
      return true;
    },
    
    openMenu: function() {
      this._menu.addClass(this.options.activeClass);
      this._menuVisible = true;
      return true;
    },
    
    closeMenu: function() {
      this._menu.removeClass(this.options.activeClass);
      this._menuVisible = false;
      return true;
    }
    
  });
  
  $.fn[plugin] = function(options) {
    var args = Array.prototype.slice.call(arguments, 1);
    
    return this.each(function() {
      var item = $(this),
                     instance = item.data(plugin);
                     if (!instance) {
                       item.data(plugin, new nuContextMenu(this, options));
                     } else {
                       if (typeof options === 'string' && options[0] !== '_' &&
                         options !== 'init') {
                         instance[options].apply(instance, args);
                         }
                     }
    });
  };
  
})(jQuery, window, document);

//Script_Stickers__________________

/*jshint multistr: true */
(function() {
    'use strict';

	const version = "0.4.3";
	console.log("[StickersJVC version "+version+"]");

	// IMPORT CSS
	$('head').append('<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/tipso/1.0.8/tipso.min.css"/>');
	$('head').append('<link rel="stylesheet" type="text/css" href="https://epmd.000webhostapp.com/files/nu-context-menu.css"/>');

	// Current div
	var currentDiv = "fav";
	// LISTS
	var _stickers_hap = [
		"http://image.jeuxvideo.com/stickers/p/1kki",
		"http://image.jeuxvideo.com/stickers/p/1kkn",
		"http://image.jeuxvideo.com/stickers/p/1lmk",
		"http://image.jeuxvideo.com/stickers/p/1kkl",
		"http://image.jeuxvideo.com/stickers/p/1lmh",
		"http://image.jeuxvideo.com/stickers/p/1ljr",
		"http://image.jeuxvideo.com/stickers/p/1kkh",
		"http://image.jeuxvideo.com/stickers/p/1nub",
		"http://image.jeuxvideo.com/stickers/p/1kkk",
		"http://image.jeuxvideo.com/stickers/p/1mr0",
		"http://image.jeuxvideo.com/stickers/p/1nua",
		"http://image.jeuxvideo.com/stickers/p/1ljm",
		"http://image.jeuxvideo.com/stickers/p/1ljq",
		"http://image.jeuxvideo.com/stickers/p/1ljl",
		"http://image.jeuxvideo.com/stickers/p/1lmi",
		"http://image.jeuxvideo.com/stickers/p/1lml",
		"http://image.jeuxvideo.com/stickers/p/1lmj",
		"http://image.jeuxvideo.com/stickers/p/1lmn",
		"http://image.jeuxvideo.com/stickers/p/1lmo",
		"http://image.jeuxvideo.com/stickers/p/1lmp",
		"http://image.jeuxvideo.com/stickers/p/1mqv",
		"http://image.jeuxvideo.com/stickers/p/1kkm",
		"http://image.jeuxvideo.com/stickers/p/1nu7",
		"http://image.jeuxvideo.com/stickers/p/1mqx",
		"http://image.jeuxvideo.com/stickers/p/1nu8",
		"http://image.jeuxvideo.com/stickers/p/1kkj",
		"http://image.jeuxvideo.com/stickers/p/1mr1",
		"http://image.jeuxvideo.com/stickers/p/1mqy"
	];
	var _stickers_noel = [
		"http://image.jeuxvideo.com/stickers/p/1kkr",
		"http://image.jeuxvideo.com/stickers/p/1kko",
		"http://image.jeuxvideo.com/stickers/p/1kkg",
		"http://image.jeuxvideo.com/stickers/p/1kkp",
		"http://image.jeuxvideo.com/stickers/p/1ljj",
		"http://image.jeuxvideo.com/stickers/p/1ljn",
		"http://image.jeuxvideo.com/stickers/p/1kkq",
		"http://image.jeuxvideo.com/stickers/p/1kks",
		"http://image.jeuxvideo.com/stickers/p/1ljo",
		"http://image.jeuxvideo.com/stickers/p/1ljp",
		"http://image.jeuxvideo.com/stickers/p/1kkt",
		"http://image.jeuxvideo.com/stickers/p/1lmm",
		"http://image.jeuxvideo.com/stickers/p/1kku",
		"http://image.jeuxvideo.com/stickers/p/1kkv",
		"http://image.jeuxvideo.com/stickers/p/1mqw",
		"http://image.jeuxvideo.com/stickers/p/1rzs",
		"http://image.jeuxvideo.com/stickers/p/1mqz",
		"http://image.jeuxvideo.com/stickers/p/1nu9"
	];
	var _stickers_lama = [
		"http://image.jeuxvideo.com/stickers/p/1kgx",
		"http://image.jeuxvideo.com/stickers/p/1kh1",
		"http://image.jeuxvideo.com/stickers/p/1kgz",
		"http://image.jeuxvideo.com/stickers/p/1kgv",
		"http://image.jeuxvideo.com/stickers/p/1kgw",
		"http://image.jeuxvideo.com/stickers/p/1kgy",
		"http://image.jeuxvideo.com/stickers/p/1kgu",
		"http://image.jeuxvideo.com/stickers/p/1kh0"
	];
	var _stickers_brid = [
		"http://image.jeuxvideo.com/stickers/p/1jnd",
		"http://image.jeuxvideo.com/stickers/p/1jnc",
		"http://image.jeuxvideo.com/stickers/p/1jne",
		"http://image.jeuxvideo.com/stickers/p/1jnf",
		"http://image.jeuxvideo.com/stickers/p/1jng",
		"http://image.jeuxvideo.com/stickers/p/1jnh",
		"http://image.jeuxvideo.com/stickers/p/1jni",
		"http://image.jeuxvideo.com/stickers/p/1jnj"
	];
	var _stickers_rex = [
		"http://image.jeuxvideo.com/stickers/p/1lm9",
		"http://image.jeuxvideo.com/stickers/p/1lma",
		"http://image.jeuxvideo.com/stickers/p/1lmb",
		"http://image.jeuxvideo.com/stickers/p/1lmc",
		"http://image.jeuxvideo.com/stickers/p/1lmd",
		"http://image.jeuxvideo.com/stickers/p/1lme",
		"http://image.jeuxvideo.com/stickers/p/1lmf",
		"http://image.jeuxvideo.com/stickers/p/1lmg"
	];
	var _stickers_fluffy = [
		"http://image.jeuxvideo.com/stickers/p/1kl8",
		"http://image.jeuxvideo.com/stickers/p/1klb",
		"http://image.jeuxvideo.com/stickers/p/1kl9",
		"http://image.jeuxvideo.com/stickers/p/1kl7",
		"http://image.jeuxvideo.com/stickers/p/1kl5",
		"http://image.jeuxvideo.com/stickers/p/1kl6",
		"http://image.jeuxvideo.com/stickers/p/1kl2",
		"http://image.jeuxvideo.com/stickers/p/1kl1",
		"http://image.jeuxvideo.com/stickers/p/1kl3",
		"http://image.jeuxvideo.com/stickers/p/1kky",
		"http://image.jeuxvideo.com/stickers/p/1kkz",
		"http://image.jeuxvideo.com/stickers/p/1kla",
		"http://image.jeuxvideo.com/stickers/p/1kl4",
		"http://image.jeuxvideo.com/stickers/p/1kl0"
	];
	var _stickers_grukk = [
		"http://image.jeuxvideo.com/stickers/p/1lgg",
		"http://image.jeuxvideo.com/stickers/p/1lgb",
		"http://image.jeuxvideo.com/stickers/p/1lga",
		"http://image.jeuxvideo.com/stickers/p/1lgc",
		"http://image.jeuxvideo.com/stickers/p/1lgd",
		"http://image.jeuxvideo.com/stickers/p/1lge",
		"http://image.jeuxvideo.com/stickers/p/1lgf",
		"http://image.jeuxvideo.com/stickers/p/1lgh"
	];
	var _stickers_bud = [
		"http://image.jeuxvideo.com/stickers/p/zuc",
		"http://image.jeuxvideo.com/stickers/p/zu2",
		"http://image.jeuxvideo.com/stickers/p/zu6",
		"http://image.jeuxvideo.com/stickers/p/zu7",
		"http://image.jeuxvideo.com/stickers/p/zu8",
		"http://image.jeuxvideo.com/stickers/p/zu9",
		"http://image.jeuxvideo.com/stickers/p/zua",
		"http://image.jeuxvideo.com/stickers/p/zub",
		"http://image.jeuxvideo.com/stickers/p/1f88",
		"http://image.jeuxvideo.com/stickers/p/1f89",
		"http://image.jeuxvideo.com/stickers/p/1f8a",
		"http://image.jeuxvideo.com/stickers/p/1f8b",
		"http://image.jeuxvideo.com/stickers/p/1f8d",
		"http://image.jeuxvideo.com/stickers/p/1f8e",
		"http://image.jeuxvideo.com/stickers/p/1f8f"
	];
	var _stickers_euro = [
		"http://image.jeuxvideo.com/stickers/p/1n1m",
		"http://image.jeuxvideo.com/stickers/p/1n1n",
		"http://image.jeuxvideo.com/stickers/p/1n1t",
		"http://image.jeuxvideo.com/stickers/p/1n1q",
		"http://image.jeuxvideo.com/stickers/p/1n1s",
		"http://image.jeuxvideo.com/stickers/p/1n1o"
	];
	var _stickers_larspon = [
		"http://image.jeuxvideo.com/stickers/p/1lt9",
		"http://image.jeuxvideo.com/stickers/p/1lte",
		"http://image.jeuxvideo.com/stickers/p/1ltd",
		"http://image.jeuxvideo.com/stickers/p/1li4",
		"http://image.jeuxvideo.com/stickers/p/1jc3-fr",
		"http://image.jeuxvideo.com/stickers/p/1li5",
		"http://image.jeuxvideo.com/stickers/p/1n2d",
		"http://image.jeuxvideo.com/stickers/p/1n2i",
		"http://image.jeuxvideo.com/stickers/p/1n2j",
		"http://image.jeuxvideo.com/stickers/p/1n2m"
	];

	// Favoris
	//GM_setValue("st-fav", "");
	var _stickers_fav = [];
	if (GM_getValue("st-fav")) {
		_stickers_fav = JSON.parse(GM_getValue("st-fav"));
	}

	// FUNCTIONS
	function getCode(element) {
		return element.attr("src").split('/')[5];
	}

	function darkJVC() {
		if ( $("body").css("background-color") == "rgb(18, 18, 18)" ) {
			return true;
		} else {
			return false;
		}
	}

	function idTextarea() {
		if (window.location.href.indexOf("messages-prives/message.php?") > -1) {
			return "#message";
		} else {
			return "#message_topic";
		}
	}

	// MAIN APPEND
	var newStickers = '<div style="position: relative">\
                        <div id="fav" class="new-stickers"></div>\
                        <div id="hap" class="new-stickers"></div>\
                        <div id="noel" class="new-stickers"></div>\
                        <div id="lama" class="new-stickers"></div>\
                        <div id="brid" class="new-stickers"></div>\
                        <div id="rex" class="new-stickers"></div>\
                        <div id="fluffy" class="new-stickers"></div>\
                        <div id="grukk" class="new-stickers"></div>\
                        <div id="bud" class="new-stickers"></div>\
                        <div id="euro" class="new-stickers"></div>\
                        <div id="larspon" class="new-stickers"></div>\
                      </div>';
	$(newStickers).insertAfter('.jv-editor-toolbar');

	if (_stickers_fav.length < 1) {
		$("#fav").append('<p id="aucunFav">Vous n\'avez aucun sticker dans vos favoris.</p>');
		currentDiv = "fluffy";
	} // Check s'il y a des fav

	// HIDES
	$(".new-stickers").each(function() {
		if ( $(this).attr("id") != currentDiv ) {
			$(this).hide();
		}
	});

	// APPENDS
	let toolbar = document.querySelector(".jv-editor-toolbar")
    let imgBtnGroup = toolbar.querySelectorAll(".btn-group")[2]
    //btns = imgBtnGroup.querySelectorAll("button")
    let stickersBtn = document.createElement("button")
    stickersBtn.classList.add("btn")
    stickersBtn.classList.add("btn-jv-editor-toolbar")
    stickersBtn.setAttribute("id", "active-script")
	stickersBtn.setAttribute("style", "filter: grayscale(1)")
    stickersBtn.setAttribute("type", "button")
    stickersBtn.innerHTML = "s"
    imgBtnGroup.appendChild(stickersBtn)
	$(".new-stickers").append('<div code="hap" id="hap-css" title="Hap & autres" class="cat-stickers"></div>\
                               <div code="noel" id="noel-css" title="Noel" class="cat-stickers"></div>\
                               <div code="lama" id="lama-css" title="Lama" class="cat-stickers"></div>\
                               <div code="brid" id="brid-css" title="Bridgely" class="cat-stickers"></div>\
                               <div code="rex" id="rex-css" title="Rex ryder" class="cat-stickers"></div>\
                               <div code="fluffy" id="fluffy-css" title="Fluffy" class="cat-stickers"></div>\
                               <div code="grukk" id="grukk-css" title="Grukk" class="cat-stickers"></div>\
                               <div code="bud" id="bud-css" title="Bud" class="cat-stickers"></div>\
                               <div code="euro" id="euro-css" title="Euro" class="cat-stickers"></div>\
                               <div code="larspon" id="larspon-css" title="Larry & Sponsos" class="cat-stickers"></div>');

	// AJOUT STICKERS
	for (var i = 0; i < _stickers_hap.length; i++) {
		$(".new-stickers#hap").append( '<img src="'+_stickers_hap[i]+'" class="stickers-script">' );
	}
	for (var k = 0; k < _stickers_noel.length; k++) {
		$(".new-stickers#noel").append( '<img src="'+_stickers_noel[k]+'" class="stickers-script">' );
	}
	for (var lz = 0; lz < _stickers_lama.length; lz++) {
		$(".new-stickers#lama").append( '<img src="'+_stickers_lama[lz]+'" class="stickers-script">' );
	}
	for (var n = 0; n < _stickers_brid.length; n++) {
		$(".new-stickers#brid").append( '<img src="'+_stickers_brid[n]+'" class="stickers-script">' );
	}
	for (var j = 0; j < _stickers_rex.length; j++) {
		$(".new-stickers#rex").append( '<img src="'+_stickers_rex[j]+'" class="stickers-script">' );
	}
	for (var fff = 0; fff < _stickers_fluffy.length; fff++) {
		$(".new-stickers#fluffy").append( '<img src="'+_stickers_fluffy[fff]+'" class="stickers-script">' );
	}
	for (var gr = 0; gr < _stickers_grukk.length; gr++) {
		$(".new-stickers#grukk").append( '<img src="'+_stickers_grukk[gr]+'" class="stickers-script">' );
	}
	for (var bd = 0; bd < _stickers_bud.length; bd++) {
		$(".new-stickers#bud").append( '<img src="'+_stickers_bud[bd]+'" class="stickers-script">' );
	}
	for (var euo = 0; euo < _stickers_euro.length; euo++) {
		$(".new-stickers#euro").append( '<img src="'+_stickers_euro[euo]+'" class="stickers-script">' );
	}
	for (var lx = 0; lx < _stickers_larspon.length; lx++) {
		$(".new-stickers#larspon").append( '<img src="'+_stickers_larspon[lx]+'" class="stickers-script">' );
	}
	for (var fv = 0; fv < _stickers_fav.length; fv++) {
		$(".new-stickers#fav").append( '<img src="'+_stickers_fav[fv]+'" class="stickers-script sticker-fav">' );
	}


	// Context menu
	var context = $('.new-stickers').nuContextMenu({

		hideAfterClick: true,

		items: '.stickers-script.sticker-fav',

		callback: function(key, element) {
			if ( key == 'del' ) {
				$(element).remove();
				var index = _stickers_fav.indexOf( $(element).attr("src") );
				if (index > -1) {
					_stickers_fav.splice(index, 1);
					if (_stickers_fav.length < 1) {
						$("#fav").append('<p id="aucunFav">Vous n\'avez aucun sticker dans vos favoris.</p>');
					}
					GM_setValue("st-fav", JSON.stringify(_stickers_fav));
				}
			}
		},

		menu: [
		]

	});

	var context2 = $('body').nuContextMenu({

		hideAfterClick: true,

		items: '.stickers-script:not(.sticker-fav)',

		callback: function(key, element) {
			if ( key == 'add' ) {
				var n = $(element).attr("src");
				if (_stickers_fav.indexOf(n) > -1) {
					// Le sticker est déjà en fav
				} else {
					if ($("#aucunFav").length > 0) { $("#aucunFav").remove(); }
					$("#fav").append('<img src="'+n+'" class="stickers-script sticker-fav">');
					$(".stickers-script").off("click"); // Destroy click event stickers
					stickersEvent();
					_stickers_fav.push(n);
					// Store fav
					GM_setValue("st-fav", JSON.stringify(_stickers_fav));
				}
			}
		},

		menu: [

		]

	});

	// LISTENERS
	function stickersEvent() {
		$(".stickers-script").click(function() {
			// Get sticker code
			var code = getCode( $(this) );
			//$("#message_topic").val($("#message_topic").val() + " [[sticker:p/"+code+"]]");
			var $textarea = jQuery(idTextarea());
			var caretPos = $textarea[0].selectionStart;
			var textAreaTxt = $textarea.val();

			var sticker = "[[sticker:p/"+code+"]] ";

			$textarea.val(textAreaTxt.substring(0, caretPos) + sticker + textAreaTxt.substring(caretPos) );
			$textarea.focus();
		});
	}
	stickersEvent();

	$(".cat-stickers").click(function() {
		var id = $(this).attr("code");
		$(".new-stickers").each(function() {
			if ( $(this).attr("id") == id ) {
				$(this).show();
				if (currentDiv != id) {
					$("#"+currentDiv).hide();
					currentDiv = id;
				}
			}
		});
	});

	// NICE SCROLL
	var lastScrollTop = 0;
	var ft_up         = false;
	var ft_down       = false;
	$(".new-stickers").scroll(function() {
		//console.log($(this).scrollTop());
		var st = $(this).scrollTop();
		//console.log(st);
		if (st > lastScrollTop) {
			if (!ft_up) {
				if (st < 50) {
					ft_up = true;
					$(this).scrollTop(50);
				}
			}
		} else {
			if (!ft_down) {
				if (st > 50) {
					ft_down = true;
					$(this).scrollTop(50);
				}
			}
		}
		lastScrollTop = st;

		// Taille div
		if ($(this).scrollTop() != 0) { // Pas en haut de la div
			$(".cat-stickers").hide(55);
		} else {
			 // En haut de la div
			$(".cat-stickers").show(55);
			ft_up   = false;
			ft_down = false;
		}
		if ( $(this).scrollTop() + $(this).innerHeight() >= $(this)[0].scrollHeight ) {
			// En bas de la div
			ft_up   = false;
			ft_down = false;
		}
	});

	// Active script
	$(".new-stickers#"+currentDiv).hide(0);
	$("#active-script").click(function() {
		if ( $(".new-stickers").is(":visible") ) {
			$(this).removeClass("active");
			$(".new-stickers#"+currentDiv).hide(80);
		} else {
			$(this).addClass("active");
			$(".new-stickers#"+currentDiv).show(80);
			$(".new-stickers").css("overflow", "auto");
		}
	});

	// TOOLTIPS
	$(document).ready(function() {
		$(".cat-stickers").each(function() {
			$(this).tipso({
				delay: 0,
				speed: 120,
				background: "rgba(0, 0, 0, 0.7)",
				size: 'tiny',
				content: '<b>'+$(this).attr("title")+'</b>',
				width: null,
				maxWidth: "150px"
			});
		});
	});

	// CSS
	//GM_addStyle(".new-stickers:hover { background-color: #f9f9f9; }");
	// Scrollbar
	if (!$.browser.mozilla) {
		GM_addStyle(".new-stickers::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 3px rgba(0,0,0,0.2); background-color: #f7f7f7; }\
                     .new-stickers::-webkit-scrollbar { width: 9px; background-color: #F5F5F5; }\
                     .new-stickers::-webkit-scrollbar-thumb { background-color: #ccc; }");
	}

	GM_addStyle(".stickers-script { height: 50px; width: 50px; cursor: pointer; padding: 2px; }");

	GM_addStyle(".cat-stickers:hover { border: none; ");
	GM_addStyle(".cat-stickers#hap-css { left: 5px; background-image: url('https://i.imgur.com/QiaEFm9.png'); }\
                 .cat-stickers#noel-css { left: 30px; background-image: url('https://i.imgur.com/xrdqIkA.png'); }\
                 .cat-stickers#lama-css { left: 55px; background-image: url('http://image.jeuxvideo.com/stickers/p//1kgx'); }\
                 .cat-stickers#brid-css { left: 80px; background-image: url('https://i.imgur.com/Y2X5sc9.png'); }\
                 .cat-stickers#rex-css { left: 105px; background-image: url('https://i.imgur.com/hc1pY1o.png'); }\
                 .cat-stickers#fluffy-css { left: 130px; background-image: url('http://image.jeuxvideo.com/stickers/p/1kl8'); }\
                 .cat-stickers#grukk-css { left: 155px; background-image: url('https://i.imgur.com/raQso5Z.png'); }\
                 .cat-stickers#bud-css { left: 180px; background-image: url('https://i.imgur.com/bYjXcMU.png'); }\
                 .cat-stickers#euro-css { left: 205px; background-image: url('http://image.jeuxvideo.com/stickers/p/1n1m'); }\
                 .cat-stickers#larspon-css { left: 230px; background-image: url('http://image.jeuxvideo.com/stickers/p/1lte'); }");
	if (darkJVC()) {
		GM_addStyle(".input-on-off:checked ~ .btn-on-off, .btn-on-off.active, .btn-on-off.label-support.active-mach-version { background: url('https://jvcpremium.000webhostapp.com/files/on-off-dark.svg') 26px top!important; }");
		// Script title
		GM_addStyle(".script-title { font-family: 'robotoboldcondensed' ,Arial,Helvetica,sans-serif; text-transform: uppercase; font-size: 0.75rem; color: #d4d4d4 }");
		// Stickers panel
		GM_addStyle(".new-stickers { border-top: 1px solid #555; padding: 2px; margin-top: 8px; height: 75px; transition: background-color 0.1s; overflow: auto; text-align: center; padding-top: 10px; scroll-behavior: smooth; }");
		// Catégories
		GM_addStyle(".cat-stickers { position: absolute; top:-8px; background-color: #E6E6E6; box-shadow: 0px 2px 2px #333 ; border: 1px solid #333; border-radius: 50px; height: 16px; width: 16px; cursor: pointer; background-size: cover; background-repeat: no-repeat; background-position: center center; }");
		// Hover stickers
		GM_addStyle(".stickers-script:hover { background-color: #DADADA; border-radius: 3px; }");
		// Hover cat
		GM_addStyle(".cat-stickers:hover { box-shadow: 0px 2px 8px #222; }");
	} else {
		// Script title
		GM_addStyle(".script-title { font-family: 'robotoboldcondensed' ,Arial,Helvetica,sans-serif; text-transform: uppercase; font-size: 0.75rem; color: #656574 }");
		// Stickers panel
		GM_addStyle(".new-stickers { border-top: 1px solid #ccc; padding: 2px; margin-top: 8px; height: 75px; transition: background-color 0.1s; overflow: auto; text-align: center; padding-top: 10px; scroll-behavior: smooth; }");
		// Catégories
		GM_addStyle(".cat-stickers { position: absolute; top:-8px; background-color: #E6E6E6; box-shadow: 0px 2px 2px #e0e0e0 ; border: 1px solid #ccc; border-radius: 50px; height: 16px; width: 16px; cursor: pointer; background-size: cover; background-repeat: no-repeat; background-position: center center; }");
		// Hover stickers
		GM_addStyle(".stickers-script:hover { background-color: #DADADA; border-radius: 3px; }");
		// Hover cat
		GM_addStyle(".cat-stickers:hover { box-shadow: 0px 2px 8px #b5b5b5; }");
	}

})();