﻿Foresite.Framework.Validation = {
	PostCodeValidator: function(sender, args) {
		args.IsValid = Foresite.Framework.Validation.PostCodeIsValid(args.Value);
	},

	PostCodeIsValid: function(postcode) {
		if ($defined(postcode) && postcode.length <= 4) return true;
		var validRegEx = /[A-Z]{1,2}[0-9]{1,2}[A-Z]{0,1} ?[0-9][A-Z]{2}/i;
		return validRegEx.test(postcode);
	},

	FormatPostCode: function(postcode) {
		if (Foresite.Framework.Validation.PostCodeIsValid(postcode)) {
			var formatRegEx = /(^[A-Z]{1,2}[A-Z0-9]{1,2})([0-9][A-Z]{2}$)/i;
			return postcode.replace(formatRegEx, "$1 $2");
		}
		else {
			return postcode;
		}
	}
};
