var inmotion = false;
$().ready(function(){
	$('#country').change(
		function(){
			var val = $('#country option:selected').val();
			$.get('ajax.php?action=regions&cid='+val,
				function(d){
					$('#regions').html(d);
				});	
		});
	$('#plan').change(function(){pricing();});
	$("input[name=marquee]").change(function(){pricing();});
	$('#adwords').blur(function(){pricing();});

	$.get('ajax.php?action=code',function(d){$("#captcha").html(d);});
	jQuery.validator.setDefaults({success: "valid"});
	jQuery.validator.addMethod("phone", function(phone_number, element) {
	    phone_number = phone_number.replace(/[\(\)\.\-\+\ ]/g, '');
		return this.optional(element) || phone_number.length > 9 &&
			phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
	}, "Please specify a valid phone number");
	jQuery.validator.addMethod("lettersonly", function(value, element) {
		return this.optional(element) || /^[a-zA-Z]*$/i.test(value);
	}, "Letters only please");

	$("#register").validate({
		submitHandler:function(form){
			$('#submit').attr('disabled', 'disabled');
			if(!inmotion){
				inmotion = true;
				$("#loader").fadeIn();
				$("#errored").html("&nbsp;");
				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){
						inmotion = false;
						$("#loader").hide();
						$("#errored").html('Invalid Human Check Code');
						$('#submit').removeAttr('disabled');
					}
				if(!errored){
					var values = $('#register').serialize();
					$.getJSON('register.php?'+values,
						function(d){
							$("#loader").fadeOut();
							$("#errored").html(d.msg);
							if(d.status){
								setTimeout('$("#payment").submit();',1000);
							}
						});
				}
			}
		},
		rules: {
			fname: {
				required: true,
				minlength: 3,
				lettersonly: true
			},
			lname: {
				required: true,
				minlength: 3,
				lettersonly: true
			},
			email: {
				required: true,
				email: true
			},
			address: {
				required: true
			},
			city: {
				required: true
			},
			phone: {
				required: true,
				phone: true
			},
			zip: {
				required: true,
				number: true
			},
			form_of_payment: {
				required: true
			},
			plan: {
				required: true
			},
			code: {
				required: true
			}
		}
	});
});

function pricing(){
	var plan = $('#plan option:selected').val();

	$.get('ajax.php?action=pp&plan='+plan,
		function(d){
			total = Number(d)+'.00';
			$('#splan').html('$'+d);
			$('#price').html('$'+total);
			$('#fp').val(total);
		});
}