
function InitGames()
{
i199620000.value=GMS(m0, n0, 0, b0, '19962000g0.htm');
i199620001.value=GMS(m1, n1, 1, b1, '19962000g1.htm');
i199620002.value=GMS(m2, n2, 2, b2, '19962000g2.htm');
i199620003.value=GMS(m3, n3, 3, b3, '19962000g3.htm');
i199620004.value=GMS(m4, n4, 4, b4, '19962000g4.htm');
i199620005.value=GMS(m5, n5, 5, b5, '19962000g5.htm');
i199620006.value=GMS(m6, n6, 6, b6, '19962000g6.htm');
i199620007.value=GMS(m7, n7, 7, b7, '19962000g7.htm');
i199620008.value=GMS(m8, n8, 8, b8, '19962000g8.htm');
i199620009.value=GMS(m9, n9, 9, b9, '19962000g9.htm');
i1996200010.value=GMS(m10, n10, 10, b10, '19962000g10.htm');
i1996200011.value=GMS(m11, n11, 11, b11, '19962000g11.htm');
i1996200012.value=GMS(m12, n12, 12, b12, '19962000g12.htm');
i1996200013.value=GMS(m13, n13, 13, b13, '19962000g13.htm');
i1996200014.value=GMS(m14, n14, 14, b14, '19962000g14.htm');
i1996200015.value=GMS(m15, n15, 15, b15, '19962000g15.htm');
i1996200016.value=GMS(m16, n16, 16, b16, '19962000g16.htm');
i1996200017.value=GMS(m17, n17, 17, b17, '19962000g17.htm');
i1996200018.value=GMS(m18, n18, 18, b18, '19962000g18.htm');
i1996200019.value=GMS(m19, n19, 19, b19, '19962000g19.htm');
i1996200020.value=GMS(m20, n20, 20, b20, '19962000g20.htm');
i1996200021.value=GMS(m21, n21, 21, b21, '19962000g21.htm');
i1996200022.value=GMS(m22, n22, 22, b22, '19962000g22.htm');
i1996200023.value=GMS(m23, n23, 23, b23, '19962000g23.htm');
i1996200024.value=GMS(m24, n24, 24, b24, '19962000g24.htm');
i1996200025.value=GMS(m25, n25, 25, b25, '19962000g25.htm');
i1996200026.value=GMS(m26, n26, 26, b26, '19962000g26.htm');
i1996200027.value=GMS(m27, n27, 27, b27, '19962000g27.htm');
i1996200028.value=GMS(m28, n28, 28, b28, '19962000g28.htm');
i1996200029.value=GMS(m29, n29, 29, b29, '19962000g29.htm');
i1996200030.value=GMS(m30, n30, 30, b30, '19962000g30.htm');
i1996200031.value=GMS(m31, n31, 31, b31, '19962000g31.htm');
i1996200032.value=GMS(m32, n32, 32, b32, '19962000g32.htm');
i1996200033.value=GMS(m33, n33, 33, b33, '19962000g33.htm');
i1996200034.value=GMS(m34, n34, 34, b34, '19962000g34.htm');
i1996200035.value=GMS(m35, n35, 35, b35, '19962000g35.htm');
i1996200036.value=GMS(m36, n36, 36, b36, '19962000g36.htm');
i1996200037.value=GMS(m37, n37, 37, b37, '19962000g37.htm');
i1996200038.value=GMS(m38, n38, 38, b38, '19962000g38.htm');
i1996200039.value=GMS(m39, n39, 39, b39, '19962000g39.htm');
i1996200040.value=GMS(m40, n40, 40, b40, '19962000g40.htm');
i1996200041.value=GMS(m41, n41, 41, b41, '19962000g41.htm');
i1996200042.value=GMS(m42, n42, 42, b42, '19962000g42.htm');
i1996200043.value=GMS(m43, n43, 43, b43, '19962000g43.htm');
i1996200044.value=GMS(m44, n44, 44, b44, '19962000g44.htm');
i1996200045.value=GMS(m45, n45, 45, b45, '19962000g45.htm');
i1996200046.value=GMS(m46, n46, 46, b46, '19962000g46.htm');
i1996200047.value=GMS(m47, n47, 47, b47, '19962000g47.htm');
i1996200048.value=GMS(m48, n48, 48, b48, '19962000g48.htm');
i1996200049.value=GMS(m49, n49, 49, b49, '19962000g49.htm');
i1996200050.value=GMS(m50, n50, 50, b50, '19962000g50.htm');
i1996200051.value=GMS(m51, n51, 51, b51, '19962000g51.htm');
i1996200052.value=GMS(m52, n52, 52, b52, '19962000g52.htm');
i1996200053.value=GMS(m53, n53, 53, b53, '19962000g53.htm');
i1996200054.value=GMS(m54, n54, 54, b54, '19962000g54.htm');
i1996200055.value=GMS(m55, n55, 55, b55, '19962000g55.htm');
i1996200056.value=GMS(m56, n56, 56, b56, '19962000g56.htm');
i1996200057.value=GMS(m57, n57, 57, b57, '19962000g57.htm');
i1996200058.value=GMS(m58, n58, 58, b58, '19962000g58.htm');
i1996200059.value=GMS(m59, n59, 59, b59, '19962000g59.htm');
i1996200060.value=GMS(m60, n60, 60, b60, '19962000g60.htm');
i1996200061.value=GMS(m61, n61, 61, b61, '19962000g61.htm');
i1996200062.value=GMS(m62, n62, 62, b62, '19962000g62.htm');
i1996200063.value=GMS(m63, n63, 63, b63, '19962000g63.htm');
i1996200064.value=GMS(m64, n64, 64, b64, '19962000g64.htm');
i1996200065.value=GMS(m65, n65, 65, b65, '19962000g65.htm');
i1996200066.value=GMS(m66, n66, 66, b66, '19962000g66.htm');
i1996200067.value=GMS(m67, n67, 67, b67, '19962000g67.htm');
i1996200068.value=GMS(m68, n68, 68, b68, '19962000g68.htm');
i1996200069.value=GMS(m69, n69, 69, b69, '19962000g69.htm');
i1996200070.value=GMS(m70, n70, 70, b70, '19962000g70.htm');
i1996200071.value=GMS(m71, n71, 71, b71, '19962000g71.htm');
i1996200072.value=GMS(m72, n72, 72, b72, '19962000g72.htm');
i1996200073.value=GMS(m73, n73, 73, b73, '19962000g73.htm');
i1996200074.value=GMS(m74, n74, 74, b74, '19962000g74.htm');
i1996200075.value=GMS(m75, n75, 75, b75, '19962000g75.htm');
i1996200076.value=GMS(m76, n76, 76, b76, '19962000g76.htm');
i1996200077.value=GMS(m77, n77, 77, b77, '19962000g77.htm');
i1996200078.value=GMS(m78, n78, 78, b78, '19962000g78.htm');
i1996200079.value=GMS(m79, n79, 79, b79, '19962000g79.htm');
i1996200080.value=GMS(m80, n80, 80, b80, '19962000g80.htm');
i1996200081.value=GMS(m81, n81, 81, b81, '19962000g81.htm');
i1996200082.value=GMS(m82, n82, 82, b82, '19962000g82.htm');
i1996200083.value=GMS(m83, n83, 83, b83, '19962000g83.htm');
i1996200084.value=GMS(m84, n84, 84, b84, '19962000g84.htm');
i1996200085.value=GMS(m85, n85, 85, b85, '19962000g85.htm');
i1996200086.value=GMS(m86, n86, 86, b86, '19962000g86.htm');
i1996200087.value=GMS(m87, n87, 87, b87, '19962000g87.htm');
i1996200088.value=GMS(m88, n88, 88, b88, '19962000g88.htm');
i1996200089.value=GMS(m89, n89, 89, b89, '19962000g89.htm');
i1996200090.value=GMS(m90, n90, 90, b90, '19962000g90.htm');
i1996200091.value=GMS(m91, n91, 91, b91, '19962000g91.htm');
i1996200092.value=GMS(m92, n92, 92, b92, '19962000g92.htm');
i1996200093.value=GMS(m93, n93, 93, b93, '19962000g93.htm');
i1996200094.value=GMS(m94, n94, 94, b94, '19962000g94.htm');
i1996200095.value=GMS(m95, n95, 95, b95, '19962000g95.htm');
i1996200096.value=GMS(m96, n96, 96, b96, '19962000g96.htm');
i1996200097.value=GMS(m97, n97, 97, b97, '19962000g97.htm');
i1996200098.value=GMS(m98, n98, 98, b98, '19962000g98.htm');
i1996200099.value=GMS(m99, n99, 99, b99, '19962000g99.htm');
i19962000100.value=GMS(m100, n100, 100, b100, '19962000g100.htm');
i19962000101.value=GMS(m101, n101, 101, b101, '19962000g101.htm');
i19962000102.value=GMS(m102, n102, 102, b102, '19962000g102.htm');
i19962000103.value=GMS(m103, n103, 103, b103, '19962000g103.htm');
i19962000104.value=GMS(m104, n104, 104, b104, '19962000g104.htm');
i19962000105.value=GMS(m105, n105, 105, b105, '19962000g105.htm');
i19962000106.value=GMS(m106, n106, 106, b106, '19962000g106.htm');
i19962000107.value=GMS(m107, n107, 107, b107, '19962000g107.htm');
i19962000108.value=GMS(m108, n108, 108, b108, '19962000g108.htm');
i19962000109.value=GMS(m109, n109, 109, b109, '19962000g109.htm');
i19962000110.value=GMS(m110, n110, 110, b110, '19962000g110.htm');
i19962000111.value=GMS(m111, n111, 111, b111, '19962000g111.htm');
i19962000112.value=GMS(m112, n112, 112, b112, '19962000g112.htm');
i19962000113.value=GMS(m113, n113, 113, b113, '19962000g113.htm');
i19962000114.value=GMS(m114, n114, 114, b114, '19962000g114.htm');
i19962000115.value=GMS(m115, n115, 115, b115, '19962000g115.htm');
i19962000116.value=GMS(m116, n116, 116, b116, '19962000g116.htm');
i19962000117.value=GMS(m117, n117, 117, b117, '19962000g117.htm');
i19962000118.value=GMS(m118, n118, 118, b118, '19962000g118.htm');
i19962000119.value=GMS(m119, n119, 119, b119, '19962000g119.htm');
i19962000120.value=GMS(m120, n120, 120, b120, '19962000g120.htm');
i19962000121.value=GMS(m121, n121, 121, b121, '19962000g121.htm');
i19962000122.value=GMS(m122, n122, 122, b122, '19962000g122.htm');
i19962000123.value=GMS(m123, n123, 123, b123, '19962000g123.htm');
i19962000124.value=GMS(m124, n124, 124, b124, '19962000g124.htm');
i19962000125.value=GMS(m125, n125, 125, b125, '19962000g125.htm');
i19962000126.value=GMS(m126, n126, 126, b126, '19962000g126.htm');
i19962000127.value=GMS(m127, n127, 127, b127, '19962000g127.htm');
i19962000128.value=GMS(m128, n128, 128, b128, '19962000g128.htm');
i19962000129.value=GMS(m129, n129, 129, b129, '19962000g129.htm');
i19962000130.value=GMS(m130, n130, 130, b130, '19962000g130.htm');
i19962000131.value=GMS(m131, n131, 131, b131, '19962000g131.htm');
i19962000132.value=GMS(m132, n132, 132, b132, '19962000g132.htm');
i19962000133.value=GMS(m133, n133, 133, b133, '19962000g133.htm');
i19962000134.value=GMS(m134, n134, 134, b134, '19962000g134.htm');
i19962000135.value=GMS(m135, n135, 135, b135, '19962000g135.htm');
i19962000136.value=GMS(m136, n136, 136, b136, '19962000g136.htm');
i19962000137.value=GMS(m137, n137, 137, b137, '19962000g137.htm');
i19962000138.value=GMS(m138, n138, 138, b138, '19962000g138.htm');
i19962000139.value=GMS(m139, n139, 139, b139, '19962000g139.htm');
i19962000140.value=GMS(m140, n140, 140, b140, '19962000g140.htm');
i19962000141.value=GMS(m141, n141, 141, b141, '19962000g141.htm');
i19962000142.value=GMS(m142, n142, 142, b142, '19962000g142.htm');
i19962000143.value=GMS(m143, n143, 143, b143, '19962000g143.htm');
i19962000144.value=GMS(m144, n144, 144, b144, '19962000g144.htm');
i19962000145.value=GMS(m145, n145, 145, b145, '19962000g145.htm');
i19962000146.value=GMS(m146, n146, 146, b146, '19962000g146.htm');
i19962000147.value=GMS(m147, n147, 147, b147, '19962000g147.htm');
i19962000148.value=GMS(m148, n148, 148, b148, '19962000g148.htm');
i19962000149.value=GMS(m149, n149, 149, b149, '19962000g149.htm');
i19962000150.value=GMS(m150, n150, 150, b150, '19962000g150.htm');
i19962000151.value=GMS(m151, n151, 151, b151, '19962000g151.htm');
}
// Copyright 98,99,00 by ChessBase GmbH, Germany
function Init( path )
{ gifs = new Array(6);
	for ( var i=0; i< 26; i++)
		gifs[i]= new Image();
	gifs[0].src = path + "b.gif";
	gifs[1].src = path + "bbb.gif";
	gifs[2].src = path + "bbw.gif";
	gifs[3].src = path + "bkb.gif";
	gifs[4].src = path + "bkw.gif";
	gifs[5].src = path + "bqb.gif";
	gifs[6].src = path + "bqw.gif";
	gifs[7].src = path + "brb.gif";
	gifs[8].src = path + "brw.gif";
	gifs[9].src = path + "bnb.gif";
	gifs[10].src = path + "bnw.gif";
	gifs[11].src = path + "wbb.gif";
	gifs[12].src = path + "wbw.gif";
	gifs[13].src = path + "wrb.gif";
	gifs[14].src = path + "wrw.gif";
	gifs[15].src = path + "wqb.gif";
	gifs[16].src = path + "wqw.gif";
	gifs[17].src = path + "wkb.gif";
	gifs[18].src = path + "wkw.gif";
	gifs[19].src = path + "wnb.gif";
	gifs[20].src = path + "wnw.gif";
	gifs[21].src = path + "wpb.gif";
	gifs[22].src = path + "wpw.gif";
	gifs[23].src = path + "bpb.gif";
	gifs[24].src = path + "wpb.gif";
	gifs[25].src = path + "b.gif";
}
function SyncPicture( base, basename )
{	if ( base > -1 ) return base;
	for ( i=0; i < document.images.length; i++ )
	{	if ( document.images[i].name != "" )
			if ( document.images[i].name == basename )
				return i;
			else if ( document.images[i].name.substring(0,3) == basename.substring(0,3) )
				i+= 63;
	}
	return -1;
}
function MF_5( moves, names, nm, base, basename )
{	base = SyncPicture( base, basename );
	for ( i=0; nMoves[nm] < moves[nLevels[nm]].length / 2 && i < 10; i++ )
		MF( moves, names, nm, base, false );
	return base;
}
function MB_5( moves, names, nm, base, basename )
{	base = SyncPicture( base, basename );
	for ( i=0; ( nMoves[nm] > 0 || nLevels[nm] > 0 ) && i < 10; i++ )
		MB( moves, names, nm, base );
	return base;
}
function GoStart( moves, names, nm, base, basename )
{	base = SyncPicture( base, basename );
	while ( nMoves[nm] > 0 || nLevels[nm] > 0 )
		MB( moves, names, nm, base );
	return base;
}
function GoEnd( moves, names, nm, base, basename )
{	base = SyncPicture( base, basename );
	while ( nMoves[nm] < moves[nLevels[nm]].length / 2 )
		MF( moves, names, nm, base, false );
	return base;
}
function MF( moves, names, nm, base, basename, bCheckV )
{	base = SyncPicture( base, basename );
	if ( bCheckV )
	{	var b = false;
		for ( i=0; i < moves.length; i++ )
			if ( i != nLevels[nm] && moves[i].root == nLevels[nm] && moves[i].move == nMoves[nm] )
				b = true;
		if ( b )
		{	var vf = window.open('', 'Frank', 'status=no,scrollbars=no,menubar=no,toolbar=no,width=240,height=160')
			with ( vf.document )
			{	open();
				write('<HTML><HEAD><TITLE>Varianten</TITLE></HEAD><BODY><DIV ID="disp"></DIV><LAYER id="NS"></LAYER></BODY></HTML>')
				close()
			}
			vf.erzeuger = self;
			var ihtml="<a href=\"javascript:erzeuger.MF(erzeuger.m" + nm +
						 ",erzeuger.n" + nm + "," + nm + ",erzeuger.b" + nm + ",'" + basename + "',false);";
			ihtml = ihtml + "erzeuger.GMS(erzeuger.m" + nm +
						",erzeuger.n" + nm + "," + nm + ",erzeuger.b" + nm + ",'" + basename + "');";
			ihtml = ihtml + "self.close()\">";
			ihtml = ihtml + "Hauptvariante - Main line" + "<\a>";
			ihtml = ihtml + "<BR>";
			var nCurrentLevel=nLevels[nm];
			var nMoveNum=nMoves[nm];
			for ( j=0; j < moves.length; j++ )
			{	if ( j != nCurrentLevel && moves[j].root == nCurrentLevel && moves[j].move == nMoveNum )
				{	gm( moves,names,nm,base,basename,1,j);
					var moveStr = GMS2( moves, names, nm, base, 1, j, basename );
					ihtml = ihtml + "<a href=\"javascript:erzeuger.gm(erzeuger.m" + nm +
						",erzeuger.n" + nm + "," + nm + ",erzeuger.b" + nm + ",'" + basename + "',";
					ihtml = ihtml + "1," + j + ");self.close()\">";
					ihtml = ihtml + moveStr + "<\a>";
					ihtml = ihtml + "<BR>";
					gm( moves,names,nm,base,basename,nMoveNum,nCurrentLevel);
				}
			}
			if ( document.all )
				vf.document.all.disp.innerHTML=ihtml
			else if ( document.layers )
			{	vf.document.layers[0].document.clear();
				vf.document.layers[0].document.write(ihtml);
				vf.document.layers[0].document.close();
			}
			return base;
		}
	}
	if ( nMoves[nm] < moves[nLevels[nm]].length / 2 )
	{	var n = nMoves[nm]*2;
		var from = moves[nLevels[nm]][ n ] & 0x3f;
		var to = moves[nLevels[nm]][ n+1 ] & 0x3f;
		names[ nNameCount[nm]   ] = document.images[ base + from ].src;
		names[ nNameCount[nm]+1 ] = document.images[ base + to ].src;
		var len = names[nNameCount[nm]].length;
		var nn = (Math.floor(( to / 8 )) + ( to % 8 ));
		var dest = ( nn % 2 ) == 1 ? "b" : "w";
		var piece = names[nNameCount[nm]].substring(len-6,len-5);
		if (( moves[nLevels[nm]][ n ] & 0x380 ) == 0x80 )
			piece = "q";
		else if (( moves[nLevels[nm]][ n ] & 0x380 ) == 0x100 )
			piece = "n";
		else if (( moves[nLevels[nm]][ n ] & 0x380 ) == 0x180 )
			piece = "b";
		else if (( moves[nLevels[nm]][ n ] & 0x380 ) == 0x200 )
			piece = "r";
		document.images[ base + to ].src = names[nNameCount[nm]].substring(0,len-6) + piece + dest + names[nNameCount[nm]].substring(len-4,len);
		nn = (Math.floor(( from / 8 )) + ( from % 8 ));
		if (( nn % 2 ) == 1 )
			document.images[ base + from ].src = EmptyBlackPath;
		else
			document.images[ base + from ].src = EmptyWhitePath;
		nMoves[nm]++;
		nNameCount[nm] = nNameCount[nm] + 2;
		if ( nMoves[nm] < moves[nLevels[nm]].length / 2 && ( moves[nLevels[nm]][ nMoves[nm]*2 ] & 0x40 ) == 0x40 )
			MF( moves, names, nm, base, bCheckV );
	}
	return base
}
function MB( moves, names, nm, base, basename )
{	base = SyncPicture( base, basename );
	if ( nMoves[nm] > 0 )
	{	nMoves[nm]--;
		nNameCount[nm] -= 2;
		var from = moves[nLevels[nm]][ nMoves[nm]*2 ] & 0x3f;
		var to = moves[nLevels[nm]][ nMoves[nm]*2+1 ] & 0x3f;
		document.images[ base + from ].src = names[ nNameCount[nm] ];
		document.images[ base + to ].src = names[ nNameCount[nm]+1 ];
		if (( moves[nLevels[nm]][ nMoves[nm]*2 ] & 0x40 ) == 0x40 )
			MB( moves, names, nm, base );
	}
	if ( nMoves[nm] == 0 )
		if ( nLevels[nm] > 0 )
		{	nMoves[nm] = moves[nLevels[nm]].move;
			nLevels[nm] = moves[nLevels[nm]].root;
			if (( moves[nLevels[nm]][nMoves[nm]*2] & 0x40 ) == 0x40 )
				nMoves[nm]--;
		}
	return base;
}
function GMS2(  moves, names, nm, base, nMoveNumber, nLevel, basename )
{	if ( nMoveNumber > 0 )
	{	var n = (nMoveNumber-1)*2;
		var off=1;
		for ( i=0; i <= n; i += 2 )
			if (( moves[nLevel][i] & 0x40 ) == 0x40 )
				off = off+1;
		var from = moves[nLevel][ n ] & 0x3f;
		var to = moves[nLevel][ n+1 ] & 0x3f;
		var len = document.images[ base + to ].src.length;
		var piece = document.images[ base + to ].src.substring(len-6,len-5);
		if ( piece == "q" )
			piece = pieces.substring(1,2);
		else if ( piece == "r" )
			piece = pieces.substring(4,5);
		else if ( piece == "b" )
			piece = pieces.substring(3,4);
		else if ( piece == "n" )
			piece = pieces.substring(2,3);
		else if ( piece ==  "k" )
			piece = pieces.substring(0,1);
		else piece = pieces.substring(5,6);
		var piece2 = "";
		if (( moves[nLevel][ n ] & 0x380 ) == 0x80 )
			piece2 = pieces.substring(1,2);
		else if (( moves[nLevel][ n ] & 0x380 ) == 0x100 )
			piece2 = pieces.substring(2,3);
		else if (( moves[nLevel][ n ] & 0x380 ) == 0x180 )
			piece2 = pieces.substring(3,4);
		else if (( moves[nLevel][ n ] & 0x380 ) == 0x200 )
			piece2 = pieces.substring(4,5);
		var lines = "abcdefgh";
		var rows = "87654321";
		var fromLine = from%8;
		var fromRow = Math.floor(from/8);
		var toLine = to%8;
		var toRow = Math.floor(to/8);
		var moveNumber = gmn( moves, nLevel ) + nMoveNumber-off;
		var result = (Math.floor((moveNumber)/2)+1).toString() + ". ";
		if ( document.images[ base + to ].src.substring(len-7,len-6) == "b" )
			result = result + "... ";
		if ( n >= 2 && (( moves[nLevel][n] & 0x40 ) == 0x40 ))
		{	if (( moves[nLevel][n-1] == 62 ) || ( moves[nLevel][n-1] == 6 ))
				result = result + "0-0"
			else if (( moves[nLevel][n-1] == 2 + 7 * 8 ) || ( moves[nLevel][n-1] == 2 + 0 * 8 ))
				result = result + "0-0-0"
			else
			{	var sep = "x";
				from = moves[nLevel][ n-2 ] & 0x3f;
				to = moves[nLevel][ n-1 ] & 0x3f;
				fromLine = from%8;
				fromRow = Math.floor(from/8);
				toLine = to%8;
				toRow = Math.floor(to/8);
				result = result	+ lines.substring( fromLine, fromLine+1 ) + rows.substring( fromRow, fromRow+1 )
										+ sep
										+ lines.substring( toLine, toLine+1 ) + rows.substring( toRow, toRow+1 )
										+ piece2 + " ep";
			}
		}
		else
		{	var len = names[ nNameCount[nm]-1 ].length;
			var substr = names[ nNameCount[nm]-1 ].substring( len-6, len );
			var sep = (( substr == "/w.gif" ) || ( substr == "\\w.gif" ) ||
						  ( substr == "/b.gif" ) || ( substr == "\\b.gif" )) ? "-" : "x";
			if ( piece2 != "" ) piece = "";
			result = result + piece.toUpperCase() + lines.substring( fromLine, fromLine+1 ) + rows.substring( fromRow, fromRow+1 )
				+ sep
				+ lines.substring( toLine, toLine+1 ) + rows.substring( toRow, toRow+1 )
				+ piece2;
		}
	}
	else
		result='';
	if (document.all)
	{	name = 'i' + baseName + nm;
		if ( result == '' )
			document.all.tags( "DIV" )[name].innerHTML = start_pos;
		else
			document.all.tags( "DIV" )[name].innerHTML = pos_after + result;
	}
	else if ( document.layers )
	{	document.layers[nm].document.layers[0].document.clear();
		var gesamt = "<center>Position after " + result + "</center>";
		document.layers[nm].document.layers[0].document.write(gesamt);
		document.layers[nm].document.layers[0].document.close();
	}
	return result;
}
function GMS( moves, names, nm, base, basename )
{	base = SyncPicture( base, basename );
	var nLevel = nLevels[nm];
	var nMoveNumber = nMoves[nm];
	if ( nMoveNumber >= 0 && nMoveNumber <= moves[nLevel].length / 2 )
	{	if ( document.all )
		{	if ( nOld[nm] != -1 )
				document.anchors[nOld[nm]].style.background=BackColor;
			if ( nMoveNumber > 0 )
			{	nOld[nm] = moves[nLevel].base[nMoveNumber-1];
				document.anchors[nOld[nm]].style.background="gray";
			}
			else
				nOld[nm] = -1;
		}
		return GMS2( moves, names, nm, base, nMoveNumber, nLevel, basename );
	}
	else
		return "??";
}
function gm( moves, names, nm, base, basename, n, m )
{	base = SyncPicture( base, basename );
	GoStart(moves,names,nm,base,basename );
	gm_sub( moves,names,nm,base,basename,n,m);
	GMS( moves, names, nm, base, basename );
}
function gmn( moves, m )
{	if ( m > 0 )
	{	var off=0;
		var n2 = moves[m].move;
		var m2 = moves[m].root;
		for ( i=0; i <= n2*2; i += 2 )
			if (( moves[m2][i] & 0x40 ) == 0x40 )
				off = off+1;
		return gmn( moves, m2 ) + ( n2 - off );
	}
	return 0;
}
function gm_sub( moves, names, nm, base, basename, n, m )
{	if ( m > 0 )
	{	var off=0;
		var n2 = moves[m].move;
		var m2 = moves[m].root;
		for ( i=0; i <= n2*2; i += 2 )
			if (( moves[m2][i] & 0x40 ) == 0x40 )
				off = off+1;
		gm_sub( moves,names,nm,base, basename, n2-off, m2  );
	}
	nLevels[nm]=m;
	nMoves[nm]=0;
	for ( i=0; i < n; i++ )
		MF(moves,names,nm,base,basename, false);
}
