var xmlHttp;
var pID;
var err = false;

function submitComment(commentID,articleID) {
	if (valComment(commentID)) {
		err = false;
		pID = commentID;
		
		stripHTML(document.getElementById("txtComments" + pID));
										  
		var parameters = "name=" + escape(encodeURI( document.getElementById("txtName" + pID).value )) +
						 "&comID=" + escape(encodeURI(commentID)) +
						 "&artID=" + escape(encodeURI(articleID)) +
						 "&email=" + escape(encodeURI( document.getElementById("txtEmail" + pID).value )) +
						 "&website=" + escape(encodeURI( document.getElementById("txtWebsite" + pID).value )) +
						 "&comments=" + escape(encodeURI( document.getElementById("txtComments" + pID).value ));
		
		xmlHttp=GetXmlHttpObject();
		
		xmlHttp.onreadystatechange=writeCommentStateChanged;
		
		xmlHttp.open("POST","controls/writeComment.php",true);
		
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", parameters.length);
		xmlHttp.setRequestHeader("Connection", "close");
	
		xmlHttp.send(parameters);
	}
	else {
		err = true;	
	}
}

function stripHTML(){
	var re = /(<([^>]+)>)/gi;

	for (i=0; i<arguments.length; i++) {
		arguments[i].value=arguments[i].value.replace(re, "")
	}
}

function createShowHideLink(ref,count) {
	if (err == false) {
		if (count == 0) {
			var id = ref.name.replace("btnSubmitReply", "");
			var elems = document.getElementsByTagName("div")['comment' + id];
	
			var lnk = document.createElement("a");
			lnk.setAttribute("href","#lnkShowHideReplies" + id);
			lnk.setAttribute("name","lnkShowHideReplies" + id);
			lnk.setAttribute("id","lnkShowHideReplies" + id);
			lnk.className = "hide";
			lnk.onclick=function() {
				showHide('innerComment' + id);
				toggleShowHideRepliesHeader(this);
				showComments(id);
			}
	
			var txt = document.createTextNode("Hide replies (1)");
			lnk.appendChild(txt);
			
			elems.insertBefore(lnk,document.getElementById('innerComment' + id));
		}
	}
	
}

function writeCommentStateChanged() { 	
	if (xmlHttp.readyState == 1 || xmlHttp.readyState == 2 || xmlHttp.readyState == 3) { 
		//document.getElementById("commentReply" + pID).innerHTML="... adding comment ...";
		document.getElementById("lnkCommentReply" + pID).innerHTML="... adding comment ...";
	}
	
	if (xmlHttp.readyState == 4) { 
		var elem = document.getElementById("innerComment" + pID);
		var str = elem.innerHTML;
		
		elem.innerHTML = xmlHttp.responseText + str;
		elem.style.display = "block";

		document.getElementById("lnkCommentReply" + pID).innerHTML = "Comment added!";
		document.getElementById("commentReply" + pID).style.display = "none";
		
		// reset the form
		//document.getElementById("txtName" + pID).value = "";
	}
}

function showComments(str) { 
	pID = str;

	xmlHttp=GetXmlHttpObject();

	if (xmlHttp==null) {
	  alert ("Your browser does not support AJAX!");
	  return;
	} 

	var url="controls/getComments.php";
	url=url+"?pID="+str;
	url=url+"&sid="+Math.random();

	xmlHttp.onreadystatechange=getCommentStateChanged;
	
	xmlHttp.open("GET",url,true);
	
	xmlHttp.send(null);
	
}

function getCommentStateChanged() { 
	if (xmlHttp.readyState == 1 || xmlHttp.readyState == 2 || xmlHttp.readyState == 3) { 
		document.getElementById("lnkShowHideReplies" + pID).innerHTML=document.getElementById("lnkShowHideReplies" + pID).innerHTML.replace("Hide","Loading");
	}
	if (xmlHttp.readyState == 4) { 
		document.getElementById("innerComment" + pID).innerHTML=xmlHttp.responseText;
		document.getElementById("lnkShowHideReplies" + pID).innerHTML=document.getElementById("lnkShowHideReplies" + pID).innerHTML.replace("Loading","Hide");
	}
}

function GetXmlHttpObject() {
	var xmlHttp=null;
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
  	}
	catch (e) {
		// Internet Explorer
		try {
    		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
  		catch (e)
    	{
    		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    	}
  	}
  	
	return xmlHttp;
}
