// ==UserScript==
// @name           Tykinruoka's Skill Table Link
// @namespace      http://gm.taistelumarsu.org/
// @description    Creates a link to character page, which leads to my Skill Table Generator
// @include        *.kingdomofloathing.com/charsheet.php
// ==/UserScript==

//jQuery-related part
var GM_JQ = document.createElement('script');
GM_JQ.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js';
GM_JQ.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(GM_JQ);

function GM_wait() {
	if(typeof unsafeWindow.jQuery == 'undefined') {
		window.setTimeout(GM_wait,100);
	} else {
		$ = unsafeWindow.jQuery; makeMyLink();
	}
}
GM_wait();

//end of jQuery

function makeMyLink() {
	
	sdata = $("center").html();
	sdata = sdata.substring(sdata.indexOf('Skills:'));
	sdata = sdata.substring(sdata.indexOf('<td height=1 bgcolor=black>'));
	sdata = sdata.substring(sdata.indexOf('<td>'));
	sdata = sdata.substring(0,sdata.indexOf('</td>'));
	sdata = sdata.split('<br>');
	data = '';

	for (i = 0; i < sdata.length; i++) {
		add = sdata[i];
		if (add.indexOf('poop') != -1) {
			add = add.substring(add.indexOf("'>")+2);
		} else {
			add = add.substring(add.indexOf('">')+2);
		}
		start = add.substring(0,add.indexOf('</a>'));
		end = '';
		if (add.indexOf('(') != -1) {
			if (add.indexOf('<b>') != -1) {
				end = add.substring(add.lastIndexOf('<b>')+3);
				end = end.substring(0,end.indexOf('<'));
			} else {
				end = add.substring(add.lastIndexOf('(')+1);
				end = end.substring(0,end.indexOf(')'));
			}
			end = ' (' + end + ')';
		}
		if (start.length > 0) {
			data += start + end + ';';
		}
	}

	sdata = $("center").html();
	if (sdata.indexOf('show permanent skills') != -1) {
		sdata = $("#permskills").html();
		sdata = sdata.split('<br>');
		for (i = 0; i < sdata.length; i++) {
			add = sdata[i];
			if (add.indexOf('poop') != -1) {
				add = add.substring(add.indexOf("'>")+2);
			} else {
				add = add.substring(add.indexOf('">')+2);
			}
			start = add.substring(0,add.indexOf('</a>'));
			end = '';
			if (add.indexOf('(') != -1) {
				if (add.indexOf('<b>') != -1) {
					end = add.substring(add.lastIndexOf('<b>')+3);
					end = end.substring(0,end.indexOf('<'));
				} else {
					end = add.substring(add.lastIndexOf('(')+1);
					end = end.substring(0,end.indexOf(')'));
				}
				end = ' (' + end + ')';
			}
			if (start.length > 0) {
				data += start + end + ';';
			}
		}
	}

	data = data.substring(0,data.length-1);
	GM_xmlhttpRequest({
		method: "POST",
		url: "http://taistelumarsu.org/kolskills/session.php",
		headers: {
			'Content-Type': 'application/x-www-form-urlencoded'
		},
		data: 'data=' + data,
		onload: function(r) {
			//alert(r.responseText);
			//locate place for adding the link
			$("p").each( function() {
				if ($(this).html().indexOf('Skills:') != -1) {
					$(this).after('<br><a target="_BLANK" href="http://taistelumarsu.org/kolskills/?mode=session">Tykinruoka\'s KoL Skill Table Generator</a><br>');
				}
			});
		}
	});
}
