// Ajax comment posting script based on regua's plugin (http://regua.biz)

$(document).ready(function($){

	var loading = "Loading...";
	var enter_name = "Please enter your name.";
	var enter_email = "Please enter your email address.";
	var enter_valid = "Please enter a valid email address.";
	var enter_comment = "Please enter your comment.";
	var comment_added = "Your comment has been added.";
	var error = "ACP error!";

	// Google Analytics support
	var google_analytics = "UA-11326241-1";
	if(google_analytics && google_analytics != "") {
		var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
		jQuery.getScript(gaJsHost + "google-analytics.com/ga.js", function() {
			var pageTracker = _gat._getTracker(google_analytics);
			pageTracker._initData();
			pageTracker._trackPageview();
		});
	}
	   
	$('#commentform').after('<div id="error"></div>');
	$('#loading').hide();
	var form = $('#commentform');
	var err = $('#error');
	
    form.submit(function(evt) { 
    
		if(form.find('#author')[0]) {
			if(form.find('#author').val() == '') {
				err.html('<span class="error">'+enter_name+'</span>');
				return false;
			} // end if
			if(form.find('#email').val() == '') {
				err.html('<span class="error">'+enter_email+'</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.html('<span class="error">'+enter_valid+'</span>');
				if (evt.preventDefault) { evt.preventDefault(); }
				return false;
			} // end if
		} // end if
		
		if(form.find('#comment').val() == '') {
			err.html('<span class="error">'+enter_comment+'</span>');
			return false;
		} // end if
		
	    $(this).ajaxSubmit({
						   
			beforeSubmit: function() {
				$('#loading').show();
				$('#submit').attr('disabled','disabled');
			}, // end beforeSubmit
	
			error: function(request){
				err.empty();
				if (request.responseText.search(/<title>WordPress &rsaquo; Error<\/title>/) != -1) {
					var data = request.responseText.match(/<p>(.*)<\/p>/);
					err.html('<span class="error">'+ data[1] +'</span>');
				} else {
					var data = request.responseText;
					err.html('<span class="error">'+ data[1] +'</span>');
				}
				$('#loading').hide();
				$('#submit').removeAttr("disabled");
				return false;
			}, // end error()
	
			success: function(data) {
				try {
					var response = $("<ol>").html(data);
					if ($(document).find('.commentlist')[0]) {
						$('.commentlist').append(response.find('.commentlist li:last'));
					} else {
						$('#respond').before(response.find('.commentlist'));
					} // end if
					if ($(document).find('#comments')[0]) {
						$('#comments').html(response.find('#comments').html());
					} else {
						$('.commentlist').before(response.find('#comments'));
					} // end if
					err.empty();
					//form.remove(); // REMOVE THIS IF YOU DON'T WANT THE FORM TO DISAPPEAR
					//$('#respond').hide();
					err.html('<span class="success">Your comment has been added.</span>');
					$('#submit').removeAttr("disabled");
					$('#loading').hide();	
			    
				} catch (e) {
			    	$('#loading').hide();
					$('#submit').removeAttr("disabled");
			     	alert(error+'\n\n'+e);
				} // end try
						   
			} // end success()
				
		}); // end ajaxSubmit()
			
		return false; 
		
	}); // end form.submit()
	
	return false;

}); // end document.ready()
										
