
function $(id){
	return document.getElementById(id);
}

function createRequest()
{
	var request;
	try 
	{	request = new XMLHttpRequest();
	} 
	catch (trymicrosoft) {
		try 
		{	request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (othermicrosoft) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (failed) {
				request = false;
			}
		}
	}
	if (!request) {
		alert("Error initializing XMLHttpRequest");
	}
	return request;
}

function submit_comment(id)
{
	var name = $('name').value;
	var comment = $('comment').value;
	name = makeSafe(name);
	comment = makeSafe(comment);
	
	if (comment == '') {
		alert('You cannot submit a blank comment');
		return;
	}

	var url = "/php/submit_comment.php"
			+"?id="+id+"&name="+name+"&comment="+comment;
	
	var request = createRequest();
	request.open("GET", url, true);
	request.onreadystatechange = function(){addComment(request)};
	request.send(null);
}

function addComment(request)
{
	var name = $('name').value;
	var comment = $('comment').value;
	name = makeSafe(name);
	comment = makeSafe(comment);
	
	if (name == '')
		name = "Anonymous";
	
	if(request.readyState == 4) {
		$('comments').innerHTML += request.responseText;
		$('name').value = '';
		$('comment').value = '';
	}
}

function makeSafe(value)
{
	// First just trim the whitespace
	value = value.replace(/^\s+|\s+$/g,"");
	// Replace double newlines with '</p><p>'
	value = value.replace(/\n\n/g, "</p><p>");
	// Replace newlines with '<br />'
	value = value.replace(/\n/g, "<br />");
	// Replace '&' with 'and'
	value = value.replace(/\&/g, "and");
	
	return value;
}


function init() {
	var content = document.getElementById("content");
	var sideBar = document.getElementById("sideBar");

	var contentHeight = content.offsetHeight;
	var sideBarHeight = sideBar.offsetHeight;

	var difference = sideBarHeight - contentHeight;

	if(difference > 0) {
		var paddingBottom = (difference+25) + "px";
		content.style.paddingBottom = paddingBottom;
	}
}

window.onload = init;