NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Bankmanagergame - Konten // @namespace http://scripte.georglink.de/ // @description Bewertet die Konto-Ertragsaussichten. // @author Georg J.P. Link // @include http://bankmanagergame.de/index.php?section=konten* // @include http://www.bankmanagergame.de/index.php?section=konten* // ==/UserScript== var $; // Add jQuery (function(){ if (typeof unsafeWindow.jQuery == 'undefined') { var GM_Head = document.getElementsByTagName('head')[0] || document.documentElement, GM_JQ = document.createElement('script'); GM_JQ.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'; GM_JQ.type = 'text/javascript'; GM_JQ.async = true; GM_Head.insertBefore(GM_JQ, GM_Head.firstChild); } GM_wait(); })(); // Check if jQuery's loaded function GM_wait() { if (typeof unsafeWindow.jQuery == 'undefined') { window.setTimeout(GM_wait, 100); } else { $1 = unsafeWindow.jQuery; rating(); } } // formatiert die Ertragsaussicht mit Tausender Trennzeichen function Trenner(number) { // Info: Die '' sind zwei Hochkommas number = '' + number; teile = number.split("."); ganze = teile[0]; if (teile[1]){ komma = teile[1]; } else { komma = "00"; } while(komma.length <2) { komma += "0"; } komma = komma.substr(0,2); if (ganze.length > 3) { var mod = ganze.length % 3; var output = (mod > 0 ? (ganze.substring(0,mod)) : ''); for (i=0 ; i < Math.floor(ganze.length / 3); i++) { if ((mod == 0) && (i == 0)) output += ganze.substring(mod+ 3 * i, mod + 3 * i + 3); else // hier wird das Trennzeichen festgelegt mit '.' output+= '.' + ganze.substring(mod + 3 * i, mod + 3 * i + 3); } return (output+','+komma); } else return teile[0]+','+komma; } // calculate Rating and insert into Table function rating() { // Adding Heading for Ertragserwartungs column $1('#listOfAccounts thead tr').append('<th id="headerscriptErtrag1" class="header scriptErtrag">Ertragserw.</th>'); $1('#tablesorter thead tr').append('<th id="headerscriptErtrag2" class="header scriptErtrag">Ertragserw.</th>'); // berechne fuer jedes Konto-Angebot $1('#listOfAccounts tbody tr').each(function ( ) { werte = new Array; i=0; test = ""; $1(this).children().each(function () { werte[i] = $1(this).text(); test += werte[i] + "\n"; i++; if (i>5) return true; }); // Aufbereitung der Werte var geldfluss = parseFloat(werte[1].replace(" k", "000").replace(/\./g, "").replace(/,/, ".")); var ueberweisungen = parseFloat(werte[2].replace(/\./g, "")); var gebuehr = parseFloat(werte[3].replace(/\./g, "").replace(/,/, ".")); var dispo_limit = parseFloat(werte[4].replace(" k", "000").replace(/\./g, "").replace(/,/, ".")); var dispo_zins = parseFloat(werte[5].replace(/,/, "."))/100; // Errechne das Rating var rating = (ueberweisungen*gebuehr + Math.min(geldfluss,dispo_limit)*dispo_zins); rating = Math.round(rating*100)/100 //trage Rating in tabelle ein. $1(this).append('<td class="scriptErtrag">'+ Trenner(rating) + '€</td>'); }); // Ertrag pro Tag von allen Konten var gesamt_tagesertrag = 0; // berechne fuer jedes bestehende Konto $1('#tablesorter tbody tr').each(function ( ) { // extrahiere alle Werte aus Tabelle werte = new Array; i=0; $1(this).children().each(function () { werte[i] = $1(this).text(); i++ if (i>5) return true; }); // Aufbereitung der Werte var geldfluss = parseFloat(werte[1].replace(" k", "000").replace(/\./g, "").replace(/,/, ".")); var ueberweisungen = parseFloat(werte[2].replace(/\./g, "")); var gebuehr = parseFloat(werte[3].replace(/\./g, "").replace(/,/, ".")); var dispo_limit = parseFloat(werte[4].replace(" k", "000").replace(/\./g, "").replace(/,/, ".")); var dispo_zins = parseFloat(werte[5].replace(/,/, "."))/100; // Errechne das Rating var rating = (ueberweisungen*gebuehr + Math.min(geldfluss,dispo_limit)*dispo_zins); rating = Math.round(rating*100)/100; gesamt_tagesertrag += rating; //trage Rating in tabelle ein. $1(this).append('<td class="scriptErtrag">'+ Trenner(rating) + '€</td>'); }); var newNode = document.createElement("div"); newNode.textContent = "tt"; //; newNode.setAttribute("style" , "margin: 5px 0;"); newNode.setAttribute("id" , "gesamtertrag"); var beforeMe = document.getElementById("tablesorter"); beforeMe.parentNode.insertBefore( newNode, beforeMe ) $1("#gesamtertrag").html('Gesamtertrag pro Tag: <span style="color:green;font-weight:bold;">' + Trenner(gesamt_tagesertrag) + ' €</span>'); //document.head.insertBefore(script, beforeMe); // window.setTimeout(sortiere_nach_bewertung, 800); } /* // set correct sorting function sortiere_nach_bewertung() { // sortiert Kontenangebote nach Beste zuerst $1('#listOfAccounts th:last-child').click().click(); // sortiert betehende Konten nach Schlechteste zuerst $1("#tablesorter th:last-child").click(); }; */ $1('#listOfAccounts th:contains("Überweis. p. Tag")').text("Überweis."); $1('#listOfAccounts th:contains("Gebühr p. Überweis.")').text("Gebühr"); $1('#tablesorter th:contains("Überweisungen")').text("Überw."); $1('#tablesorter th:contains("Gewinne Dispo")').text("Gew. Dispo"); // ums verrecken nit gschafft, die "Kündigen (Kosten: 123,-) spalte zu verkleinern... //var strNewString = $1('#tablesorter').html().replace(/Kosten: /g,''); // $1('#tablesorter').html(strNewString); //var d = $1('#tablesorter td:contains("Kosten:")'); //d.text(d.text().trim().replace(/Kosten: /i, "")); //$1('#tablesorter td:contains("Kosten:")).text(function(i, v) { //return v.replace(/Kosten: /g, "")); //}); //$1('#tablesorter td:conaints("Kosten")').each(function ( ) { // i=0; // $1(this).html().replace(/Kosten: /g, "")); //}); //$1("#tablesorter td a:contains('Kündigen')").html("K"); //$1("#tablesorter td").each(function() { //$1(this).text($1(this).text().replace(/Kosten/g, ''); //}); $1('#listOfAccounts').tablesorter(); $1('#listOfAccounts').tablesorter(); $1('#tablesorter').tablesorter(); $1('#tablesorter').tablesorter();