// ==UserScript==
// @include http://www.lastfm.pl/inbox/compose?to=*
// @include http://www.lastfm.pl/inbox/pm/*
// @include http://www.last.fm/inbox/compose?to=*
// @include http://www.last.fm/inbox/pm/*
// ==/UserScript==

// written by antonone
// http://anadoxin.org/blog

// distributed as public domain

function resizeControls() {
	var bodyBox = document.getElementById("body");
	var subjectBox = document.getElementById("subject");

	bodyBox.setAttribute("rows", "25");
	bodyBox.setAttribute("cols", "80");

	subjectBox.setAttribute("cols", "80");
}

function preview() {
	var data = document.getElementById("body").value;
	var xhr = new XMLHttpRequest();

	document.getElementById("editorPreviewPane").innerHTML = "Czekaj...";

	xhr.open("POST", "/ajax/renderarticle", true);
	xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
	xhr.onreadystatechange = function() {
		if(this.status == 200 && this.readyState == 4) {
			var data = this.responseText;
			document.getElementById("editorPreviewPane").innerHTML = data;
		}
	};

	var dataFmt = "content=" + encodeURIComponent(data);
	xhr.send(dataFmt);
}

function locateSendButton() {
	var els = document.getElementsByTagName("input");
	var submitButton = null;

	for(var i = 0, len = els.length; i < len; i++) {
		var node = els[i];
		if(node && node.getAttribute("type").toLowerCase() == "submit") {
			submitButton = node;
			break;
		}
	}

	if(submitButton) {
		var previewButton = document.createElement("input");
		previewButton.setAttribute("type", "button");
		previewButton.setAttribute("value", "Podglad");
		previewButton.setAttribute("onclick", "javascript:preview()");
		previewButton.style.marginRight = "10px";

		submitButton.parentNode.insertBefore(previewButton, submitButton);
	}

	return null;
}

function addPreviewButton() {
	var sendButton = locateSendButton();
}

function createPreview() {
	var container = document.getElementById("LastContent2");
	var previewPane = document.createElement("div");
	previewPane.setAttribute("class", "messageContent");
	previewPane.setAttribute("id", "editorPreviewPane");

	previewPane.innerHTML = "...";
	
	previewPane.style.padding = "15px";
	previewPane.style.margin = "5px 0pt 10px";
	previewPane.style.border = "1px solid #dfdfdf";
	previewPane.style.background = "#ffffff none repeat scroll 0%";

	container.appendChild(previewPane);
}

window.onload = function(e) {
	resizeControls();
	addPreviewButton();
	createPreview();
}


