var theResultId = '';

var lsReqUrl = "/assets/scripts/getcomm.x";
var lsResultId = "theCommentBay";
var lsSearchId = "cq";
var lsStartDelay = 200;
var lsTimer = false; 
var lsShowDelay = 0;
var lsReq;
var theid;
var showing = false;
var thezone;

var numResultId = "theCommentCounter";
var postResultId = "theCommentatorResponse";

function commentToggle(aid) {
	theid = aid;
	x=document.getElementById('theCommentWardrobe');
	y=document.getElementById('theComTri');
	
	if (showing) {
		var res = document.getElementById(lsResultId);
		res.innerHTML = '';
		showing = false;
		y.src='/assets/images/closed8.png';
		x.style.display='none';
	} else {
		showing = true;
		x.style.display='block';
		y.src='/assets/images/open8.png';
		z = document.getElementById("zone");
		lsGetXML(lsReqUrl + "?type=comments&id=" + aid + "&z=" + escape(z.value));
	}
}
function sendComment(aid) {
	theid = aid;
	z = document.getElementById("zone");
	thezone = escape(z.value);
	p = document.getElementById("poster");
	h = document.getElementById("hood");
	c = document.getElementById("theActualComment");
	lsGetXML(lsReqUrl + "?type=postresponse&id=" + aid + "&p=" + escape(p.value) + "&h=" + escape(h.value) + "&c=" + escape(c.value) + "&z=" + escape(z.value));
}
function reportAbuse(pid) {
	z = document.getElementById("zone");
	thezone = escape(z.value);
	lsGetXML(lsReqUrl + "?type=reportabuse&id=" + pid + "&z=" + escape(z.value));
}
function lsGetXML(lsUrl){
	//alert(lsUrl);
	if (window.ActiveXObject) {
		lsReq = new ActiveXObject("Microsoft.XMLHTTP");
		if (lsReq) {
			lsReq.onreadystatechange = lsProcReq;
			lsReq.open("GET", lsUrl, true);
			lsReq.send();
		}
	} else if (window.XMLHttpRequest) {
		lsReq = new XMLHttpRequest();
		lsReq.onreadystatechange = lsProcReq;
		
		if (lsUrl.length > 150) {
			var parameters = lsUrl.substr(lsReqUrl.length + 1);
			lsReq.open('POST', lsReqUrl, true);
			lsReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			lsReq.setRequestHeader("Content-length", parameters.length);
			lsReq.setRequestHeader("Connection", "close");
			lsReq.send(parameters);
		} else {
			lsReq.open("GET", lsUrl, true);
			lsReq.send(null);
		}
	}
}
function lsProcReq(){
	if (lsReq.readyState == 4) {
		if (lsReq.status == 200) {
		try {	
			if(lsReq.responseXML && lsReq.responseXML.documentElement) {
			
				response = lsReq.responseXML.documentElement;
				var rname = response.getElementsByTagName('type')[0].firstChild.data;
				if (rname == "comments") theResultId = lsResultId;
				else theResultId = postResultId;
				var res = document.getElementById(theResultId);
				if (response.getElementsByTagName('results')[0].firstChild != null) {
					//workaround of weird Firefox javascript bug:
					//strip out XML tags to leave just the HTML blob, since
					//Firefox craps out on the contents of large XML tags
					var results = lsReq.responseText;
					results = results.replace(/>comments</gi,"><");
					results = results.replace(/>postresponse</gi,"><");
					results = results.replace(/>reportabuse</gi,"><");
					results = results.replace(/>\d+</gi,"><");
					results = results.replace(/<.+?>/gi,"");
					
					//workaround decoding of XML-unfriendly characters
					results = results.replace(/{@@}/g,"&");
					results = results.replace(/}}/g,">");
					res.innerHTML = results.replace(/{{/g,"<");	
				}
				
				if (rname == "postresponse") {
					showing = true;
					lsGetXML(lsReqUrl + "?id=" + theid + "&z=" + thezone + "&type=comments");
				} else if (response.getElementsByTagName('num')[0].firstChild != null) {
					var numero = response.getElementsByTagName('num')[0].firstChild.data;
					if (numero == 0) document.getElementById("theComButton").style.display = 'none';
					else {
document.getElementById("theComButton").style.display = 'inline';
document.getElementById("theCommentWardrobe").style.display = 'block';
document.getElementById("theComTri").src='/assets/images/open8.png';
					}
					document.getElementById(numResultId).innerHTML = numero;	
				}
			} else if (lsReq.responseText) {
				var results = lsReq.responseText;
				var pat = />postresponse</gi;
				
				numero = results.replace(/.+?<num>/gi,"");
				numero = numero.replace(/<\/num>.+/gi,"");
				
				if (pat.test(results)) {
					showing = true;
					lsGetXML(lsReqUrl + "?id=" + theid + "&z=" + thezone +  "&type=comments");
				} else if (numero) {
					if (numero == "0") document.getElementById("theComButton").style.display = 'none';
					else {
document.getElementById("theComButton").style.display = 'inline';
document.getElementById("theCommentWardrobe").style.display = 'block';
document.getElementById("theComTri").src='/assets/images/open8.png';
					}
					if (numero.length < 10) document.getElementById(numResultId).innerHTML = numero;
				}
				
				pat = />comments</gi;
				
				if (pat.test(results)) theResultId = lsResultId;
				else theResultId = postResultId;
				
				results = results.replace(/>reportabuse</gi,"><");
				results = results.replace(/<type>.+?<\/type>/gi,"");
				results = results.replace(/>\d+</gi,"><");
				results = results.replace(/<.+?>/gi,"");
				
				var res = document.getElementById(theResultId);
				
				//workaround decoding of XML-unfriendly characters
				results = results.replace(/{@@}/g,"&");
				results = results.replace(/}}/g,">");
				res.innerHTML = results.replace(/{{/g,"<");	
			}
			res.style.display = '';
			
		} catch (error) {
			alert(error+ "\n" + lsReq.statusText);
		}
			
		} else {
			alert("There was a problem retrieving the XML data:\n" + lsReq.statusText);
		}
	}
}
function lsHideResults(){
	document.getElementById(lsResultId).style.display = 'none';
}

