/*
Am I God Javascript
By Nitin Advani
Built on jQuery 1.3.2
*/
// google cdn for jquery loading, but if it fails we make sure jQuery has loaded locally
if (typeof(jQuery)=='undefined') {
	var e = document.createElement('script');
	e.src = '/js/jquery.min.js';
	e.type='text/javascript';
	document.getElementsByTagName("head")[0].appendChild(e);
}
// functions to execute
$(document).ready(function() {
	var already_rated = false;
	// rating jokes
	$('#ratelinks li a').click(function(){
		var elem = $(this);
		var rating = $(this).text();
		if (!already_rated) {
			$.ajax({
				type: "GET",
				url: "/rate/"+joke_type+"/"+joke_id+"/"+rating,
				cache: true,
				success: function(result) {
					$('#ratelinks').parent().html('<div style="padding-top:6px;">You: <b>'+rating+'</b>/5!</div>');
					$('#ratelinks').remove();
					// prevent another rating
					already_rated = true;
				},
				error: function(result) {
					alert("An error occured with your rating. Please try again later.");
				}
			});
		}
		return false;
	});
	// comment form letter count
	$('#cmtcmt').keyup(function() {
		var len = this.value.length;
		if (len >= 750) {
			this.value = this.value.substring(0, 750);
			len = 750;
		}
		$('#charct').text(len);
	});
	// comment submit
	submitComment = function() {
		$.ajax({
			type: 'POST',
			url: '/comment/',
			data: {
				cname : $('#cmtname').attr('value'),
				cemail : $('#cmtemail').attr('value'),
				cwebsite : $('#cmturl').attr('value'),
				ccomment : $('#cmtcmt').val(),
				ctype : joke_type,
				cid : joke_id
			},
			success: function(result) {
				var color = "#fbf1f0";
				var yes = "<b>thank";
				// if comment was successful
				if (yes == result.substring(0, yes.length).toLowerCase()) {
					color = "#e8fbe9";
					// success so disable submit button so no repeats
					$('#cmtsubmit').attr('disabled', 'disabled');
				}
				// disable form submissions
				// otherwise show error message
				$('#commentmsg').css('background-color',color);
				$('#commentmsg').html(result);
				$('#commentmsg').slideDown('slow');
			},
			dataType: 'html'
		});
	}
	// comment form validation
	$('#cmtsubmit').click(function() {
		var failedvalidate = false;
		if ($('#cmtname').val() == "") {
			$('#cmtname').css('background-color','#fbf1f0');
			failedvalidate = true;
		}
		else {
			$('#cmtname').css('background-color','#ffffff');
		}
		var pattern = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
		if (pattern.test($('#cmtemail').val())) {
			$('#cmtemail').css('background-color','#ffffff');
		}
		else {
			$('#cmtemail').css('background-color','#fbf1f0');
			failedvalidate = true;
		}
		if (parseInt($('#charct').text()) < 10) {
			$('#cmtcmt').css('background-color','#fbf1f0');
			failedvalidate = true;
		}
		else {
			$('#cmtcmt').css('background-color','#ffffff');
		}
		if (failedvalidate) {
			return false;
		}
		else {
			submitComment();
			return false;
		}
	});
});
