var theResultId = '';

var lsReqUrl = "getcomm.php";
var lsResultId = "theCommentHangar";
var lsSearchId = "cq";
var lsStartDelay = 200;
var lsTimer = false; 
var lsShowDelay = 0;
var lsReq;
var theitem; 
var thevenue;
var showing = false;

var numResultId = "theCommentCounter";
var postResultId = "theCommentResponse";

function commentToggle() {
	x=document.getElementById('theCommentWardrobe');
	y=document.getElementById('theComTri');
	
	if (showing) {
		var res = document.getElementById(lsResultId);
		res.innerHTML = '';
		showing = false;
		y.src='/i/closed8.png';
		x.style.display='none';
	} else {
		showing = true;
		x.style.display='block';
		y.src='/i/open8.png';
		lsGetXML(lsReqUrl + "?type=comments&item=" + theitem + "&venue=" + thevenue);
	}
}
function sendComment() {
	p = document.getElementById("thePoster");
	c = document.getElementById("theActualComment");
	venue = document.getElementById("theVenue");
	lsGetXML(lsReqUrl + "?type=postresponse&item=" + theitem + "&venue=" + thevenue + "&p=" + escape(p.value) + "&c=" + escape(c.value));
}
function lsGetXML(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;
		lsReq.open("GET", lsUrl, true);
		lsReq.send(null);
	}
}
function lsProcReq(){
	if (lsReq.readyState == 4) {
		if (lsReq.status == 200) {
			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(/>\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 + "?item=" + theitem + "&venue=" + thevenue + "&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='/i/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 + "?item=" + theitem + "&venue=" + thevenue + "&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='/i/open8.png';
					}
					document.getElementById(numResultId).innerHTML = numero;
				}
				
				pat = />comments</gi;
				
				if (pat.test(results)) theResultId = lsResultId;
				else theResultId = postResultId;
				
				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 = '';
		} else {
			alert("There was a problem retrieving the XML data:\n" + lsReq.statusText);
		}
	}
}
function lsHideResults(){
	document.getElementById(lsResultId).style.display = 'none';
}


