$(function() {
	$("form#review").validate({
		errorPlacement: function(error, element) {
			error.appendTo("#td_"+element.attr("name"));
		},
		submitHandler: function() {
			sendData();
		}
	})
	$.validator.addMethod("person", function(value, element) {
		return this.optional(element) || /^([a-zA-Z]+(?:\.)?(?: [a-zA-Z]+(?:\.)?)*)$/.test(value);
	}, "Proper name only please.");

	$("input.star").rating();

	$.mask.options = {
		attr: 'alt',
		mask: null,
		type: 'fixed',
		maxLength: -1,
		defaultValue: '',
		selectCharsOnFocus: false,
		autoTab: false,
		fixedChars: '[(),.:/ -]',
		onInvalid: function() {
		},
		onValid: function() {
		},
		onOverflow: function() {
		}
	};
	$("input.mask").setMask();
})

function reloadCaptcha() {
	window.protectwebform_random_code = Math.floor(Math.random() * 99999999999);
	$('img#img_captcha').attr("src", "http://www.protectwebform.com/image/29472/?rand=" + window.protectwebform_random_code);
	$("input#protectwebformcode").val("");
	return true;
}

function sendData() {
	$("#td_submit").append('<img src="/i/big_loader.gif" id="loader"/>');
	var data = $("form#review").serialize();
	$.ajax({
		type: "POST",
		url: "/lib/pages/reviews/submit.php",
		data: data,
		success: function(msg) {
			$("#loader").remove();
			switch (msg) {
				case "true":
					$(".error").each(function() {
						$(this).fadeOut("fast");
					});
					$("form#review").fadeOut("fast", function() {
						$("p#success").fadeIn("slow");
					});
					break;
				case "emailexist":
					$("p#fail").hide();
					$("p#emailexist").fadeIn("slow");
					break;
				case "spam":
					$("p#fail").hide();
					$("p#spam").fadeIn("slow");
					break;
				case "captcha":
					$("p#fail").hide();
					$("p#captcha").fadeIn("slow");
					reloadCaptcha();
					break;
				case "fillit":
					$("p#fail").hide();
					$("p#emailexist").hide();
					$("p#stars").hide();
					$("p#fillit").fadeIn("slow");
					break;
				case "stars":
					$("p#fail").hide();
					$("p#emailexist").hide();
					$("p#fillit").hide();
					$("p#stars").fadeIn("slow");
					break;
				default:
					$("p#fail").fadeIn("slow");
					break;
			}
		},
		error: function() {
			("p#fail").fadeIn("slow");
			$("#loader").remove();
		}
	})
}