function show_add_comment( item_type, item_id, clear_errors, scroll_to, gs_variant )
{
	var form = document.getElementById('comment_form');
	var do_comment_move = true;
	if( clear_errors && form.comment_text.value.length > 0 )
	{
		do_comment_move = confirm('Lose the content of your current comment?');
	}

	item_type = parseInt(item_type);
	item_id = parseInt(item_id);

	if( do_comment_move )
	{
		var add_comment_el = document.getElementById('comment_form');
		switch( item_type )
		{
				case 3400:
				case 5100:
				case 4100:
				case 6100:
					var holder_el = document.getElementById('comment_' + item_id);
					holder_el.parentNode.insertBefore(add_comment_el, holder_el.nextSibling.nextSibling);
					break;

				default:
					var holder_el = document.getElementById('newCommentPlaceholder');
					holder_el.appendChild(add_comment_el);
					break;
		}

		if( clear_errors )
		{
			form.comment_text.value = '';
			// Remove <wbr> tags.
			form.comment_title.value = 'Re: ' + document.getElementById('itemTitle').innerHTML.replace(/<wbr\s*\/?>/ig, '').replace(/&amp;?/ig, '&');

		}

		// Display the comment box if it is hidden.
		holder_el.style.display = 'block';

		form.target_id.value = item_id;
		form.target_type.value = item_type;
		add_comment_el.style.display = 'block';
		document.getElementById('commentCloseButton').style.display = 'block';

		var button_el = document.getElementById('newCommentSubmit');
		switch( item_type )
		{
			case 5000:
			case 5500:
				button_el.src = '/res/img/button/answer.gif';
				break;

			case 4100:
			case 3300:
			case 3400:
			case 5100:
				button_el.src = '/res/img/button/submit_reply.gif';
				break;

			default:
				button_el.src = '/res/img/button/submit_comment.gif';
				break;
		}

		if( clear_errors )
		{
			var error_el_list = getElementsByClassName(form, 'div', 'error');
			for( i in error_el_list )
			{
				//error_el_list[i].style.display = 'none';
			}
		}

		//
		// By default, the function scroll's to the comment.
		// To override, false must be passed into the scroll_to parameter.
		//
		if( (scroll_to == undefined) || ((scroll_to != undefined) && (scroll_to == true)) )
		{

			form.comment_text.focus();

			var pos = element_position(add_comment_el);
			window.scrollTo(0, pos['y']);
		}
	}
}

function close_comment_form()
{
	var form = document.getElementById('comment_form');
	if( form.comment_text.value.length > 0 )
	{
		if( false == confirm('Lose the content of your current comment?') )
		{
			return;
		}

		form.comment_text.value = '';
	}
	form.style.display = 'none';
}
