// состояние показа
// 0- открыто приглашение
// 1- закрытие приглашения
// 2- открытие формы
// 3- закрытие формы
// 4- открыта форма
var loginState=0;
// задержка
var forWait=10;

// задержка при закрытии
var forWaitClose=40000;

// отображение слоя
function showLayer(id,state)
{
	d=document.getElementById(id);
	var vis="hidden";
	if (state)
	{
		vis="visible";
	}
	d.style.visibility=vis;
}

// открытие слоя с формой.
// передвижение ссылки вход для клиентов
function moveEnterForClients(dir)
{
	// перемещаем начальную рамку
	d=document.getElementById("enterForClients");
	left=parseInt(d.style.left);
	// если закрываем
	if (dir<0)
	{
		// закрыто, надо открыть второй слой
		if (left==194)
		{
			// новое состояние (открытие формы)
			loginState=2;
			setTimeout('moveEnterForClientsForm(1)',forWait);
			return;
		}

		left+=1;
	} else
	{
		// если снова начало
		if (!left)
		{
			// новое состояние
			loginState=0;
			// показываем ссылку
			showLayer("enterForClientsMessageMap",1);
			return;
		}
		left--;
	}
	d.style.left=left+"px";
	// перемещаем текст начальной рамки
	d=document.getElementById("enterForClientsMessage");
	left=parseInt(d.style.left);
	// если закрываем
	if (dir<0)
	{
		left+=1;
	} else
	{
		left--;
	}
	d.style.left=left+"px";
	setTimeout('moveEnterForClients('+dir+')',forWait);
	
}
function moveEnterForClientsForm(dir)
{
	// перемещаем конечную рамку
	d=document.getElementById("formForClientsForm");
	left=parseInt(d.style.left);
	// если закрываем
	if (dir<0)
	{
		// закрыто, надо открыть второй слой
		if (left==194)
		{
			// новое состояние (открытие формы)
			loginState=1;
			setTimeout('moveEnterForClients(1)',forWait);
			return;
		}

		left+=1;
	} else
	{
		// если снова начало		
		if (left<=18)

		{
			// новое состояние
			loginState=2;
			// сразу ждём закрытия
			waitForCloseLogin();
			return;
		}
		left--;
	}
	d.style.left=left+"px";
	// перемещаем текст начальной рамки
	d=document.getElementById("formForClientsForm");
	left=parseInt(d.style.left);
	// если закрываем
	if (dir<0)
	{
		left+=1;
	} else
	{
		left--;
	}
	d.style.left=left+"px";
	setTimeout('moveEnterForClientsForm('+dir+')',forWait);
}
// показ формы логина
function showLoginForm(dir)
{
	// если показан вход для клиентов
	if (!loginState)
	{
		// новое состояние
		loginState=1;
		// скрываем ссылку
		showLayer("enterForClientsMessageMap",0);
		// передвигаем слой
		setTimeout('moveEnterForClients('+dir+')',forWait);
	}
}
var closeLoginHandle=false;
// закрытие формы
function closeLoginForm()
{
	// если открыта форма
	if (loginState==2)
	{
		moveEnterForClientsForm(-1);
	}
	return;
}
// ожидание закрытия формы
function waitForCloseLogin()
{
	// если есть ожидание
	if (closeLoginHandle)
	{
		// удаляем предыдущий обработчик
		clearTimeout(closeLoginHandle);
		closeLoginHandle=false;
	}
	// состояние ожидания закрытия
	loginState=2;
	closeLoginHandle=setTimeout('closeLoginForm()',forWaitClose);
}
// очистка ожидания закрытия
function clearWaitForClose()
{
	if (closeLoginHandle)
	{
		clearTimeout(closeLoginHandle);
	}
	closeLoginHandle=false;
	loginState=1;
}

