/* 
 Copyright CodeCogs 2006-2008
 Written by Will Bateman.
*/
var forumchange_running=false;


function postPreview()
{
  var val=$('#i_content').val();
  jQuery.post('/pages/forums/preview_ajax.php',{text: val},function(data,textStatus) 
	{ 
	  if(textStatus=='success') $('#msgpreview_content').html(data);		 
		else $('#msgpreview_content').html('error');
		
	  $('#msginput').animate({ height:"hide" }, { duration:"slow", queue:false});
		$('#msgpreview').animate({ height:"show" }, { duration:"slow", queue:false});

	
	  $('#prebutton').html('Edit');
		$$('prebutton').onclick=postEdit;
	}, 'html');
}

function postEdit()
{
	//$('#msginput').show();
	//$('#msgpreview').hide();
	$('#msginput').animate({ height:"show" }, { duration:"slow", queue:false});
	$('#msgpreview').animate({ height:"hide" }, { duration:"slow", queue:false});
  $('#prebutton').html('Preview');
	$$('prebutton').onclick=postPreview;
}

function processEditChange()
{
	// only if req shows "loaded"
  if (req.readyState == 4) 
	{
		// only if "OK"
		if (req.status == 200) 
		{
			if(req.responseXML) 
			{
				var div=$$('forum_dropdown');
				if(div)	 {
					var items=req.responseXML.getElementsByTagName("cat");
					var forum = getElementTextNS("content","encoded", items[0], 0);
					div.innerHTML=forum; 
				} 

        items=req.responseXML.getElementsByTagName("heading");
				if(items.length>0) 
				{
					var heading = getElementTextNS("content","encoded", items[0], 0);
					$('#i_heading').val(heading);
				}
				items=req.responseXML.getElementsByTagName("text");
				var content = getElementTextNS("content","encoded", items[0], 0);
	
	      // try to get regular tex box
				try	{ 
					var tfck=(FCKeditorAPI.GetInstance('i_content'));
					if(tfck) tfck.SetHTML(content); 
				}
				catch(e) 
				{
					$('#i_content').val(content).focus();
				}
				
			}
	 	} 
		else alert("There was a problem retrieving the XML data:\n" + req.statusText);

		forumchange_running=false;
	}
}

function forum_edit(id,pid)
{
	if(forumchange_running) return false;
	forumchange_running=true;

	//$('#commentreplybox').parent().remove().appendTo('#message_'+id);
	//.scrollIntoView(false);
	
  var oldNode=$$('commentreplybox');
  var newNode=$$('message_'+id);
	oldNode.parentNode.removeChild(oldNode);
  newNode.appendChild(oldNode);
  newNode.scrollIntoView(false); 

  $('#i_id').val(id);
	$('#submitbutton').val('Save Edit');
	if(id==pid)	{ 
  	$('#reply_id').val(0);
	  $('#editheader').fadeIn();
	  $('#replymsg').html('<strong>Post Heading: (editing main message)</strong>');
	}	else {
	 	$('#reply_id').val(pid);
	  $('#editheader').fadeOut();
	  $('#replymsg').html('<strong>Post Heading: (editing reply message)</strong>');
	}
	$('#is_edit').val(1);

  loadXMLDoc('/pages/forums/edit_ajax.xml?id=' + id, processEditChange);
	return true;
}

/* Moves the forum reply box so that its below the message being changesd. */
function forum_move_reply(id)
{
	var oldNode=$$('commentreplybox');
  var newNode=$$('message_'+id);
	oldNode.parentNode.removeChild(oldNode);
  newNode.appendChild(oldNode);
  newNode.scrollIntoView(false); 
	$('#i_content').focus();
}

function forum_reply(id,pid)
{
	$('#reply_id').val(id);
	$('#is_edit').val(0);
	
	$('#editheader').fadeOut();
 	$('#i_heading').val($('#heading_'+pid).html());
	
	
	$('#submitbutton').val('Post Reply');
	$('#replymsg').html('<strong>Post Heading: (reply to main message)</strong>');
}


function forum_fornews(id, state)
{
	var val=(state.checked?1:0);
	loadXMLDoc('/pages/forums/fornews_ajax.xml?id='+id+'&state='+val, null);
}


function forum_alert(id, state)
{
	var val=(state.checked?1:0);
	loadXMLDoc('/pages/forums/alert_ajax.xml?id='+id+'&state='+val, null);
}

function forum_alert2(id, state, user)
{
	var val=(state.checked?1:0);
	loadXMLDoc('/pages/forums/alert_ajax.xml?id='+id+'&state='+val+'&user='+user, null);
}

function reset_edit()
{
	var oldNode=$$('commentreplybox');
  var newNode=$$('message_new');
	oldNode.parentNode.removeChild(oldNode);
  newNode.appendChild(oldNode);
  newNode.scrollIntoView(false);

	$('#reply_id').val(0);
	$('#is_edit').val(0);
	$('#submitbutton').val('Post New Message');

	$('#replymsg').html('<strong>Post Heading: (new thread)</strong>');
	$('#i_content').focus();
}