function preview(formname){
	var form = document.forms[formname];
	/*
	var author = escape(encodeURIComponent(form.elements['author'].value));
	var email = escape(encodeURIComponent(form.elements['email'].value));
	var message = escape(encodeURIComponent(form.elements['message'].value));
	*/
	var author = (form.elements['author'].value).escapeHTML();
	var email = (form.elements['email'].value).escapeHTML();
	var message = (form.elements['message'].value).escapeHTML();

	new Ajax.Updater('previewbox', "preview.php", {
		parameters: {author: author, email: email, message: message},
		onComplete: function(){
			if(!$('previewbox').visible()){
				Effect.Appear('previewbox');
			}	
		},
		method: 'post'
	});

	if(!form.elements['edit_msgid'])
		save_draft(formname);
}

function save_draft(formname){
	var form = document.forms[formname];
	var author = (form.elements['author'].value).escapeHTML();
	var email = (form.elements['email'].value).escapeHTML();
	var message = (form.elements['message'].value).escapeHTML();

	new Ajax.Request("save_draft.php", {
		parameters: {author: author, email: email, message: message},
		onComplete: function(){
			$('save_draft_link').hide();
			$('draft_saved_status').show();
		},
		method: 'post'
	});
}

function reset(edit_msgid){
	url = "postbox.php";
	if(edit_msgid.length > 0)
		url += "?edit_msgid="+edit_msgid;

	if($('previewbox'))
		$('previewbox').hide();

	new Ajax.Updater('postbox', url, {
		onComplete: function(){

			if(!$('postbox').visible()){
				Effect.Appear('postbox');
				setTimeout("document.post_form_name.message.focus()", 1100);
			}	
		}
	});
}

var edit_msgid = "";

function revert(edit_msgid){
	reset(edit_msgid);
}

function previous_edit(edit_msgid){

	url = "postbox.php?revert=1";
	url += "&edit_msgid="+edit_msgid;
	new Ajax.Updater('postbox', url, {
		onComplete: function(){

			if(!$('postbox').visible()){
				Effect.Appear('postbox');
			}	
		}
	});
}

function load_draft(){

	url = "postbox.php?load_draft=1";
	new Ajax.Updater('postbox', url, {
		onComplete: function(){
			if(!$('postbox').visible()){
				Effect.Appear('postbox');
			}	
		}
	});

}

var submitting = false;

function submit(formname){
	var form = document.forms[formname];
	if(form.elements['edit_msgid'])
		edit_msgid = form.elements['edit_msgid'].value;
	else	
		edit_msgid = "";

	/*
	var author = escape(encodeURIComponent(form.elements['author'].value));
	var email = escape(encodeURIComponent(form.elements['email'].value));
	var message = escape(encodeURIComponent(form.elements['message'].value));
	*/
	var author = (form.elements['author'].value).escapeHTML();
	var email = (form.elements['email'].value).escapeHTML();
	var message = (form.elements['message'].value).escapeHTML();

	url = "submit_message.php";
	if(edit_msgid)
		url += "?edit_msgid="+edit_msgid;

	if(!submitting){
		submitting = true;

		new Ajax.Request(url, {
	//		parameters: $('post_form').serialize(true),
			parameters: {author: author, email: email, message: message},
			onSuccess: function(transport){
				if(transport.responseText.length > 0){
					$('postbox').update("<div class='error'>"+transport.responseText+"</div>");
				}
				else{
					if(edit_msgid){
						window.location="index.php?msgid="+edit_msgid+"&context=1";
					}
					else{
						Effect.ScrollTo("content");
						refresh(); // if we're editting a message, we pass this
					}
				}	

				submitting = false;
			},
			method: 'post'
		});
	}	
}

function refresh(msgid){
	$('messages').hide();
	$('postbox').update("<center><h3>... loading ...</h3></center>");
	$('postbox').show();
	Effect.Fade("postbox", {duration: 0.5, delay: 0.8});
	Effect.Appear("messages", {duration: 0.5, delay: 0.8, queue: "end"});
	reload_messages(msgid);

	if(!msgid || msgid.length > 0)
		msgid = "";

//	setTimeout('reload_messages("'+msgid+'")', 1600);
}

function reload_messages(msgid){
	url = "messages.php?ajax=1";
	if(msgid && msgid.length > 0)
		url += "&msgid="+msgid;
	new Ajax.Updater('messages', url, {
		onSuccess: function(transport){
		}
	});
}

function cancel(){
	if($('messageField').value){
		if(confirm("Are you sure you want to abandon this message?"))
			Effect.Fade('postbox');
	}	
	else{
		Effect.Fade('postbox');
	}
}

function post(){
	reset("");
}

function edit(edit_msgid){
	reset(edit_msgid);
}

function delmsg(delete_msgid){
	var check = confirm("Are you sure you want to delete this message?");
	if(!check){
		return;
	}
		
	new Ajax.Request("delete_message.php", {
		parameters: { delete_msgid: delete_msgid } ,
		onSuccess: function(transport){
			if(transport.responseText.length > 0){
				alert(transport.responseText);
			}
			else{
				refresh();
			}	
		},
		method: 'post'
	});
}

function check_new_post(){
	var form = document.forms['post_form_name'];

	if($('postbox').visible() && form.message.value){
		return true;
	}	
}

function do_search(){
	form = document.forms['search_form_name'];
	form.submit();
}
function clear_search(){
	Effect.Fade('searchbox');
}

function show_save_draft_link(){
	$('save_draft_link').show();
	$('draft_saved_status').hide();
}
