function CheckForm(language){
	this.fields = new Array();
	this.count = 0;
	this.language = language;
	
	this.message = new Array();
	this.message['ru'] = 'Пожалуйста проверьте следующие поля:'
	this.message['de'] = 'Bitte überprüfen Sie Angaben in den folgenden Feldern!:'
}

CheckForm.prototype.addCheckField = function (name, title, value){
	var field = new Array();
		field['name'] = name;
		field['title'] = title;
		field['value'] = value;
	this.fields[this.count] = field;
	this.count++;
}

CheckForm.prototype.Examine = function (form){
	
	var error = new Array();
	
	for(f in this.fields)
	{
		myRe = this.getTemplate(this.fields[f]['value']);
		if(form[this.fields[f]['name']].value.search(myRe)==-1)
		{
			error[f] = this.fields[f]['title'];
		}
	}
	
	if(error.length>0)
	{
		var mess = this.message[this.language]+"\n";
		for(e in error)
		{
			form[this.fields[e]['name']].style.backgroundColor = '#F3CFCF';
			mess += ' - '+error[e]+"\n";
		}
		alert(mess);
		return false;
	}

	return true;
}

CheckForm.prototype.getTemplate = function (template){
	
	var reg = '';
	
	switch(template)
	{
		case '[empty]':
			reg = /[^\s]/;
			break;
		case '[date]':
			reg = /^([\d]{2}\.[\d]{2}\.[\d]{4})$/;
			break;
		case '[digit]':
			reg = /^[\d]+$/;
			break;
		case '[mail]':
			reg = /^([-a-zA-Z0-9._]+@[-a-zA-Z0-9.]+(\.[-a-zA-Z0-9]+)+)*$/;
			break;
		default:
			reg = template;
	}
	return reg;
}
