(function($) {
	
function ajaxEffect(content){
	$(content).css({visibility:"hidden"}).fadeIn(1000).css({visibility:"visible"});
}

$(function() {
  
	var scripts = $("script");
	for ( i = 0; i <= scripts.length; i++ ) {
    if(!$(scripts[i]).attr('src')) {continue;}
    
		var scriptSrc = $(scripts[i]).attr('src');
		var result = scriptSrc.match(/http:(.*)jquery-comments.js/);
		if ( result ) break;
	}
	ajaxURL = result[0].replace(/jquery-comments.js/, "jquery-ajax.php");

	$("#commentform").submit(function(){
		if (!$(".commentlist").length) {
			$('#comments').after('<div class="commentlist"><ul class="commentlist"></ul></div>');
		}
		$("ul.commentlist").append('<li id="loading"><p>Bitte warten...</p></li>');
		ajaxEffect("#loading");
		$.ajax({
			type: "POST",
			url: ajaxURL,
			data: $("#commentform input, #commentform textarea").serialize(),
			dataType: "html",
			error: function(req, status, error){
				if ($("#ajaxerror").length) {
					$("#ajaxerror").remove();
				}
				var resp = req.responseText;
				$("#loading").fadeOut(1000, function(){
					$("#loading").remove();
					if (resp.search(/WordPress/) != -1) {
						var data = resp.match(/<p>(.*)<\/p>/);
						data = '<li id="ajaxerror"><p>' + data[1] + '</p></li>';
					} else {
						var data = resp;
					}
					$('input,textarea').removeClass('error');
					if (resp.search(/Namen/) != -1) {
						$('input#author').addClass('error');
					}
					if (resp.search(/E-Mail/) != -1) {
						$('input#email').addClass('error');
					}
					if (resp.search(/Kommentar/) != -1) {
						$('textarea#comment').addClass('error');
					}
					if (resp.search(/URL/) != -1) {
						$('input#url').addClass('error');
					}
					
					$("ul.commentlist").append(data);
					ajaxEffect("#ajaxerror");
				});
			},
			success: function(data){
				$('input,textarea').removeClass('error');
				if ($("#ajaxerror").length) {
					$("#ajaxerror").remove();
				}
				$("#loading").fadeOut(1000, function(){
					$("#loading,#ajaxerror").remove();
					$("ul.commentlist").append(data);
					ajaxEffect("#newcomment");
					$("#commentform textarea").val("");
				});
				var c = $('#comments').next('.commentlist').find('li').length;
				var suff = (c > 1) ? 'e' : '';
				$('#comments').text(c+' Kommentar'+suff)
			}
		});
		return false;
	});
	
});

})(jQuery);

