
$(document).ready(function() {
	$('.error-message').each(function(){
		if ($(this).css('display') != 'none') { $(this).parents('div:first').find('input, textarea').addClass('error-field'); }
	});
	$('.pub-comment').each(function(){
		$(this).click(function(e){
			e.preventDefault();
			var el = $(this);
			var rid = $(this).attr('id').substr(4);
			var url = document.href;
			// communicate with server
			ajax(url, {'pub':el.text().toLowerCase() + '-' + rid}, function(r){
				if (r.status == '1') { el.text('Unpublish'); }
				else if (r.status == '2') { el.text('Publish'); }
			});
		});
	});
	$('#frm-comment').submit(function(e){
		var error = false;
		var pre = '<div class="error-message">';
		var post = '</div>';
		$('.error-message').css({'display':'none'});
		$('.error-field').removeClass('error-field');
		if ($('#content-text').val() == '') 
		{ $('#content-text').addClass('error-field'); $('#content-text').parent().append(pre+'Please enter your Comment'+post); error = true; }
		if ($('#first-name').val() == '')
		{ $('#first-name').addClass('error-field'); $('#first-name').parent().append(pre+'Please enter your First Name'+post); error = true; }
		if ($('#e-mail-address').attr('id'))
		{
			if ($('#e-mail-address').val() == '' || $('#e-mail-address-confirm').val() == '' || !/[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!\#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/.test($('#e-mail-address').val()))
			{ $('#e-mail-address').addClass('error-field'); $('#e-mail-address-confirm').addClass('error-field'); $('#e-mail-address').parent().append(pre+'Please enter a valid E-Mail Address'+post); error = true; }
			if ($('#e-mail-address').val() != $('#e-mail-address-confirm').val())
			{ $('#e-mail-address').addClass('error-field'); $('#e-mail-address-confirm').addClass('error-field'); $('#e-mail-address').parent().append(pre+'Please ensure your E-Mail Addresses match'+post); error = true; }
		}
		if (error == false) return true;
		$('#cmt-messages').html('<div class="form-message-error"><p>Oops! One or more errors have been detected!<br />Please see below to correct any errors; thank you!</p>');
		return false;
	});
	var ajax = function(url, post_data, callback) {
		$.ajaxSetup({
			'global': false,
			'type': "POST",
			'error': function(XMLHttpRequest,textStatus, errorThrown) {
						  alert('Sorry, we\'re experiencing difficulties in communicating with server. Please try again.');
					 }
		});
		$.post(url, post_data, function(response){
			if (typeof(callback) == 'function') callback(response);
		}, 'json');
		
	};						
});
