// ==UserScript==
// @name          netkeiba past rase
// @namespace     http://d.hatena.ne.jp/arikui/
// @include       http://race.netkeiba.com/?pid=race&id=*&mode=shutuba
// ==/UserScript==

/**********
**********/
var td = document.createElement("td");
($c("race_shutuba", "td"))[0].parentNode.appendChild(td);
td.setAttribute("rowspan", "2");
td.setAttribute("colspan", "3");
td.setAttribute("class", "race_shutuba");
td.innerHTML = "past";

var horseTable = $c("border2", "table");
var signs = (horseTable[0].getElementsByTagName("tr"))[1].getElementsByTagName("td").length;

var tr = $c("bml1", "tr");

var td, url;
for(i=0; i<tr.length; i++)
{
	td = tr[i].getElementsByTagName("td");
	url = (td[signs+2].getElementsByTagName("a"))[0].href;
	GM_xmlhttpRequest({method : "GET", url : url, onload : onload});
}

function onload(details)
{
	var responseTextLines = details.responseText.split("\n");
	var mutchLines = new Array();
	var f = false;
	var raceNum = 0;
	var horseId;

	for(j=0; j < responseTextLines.length; j++)
	{
		if(responseTextLines[j].match(/horse\/pic\/\d{10}/))
		{
			horseId = responseTextLines[j].substr(20, 10);
		}

			if( responseTextLines[j].match(/>\d{4}\/\d{2}\/\d{2}</) )
			{
				mutchLines.push(j);
				raceNum++;
			}

		if(raceNum == 3) break;
	}

	var horseTable = $c("border2", "table");
	var signs = (horseTable[0].getElementsByTagName("tr"))[1].getElementsByTagName("td").length;
	var tr = $c("bml1", "tr");
	var td;

	for(j=0; j<tr.length; j++)
	{
		td = tr[j].getElementsByTagName("td");
		(td[signs+2].getElementsByTagName("a"))[0].href.match(/horse\/(\d{10})/);

		if(horseId == RegExp.$1)
		{
			for(k=0; k<mutchLines.length; k++)
			{
				tr[j].innerHTML += responseTextLines[mutchLines[k]+13];
			}
			break;
		}
	}
}


/**********
style
**********/
(document.getElementsByTagName("table"))[0].style.display = "none";
var hidEl = document.getElementsByTagName("td");
for(i=0; i<hidEl.length; i++)
{
	if(hidEl[i].width == 220 ||
	   hidEl[i].getAttribute("class") == "bml2")
		hidEl[i].style.display = "none";
}
horseTable[1].style.display = "none";
horseTable[2].style.display = "none";
horseTable[3].style.display = "none";

document.styleSheets[0].insertRule( ".r1ml{background-color:#FFF080}", document.styleSheets[0].cssRules.length );
document.styleSheets[0].insertRule( ".r2ml{background-color:#CCDFFF}", document.styleSheets[0].cssRules.length );
document.styleSheets[0].insertRule( ".r3ml{background-color:#F0C8A0}", document.styleSheets[0].cssRules.length );


/*** ***/
function $c(className, element)
{
	var classElements = new Array();
	var elements = document.getElementsByTagName(element);
	for(var i = 0; i < elements.length; i++)
		if(elements[i].getAttribute("class") == className) classElements.push(elements[i]);
	return classElements;
}