// Ajax Comment Posting
// WordPress plugin
// version 1.0
// author: regua
// http://regua.biz

jQuery(document).ready(function($){
						   
	$('#commentform').after('<div id="acp_error"></div>');
	$('#submit').after('<img src="http://www.filmtraveler.com/wp-content/plugins/ajax-comment-posting/loading.gif" id="loading" alt="Loading..." />');
	$('#loading').hide();
	var form = $('#commentform');
	var err = $('#acp_error');
	
    form.submit(function() { 
						 
	if(form.find('#author').val() == '') {
		err.empty();
		err.append('<div class="acp_error">Please enter your name.</div>');
		return false;
	} // end if
	if(!form.find('a[@title="Log out of this account"]')[0]) {
		if(form.find('#email').val() == '') {
			err.empty();
			err.append('<div class="acp_error">Please enter your email address.</div>');
			return false;
		} // end if
		var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if(!filter.test(form.find('#email').val())) {
			err.empty();
			err.append('<div class="acp_error">Please enter a valid email address.</div>');
			return false;
		} // end if
	} // end if
	if(form.find('#comment').val() == '') {
		err.empty();
		err.append('<div class="acp_error">That was the worst comment ever. Please type something next time.</div>');
		$('#acp_error').fadeTo('fast',.1).fadeTo('fast',1);
		return false;
	} // end if
	
    $(this).ajaxSubmit({
						   
		beforeSubmit: function() { $('#loading').show(); },

        success: function(data) {
            var nomoreloading = function() {
                $('#loading').hide();
            }; // end nomoreloading()

            try {
							response = $("<div>").html(data);
							if (response.find('.commentlist')[0]) {
								$('.commentlist').remove(); // MF - kill the existing comments
								$('#respond').before('<div class="commentlist"></div>'); // MF - put the container back
								$('.commentlist').append(response.find('.commentlist')); // MF - fill it with the comments pulled via AJAX
//								form.empty();  MF - Don't remove the form. Why would you do that?
								form.clearForm(); // MF - clear, don't remove.
								$('#commentPreview').empty(); // MF - clears the live comment preview when plugin is installed
								err.empty();
								$('#respond').empty(); // MF - Empty the success/error DIV
								$('#respond').append('<div class="acp_success">Thank you! Your comment has been added.</div>');  // MF - Fill the success/error DIV with msg
								$('#respond').fadeTo('fast',.1).fadeTo('fast',1);
								nomoreloading();	
							} else {
								err.empty();
								if(response.find('p')[0]) {
								err.append('<div class="acp_error">'+response.find('p').html()+'</div>');
								} else {
								err.append('<div class="acp_error">'+response.html()+'</div>');
								} // end if
								nomoreloading();
								return false;
							} // end if
            } catch (e) {
                nomoreloading();
                alert(e);
            } // end try
						   
			} // end success()
			
						   }); // end ajaxSubmit()
		
        return false; 
									  }); // end form.submit()
}); // end document.ready()
										