var inmotion = false;
$().ready(function(){	
	jQuery.validator.setDefaults({success: "valid"});
	jQuery.validator.addMethod("lettersonly", function(value, element) {
		return this.optional(element) || /^[a-zA-Z]*$/i.test(value);
	}, "Letters only please");
	/* Get Captcha Code */
	$.get('register.php?action=code',function(d){$("#captcha").html(d);});

	/* Form Validation */
	$("#form-register").validate({
		submitHandler: function(form) {
			var values = $('#form-register').serialize();
			$("#errored").html("&nbsp;");
			$('html, body').animate({scrollTop: $('#body').offset().top},
				function(){
					$('#reg-load').fadeIn(
						function(){
							var errored = 0;
							var number_given = Number($("#number_given").val());
							var before_after = $("#before_after").val();
							var code = $("#code").val();
						
							switch(before_after){
								case "before":
									var answer = (number_given - 1);
									if(code != answer){errored = 1;}
									break;
								case "after":
									var answer = (number_given + 1);
									if(code != answer){errored = 1;}
									break;
							}
				
							if(errored == 1){
								$("#errored").html('Invalid Human Check Code');
								$('#reg-load').fadeOut();
								return false;
							}
							var fname = $('#fname').val();
							var lname = $('#lname').val();
							var email = $('#form-register [name=email]').val();
							if(fname == lname){
								$("#errored").html('First and Last Name must not be the same.');
								$('#reg-load').fadeOut();
								return false;
							} else {
								if(!inmotion){
									inmotion = true;
									$("#errored").html("&nbsp;");
									$.getJSON('register.php?action=validate&'+values,
										function(d){
											if(d.status == 0){
												$("#errored").html(d.msg);
												$('#reg-load').fadeOut();
												inmotion = false;
												return false;
											}
											if(d.status == 1){
												$('#reg-load').fadeOut();
												$('#form-register').fadeOut(
													function(){
														$('#errored').html(d.msg);
														if(d.status == 1){
															setTimeout("$('#payment').submit()",1000);
														}
														return false;
													});
											}
										});
								}
							}
						});
			});
		},
		rules: {
			fname: {
				required: true,
				minlength: 3,
				lettersonly: true
			},
			lname: {
				required: true,
				minlength: 3,
				lettersonly: true
			},
			email: {
				required: true,
				email: true
			},
			confrimemail: {
				equalTo: "#form-register [name=email]"
			},
			pwd: {
				required: true
			},
			confrimpwd: {
				equalTo: "#form-register [name=pwd]"
			},
			code: {
				required: true,
				number: true,
				maxlength: 1,
				minlength: 1
			}
		}
	});
	
});