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

$(document).ready(function(){
						   
	$('#commentform').after('<div id="error"></div>');
	$('#submit').after('<img src="wp-content/plugins/ajax-comment-posting/loading.gif" id="loading" alt="Loading..." />');
	$('#loading').hide();
	var form = $('#commentform');
	var err = $('#error');
	
    form.submit(function() { 
						 
	if(form.find('#author').val() == '') {
		err.empty();
		err.append('<span class="error">Please enter your name.</span>');
		return false;
	} // end if
	if(!form.find('a[@title="Log out of this account"]')[0]) {
		if(form.find('#email').val() == '') {
			err.empty();
			err.append('<span class="error">Please enter your email address.</span>');
			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('<span class="error">Please enter a valid email address.</span>');
			return false;
		} // end if
	} // end if
	if(form.find('#comment').val() == '') {
		err.empty();
		err.append('<span class="error">Please enter your comment.</span>');
		return false;
	} // end if
	
    $(this).ajaxSubmit({
						   
		beforeSubmit: function() { $('#loading').show(); },

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

            try {
                response = $("<ol>").html(data);
               if (response.find('.commentlist')[0]) {
				   			$('.commentlist').remove();
							$('#respond').before('<ol class="commentlist"></ol>');
							$('.commentlist').append(response.find('.commentlist'));
							form.empty();
							err.empty();
							$('#respond').empty();
							$('#respond').append('<span class="success">Your comment has been added.</span>');
                       		nomoreloading();	
				} else {
						err.empty();
						if(response.find('p')[0]) {
						err.append('<span class="error">'+response.find('p').html()+'</span>');
						} else {
						err.append('<span class="error">'+response.html()+'</span>');
						} // 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()
										