var formEvent = new function () {
	this.formErrors = [];
	
	this.loading = function (formName) {
		document.getElementById(formName + "-loading").style.display = 'block';
		
		this.hideErrors();
	}
	
	this.ok = function (formName) {
		var loading = document.getElementById(formName + '-loading');
		
		if (loading != null) {
			loading.style.display = 'none';
		}
		
		this.hideErrors(formName);
	}
	
	this.hideErrors = function (formName) {
		if (this.formErrors[formName]) {
			var eErrorsCommon = document.getElementById(formName + '-errors-common');
			
			if (eErrorsCommon != null) {
				eErrorsCommon.innerHTML = "";
			}
			
			for (var fieldName in this.formErrors[formName].fields) {
				var eError = document.getElementById(formName + '-error-' + fieldName);
				if (eError != null) {
					eError.innerHTML = "";
				}
			}
		}
	}
	
	this.error = function (formName, errors) {
		var loading = document.getElementById(formName + '-loading');
		
		if (loading != null) {
			loading.style.display = 'none';
		}
		
		this.formErrors[formName] = errors;
		
		var eErrorsCommon = document.getElementById(formName + '-errors-common');
		
		if (eErrorsCommon != null && errors.common.length != 0) {
			var eUl = document.createElement("ul");
			
			for (var i = 0; i < errors.common.length; i++) {
				var error = errors.common[i];
				if (error != null) {
					var eLi = document.createElement("li");
					eLi.appendChild(document.createTextNode(error));
					eUl.appendChild(eLi);
				}
			}
			
			eErrorsCommon.innerHTML = ""; // :( but its most easy and I think faster way
			eErrorsCommon.appendChild(eUl);
		}
		
		for (var fieldName in errors.fields) {
			var eError = document.getElementById(formName + '-error-' + fieldName);
			var error = errors.fields[fieldName];
			if (eError != null && error != null) {
				eError.innerHTML = "";
				eError.appendChild(document.createTextNode(error));
			}
		}
	}
}