Lisi.AnnouncementUtils = function(options) {
	var instance = this;
	
	this.newsForm = function(options) {
		if (typeof instance.AUI == "undefined") {
			AUI().use(
				'node',
				function(A) {
					instance.AUI = A;
					instance.newsFormIntern(options);
				}
			)
		} else {
			instance.newsFormIntern(options);
		}
	},
	this.newsFormIntern = function(options) {
		instance.formFunction = {};
		instance.namespace = options.namespace;
		instance.submitButton = instance.AUI.one("#" + options.submitButton);
		instance.form = instance.AUI.one("#" + options.form);
		instance.messageContainer = instance.AUI.one("#" + options.messageContainer);
		instance.submitButton.on("click", function() {
			if (instance.formFunction.checkInput()) {
				instance.form.submit();
				
			}
		});
		instance.formFunction.checkInput = function() {
			instance.fieldsValid = true;
			instance.checkEmptyInput(new Array("title"));
			if (!instance.fieldsValid) {
				instance.messageContainer.set("innerHTML", "<div class='lisi style statusmessage error'>F&uuml;llen Sie bitte die gekennzeichneten Felder korrekt aus!</div>");
				return false;
			} else {
				instance.messageContainer.set("innerHTML", "");
			}
			return true;		
		}
	},	
	this.cooperationForm = function(options) {
		if (typeof instance.AUI == "undefined") {
			AUI().use(
				'node',
				function(A) {
					instance.AUI = A;
					instance.cooperationFormIntern(options);
				}
			)
		} else {
			instance.cooperationFormIntern(options);
		}
	},
	this.cooperationFormIntern = function(options) {
		instance.formFunction = {};
		instance.namespace = options.namespace;
		instance.submitButton = instance.AUI.one("#" + options.submitButton);
		instance.form = instance.AUI.one("#" + options.form);
		instance.messageContainer = instance.AUI.one("#" + options.messageContainer);
		instance.submitButton.on("click", function() {
			if (instance.formFunction.checkInput()) {
				instance.form.submit();
				
			}
		});
		instance.formFunction.checkInput = function() {
			instance.fieldsValid = true;
			var obj = instance.AUI.one("select[name='subCategorieId']");
			if (obj.get('value') == "null") {
				instance.messageContainer.set("innerHTML", "<div class='lisi style statusmessage error'>W&auml;hlen Sie bitte einen Typ aus!</div>");
				obj.addClass("mandatory");
				return false;
			} else {
				obj.removeClass('mandatory');
			}			
			instance.checkEmptyInput(new Array("title"));
			if (!instance.fieldsValid) {
				instance.messageContainer.set("innerHTML", "<div class='lisi style statusmessage error'>F&uuml;llen Sie bitte die gekennzeichneten Felder korrekt aus!</div>");
				return false;
			} else {
				instance.messageContainer.set("innerHTML", "");
			}
			return true;		
		}
	},	
	this.marketForm = function(options) {
		if (typeof instance.AUI == "undefined") {
			AUI().use(
				'node',
				function(A) {
					instance.AUI = A;
					instance.marketFormIntern(options);
				}
			)
		} else {
			instance.marketFormIntern(options);
		}
	},
	this.marketFormIntern = function(options) {
		instance.formFunction = {};
		instance.namespace = options.namespace;
		instance.submitButton = instance.AUI.one("#" + options.submitButton);
		instance.form = instance.AUI.one("#" + options.form);
		instance.messageContainer = instance.AUI.one("#" + options.messageContainer);
		instance.submitButton.on("click", function() {
			if (instance.formFunction.checkInput()) {
				instance.form.submit();
				
			}
		});
		instance.formFunction.checkInput = function() {
			instance.fieldsValid = true;
			var obj = instance.AUI.one("select[name='subCategorieId']");
			if (obj.get('value') == "null") {
				instance.messageContainer.set("innerHTML", "<div class='lisi style statusmessage error'>W&auml;hlen Sie bitte einen Typ aus!</div>");
				obj.addClass("mandatory");
				return false;
			} else {
				obj.removeClass('mandatory');
			}			
			instance.checkEmptyInput(new Array("title"));
			instance.checkEmptyTextarea(new Array("description"));
			if (!instance.fieldsValid) {
				instance.messageContainer.set("innerHTML", "<div class='lisi style statusmessage error'>F&uuml;llen Sie bitte die gekennzeichneten Felder korrekt aus!</div>");
				return false;
			} else {
				instance.messageContainer.set("innerHTML", "");
			}
			return true;		
		}
	},	
	this.jobsForm = function(options) {
		if (typeof instance.AUI == "undefined") {
			AUI().use(
				'node',
				function(A) {
					instance.AUI = A;
					instance.jobsFormIntern(options);
				}
			)
		} else {
			instance.jobsFormIntern(options);
		}
	},
	this.jobsFormIntern = function(options) {
		instance.formFunction = {};
		instance.namespace = options.namespace;
		instance.submitButton = instance.AUI.one("#" + options.submitButton);
		instance.form = instance.AUI.one("#" + options.form);
		instance.messageContainer = instance.AUI.one("#" + options.messageContainer);
		instance.submitButton.on("click", function() {
			if (instance.formFunction.checkInput()) {
				instance.form.submit();
				
			}
		});
		instance.formFunction.checkInput = function() {
			instance.fieldsValid = true;
			var obj = instance.AUI.one("select[name='subCategorieId']");
			if (obj.get('value') == "null") {
				instance.messageContainer.set("innerHTML", "<div class='lisi style statusmessage error'>W&auml;hlen Sie bitte einen Typ aus!</div>");
				obj.addClass("mandatory");
				return false;
			} else {
				obj.removeClass('mandatory');
			}			
			instance.checkEmptyInput(new Array("title"));
			if (!instance.fieldsValid) {
				instance.messageContainer.set("innerHTML", "<div class='lisi style statusmessage error'>F&uuml;llen Sie bitte die gekennzeichneten Felder korrekt aus!</div>");
				return false;
			} else {
				instance.messageContainer.set("innerHTML", "");
			}
			return true;		
		}
	},	

	this.checkEmptyInput = function(fields) {
		for (var a = 0; a < fields.length; a++) {
			obj = instance.AUI.one("input[name=" + instance.namespace + fields[a] + "]");
			if (obj.get('value').match(/^\s*$/)) {
				instance.fieldsValid = false;
				obj.addClass("mandatory");
			} else {
				obj.removeClass("mandatory");
			}
		}
	}	
	this.checkEmptyTextarea = function(fields) {
		for (var a = 0; a < fields.length; a++) {
			obj = instance.AUI.one("textarea[name=" + instance.namespace + fields[a] + "]");
			if (obj.get('value').match(/^\s*$/)) {
				instance.fieldsValid = false;
				obj.addClass("mandatory");
			} else {
				obj.removeClass("mandatory");
			}
		}
	}
}
