var isIE;
var req;
var adminUser = false;

function initRequest(url) {
    if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        isIE = true;
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
}


function loadComments() {
	//alert('request sending...');
	document.getElementById("comments").innerHTML="";
	var url = "/ajax/comments.jsp?action=LoadComments&item_id=" + document.forms['commentBox'].item_id.value + "&commentType=" + document.forms['commentBox'].comment_type.value;
	//prompt(url, url);
	var req = initRequest(url);
	req.onreadystatechange = function() {
			if (req.readyState == 4) {
					if (req.status == 200) {
							parseMessages(req.responseXML);
					} else if (req.status == 204){
					} else {
					}
			}
	};
	req.open("GET", url, true);
	req.send(null);
	//alert('request sent');
}

function postComment() {
	//alert("Posting Comment...");
	updateRTEs();
	//alert(document.forms['commentBox'].comment.value);
	//document.forms['commentBox'].submit();
	
	var url = "/ajax/comments.jsp";
	var params = "action=PostComment";
	params += "&item_id=" + document.forms['commentBox'].item_id.value;
	params += "&author="     + document.forms['commentBox'].author.value;
	params += "&author_ip="  + document.forms['commentBox'].author_ip.value;
	params += "&commentType=" + document.forms['commentBox'].comment_type.value;
	params += "&comment="    + escape(encodeURI(document.forms['commentBox'].comment.value));
	var req = initRequest(url);
	req.onreadystatechange = function() {
			if (req.readyState == 4) {
					if (req.status == 200) {
							parseMessages(req.responseXML);
					}
			}
	};
	//alert(params);
	req.open("POST", url, true);
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	req.setRequestHeader("Content-length", params.length);
	req.setRequestHeader("Connection", "close");
	req.send(params);
	//alert('sent');

}

function spamComment(id) {
	//alert("spam: " + id);
	var url = "/ajax/comments.jsp";
	var params = "action=SpamComment";
	params += "&item_id=" + document.forms['commentBox'].item_id.value;
	params += "&commentType=" + document.forms['commentBox'].comment_type.value;
	params += "&comment_id=" + id;
	var req = initRequest(url);
	req.onreadystatechange = function() {
			if (req.readyState == 4) {
					if (req.status == 200) {
							parseMessages(req.responseXML);
					}
			}
	};
	//alert(params);
	req.open("POST", url, true);
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	req.setRequestHeader("Content-length", params.length);
	req.setRequestHeader("Connection", "close");
	req.send(params);
	//alert('sent');
	/**/
}

function badComment(id) {
	//alert("bad: " + id);
	var url = "/ajax/comments.jsp";
	var params = "action=BadComment";
	params += "&item_id=" + document.forms['commentBox'].item_id.value;
	params += "&commentType=" + document.forms['commentBox'].comment_type.value;
	params += "&comment_id=" + id;
	var req = initRequest(url);
	req.onreadystatechange = function() {
			if (req.readyState == 4) {
					if (req.status == 200) {
							parseMessages(req.responseXML);
					}
			}
	};
	//alert(params);
	req.open("POST", url, true);
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	req.setRequestHeader("Content-length", params.length);
	req.setRequestHeader("Connection", "close");
	req.send(params);
	//alert('sent');
	/**/
}

function parseMessages(responseXML) {
	//alert(responseXML);
	//alert(responseXML.childNodes[0].value);
	var ajaxMsg = responseXML.getElementsByTagName("ajaxMessage")[0];
	//alert(ajaxMsg);
	if (ajaxMsg!=null && ajaxMsg.childNodes.length > 0) {
		try {
			var error = ajaxMsg.getElementsByTagName("error")[0];
			if (error != null) {
				alert(error.childNodes[0].nodeValue);
			}
			var type = ajaxMsg.getElementsByTagName("type")[0];
			if (type != null) {
				type = type.childNodes[0].nodeValue;
			}
		} catch (e) {}
		if ("LinksEdit"==type) {parseLinksEdit(responseXML);}
		if ("PlayersList"==type) {parsePlayersList(responseXML);}
		if ("LoadProfile"==type) {parseLoadProfile(responseXML);}
		if ("SchoolList"==type) {parseSchoolList(responseXML);}
		if ("LoadComments"==type) {parseComments(responseXML);}
	}
}

function parseComments(responseXML) {
	var ajaxMsg = responseXML.getElementsByTagName("ajaxMessage")[0];
	if (ajaxMsg!=null && ajaxMsg.childNodes.length > 0) {
		var comments = responseXML.getElementsByTagName("comments")[0];
		if (comments!=null && comments.childNodes.length > 0) {
			clearComments();
			for (loop = 0; loop < comments.childNodes.length; loop++) {
				var comment = comments.childNodes[loop];
					var cid  = comment.getElementsByTagName("comment_id")[0].childNodes[0].nodeValue;	
					var comm = comment.getElementsByTagName("commentor")[0].childNodes[0].data;
					var cmmt = comment.getElementsByTagName("comment_text")[0].childNodes[0].data;
					var date = comment.getElementsByTagName("comment_date")[0].childNodes[0].data;
					appendComment(cid, comm, cmmt, date);
			}
		} 
	}
}

function clearComments() {
	document.getElementById('comments').innerHTML = "";
}

function appendComment(cid, commentor, comment, cdate) {
		commentList = document.getElementById("comments");
		
		var hr = document.createElement("hr");
		commentList.appendChild(hr);

		var div = document.createElement("div");

		var leftSide = document.createElement("span");
		leftSide.style.width='300px';
		leftSide.style.position='relative';
		
		var fontElement = document.createElement("font");
		fontElement.style.color='gray';
		fontElement.style.textAlign='right';
		fontElement.style.marginRight='50px';
		fontElement.appendChild(document.createTextNode(cdate));
		leftSide.appendChild(fontElement);
		
		var linkElement = document.createElement("a");
		linkElement.setAttribute("href", "/users/" + commentor.toLowerCase() + ".jsp");
		linkElement.appendChild(document.createTextNode(commentor));
		leftSide.appendChild(linkElement);
		
		div.appendChild(leftSide);

		if (adminUser) {		
			var rightSide = document.createElement("span");
			rightSide.style.position='absolute';
			rightSide.style.left='560px';

			var linkElement2 = document.createElement("a");
			linkElement2.style.marginRight='5px';
			linkElement2.style.fontSize='8 pt';
			linkElement2.setAttribute("href", "javascript:spamComment("+cid+");");
			linkElement2.appendChild(document.createTextNode("Mark as Spam"));
			rightSide.appendChild(linkElement2);
			
			rightSide.appendChild(document.createElement("br"));

			var linkElement3 = document.createElement("a");
			linkElement3.style.fontSize='8 pt';
			linkElement3.setAttribute("href", "javascript:badComment("+cid+");");
			linkElement3.appendChild(document.createTextNode("Mark as Improper"));
			rightSide.appendChild(linkElement3);

			div.appendChild(rightSide);
		}
		
		var div2 = document.createElement("div");
		div2.style.color='black';
		//div2.appendChild(document.createTextNode(comment));
		
		commentList.appendChild(div);
		commentList.appendChild(div2);
		
		div2.innerHTML=comment;
		
}

