My Match Analyzer

My Match Analyzer For TM

// ==UserScript==
// @name           My Match Analyzer
// @namespace      *trophymanager.com/matches*
// @include        *trophymanager.com/matches*
// @version        4
// @grant          none
// @description:en My Match Analyzer For TM
// @description My Match Analyzer For TM
// ==/UserScript==

function installFunc(source) {
/*
  // Check for function input.
  if ('function' == typeof source) {
    // Execute this function with no arguments, by adding parentheses.
    // One set around the function, required for valid syntax, and a
    // second empty set calls the surrounded function.
    source = '(' + source + ')();'
  }
*/
  // Create a script node holding this  source code.
  var script = document.createElement('script');
  script.setAttribute("type", "application/javascript");
  script.textContent = source;

  // Insert the script node into the page, so it will run
  document.body.appendChild(script);
}

/*
Taken from http://www.tomhoppe.com/index.php/2008/03/dynamically-adding-css-through-javascript/
*/
function addCss(cssCode) {
var styleElement = document.createElement("style");
  styleElement.type = "text/css";
  if (styleElement.styleSheet) {
    styleElement.styleSheet.cssText = cssCode;
  } else {
    styleElement.appendChild(document.createTextNode(cssCode));
  }
  document.getElementsByTagName("head")[0].appendChild(styleElement);
}

function loadJS(filename)
{
	var fileref=document.createElement('script');
	fileref.setAttribute("type","text/javascript");
	fileref.setAttribute("src", filename);
	document.getElementsByTagName("head")[0].appendChild(fileref);
}

function clickAnalyze()
{
	//get match id
	var mid = document.URL.split(".com/")[1].split("/")[1].split("#")[0].split("?")[0];
	container = document.getElementById("mma_data");
    value = JSON.stringify(match_data);
	container.value = value;

	midc = document.getElementById("mma_mid");
	midc.value = JSON.stringify(match_id);

	mids = document.getElementById("mma_season");
	mids.value = JSON.stringify($("a[title]").first().html().split(' ')[1])

	if (!end_of_game)
		alert("Wait for match to end")
	else
	{
		myform = document.getElementById("mma_form");
		myform.action = "https://mymatchanalyzer.com/mma/report.php";
		myform.submit();
	}
}

function clickSave()
{
	//get match id
	//var mid = document.URL.split(".com/")[1].split("/")[1].split("#")[0].split("?")[0];
	//container = document.getElementById("mma_data");
	//container.value = JSON.stringify(match_data);

	midc = document.getElementById("mma_mid");
	midc.value = JSON.stringify(match_id);


	mids = document.getElementById("mma_season");
	mids.value = JSON.stringify($("a[title]").first().html().split(' ')[1])

	if (!end_of_game)
		alert("Wait for match to end")
	else
    {
		myform = document.getElementById("mma_form");
		myform.action = "https://mymatchanalyzer.com/mma/savereport.php";
		myform.submit();
	}
}

window.addEventListener('load', function (e)
{
	installFunc( clickAnalyze );
	installFunc( clickSave );
	installFunc( addCss );
	installFunc( loadJS );

	var fileref=document.createElement('script');
	fileref.setAttribute("type","text/javascript");
	fileref.setAttribute("src", "https://mymatchanalyzer.com/mma/json2.js");

	document.getElementsByTagName("head")[0].appendChild(fileref);

	loadJS("https://mymatchanalyzer.com/mma/json2.js");

	addCss(".mma_big { height: 30px; width: 400px; background: url(https://mymatchanalyzer.com/mma/scr_back.png); position: fixed; bottom: 0px; left: 10px; z-index: 10;}");
	addCss(".mma_analyze { left: 200px; top: 5px; height: 20px; position: relative; width: 60px; float: left; background: url(https://mymatchanalyzer.com/mma/analyze.png); }");
	addCss(".mma_analyze:hover { background: url(https://mymatchanalyzer.com/mma/analyze_hover.png); cursor: pointer; }");
	addCss(".mma_saverep { left: 220px; top: 5px; height: 20px; position: relative; width: 100px; float: left; background: url(https://mymatchanalyzer.com/mma/saverep.png); }");
	addCss(".mma_saverep:hover { background: url(https://mymatchanalyzer.com/mma/saverep_hover.png); cursor: pointer; }");

	thisform = document.createElement("form");
	thisform.method = "post";
	thisform.setAttribute("id", "mma_form");
	thisform.setAttribute("target", "_blank");

	formmid = document.createElement("input");
	formmid.setAttribute("id", "mma_mid");
	formmid.setAttribute("type", "hidden");
	formmid.setAttribute("name", "mid");

	thisform.appendChild(formmid);

	formseason = document.createElement("input");
	formseason.setAttribute("id", "mma_season");
	formseason.setAttribute("type", "hidden");
	formseason.setAttribute("name", "season");

	thisform.appendChild(formseason)

    formdata = document.createElement("input");
	formdata.setAttribute("id", "mma_data");
	formdata.setAttribute("type", "hidden");
	formdata.setAttribute("name", "data");

	thisform.appendChild(formdata);

	document.body.appendChild(thisform);

	div = document.createElement("div");
	div.setAttribute("class", "mma_big");

	div.innerHTML = '<div class="mma_analyze" onclick="clickAnalyze();"></div><div class="mma_saverep" onclick="clickSave();"></div>';
	document.body.appendChild(div);

}, false);