isInBC = function () {
	var isInBC = $.ajax({ url: "/_ui/RemoteService.cfc?"+Math.random()
					    , async: false
					    , data: {method:"isInBC", strIPAddress:ipAddress}
					    , dataType: "json"
					    }).responseText;
	return isInBC == "true";
};

var checkIsInBC = false;
signup = function (form) {
	if (checkIsInBC)
	{
		if (isInBC())
		{
			form.submit();
		}
		else
		{
			$("#signupBlock div.errMesg").html("Sorry, sign-up is available to BC residents only.");	
		}
	}
	else
	{
		form.submit();
	}
};

$(document).ready(function () {
	$.validator.addMethod("emailExist"
		, function(value, element) {
			var isExists = $.ajax({ url: "/_ui/RemoteService.cfc?"+Math.random()
								  , async: false
								  , data: {method:"checkEmailExist", strEmailAddress:value}
								  , dataType: "json"
								  }).responseText;
			return isExists == "false";
		}
		, "Sorry, email address already exists."
	);

	$.validator.addMethod("confirmPassword"
		, function(value, element, param) {
			return value == $("#"+param).val();
		}
		, "Password does not match."
	);

	$.validator.addMethod("selectCity"
		, function(value, element) {
			return value != "Select City";
		}
		, "Please select your BC city."
	);

	$("#signupBlock form").validate({
		onfocusout: false,
		rules: {
			firstName: {
				required: true,
				maxlength: 50
			},
			lastName: {
				required: true,
				maxlength: 50
			},
			emailAddress: {
				required: true,
				maxlength: 100,
				email: true,
				emailExist: true
			},
			password: {
				required: true,
				minlength: 6,
				maxlength: 20
			},
			password2: {
				required: true,
				confirmPassword: "password"
			},
			city: {
				selectCity: true
			}
		},
		messages: {
			firstName: {
				required: "Please enter your first name."
			},
			lastName: {
				required: "Please enter your last name."
			},
			emailAddress: {
				required: "Please enter your email address."
			},
			password: {
				required: "Please enter your password."
			},
			password2: {
				required: "Please confirm your password."
			}
		},
		submitHandler: function (form) {
			signup(form);
		}
	});
	
	$("#submit img").hover(
		function () {
			$(this).attr("src", "/img/submit_btn_over.gif");
		},
		function () {
			$(this).attr("src", "/img/submit_btn.gif");
		}
	);
	
	$("#submit img").click(function () { $("#signupBlock form").submit(); });

	$("#signupBlock form input").keydown(function (event) {
		if (event.keyCode == 13) {
			$("#signupBlock form").submit();
		}
	});

	$("#city").hover(
		function () {
			$(this).addClass("hover");
		},
		function () {
			$(this).removeClass("hover");
		}
	);

});

