
setClassById	= function (id, newClassName) {$(id).className = newClassName;}
if ($('error_image')) $('error_image').innerHTML = getlang('enter_code');

var regexp 		= new RegExp('[^A-Za-z0-9_]','g');
var regexprus = new RegExp('[^À-ßà-ÿA-Za-z0-9_]','g');
var space 		= new RegExp(' ','g');

clearInnerHTML = function (arrayMustCleared)
{
	for (var i=0; i < arrayMustCleared.length; i++)
	{ 
		if ($(arrayMustCleared[i]))
			$(arrayMustCleared[i]).innerHTML = '&nbsp;';
		if ($('error_'+arrayMustCleared[i]))
			$('error_'+arrayMustCleared[i]).innerHTML = '&nbsp;';
	}
	return true;
}

checkLoginLength = function (login, errorOutput)
{
	var error = 0;
	if (login.length < 5)
	{
		$(errorOutput).innerHTML = getlang('name_is_short'); error = 1;
	}
	if (login.length > 16)
	{
		$(errorOutput).innerHTML = getlang('name_is_long'); error = 1;
	}
	return error;
}

checkUsername = function (login, errorOutput)
{
	var error = 0;
	if (login.match (regexp))
	{
		$(errorOutput).innerHTML = getlang('uncorrect_login'); error = 1;
	}
	if (login == '')
	{
		$(errorOutput).innerHTML = getlang('fill_this_field'); error = 1;
	}
	return error;
}

checkPasswordLength = function (pass, errorOutput)
{
	var error = 0;
	if (pass.length < 6)
	{
		$(errorOutput).innerHTML = getlang('pass_is_short'); error = 1;
	}
	return error;
}

checkPassword = function (pass, errorOutput)
{
	var error = 0;

	if (pass.match (regexp))
	{
		$(errorOutput).innerHTML = getlang('uncorrect_pass'); error = 1;
	}
	if (pass == '')
	{
		$(errorOutput).innerHTML = getlang('fill_this_field'); error = 1;
	}

	return error;
}

checkPasswords = function (pass, passRepeated, errorOutput)
{
		var error = 0;
		if (passRepeated == '')
		{
			$(errorOutput).innerHTML = getlang('fill_this_field');error = 1;
		}
		if (pass != passRepeated)
		{
			$(errorOutput).innerHTML = getlang('uncorr_pass_rep');error = 1;
		}
		return error;
}

checkRussianText = function (text, errorOutput)
{
		var error = 0;
		if (text.match(regexprus))
		{
			$(errorOutput).innerHTML = getlang('uncorr_fullname'); error = 1;
		}
		if (text == '')
		{
			$(errorOutput).innerHTML = getlang('fill_this_field'); error = 1;
		}
		return error;
}

checkEmail = function (email, errorOutput)
{
		var error = 0;

		if (email == '')
		{
			$(errorOutput).innerHTML = getlang('fill_this_field'); error = 1;
		}
		else
		{
			if (!checkmail(email))
			{
				$(errorOutput).innerHTML = getlang('uncorrect_email'); error = 1;
			}
		}
		return error;
}

checkFilled = function (arrayMustChecked)
{
	var error = 0;
	for (var i=0; i<arrayMustChecked.length; i++ ) 
	if ($('addfield_'+arrayMustChecked[i]) && ($('addfield_'+arrayMustChecked[i]).value == ''))
	{
		$('error_'+arrayMustChecked[i]).innerHTML = getlang('fill_this_field'); error = 1;
	}
	return error;
}


/* Registration */
CheckRegForm = function()
{
	var error = 0;
	
	clearInnerHTML(new Array(
		'error_login',
		'error_password',
		'error_password_rep',
		'error_fullname',
		'error_email'
	));
	
	clearInnerHTML(FieldArray);

	var login 				= String($('login').value);
	var pass 					= String($('passwordInner').value);
	var passRepeated 	= String($('password_rep').value);
	var fullname 			= String($('fullname').value);
	fullname 					= fullname.replace(space,'');
	var email 				= String($('email').value);
	
	if (checkLoginLength(login, 'error_login') == 1) 
			error = 1;
	if (checkUsername(login, 'error_login') == 1) 
			error = 1;
	if (checkPasswordLength(pass, 'error_password') == 1) 
			error = 1;
	if (checkPassword(pass, 'error_password') == 1) 
			error = 1;
	if (checkPasswords(pass, passRepeated, 'error_password_rep') == 1) 
			error = 1;
	if (checkRussianText(fullname, 'error_fullname') == 1) 
			error = 1;
	if (checkEmail(email, 'error_email') == 1) 
			error = 1;			
	if (checkFilled(FieldArray) == 1) 
			error = 1;
	
	if (error == 0)	return true;
	return false;
}

