BlockJuice

Untitled

Jun 13th, 2013
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name           rym Total Track Times
  3. // @description    Calculates total track time for releases on rateyourmusic.com
  4. // @include        http://rateyourmusic.com/release/*
  5. // ==/UserScript==
  6.  
  7. // updated January 23, 2009 to support track listings with play links.
  8.  
  9. var main;
  10.  
  11. main = document.getElementById('tracklisting');
  12.  
  13. if (main) {
  14.  
  15.   var mainTbody = main.getElementsByTagName("tbody") [0];
  16.   var rows = mainTbody.getElementsByTagName("tr");
  17.   var trackmins = 0;
  18.   var tracksecs = 0;
  19.   var trackhours = 0;
  20.  
  21.   for(var i=0, row=null;row=rows[i]; i++){
  22.     var cells=row.getElementsByTagName("td");
  23.     var cell=row.getElementsByTagName("td")[cells.length - 1];
  24.     var tracktime = cell.textContent;
  25.    
  26.     var curTrackmins = parseInt(tracktime.split(':')[0], 10);
  27.     var curTracksecs = parseInt(tracktime.split(':')[1], 10);
  28.  
  29.     trackmins += isNaN(curTrackmins) ? 0 : curTrackmins;
  30.     tracksecs += isNaN(curTracksecs) ? 0 : curTracksecs;
  31.   }
  32.  
  33.   trackmins += Math.floor((tracksecs / 60));
  34.   tracksecs = (tracksecs % 60);
  35.   trackhours = Math.floor((trackmins / 60));
  36.   trackmins -= (trackhours * 60);
  37.  
  38.   var row = document.createElement("tr");
  39.   var color = "rgb(255,255,204)";  
  40.  
  41.   cell = document.createElement("td");
  42.   cell.style.background = color;
  43.   row.appendChild(cell);
  44.  
  45.   if(cells.length >= 4) {
  46.     cell = document.createElement("td");
  47.     cell.style.background = color;
  48.     row.appendChild(cell);
  49.   }
  50.  
  51.   cell = document.createElement("td");
  52.   cell.style.background = color;
  53.   cellText = document.createTextNode("Total Time:");
  54.   cell.appendChild(cellText);
  55.   row.appendChild(cell);
  56.  
  57.   if(cells.length == 5) {
  58.     cell = document.createElement("td");
  59.     cell.style.background = color;
  60.     row.appendChild(cell);
  61.   }
  62.  
  63.   cell = document.createElement("td");
  64.   cell.style.background = color;
  65.   if((isNaN(trackmins)) || (trackmins == 0)) {
  66.     cellText = document.createTextNode("n/a");
  67.   } else {
  68.     tracksecs += '';
  69.     trackmins += '';
  70.     if(tracksecs.length == 1) { tracksecs = "0" + tracksecs; }
  71.     if(trackmins.length == 1) { trackmins = "0" + trackmins; }
  72.     if(trackhours == 0) {cellText = document.createTextNode(trackmins + ":" + tracksecs); }
  73.     else {cellText = document.createTextNode(trackhours + ":" + trackmins + ":" + tracksecs); }
  74.   }
  75.   cell.appendChild(cellText);
  76.   row.appendChild(cell);
  77.  
  78.   main.appendChild(row);
  79. }
Advertisement
Add Comment
Please, Sign In to add comment