craicy / Create custom button

// ==UserScript==
// @name        Create custom button
// @namespace   Violentmonkey Scripts
// @match       https://rateyourmusic.com/*
// @grant       window
// @version     1.1
// @author      Craicy
// @description 21.8.2021, 13:59:21
// @license MIT
// ==/UserScript==
var currentLocation = window.location; // get website
var locationType = currentLocation.href.split(['/'])[3]; // the part after ...com/
if (locationType.search('customchart') == 0 || locationType.search('chart') == 0) {
  var divs = document.getElementsByClassName("ui_media_links"); // The boxes: Listen: ...
  // There are multiple entrys
  for (let i = 0; i < divs.length; i++) {
    let button_field = divs.item(i);
    let button = get_spotify_button(button_field); // search the spotify button in the button_field
    if (button != 0) {
      add_album_button(button);
    }
  }
}
else if (locationType.search('release') == 0) {
  var divs = document.getElementsByClassName("ui_media_links promoted"); // The boxes: Listen: ...
  // Only one element
  // find the element
  let button_field = divs.item(1);
  let button = get_spotify_button(button_field);
  add_album_button(button);
}
else {
  // not supported
}

function get_spotify_button(button_field) {
  var buttons = button_field.children;
  for (let j = 1; j < buttons.length - 1; j++) {
    if (buttons.item(j).title == "Spotify") {
      return buttons.item(j);
    }
  }
  return 0;
}

function add_album_button(spotifyButton) {
  var album_id_raw = spotifyButton.href;
  var album_id = album_id_raw.split("/")[4];
  var parentDiv = spotifyButton.parentNode;
  var addToPlaylistButton = spotifyButton.cloneNode(true);
  addToPlaylistButton.href = "spopy:" + album_id; // set link when clicked
  addToPlaylistButton.target = "_self"; // make the link open in same window
  addToPlaylistButton.title = "Change this to change mouse hover text"
  addToPlaylistButton.style.backgroundImage = "url(https://i.imgur.com/8vsXJDbt.png)"; // link to a custom hosted image
  parentDiv.insertBefore(addToPlaylistButton, spotifyButton.nextSibling); // this is insertAfter
}