(function () {
	var RequiredFieldException = function (field) {
		this.message = "Fyll i ett " + field + ".";
	};
	
	var InvalidFormatException = function (field, format) {
		this.message = "Du måste fylla i " + field + " med formatet " + format + ".";
	};
	
	var Validator = {
		init:			function () {
							var form = document.getElementById("sokarsredovisning");
							if (form) {
								form.onsubmit = (function (o) {
									return function (e) {
										o.validate(e || window.event);
									};
								})(this);
							}
						},

		validate:		function (e) {
							try {
								var regNo = document.getElementById("orgnr-1");
								if (regNo.value === "") {
									throw new RequiredFieldException("organisationsnummer");
								} else if (!/^\d{6}-?\d{4}$/.test(regNo.value)) {
									throw new InvalidFormatException("organisationsnumret", "999999-9999");
								}
							} catch (exc) {
								alert(exc.message);
								if (e.preventDefault) {
									e.preventDefault();
									e.stopPropagation();
								} else if (window.event) {
									window.event.returnValue = false;
									window.event.cancelBubble = true;
								}
							}
						}
	};
	
	if (document.getElementById) {
		Validator.init();
	}
})();
