if (typeof $ == 'undefined') {
	function $(element) {
		return document.getElementById(element);
	}
}

lastEmail = '';
lastPass  = '';
lastResult = false;

function checkPassword(passNum) {
	var pass = $('pass'),
		value = pass.value,
		pass1 = $('pass1'),
		pass_error = $('pass_error'),
		//pass_ok = $('pass_ok'),
		pass_indicator = $('pass_indicator'),
		pass_indicator_cell = $('pass_indicator_cell'),
		pass_again = $('pass_again'),
		msg = '',
		valid = false,
		email = '';

	if ($('email') != undefined) {
		email = $('email').value
	} else if ($('user_login') != undefined) {
		email = $('user_login').value
	} else if ($('user_email') != undefined) {
		email = $('user_email').value
	}
	if (value) {
		if (!pass_indicator_cell.className) {
			pass_indicator_cell.className = 'low';
		}
		pass_indicator_cell.firstChild.style.display = 'block';
		if (/[А-Яа-я]+/.test(value)) {
			msg = 'В пароле не должно быть кириллицы'
		} else if (value.length < 6) {
			msg = 'Пароль слишком короткий'
		} else if (!/[a-zA-Z]+/.test(value)) {
			msg = 'Недостаточно букв' //Добавьте в пароль латинские буквы
		} else if (!/[0-9]+/.test(value)) {
			msg = 'Недостаточно цифр' //Добавьте в пароль цифры
		} else {
			if (lastEmail != email || lastPass != value) {
				lastEmail = email;
				lastPass  = value;
				objectName = new HTMLHttpRequest(
					'objectName',
					function(DOMDocument, textDocument) {
						lastResult = false;
						resp = new Object;
						try {
							resp  = eval("("+textDocument+")");
							if (resp.error != undefined && resp.error == 1) {
								lastResult = true;
								pass_indicator_cell.className = 'low';
								msg = 'Пароль слишком простой';
								pass_error.innerHTML = msg;
								return;
							}
						} catch (e) {
						}
						if (value.length > 10) {
							pass_indicator_cell.className = 'high';
							msg = 'Надёжный пароль'
							pass_error.innerHTML = msg;
						} else {
							pass_indicator_cell.className = 'medium';
							msg = 'Простой пароль'
							pass_error.innerHTML = msg;
						}
					}
				);
				if (typeof(userEdit) == 'undefined') {
					objectName.xmlhttpSend('add.new.httpRequest.phtml?login='+escape(email)+'&p1='+escape(value));
				} else {
					objectName.xmlhttpSend('service/add.new.httpRequest.phtml?login='+escape(email)+'&p1='+escape(value));
				}
			} else if (lastResult == true) {
				pass_indicator_cell.className = 'low';
				msg = 'Пароль слишком простой';
				pass_error.innerHTML = msg;
			}
			if (passNum == 2) {
				if (pass1.value) {
					if (pass1.value != value) {
						pass1.style.color = '#c00';
						pass_again.innerHTML = 'Пароли не совпадают';
						pass_again.style.display = 'inline';
						//pass_ok.style.display = 'none';
					} else {
						valid = true;
						pass1.style.color = '';
						//pass_ok.style.display = 'inline';
						pass_again.style.display = 'none';
					}
				} else {
					pass_again.innerHTML = ''; //Введите пароль ещё раз
					pass1.style.color = '';
					pass_again.style.display = 'inline';
					//pass_ok.style.display = 'none';
				}
			}
		}

		if (msg) {
			pass_indicator_cell.className = 'low';
			pass_error.innerHTML = msg;
		}
		//pass_error.style.display = 'block';

		// Indicator width
		if (value.length <= pass.maxLength) {
			pass_indicator.firstChild.style.width = 8*value.length + 'px'
		}

	} else {
		pass_indicator_cell.className = '';
		pass_indicator_cell.firstChild.style.display = 'none';
		pass1.style.color = '';
	}
	return true;
}
