/*
 * Comments - 2009.07.14
 * 
 * Used by /article.aspx
 * Requires common.js and validate.js
 */


var MCPPCommentsNew = [];
var MCPPCommentsPermission = false;


function MCPPCommentsInit(id, permission)
{
	var comments = document.getElementById(id);
	
	var enumerator = [];
	var i = 0;
	var index = 0;
	
	enumerator = comments.getElementsByTagName('div');
	
	for (i = 0; i < enumerator.length; ++i)
	{
		var comment = enumerator[i];
		
		if (comment.className == 'thread' ||
		    comment.className == 'comment')
		{
			if (comment.id == 'new-thread' ||
			    (comment.id.slice(0, 11) == 'new-comment' &&
			     comment.id != 'new-comment'))
			{
				comment.textarea = comment.getElementsByTagName('textarea')[0];
				
				MCPPCommentsNew[index] = comment;
				comment.style.display = 'none';
				
				++index;
				
				if (comment.id == 'new-thread')
				{
					var heading = MCPPGetElementByClassName(comment, 'heading');
					
					MCPPAddPlaceholder(heading, 'Title', '#CCCCCC', true);
				}
			}
		}
	}
	
	MCPPCommentsPermission = permission;
	
	if (window.location.hash == '#new-thread')
		MCPPCommentsOpenNewThread();
}

function MCPPCommentsOpenNew(id)
{
	if (MCPPCommentsPermission)
	{
		for (var i = 0; i < MCPPCommentsNew.length; ++i)
		{
			MCPPCommentsNew[i].style.display = 'none';
		}
		
		var comment = document.getElementById(id);
		
		comment.style.display = 'block';
		window.location.hash = id;
				
		if (comment.id == 'new-thread')
		{
			var heading = MCPPGetElementByClassName(comment, 'heading');
			heading.focus();
		}
		else
		{
			comment.textarea.focus();
		}
		
		return false;
	}
	
	return true;
}

function MCPPCommentsOpenNewThread()
{
	MCPPCommentsOpenNew('new-thread');
}

function MCPPCommentsCloseNew()
{
	for (var i = 0; i < MCPPCommentsNew.length; ++i)
	{
		MCPPCommentsNew[i].style.display = 'none';
	}
}

function MCPPValidateComment(id)
{
	var comment = document.getElementById(id);
	
	if (comment.id == 'new-thread')
	{
		var heading = MCPPGetElementByClassName(comment, 'heading');
		
		if (MCPPTrim(heading.value) == '' || heading._placeholder == true)
		{
			alert("You must enter a title.");
			heading.focus();
			return false;
		}
	}
	
	if (MCPPTrim(comment.textarea.value) == '')
	{
		alert("You must enter a comment.");
		comment.textarea.focus();
		return false;
	}
	
	return true;
}

