jQuery.noConflict();
(function($) {
	gt.get_comments = function(form, list) {
		$(form).each(function() {
			var thread_id = $('#thread_id', form).val();
			if (thread_id) {
				$(list).addClass('loading');
				$.post('/view/page.standard/get-thread-posts', { thread_id: thread_id }, function(data) {
					var comments = data.message;
					$(list).removeClass('loading');
					$(comments).each(function() {
						var data = this;
						var comment = $('.template', list).clone().appendTo(list).removeClass('template');
						var date = new Date(Date.parse(data.created_at.replace(/-/g, '/').replace(/T/g, ' ') + ' GMT'));
						comment.find('.time').html('Posted ' + gt.pretty_date(date));
						comment.find('cite').html('by <a target="_blank" href="http://myworld.ebay.com/' + data.anonymous_author.name + '">' + data.anonymous_author.name + '</a>');
						comment.find('blockquote').html(gt.linkify(data.message));
						var reply = comment.find('form');
						if (reply.length > 0) {
  						reply.find('input[name="parent_post"]').val(data.id);
  						gt.init_comment(reply, list);		
						}
	         });
				}, 'json');
			}
		});
	}
	
	gt.init_comment = function(form, list) {
		$(form).validate({
			submitHandler: function(form) {
				$('textarea[name="message"]', form).addClass('loading');
				$.post('/view/page.standard/create-post', { thread_id: $('input[name="thread_id"]', form).val(), message: gt.strip_html($('textarea[name="message"]', form).val()), author_name: $('input[name="name"]', form).val(), author_email: $('input[name="email"]', form).val() , ip_address: $('input[name="ip_address"]', form).val() }, function(data) {
					var comment = $('.template', list).clone().prependTo(list).hide().removeClass('template');
					comment.find('.time').html('Posted 1 second ago');
					comment.find('cite').html('by <a target="_blank" href="http://myworld.ebay.com/' + $('input[name="name"]', form).val() + '">' + $('input[name="name"]', form).val() + '</a>');
					comment.find('blockquote').html($('textarea[name="message"]', form).val());
					$('textarea[name="message"]', form).val('').removeClass('loading');
					comment.show('slow');
				}, 'json');
				$('#main .num-comments').html(parseInt($('#main .num-comments').html()) + 1);
				return false;
			},
			errorPlacement: function(error, input) {
				input.before(error);
			}
		});
	}
	
	$.validator.addMethod('plaintext', function(value, element) {
		return value == gt.strip_html(value);
	}, 'This field cannot contain markup.');
	
	$.validator.addMethod('terse', function(value, element) {
		var terse = true;
		var words = value.split(' ');
		for (var i = 0; i < words.length; i++) {
			if (words[i].length > 100) {
				terse = false;
			}
		}
		return terse;
	}, 'This field cannot contain very long words.');
	
	$(document).ready(function() {
		gt.get_comments('#comment', '#comments');
		gt.init_comment('#comment', '#comments');
	});
})(jQuery);