/* Edit profile */
CheckDataForm = function()
{
	var error = 0;
	
	clearInnerHTML(new Array(
		'error_password',
		'error_password_rep',
		'error_fullname',
		'error_email'
	));
	
	clearInnerHTML(FieldArray);

	var pass 					= String($('passwordInner').value);
	var passRepeated 	= String($('password_rep').value);
	var fullname 			= String($('fullname').value);
	fullname 					= fullname.replace(space,'');
	var email 				= String($('email').value);

	if (checkRussianText(fullname, 'error_fullname') == 1) 
			error = 1;
	if (checkEmail(email, 'error_email') == 1) 
			error = 1;			
	if (checkFilled(FieldArray) == 1) 
			error = 1;
		
	if (pass)
	{
		if (checkPasswordLength(pass, 'error_password') == 1) 
				error = 1;
		if (checkPassword(pass, 'error_password') == 1) 
				error = 1;
		if (checkPasswords(pass, passRepeated, 'error_password_rep') == 1) 
				error = 1;
	}
	
	if (error == 0)	return true;
	return false;	
}

CheckContractForm = function()
{
	var error = 0;
	
	clearInnerHTML(FieldArray);
		
	if (checkFilled(FieldArray) == 1) 
			error = 1;
	
	if (error == 0)	return true;
	return false;	
}

/* Authorization */
function check(isInclude)
{
	var error = 0;
	
	clearInnerHTML(new Array(
		'regPassSpan',
		'regLoginSpan'
	));
	
	var login = String($('username').value);
	var pass = String($('password').value);
	
	if (isInclude == true)
	{
		setClassById('username','');
		setClassById('password','');
	}
	
	if (checkUsername(login, 'regLoginSpan') == 1) 
	{
			error = 1;
			$('regLoginSpan').innerHTML = getlang('uncorrect_name_pass');
	}
	if (checkPassword(pass, 'regLoginSpan') == 1) 
	{
			error = 1;
			$('regLoginSpan').innerHTML = getlang('uncorrect_name_pass');
	}

	if (error == 0) {
			var data;
			
						
			data = 'username=' + $('username').value;
			data = data + '&password=' + $('password').value;
			data = data + '&ajax=1';
			data = data + '&location=' + document.location;
			if  (isInclude == true)
			{ 
				$('regLoginSpan').innerHTML = waiting;
				ExecuteXMLCall(site_vdir + 'auth', 'auth-content','post', data, true,'',$('auth-content').innerHTML);
			}

		return true;
	}
	else
	{
	
	}
	return false;
}

/* Forget password */
function checkLogin(isInclude)
{
	var error = 0;
	
	clearInnerHTML(new Array(
		'regLoginSpan'
	));

	var login = String($('username').value);
	if (isInclude == true)
	{
		setClassById('username','');
		setClassById('password','');
	}
	
	if (checkUsername(login, 'regLoginSpan') == 1) 
	{
			error = 1;
			$('regLoginSpan').innerHTML = getlang('uncorrect_name');
	}

	if (error == 0) {
			var data;
			$('regLoginSpan').innerHTML = waiting;
			data = 'username=' + $('username').value;
			data = data + '&password=' + $('password').value;
			data = data + '&ajax=1';
			data = data + '&regForget=1';
			if  (isInclude == true) ExecuteXMLCall(site_vdir + 'auth', 'auth-content','post', data, true,'',$('auth-content').innerHTML);
			
		return true;
	}
	else
	{
		if (isInclude == true)
		{
			setClassById('username','auth-input-error');
		}
	
	}
	return false;
}


