MaZaI / Rating traderOverview

// ==UserScript==
// @name         Rating traderOverview
// @namespace    https://ogame.tom.ru/
// @version      1.0
// @description  try to take over the world!
// @author       MaZaI
// @match        https://s146-ru.ogame.gameforge.com/game/index.php?page=ingame&component=traderOverview*
// @grant        none
// @license      MIT
// @updateURL https://openuserjs.org/meta/MaZaI/Rating_traderOverview.meta.js
// @downloadURL https://openuserjs.org/install/MaZaI/Rating_traderOverview.user.js
// ==/UserScript==

(function() {
	var token = '0000000000000000000000000000000000000000';
    var version = 1.0;
    var player = $('#playerName .overlay').html();
    var time_out = false;
    var time_out_limit = 5;
    //============================================================
    function Request(rating){
        var Request_data = 'page=trader&mod=rating&json='+JSON.stringify(rating);
		var my = new XMLHttpRequest();
		my.open(
			"POST",
			'https://ogame.tom.ru/ajax.php',
			true
		);
		my.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		my.send(Request_data);
		my.onload = function() {
			if (my.status == 200) {
				//console.log(my.response);
                let json = JSON.parse(my.response);
                //*
                $('#ogr_append').html(' ');
                if(rating.login == rating.target){
                    $('#ogr_append').append('<hr><div style="color:#ff0;font-size: 150%;"><b><span id="ogc_time_auc">Пока что ты у руля</span><span id="ogc_timer"></span></b></div><hr>');
                } else
                if(json.time_out == 1){
                    $('#ogr_append').append('<hr><div style="color:#ff0;font-size: 150%;"><b><span id="ogc_time_auc">Просрал время аука</span></b></div><hr>');
                } else
                if(json.status == 'N'){
                   $('#ogr_append').append('<hr><div style="color:red;font-size: 150%;"><b><span id="ogc_time_auc">ПЕРЕБИВАТЬ НЕЛЬЗЯ</span><span id="ogc_timer"></span></b></div><hr>');
                } else
                if(json.status == 'Y'){
                   $('#ogr_append').append('<hr><div style="color:green;font-size: 150%;"><b><span id="ogc_time_auc">Можно</span><span id="ogc_timer"></span></b></div><hr>');
                }
                $('#ogr_append').append('<div><a href="#" id="ogc_show">Показать\\скрыть рейтинг</a><div id="ogc_list_r" style="display: none;font-size: 120%;">'+json.html_r+'</div></div>');
                $('#ogc_show').click(function() {
                    if ($('#ogc_list_r').is(':visible')){
                        $('#ogc_list_r').slideUp();
                    } else {
                        $('#ogc_list_r').slideDown();
                    }
                    return false;
                });
                /**/
			}
		}
    }
    //============================================================
    function crossDomainPost(date) {
		// Add the iframe with a unique name
		var iframe = document.createElement("iframe");
		var uniqueString = "oGameCraft_trader_logs";
		document.body.appendChild(iframe);
		iframe.style.display = "none";
		iframe.contentWindow.name = uniqueString;

		// construct a form with hidden inputs, targeting the iframe
		var form = document.createElement("form");
		form.target = uniqueString;
		form.action = "https://ogame.tom.ru/ajax.php?page=trader";
		form.method = "POST";

		// repeat for each parameter
		var input = document.createElement("input");
		input.type = "hidden";
		input.name = "json";
		input.value = JSON.stringify(date);
		form.appendChild(input);

		document.body.appendChild(form);
		form.submit();
	}
    //============================================================
    var data = [];
	var timer_logs = setInterval(function(){
		console.log('Interval:');

		$('.auction_history li').each(function(){
			var user = $('.detail.player a', this).html();
			data.push({
				item: $('.slideIn', this).attr('ref'),
				user: typeof user == "undefined" ? 'NOT' : user.trim(),
				date: $('.detail.date_time', this).html().trim()
			});
		});

		if ( data.length > 0 ) {
			console.log('Stop Interval.');
			console.log(data);
            crossDomainPost(data);
			clearInterval(timer_logs);
		}
	}, 500);
    //============================================================
    var temp;
    var timer_timer = setInterval(function(){
        temp = $('#ago_clock_server').html();
        ogc_m = parseInt(temp.match(/:([0-9]{2}):([0-9]{2})/)[1]);
        ogc_s = parseInt(temp.match(/:([0-9]{2}):([0-9]{2})/)[2]);

        if( ogc_m < time_out_limit){
            $('#ogc_timer').html(' ( ' + (time_out_limit - ogc_m - 1) + ':' + (59 - ogc_s) + ' )');
        } else {
            console.log(ogc_m);
            $('#ogc_time_auc').html('Просрал время аука');
            clearInterval(timer_timer);
        }
    }, 1000);
    //============================================================
    var user;
    var reating;
    var target;
    var item;
    var timerId = setInterval(function(){
        if ( !($('#ogr_append').length > 0) ) {
            $('.stimulus').append('<div id="ogr_append"></div>');
        }
        user = $('.detail_value.odd.currentPlayer').html();
        if(typeof user != "undefined"){
            if (target != user.trim() || item != $('.detail_button').attr('ref') ){
                target = user.trim();
                item = $('.detail_button').attr('ref');
                reating = {
                    login: player,
                    target: target,
                    item: item,
                    token: token,
                    version: version
                }
                console.log( reating );
                Request(reating);
            }
        }
    }, 600);
})();