/**
* Проверка поля на уникальность (запрос на сервер)
*/
function serverValidateField($method, $fieldId, $fieldName)
{
	var result = getAll__($method, $fieldName+'='+jQuery('#'+$fieldId).val());
	if(result.length > 0)
	{
		if(result[0].code == 'ok')
		{
			if(result[0].message == 'valid')
			{// Имя вселенной валидно
				setInputCorrectColor(jQuery('#'+$fieldId), true);
			}
			else
			{// Имя вселенной не валидно
				setInputCorrectColor(jQuery('#'+$fieldId), false);
			}
		}
		else
		{// Ошибка валидации
			errorMessage(result[0].message);
		}
	}
	else
	{// Сервис не отвечает
		errorMessage('Sorry. Service error');
	}
}

/**
* Проверка валидности введенного имени вселенной
*/
function validateUniverseName()
{
	if(jQuery('#tuf_universe_name').val().length == 0)
	{
	    setInputCorrectColor(jQuery('#tuf_universe_name'), false);
	    return;
	}
	//console.log('test', /[^A-Za-zА-Яа-я0-9_-\s]+/.test(jQuery('#tuf_universe_name').val()));
	if(/[^A-Za-zА-Яа-я0-9_\s\-]+/.test(jQuery('#tuf_universe_name').val()))
	{
	    setInputCorrectColor(jQuery('#tuf_universe_name'), false);
	    return;
	}
	
	serverValidateField('validate_universe_name', 'tuf_universe_name', 'uname');
}

/**
* Проверка валидности введенного полного имени пользователя
*/
function validateFullName()
{
	if(jQuery('#tuf_full_name').val().length > 0)
	{
		setInputCorrectColor(jQuery('#tuf_full_name'), true);
	}
	else
	{
		setInputCorrectColor(jQuery('#tuf_full_name'), false);
	}
}

/**
* Проверка валидности введенного номера телефона
*/
function validatePhone()
{
	if(jQuery('#tuf_phone').val().length > 0)
	{
		//console.log(jQuery('#tuf_phone').val());
		var digits = jQuery('#tuf_phone').val().match(/\d/g);
		//console.log(digits);
		if(digits!= null && digits.length > 6)
		{
			setInputCorrectColor(jQuery('#tuf_phone'), true);
		}
		else
		{
			setInputCorrectColor(jQuery('#tuf_phone'), false);
		}
	}
	else
	{
		setInputCorrectColor(jQuery('#tuf_phone'), false);
	}
}

/**
* Проверка валидности введенного логина
*/
function validateLogin()
{
	if(jQuery('#tuf_login').val().length > 0 && !(/\W/.test(jQuery('#tuf_login').val())) && (/[^0-9_]/.test(jQuery('#tuf_login').val())))
	{	// /^[A-Za-z]/
		// /\W/
		// Шлем запрос на проверку уникальности логина
		serverValidateField('validate_login', 'tuf_login', 'login');
		//var result = getAll__('validate_login', 'login='+jQuery('#tuf_login').val());
	}
	else
	{
		setInputCorrectColor(jQuery('#tuf_login'), false);
	}
}

/**
* Проверка валидности введенного email
*/
function validateEmail()
{
	if(jQuery('#tuf_email').val().length > 0)
	{
		var correctEmailFlag = (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(jQuery('#tuf_email').val());
		if(correctEmailFlag == true)
		{// Шлем запрос на проверку уникальности email
			serverValidateField('validate_email', 'tuf_email', 'email');
		}
		else
		{
			setInputCorrectColor(jQuery('#tuf_email'), false);
		}
	}
	else
	{
		setInputCorrectColor(jQuery('#tuf_email'), false);
	}
}
/**
* Проверка валидности введенного подтверждения email
*/
function validateEmailConfirm()
{
	if(jQuery('#tuf_email_confirm').val().length > 0)
	{
		if(jQuery('#tuf_email_confirm').val() == jQuery('#tuf_email').val() && !jQuery('#tuf_email').hasClass('input-bad'))
		{
			setInputCorrectColor(jQuery('#tuf_email_confirm'), true);
		}
		else
		{
			setInputCorrectColor(jQuery('#tuf_email_confirm'), false);
		}
	}
	else
	{
		setInputCorrectColor(jQuery('#tuf_email_confirm'), false);
	}
}
/**
* Проверка валидности введенного адреса сайта
*/
function validateSite()
{
	if(jQuery('#tuf_site').val().length > 0)
	{
		setInputCorrectColor(jQuery('#tuf_site'), true);
	}
	else
	{
		setInputCorrectColor(jQuery('#tuf_site'), false);
	}
}

/**
* Установка цвета корректности/некорректности введенных в инпут данных
* @param object obj - объект jQuery
* @param boolean correctFlag - флаг корректности значения (true/false)
*/
function setInputCorrectColor(obj, correctFlag)
{
	//printLog('Красим поле');
	
	if(correctFlag == false)
		{// Красим в красный
			obj.removeClass('input-good');
			if(!obj.hasClass('input-bad'))
			{
				obj.addClass('input-bad');
			}
		}
		else
		{// Красим в зеленый
			obj.removeClass('input-bad');
			if(!obj.hasClass('input-good'))
			{
				obj.addClass('input-good');
			}
		}
}

