var bunlockKeys = false;
function unlockKeys()
{
	bunlockKeys = true;
}
function lockKeys()
{
	bunlockKeys = false;
}
function scrollT(CurPos){
  if (CurPos < 10)
  {
	scpos = "0" + CurPos;
    xscpos = scpos.substring(0,1);
    yscpos = scpos.substring(1,2);
 }
  if (CurPos > 10 && CurPos < 100)
  {
	scpos = CurPos + "";
    xscpos = scpos.substring(0,1);
    yscpos = scpos.substring(1,2);
 }
  if (CurPos > 100 )
  {
	scpos = CurPos + "";
    xscpos = scpos.substring(0,2);
    yscpos = scpos.substring(2,3);
 }
  xpos = (xscpos*1+1)*57;
  ypos = (yscpos*1+1)*57;
  window.scroll(ypos,xpos);
}
function showHideElement(elName)
{
	if (document.getElementById(elName).style.visibility=="visible")
	{
		document.getElementById(elName).style.visibility="hidden";
	}
	else
	{
		document.getElementById(elName).style.visibility="visible";
	}
}
function Populate(prevAnsArr,objprevAnsArr)
{
	if(confirm("Заполнить сканворд последними сохраненными результатами?"))
	{
		for (j=0; j<mHeight; j++)
		{
			for (i=0; i<mWidth; i++)
			{
				mID = j*mWidth+i;
				if (prevAnsArr[mID] != undefined && prevAnsArr[mID] != '') 
				{
					objprevAnsArr[mID] = prevAnsArr[mID];
					a = "<font face=Verdana size=" + fontSize + "><b>" + prevAnsArr[mID] + "</b></font>";
					if (ArrowData[mID] != 0) 
					{
						a += GetArrow2(mID)
					}
					if (a != "<font face=Verdana size=" + fontSize + "><b></b></font>")
					{
						document.getElementById("sos"+mID).innerHTML = a;
					}
				}
			}
		};
	}
}
function GetArrow2(mCurPos){
  var a;
  var mType = ArrowData[mCurPos];
  var mType1 = ArrowData1[mCurPos];
  if ((mType ==0) && (mType1 == 0)) return '';
  if ((mType !=0) && (mType1 == 0)){
     a = GetArrowHTML2(mType);
     return a;
  }
  if (((mType ==1) && (mType1 == 3)) || ((mType ==3) && (mType1 == 1))){
     a = '<div style="position: relative; top:' + 10-28 + '; left:' + 0 + '"><img src="/images/' + mType + '.gif' + '" width="20" height="20" border="0"></div>';
     a += '<div style="position: relative; top:' + 40-28 + '; left:' + 0 + '"><img src="/images/' + mType1 + '.gif' + '" width="20" height="20" border="0"></div>'
     return a;
  }
  a = GetArrowHTML2(mType);
  a += GetArrowHTML2(mType1);
  return a;
}
function GetArrowHTML2(mType){
    var T = mNtop[mType-1]-28;
    var L = mNleft[mType-1];
    var i = mType + '.gif';
    var a =  '<div  style="position: relative; top:' + T + '; left:' + L + '"><img src="/images/' + i + '" width="20" height="20" border="0"></div>';
    return a;
}

function docKeyDown()
{
	if(!bunlockKeys)
	{
		if (event.keyCode == 8)
		{
			event.returnValue = false;
		}
		if (event.keyCode > 36 && event.keyCode < 41){
			var nPos = GetNewPos(event.keyCode);
			if (CurPos != nPos){
			mSetColor(BlocBack,BlocText);
			CurPos = nPos;
			mSetColor("blue","white");
			scrollT(CurPos);
			}
			event.returnValue = false;
		}
	}
}
function docKeyPress(n,uid)
{
	if(!bunlockKeys)
	{
		var charCode = String.fromCharCode(event.keyCode);
		charCode = charCode.toUpperCase();
		var mName = "sos" + CurPos;
		scrollT(CurPos);
		var curElement = document.all(mName);
		var a = GetBlocHTML(cellData[CurPos], charCode);
		if (ArrowData[CurPos] != 0) a += GetArrow(CurPos);   
		prevAnsArr[CurPos] = charCode; var d=new Date();  d.setYear(d.getYear()+1); setCookie("answers["+n+"]["+uid+"]",prevAnsArr.toString(),d,"/","");
		a += '</span>'; 
		curElement.innerHTML = a;
		event.returnValue = false;
	}
}