var latinAndCyrillicSymbolsRegExp = new RegExp("^[a-zабвгдеёжзийклмнопрстуфхцчшщъыьэюя]+$", "ig"); // русские и латинские символы
var numberOfClientRegExp = new RegExp("^[a-zабвгдеёжзийклмнопрстуфхцчшщъыьэюя]-\\d{4,4}(\/[a-zабвгдеёжзийклмнопрстуфхцчшщъыьэюя])?$", "ig"); // шаблон для проверки правильности формата номера ячейки
var isHyphenEnteredAfterNumberOfSeries = false; // признак наличия дефиса после номера серии

// Добавляет дефис после номера серии
function addHyphenAfterNumberOfSeries(e)
{
	var numberOfClientField = getEventTarget(e);
	var numberOfClient = numberOfClientField.value.trim();
	
	if (numberOfClient.length == 1 
		&& numberOfClient.search(latinAndCyrillicSymbolsRegExp) != -1
		&& !isHyphenEnteredAfterNumberOfSeries)
	{
		numberOfClientField.value = numberOfClient + "-";
		isHyphenEnteredAfterNumberOfSeries = true;
	}
	else if (numberOfClient.length == 0)
	{
		isHyphenEnteredAfterNumberOfSeries = false;
	}
}

// Проверяет правильность ввода номера ячейки
function checkNumberOfClient(e)
{
	var numberOfClientField = $("numberOfClient");
	var numberOfClient = numberOfClientField.value.trim();
	
	if (numberOfClient.length > 0)
	{
		if (numberOfClient.search(numberOfClientRegExp) == -1)
		{
			alert("Введенный Вами номер клиента должен иметь следующий формат:\n" + 
			"Б-ЦЦЦЦ или Б-ЦЦЦЦ\/Б.\n\n" + 
			"Б – буква\n" + 
			"Ц – цифра");
			numberOfClientField.focus();
			
			cancelEvent(e, true);
		}
	}
	else
	{
		alert("Вы не ввели номер клиента!");
		numberOfClientField.focus();
		
		cancelEvent(e, true);
	}		
}

// Добавляет обработчики для формы аутентификации клиента
function attachCientAuthenticationFormHandlers()
{
	var numberOfClientField = $("numberOfClient");
	if (!isNullOrEmpty(numberOfClientField))
	{
		addEvent(numberOfClientField, "keyup", addHyphenAfterNumberOfSeries);
	}
	
	var clientAuthenticationForm = $("clientAuthentication");
	if (!isNullOrEmpty(clientAuthenticationForm))
	{
		addEvent(clientAuthenticationForm, "submit", checkNumberOfClient);
	}
}

// Запускаем добавление обработчиков для формы аутентификации клиента
attachCientAuthenticationFormHandlers();