function IsValidLogin(szLogin)
{
	var nPos;
	var sVChars = 'abcsdefghijklmnopqrstuvwxyz1234567890-_@.';

	for (nPos=0; nPos<szLogin.length; nPos++)
		if (sVChars.indexOf(szLogin.substr(nPos, 1).toLowerCase()) < 0 )
			return false;
	return true;
}

function IsValidEmail(szLogin)
{
/*
	var email=/^[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*\.([A-Za-z]){2,4}$/i;
	return(email.test(szLogin));
*/

	var nPos;
	var sVChars = 'abcsdefghijklmnopqrstuvwxyz1234567890-_@.';

	if (szLogin.indexOf('@')<0)
		return false;
	if (szLogin.indexOf('.')<0)
		return false;
	if (szLogin.indexOf(' ')>=0)
		return false;
	for (nPos=0; nPos<szLogin.length; nPos++)
		if (sVChars.indexOf(szLogin.substr(nPos, 1).toLowerCase()) < 0 )
			return false;
	return true;
}

function GetValidLogin(szLogin)
{
	var nPos, szVLogin="";
	var sVChars = 'abcsdefghijklmnopqrstuvwxyz1234567890-_@.';

	for(nPos=0; nPos<szLogin.length; nPos++)
	{
		if (sVChars.indexOf(szLogin.substr(nPos, 1).toLowerCase()) >= 0)
			szVLogin = szVLogin + szLogin.substr(nPos, 1);
	}
	return szVLogin;
}

function CheckMemoField(oField, nMaxLen)
{
	var sValue = oField.value;

	/* Firefox uses \n instead of \r\n */	
	sValue = sValue.replace(/(\r\n)/g, '\n');
	sValue = sValue.replace(/(\n)/g, '\r\n');
	if (sValue.length > nMaxLen)
	{
		alert("This field accepts no more than " + nMaxLen + " characters");
		oField.value = sValue.substr(0, nMaxLen);
		return false;
	}
}

function ElemValue(objElem) 
{
	if (objElem.type == "checkbox")
		return objElem.checked;
	return objElem.value;
}

function StoreFormValues(frmObj, arFormItems)
{
	for (nIndex = 0; nIndex < frmObj.elements.length; nIndex++)
	{
		if (frmObj.elements[nIndex].name)
			arFormItems[nIndex] = ElemValue(frmObj.elements[nIndex])
	}
}

function IsFormDirty(frmObj, arFormItems)
{
	var bDirty = false;
	
	for (nIndex = 0; nIndex < frmObj.elements.length; nIndex++)
	{
		if (frmObj.elements[nIndex].name)
			{
				if (ElemValue(frmObj.elements[nIndex]) != arFormItems[nIndex])
				{
					frmObj.elements[nIndex].style.border = '1px solid #FFA595';
					bDirty = true;
				}
			}
	}
	return bDirty
}