
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}
function formFieldsCheck(formName) {
	var str = "";
	var allOk = true;
	var elementName = '';
	var focused = false;
	var name;
	//console.log($('form[name='+formName+']').get(0));
	$('form[name='+formName+'] input').each(function(){
		var badfield = false;
		var mandatoryField = $(this).attr('mandatoryfield');
		var preg_mask = $(this).attr('preg_mask');
		var myRe=null;
		if (preg_mask != null) {
			eval("myRe = " + preg_mask + ";");
		}
		if ($(this).attr('type') != 'text') return;
		if (!$(this).attr('mandatoryfield') && !preg_mask) return;
		$(this).css('background', null);
		if (((preg_mask != null) && ($(this).val()!='') && !myRe.test($(this).val()))){
			badfield = true;
		}
		if ($(this).attr('mandatoryfield')  &&  $(this).val() == '') {
			badfield = true;
		}
		if (badfield) {
			allOk = false;
			$(this).css('background', "#FA8080");
			if (elementName == '') elementName = $(this).attr('name');
			switch ($(this).attr('name')) {
				case 'login':
					str+="Поле \"Логин\" должено содержать только латинские символы и числа от 4 до 20 символов\n";
					break;
				case 'name':
					str+="Поле \"Имя\" не должно быть пустым\n";
					break;
				case 'email':
				case 'email2':
				case 'email3':
					if ($(this).val()) {
						str+="Введите правильный E-mail\n";
					} else {
						str+="Поле \"E-Mail\"  не должно быть пустым\n";
					}
					break;
				default:
					str+="Поле \""+$('#tr_'+$(this).attr('name')+' td.name span:first').text()+"\"  не должно быть пустым\n";
					break;
			}
		}
	});
	$('form[name='+formName+'] textarea').each(function(){
		$(this).css('background', null);
		if (!$(this).attr('mandatoryfield') || $(this).val()) return;
		allOk = false;
		$(this).css('background', "#FA8080");
		if (elementName == '') elementName = $(this).attr('name');
		switch ($(this).attr('name')) {
			default:
				str+="Поле \""+$('#tr_'+$(this).attr('name')+' td.name span:first').text()+"\"  не должно быть пустым\n";
				break;
		}
	});
	var field_pasword=$('form[name='+formName+'] input[name=password]:first');
	var field_pasword2=$('form[name='+formName+'] input[name=repassword]:first');
	var pasword_mask=/^[A-Za-z0-9]{3,20}$/;

	
	field_pasword.css('background', null);
	field_pasword2.css('background', null);
	if (!field_pasword.val()) {
		allOk = false;
		field_pasword.css('background', "#FA8080");
		str+="Необходимо указать пароль";
		if (elementName == '') elementName = 'password';
	}else if (!pasword_mask.test(field_pasword.val())){
		allOk = false;
		field_pasword.css('background', "#FA8080");
		str+="Пароль должен содержать только латинские буквы(a-z) и числа(0-9) длина от 3 до 20 символов";
		if (elementName == '') elementName = 'password';
	}else if (!field_pasword2.val()){
		allOk = false;
		field_pasword2.css('background', "#FA8080");
		str+="Повторно введите пароль";
		if (elementName == '') elementName = 'password2';
	}else if (field_pasword2.val()!=field_pasword.val()){
		allOk = false;
		field_pasword2.css('background', "#FA8080");
		str+="Пароли должны совпадать";
		if (elementName == '') elementName = 'password2';
	}
	if (allOk == false) {
		alert("Ошибка! Проверьте правильность заполнения полей!\n" +str);
		$('form[name='+formName+'] input[name='+elementName+']:first').focus();
		return false;
	} else return true;
}

function formFieldsCheck2(formName) {
	if (isDOM) {
		var str = "";
		var allOk = true;
		var elementName = '';
		var focused = false;
		var badfield = false;
		var elements = document.forms[formName].getElementsByTagName('input');
		for(var i = 0; i < elements.length; i++) {
			var mandatoryField = elements.item(i).getAttribute('mandatoryfield');
			var preg_mask = elements.item(i).getAttribute('preg_mask');
			badfield = false;
			if (preg_mask != null) {
				evalstr = "myRe = " + preg_mask + ";";
				eval(evalstr);

			}
			if (elements.item(i).type != 'text') continue;
			elements.item(i).style.background = "White";
			elements.item(i).value = elements.item(i).value.trim();
			var value = elements.item(i).value.trim();
			if (((preg_mask != null) && (value!='') && !myRe.test(value))){
				badfield = true;
			}
			if (mandatoryField != null &&  value == '') {
				badfield = true;
			}
			if (badfield) {
				allOk = false;
				elements.item(i).style.background = "#FA8080";
				if (elementName == '') elementName = elements.item(i).getAttribute('name');
				switch (elements.item(i).getAttribute('name')) {
					case 'login':
						str+="Поле \"Логин\" должено содержать только латинские символы и числа от 4 до 20 символов\n";
						break;
					case 'name':
						str+="Поле \"Имя\" не должно быть пустым\n";
						break;
					case 'email':
						str+="Поле \"E-Mail\"  не должно быть пустым\n";
						break;
				}
			}
		}
		elements = document.forms[formName].getElementsByTagName('textarea');
		for(var i = 0; i < elements.length; i++) {
			var mandatoryField = elements.item(i).getAttribute('mandatoryfield');
			if (mandatoryField != null) {
				elements.item(i).style.background = "White";
				var value = elements.item(i).value;
				if (value == '') {
					allOk = false;
					elements.item(i).style.background = "#FA8080";
					if (elementName == '') elementName = elements.item(i).getAttribute('name');
				}
			}
		}

		if (allOk == false) {
			alert("Ошибка! Проверьте правильность заполнения полей!\n" +str);
			document.forms[formName].elements[elementName].focus();
			return false;
		} else return true;
	} else return true;
}
