Average Price Calculator for MoogleMail

Shows the average price of items attached to a letter at the bottom of the body section.

Per 16-03-2015. Zie de nieuwste versie.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey, Greasemonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Userscripts.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een gebruikersscriptbeheerder nodig.

(Ik heb al een user script manager, laat me het downloaden!)

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

(Ik heb al een beheerder - laat me doorgaan met de installatie!)

// ==UserScript==
// @name            Average Price Calculator for MoogleMail
// @description     Shows the average price of items attached to a letter at the bottom of the body section.
// @include         http://hentaiverse.org/?s=Bazaar&ss=mm&filter=*
// @version 0.0.1.20150316110318
// @namespace https://greasyfork.org/users/2233
// ==/UserScript==

var wnd = window
var doc = wnd.document
var loc = location
var href = loc.href

var $  = function(e, css) { if(!css) { css=e; e=doc }; return e.querySelector(css) }
var $$ = function(e, css) { if(!css) { css=e; e=doc }; return e.querySelectorAll(css) }

if(/&?\bmid=/.test(href)) {
    var body_section = $('#leftpane').children[1]
    var s = body_section.textContent.replace(/>/g, '')
    var m = s.match(/(?:Attached item removed: )(?:([0-9]+)x )?([^\(]+)\(.+, CoD was ([0-9]+)C/i)
    //var m = s.match(/(?:(?:Originally attached item was: )|(?:Attached item removed: ))(?:([0-9]+)x )?([^\(]+)\(.+, CoD was ([0-9]+)C/i)
    console.log(m)
    if(m) {
        var quantity = parseInt(m[1])
        if(isNaN(quantity)) { quantity = 1 }
        var item = m[2].replace(/^ +| +$/g, '')
        var cod = parseInt(m[3])
        var avg_price = cod/quantity
        body_section.innerHTML = body_section.innerHTML + '<HR>Item: ' + item + '<BR>Quantity: ' + quantity + '<BR>CoD: ' + cod + 'c<BR>Average Price: ' + avg_price + 'c'
    }
}