function MyForm() {
	
	this.patterns = new Array()
	this.patterns['require'] = /[^\s]+/;
	this.patterns['email'] = /^.+@.+\..{2,5}$/;
	this.patterns['number'] = /\d+/;
	this.patterns['date'] = /^\d\d\.\d\d\.\d\d\d\d$/;
	
	this.messages = new Array();
	this.messages['require'] = new Array();
	this.messages['email'] = new Array();
	this.messages['number'] = new Array();
	this.messages['date'] = new Array();
	
	this.messages['require']['en'] = ' is mandatory field';
	this.messages['email']['en'] = ' is not valid';
	this.messages['number']['en'] = ' must be number';
	this.messages['date']['en'] = ' must be valid date in format dd.mm.yyyy';
	
	this.messages['require']['cz'] = ' je povinná položka';
	this.messages['email']['cz'] = ' neplatný email';
	this.messages['number']['cz'] = ' musí obsahovat pouze čísla';
	this.messages['date']['cz'] = ' musí být platné datum ve formátu dd.mm.yyyy';
	
	this.lang = 'en';
	
	var me = this;
	
	//elements to check
	this.check_items = new Array();
	
	this.check = function() {
		
		var message = '';
		var field_value;
		var check_type;
		
		for (var i = 0; i < me.check_items.length; i++) {
			
			field_value = $('#' + me.check_items[i]['id']).val();
			for (var c = 0; c < me.check_items[i]['checks'].length; c++) {
				
				check_type = me.check_items[i]['checks'][c];
				
				if (check_type != 'require' &&
					check_type != 'email' &&  
					check_type != 'number' &&
					check_type != 'date') 
				{
					continue;
				}
				
				if (!me.patterns[check_type].test(field_value)) {
					message += '`' + me.check_items[i]['title'].replace(/:$/,'') + '` ' + me.messages[check_type][me.lang] + '\n';
				}
			}
		}
		if (message == '') {
			return true;
		}
			
		alert(message);
		return false;
	}
	
	this.setCheck = function(element_id,title,check_types) {
		
		var item = new Array();
		item['id'] = element_id;
		item['title'] = title;
		item['checks'] = check_types;
		
		this.check_items.push(item);
	}
	
	this.setLanguage = function(lang) {
		this.lang = lang;
	}
}
