var sessionId;
var blogEntryId;
var contextPath;
var lastFetch;
var userId;
var timeout;
var timeout_interval = 60000;
var language;


function startBlogCommentPoll(sessId, pageId, contPath, lang) 
{	 
	sessionId = sessId;
	blogEntryId = parseInt(pageId);
	contextPath = contPath;
	language = lang;
	
	DWREngine.setErrorHandler(noAlert);
	DWREngine.setWarningHandler(noAlert);
	  	 
	var temp = document.getElementById("lastFetch");
	lastFetch = new Date(parseInt(temp.innerHTML));
	temp = document.getElementById("userId");
	userId = parseInt(temp.innerHTML);

	timeout = setTimeout('checkComments()', 60000);
	
	//document.onkeyup = checkInput;
}

function sendComment(display) 
{
	var comment = dwr.util.getValue("blogComment");
	var username = dwr.util.getValue("username");
	var email = dwr.util.getValue("email");
	
	clearTimeout(timeout);
    BlogCommentAjax.addComment(username, userId, email, comment, blogEntryId, lastFetch, sessionId, language, display);
    dwr.util.setValue("blogComment", "");
    //document.getElementById("blogComment").focus();
}

function deleteComment(blogCommentId)
{
	if( !confirm("Deleting this comment is irreversible. Continue anyway?") )
	  {return;}
	clearTimeout(timeout);
    BlogCommentAjax.deleteComment(blogCommentId, userId, lastFetch, sessionId, language, deleteComments);
}

function checkComments(display) 
{		
	BlogCommentAjax.getComments(blogEntryId, lastFetch, sessionId, language, display);
}

function displayProjectComments(comments) 
{
	for( var data in comments ) 
	{
		var d = document.getElementById("blogComments");
		if (!d) {return;}
		  	
		var div = document.createElement("div");		  	
		div.className = "messageHeaderNew";

		div.innerHTML = "<span class='left'><a href='mailto:" + comments[data].email + 
					  "'>" + comments[data].author + "</a>, " +
					  comments[data].formattedDate + "</span>";
		//append delete button only if current user is admin
		if( comments[data].admin == true ) {
			div.innerHTML += "<span class='right'><a href='javascript:deleteComment(" + 
					  		comments[data].id + ");'>[x]</a></span>";
		}
		
		d.appendChild(div);
			  	
		var p = document.createElement("p");
		p.className = "projectBlogCommentBody";
		p.innerHTML = comments[data].comment;
		d.appendChild(p);
		  			  	
		lastFetch = comments[data].timestamp;		  	
	}		
    timeout = setTimeout('checkComments(displayProjectComments)', 60000);
}

function displayContentComments(comments) 
{
	for( var data in comments ) 
	{
		var d = document.getElementById("blogComments");
		if (!d) {return;}
		  	
		var div = document.createElement("div");		  	
		div.className = "contentBlogCommentHeader";
		
		var divLeft = document.createElement("div");
		divLeft.className = "contentBlogCommentHeaderLeft";
		divLeft.innerHTML = "<a href='mailto:" + comments[data].email + 
					  "'>" + comments[data].author + "</a>, " +
					  comments[data].formattedDate;
		div.appendChild(divLeft);
					  
		var divRight = document.createElement("div");
		divRight.className = "contentBlogCommentHeaderRight";
		
		//append delete button only if current user is admin
		if( comments[data].admin == true ) {
			divRight.innerHTML = "<span class='clickable' onclick='deleteComment(" + 
					  		comments[data].id + ")'>delete</span>";
		}
		else {
			divRight.innerHTML = "&nbsp;";
		}
		div.appendChild(divRight);
		
		d.appendChild(div);
			  	
		var p = document.createElement("p");
		p.className = "contentBlogCommentBody";
		p.innerHTML = comments[data].comment;
		d.appendChild(p);
		  			  	
		lastFetch = comments[data].timestamp;		  	
	}		
    timeout = setTimeout('checkComments(displayContentComments)', 60000);
}



function deleteComments(comments)
{ 
  location.reload();
  timeout = setTimeout('checkComments()', 30000);
  
  /*var d = document.getElementById("blogComments");
  var children = d.childNodes;
  for( var i = 0; i < children.length; i=i+1 ) {
    var temp = d.removeChild(children[i]);
    //var temp = children[i].parentNode.removeChild(children[i]);
  }
  displayComments(comments);*/
}

function noAlert()
{
}