// ==UserScript==
// @name		Sellaband profile tweaker
// @namespace	http://www.radiusrock.com/greasemonkey/
// @description	Script to tweak the mailbox on Sellaband.com
// @include		http://www.sellaband.com/believer/*/messages.html*
// ==/UserScript==


// change this to false if you don't want the confirmation popup
var confirmationRequired = true;
//

var box = null;
function checkAllBoxes() {
	var rows = box.getElementsByTagName("a");
	for (i = rows.length; i >= 0; i--) {
		var el = document.getElementById("check_" + i);
		if (el != null && el.getAttribute("checked") == null) {
			el.setAttribute("checked", "checked");
		}
	}
}
function checkCommentBoxes() {
	if (confirmationRequired && confirm("Are you sure?")) {
		var rows = box.getElementsByTagName("a");
		var count = 0;
		var prev = null;
		for (i = rows.length; i >= 0; i--) {
			var el = document.getElementById("check_" + i);
			if (el != null && el.getAttribute("checked") != null) {
				count++;
				document.getElementById("deleteTarget"+i).src=el.getAttribute("value");
				el = el.previousSibling;
				while(el.tagName != 'HR') {
					prev = el;
					el = el.nextSibling;
					prev.parentNode.removeChild(prev);
				}
				el.parentNode.removeChild(el);
			}
		}
		if (count > 0) {
			window.setTimeout(function(){document.location.reload();},min(1000 * count, 5000));
		}
	}
}
function clickMe(event) {
	if (event.target.getAttribute("checked") != null)
		event.target.removeAttribute("checked");
	else
		event.target.setAttribute("checked", "checked");
}
function getBox() {
	for (i=0;i<10;i++) {
		try {
			if(document.getElementById('main').getElementsByTagName('div')[i].className == 'guestbook') 
				box = document.getElementById('main').getElementsByTagName('div')[i];
			}
		catch(e) {}
	}
}
window.setTimeout(function() {
	getBox();
	if (box != null) {
		var rows = box.getElementsByTagName("a");
		for (i = 0; i < rows.length; i++) {
			if (rows[i].className == 'remove' && rows[i].title == 'remove message') {
				var input = document.createElement("input");
				input.setAttribute("style", "width: 20px");
				input.setAttribute("type","checkbox");
				input.setAttribute("id", "check_" + i);
				input.setAttribute("value", rows[i].getAttribute("href"));
				rows[i].parentNode.insertBefore(input, rows[i].previousSibling.previousSibling);
			} else {
				//alert(rows[i].className);
			}
		}
		var button = document.createElement("input");
		button.setAttribute("value", "Delete checked");
		button.setAttribute("type", "reset");
		button.setAttribute("id", "deletebutton1");
		document.getElementsByTagName("form")[0].parentNode.insertBefore(button, document.getElementsByTagName("form")[0].previousSibling);
		button = document.createElement("input");
		button.setAttribute("value", "Check all");
		button.setAttribute("type", "reset");
		button.setAttribute("id", "checkallbutton1");
		document.getElementsByTagName("form")[0].parentNode.insertBefore(button, document.getElementsByTagName("form")[0].previousSibling);
		button = document.createElement("input");
		button.setAttribute("value", "Delete checked");
		button.setAttribute("type", "reset");
		button.setAttribute("id", "deletebutton2");
		document.getElementsByTagName("form")[1].parentNode.insertBefore(button, document.getElementsByTagName("form")[1].previousSibling);
		button = document.createElement("input");
		button.setAttribute("value", "Check all");
		button.setAttribute("type", "reset");
		button.setAttribute("id", "checkallbutton2");
		document.getElementsByTagName("form")[1].parentNode.insertBefore(button, document.getElementsByTagName("form")[1].previousSibling);
		var img = null;
		for (i=0; i < rows.length; i++) {
			img = document.createElement("img");
			img.setAttribute("style", "width:0px;height:0px;display:none;visibility:hidden");
			img.setAttribute("id", "deleteTarget" + i);
			document.getElementsByTagName("form")[0].appendChild(img);
		}
		document.getElementById('deletebutton1').addEventListener('click', checkCommentBoxes, false);
		document.getElementById('deletebutton2').addEventListener('click', checkCommentBoxes, false);
		document.getElementById('checkallbutton1').addEventListener('click', checkAllBoxes, false);
		document.getElementById('checkallbutton2').addEventListener('click', checkAllBoxes, false);
		for (i = 0; i < rows.length; i++) {
			if (document.getElementById("check_" + i) != null)
				document.getElementById("check_" + i).addEventListener('click', clickMe, false);
		}
	}
}, 150);
