
function InitGames()
{
i199019950.value=GMS(m0, n0, 0, b0, '19901995g0.htm');
i199019951.value=GMS(m1, n1, 1, b1, '19901995g1.htm');
i199019952.value=GMS(m2, n2, 2, b2, '19901995g2.htm');
i199019953.value=GMS(m3, n3, 3, b3, '19901995g3.htm');
i199019954.value=GMS(m4, n4, 4, b4, '19901995g4.htm');
i199019955.value=GMS(m5, n5, 5, b5, '19901995g5.htm');
i199019956.value=GMS(m6, n6, 6, b6, '19901995g6.htm');
i199019957.value=GMS(m7, n7, 7, b7, '19901995g7.htm');
i199019958.value=GMS(m8, n8, 8, b8, '19901995g8.htm');
i199019959.value=GMS(m9, n9, 9, b9, '19901995g9.htm');
i1990199510.value=GMS(m10, n10, 10, b10, '19901995g10.htm');
i1990199511.value=GMS(m11, n11, 11, b11, '19901995g11.htm');
i1990199512.value=GMS(m12, n12, 12, b12, '19901995g12.htm');
i1990199513.value=GMS(m13, n13, 13, b13, '19901995g13.htm');
i1990199514.value=GMS(m14, n14, 14, b14, '19901995g14.htm');
i1990199515.value=GMS(m15, n15, 15, b15, '19901995g15.htm');
i1990199516.value=GMS(m16, n16, 16, b16, '19901995g16.htm');
i1990199517.value=GMS(m17, n17, 17, b17, '19901995g17.htm');
i1990199518.value=GMS(m18, n18, 18, b18, '19901995g18.htm');
i1990199519.value=GMS(m19, n19, 19, b19, '19901995g19.htm');
i1990199520.value=GMS(m20, n20, 20, b20, '19901995g20.htm');
i1990199521.value=GMS(m21, n21, 21, b21, '19901995g21.htm');
i1990199522.value=GMS(m22, n22, 22, b22, '19901995g22.htm');
i1990199523.value=GMS(m23, n23, 23, b23, '19901995g23.htm');
i1990199524.value=GMS(m24, n24, 24, b24, '19901995g24.htm');
i1990199525.value=GMS(m25, n25, 25, b25, '19901995g25.htm');
i1990199526.value=GMS(m26, n26, 26, b26, '19901995g26.htm');
i1990199527.value=GMS(m27, n27, 27, b27, '19901995g27.htm');
i1990199528.value=GMS(m28, n28, 28, b28, '19901995g28.htm');
i1990199529.value=GMS(m29, n29, 29, b29, '19901995g29.htm');
i1990199530.value=GMS(m30, n30, 30, b30, '19901995g30.htm');
i1990199531.value=GMS(m31, n31, 31, b31, '19901995g31.htm');
i1990199532.value=GMS(m32, n32, 32, b32, '19901995g32.htm');
i1990199533.value=GMS(m33, n33, 33, b33, '19901995g33.htm');
i1990199534.value=GMS(m34, n34, 34, b34, '19901995g34.htm');
i1990199535.value=GMS(m35, n35, 35, b35, '19901995g35.htm');
i1990199536.value=GMS(m36, n36, 36, b36, '19901995g36.htm');
i1990199537.value=GMS(m37, n37, 37, b37, '19901995g37.htm');
i1990199538.value=GMS(m38, n38, 38, b38, '19901995g38.htm');
i1990199539.value=GMS(m39, n39, 39, b39, '19901995g39.htm');
i1990199540.value=GMS(m40, n40, 40, b40, '19901995g40.htm');
i1990199541.value=GMS(m41, n41, 41, b41, '19901995g41.htm');
i1990199542.value=GMS(m42, n42, 42, b42, '19901995g42.htm');
i1990199543.value=GMS(m43, n43, 43, b43, '19901995g43.htm');
i1990199544.value=GMS(m44, n44, 44, b44, '19901995g44.htm');
i1990199545.value=GMS(m45, n45, 45, b45, '19901995g45.htm');
i1990199546.value=GMS(m46, n46, 46, b46, '19901995g46.htm');
i1990199547.value=GMS(m47, n47, 47, b47, '19901995g47.htm');
i1990199548.value=GMS(m48, n48, 48, b48, '19901995g48.htm');
i1990199549.value=GMS(m49, n49, 49, b49, '19901995g49.htm');
i1990199550.value=GMS(m50, n50, 50, b50, '19901995g50.htm');
i1990199551.value=GMS(m51, n51, 51, b51, '19901995g51.htm');
i1990199552.value=GMS(m52, n52, 52, b52, '19901995g52.htm');
i1990199553.value=GMS(m53, n53, 53, b53, '19901995g53.htm');
i1990199554.value=GMS(m54, n54, 54, b54, '19901995g54.htm');
i1990199555.value=GMS(m55, n55, 55, b55, '19901995g55.htm');
i1990199556.value=GMS(m56, n56, 56, b56, '19901995g56.htm');
i1990199557.value=GMS(m57, n57, 57, b57, '19901995g57.htm');
i1990199558.value=GMS(m58, n58, 58, b58, '19901995g58.htm');
i1990199559.value=GMS(m59, n59, 59, b59, '19901995g59.htm');
i1990199560.value=GMS(m60, n60, 60, b60, '19901995g60.htm');
i1990199561.value=GMS(m61, n61, 61, b61, '19901995g61.htm');
i1990199562.value=GMS(m62, n62, 62, b62, '19901995g62.htm');
i1990199563.value=GMS(m63, n63, 63, b63, '19901995g63.htm');
i1990199564.value=GMS(m64, n64, 64, b64, '19901995g64.htm');
i1990199565.value=GMS(m65, n65, 65, b65, '19901995g65.htm');
i1990199566.value=GMS(m66, n66, 66, b66, '19901995g66.htm');
i1990199567.value=GMS(m67, n67, 67, b67, '19901995g67.htm');
i1990199568.value=GMS(m68, n68, 68, b68, '19901995g68.htm');
i1990199569.value=GMS(m69, n69, 69, b69, '19901995g69.htm');
i1990199570.value=GMS(m70, n70, 70, b70, '19901995g70.htm');
i1990199571.value=GMS(m71, n71, 71, b71, '19901995g71.htm');
i1990199572.value=GMS(m72, n72, 72, b72, '19901995g72.htm');
i1990199573.value=GMS(m73, n73, 73, b73, '19901995g73.htm');
i1990199574.value=GMS(m74, n74, 74, b74, '19901995g74.htm');
i1990199575.value=GMS(m75, n75, 75, b75, '19901995g75.htm');
i1990199576.value=GMS(m76, n76, 76, b76, '19901995g76.htm');
i1990199577.value=GMS(m77, n77, 77, b77, '19901995g77.htm');
i1990199578.value=GMS(m78, n78, 78, b78, '19901995g78.htm');
i1990199579.value=GMS(m79, n79, 79, b79, '19901995g79.htm');
i1990199580.value=GMS(m80, n80, 80, b80, '19901995g80.htm');
i1990199581.value=GMS(m81, n81, 81, b81, '19901995g81.htm');
i1990199582.value=GMS(m82, n82, 82, b82, '19901995g82.htm');
i1990199583.value=GMS(m83, n83, 83, b83, '19901995g83.htm');
i1990199584.value=GMS(m84, n84, 84, b84, '19901995g84.htm');
i1990199585.value=GMS(m85, n85, 85, b85, '19901995g85.htm');
i1990199586.value=GMS(m86, n86, 86, b86, '19901995g86.htm');
i1990199587.value=GMS(m87, n87, 87, b87, '19901995g87.htm');
i1990199588.value=GMS(m88, n88, 88, b88, '19901995g88.htm');
i1990199589.value=GMS(m89, n89, 89, b89, '19901995g89.htm');
i1990199590.value=GMS(m90, n90, 90, b90, '19901995g90.htm');
i1990199591.value=GMS(m91, n91, 91, b91, '19901995g91.htm');
i1990199592.value=GMS(m92, n92, 92, b92, '19901995g92.htm');
i1990199593.value=GMS(m93, n93, 93, b93, '19901995g93.htm');
i1990199594.value=GMS(m94, n94, 94, b94, '19901995g94.htm');
i1990199595.value=GMS(m95, n95, 95, b95, '19901995g95.htm');
i1990199596.value=GMS(m96, n96, 96, b96, '19901995g96.htm');
i1990199597.value=GMS(m97, n97, 97, b97, '19901995g97.htm');
i1990199598.value=GMS(m98, n98, 98, b98, '19901995g98.htm');
i1990199599.value=GMS(m99, n99, 99, b99, '19901995g99.htm');
i19901995100.value=GMS(m100, n100, 100, b100, '19901995g100.htm');
i19901995101.value=GMS(m101, n101, 101, b101, '19901995g101.htm');
i19901995102.value=GMS(m102, n102, 102, b102, '19901995g102.htm');
i19901995103.value=GMS(m103, n103, 103, b103, '19901995g103.htm');
i19901995104.value=GMS(m104, n104, 104, b104, '19901995g104.htm');
i19901995105.value=GMS(m105, n105, 105, b105, '19901995g105.htm');
i19901995106.value=GMS(m106, n106, 106, b106, '19901995g106.htm');
i19901995107.value=GMS(m107, n107, 107, b107, '19901995g107.htm');
i19901995108.value=GMS(m108, n108, 108, b108, '19901995g108.htm');
i19901995109.value=GMS(m109, n109, 109, b109, '19901995g109.htm');
i19901995110.value=GMS(m110, n110, 110, b110, '19901995g110.htm');
i19901995111.value=GMS(m111, n111, 111, b111, '19901995g111.htm');
i19901995112.value=GMS(m112, n112, 112, b112, '19901995g112.htm');
i19901995113.value=GMS(m113, n113, 113, b113, '19901995g113.htm');
i19901995114.value=GMS(m114, n114, 114, b114, '19901995g114.htm');
i19901995115.value=GMS(m115, n115, 115, b115, '19901995g115.htm');
i19901995116.value=GMS(m116, n116, 116, b116, '19901995g116.htm');
i19901995117.value=GMS(m117, n117, 117, b117, '19901995g117.htm');
i19901995118.value=GMS(m118, n118, 118, b118, '19901995g118.htm');
i19901995119.value=GMS(m119, n119, 119, b119, '19901995g119.htm');
i19901995120.value=GMS(m120, n120, 120, b120, '19901995g120.htm');
i19901995121.value=GMS(m121, n121, 121, b121, '19901995g121.htm');
i19901995122.value=GMS(m122, n122, 122, b122, '19901995g122.htm');
i19901995123.value=GMS(m123, n123, 123, b123, '19901995g123.htm');
i19901995124.value=GMS(m124, n124, 124, b124, '19901995g124.htm');
i19901995125.value=GMS(m125, n125, 125, b125, '19901995g125.htm');
i19901995126.value=GMS(m126, n126, 126, b126, '19901995g126.htm');
i19901995127.value=GMS(m127, n127, 127, b127, '19901995g127.htm');
i19901995128.value=GMS(m128, n128, 128, b128, '19901995g128.htm');
i19901995129.value=GMS(m129, n129, 129, b129, '19901995g129.htm');
i19901995130.value=GMS(m130, n130, 130, b130, '19901995g130.htm');
i19901995131.value=GMS(m131, n131, 131, b131, '19901995g131.htm');
i19901995132.value=GMS(m132, n132, 132, b132, '19901995g132.htm');
i19901995133.value=GMS(m133, n133, 133, b133, '19901995g133.htm');
i19901995134.value=GMS(m134, n134, 134, b134, '19901995g134.htm');
i19901995135.value=GMS(m135, n135, 135, b135, '19901995g135.htm');
i19901995136.value=GMS(m136, n136, 136, b136, '19901995g136.htm');
i19901995137.value=GMS(m137, n137, 137, b137, '19901995g137.htm');
i19901995138.value=GMS(m138, n138, 138, b138, '19901995g138.htm');
i19901995139.value=GMS(m139, n139, 139, b139, '19901995g139.htm');
i19901995140.value=GMS(m140, n140, 140, b140, '19901995g140.htm');
i19901995141.value=GMS(m141, n141, 141, b141, '19901995g141.htm');
i19901995142.value=GMS(m142, n142, 142, b142, '19901995g142.htm');
i19901995143.value=GMS(m143, n143, 143, b143, '19901995g143.htm');
i19901995144.value=GMS(m144, n144, 144, b144, '19901995g144.htm');
i19901995145.value=GMS(m145, n145, 145, b145, '19901995g145.htm');
i19901995146.value=GMS(m146, n146, 146, b146, '19901995g146.htm');
i19901995147.value=GMS(m147, n147, 147, b147, '19901995g147.htm');
i19901995148.value=GMS(m148, n148, 148, b148, '19901995g148.htm');
i19901995149.value=GMS(m149, n149, 149, b149, '19901995g149.htm');
i19901995150.value=GMS(m150, n150, 150, b150, '19901995g150.htm');
i19901995151.value=GMS(m151, n151, 151, b151, '19901995g151.htm');
i19901995152.value=GMS(m152, n152, 152, b152, '19901995g152.htm');
i19901995153.value=GMS(m153, n153, 153, b153, '19901995g153.htm');
i19901995154.value=GMS(m154, n154, 154, b154, '19901995g154.htm');
i19901995155.value=GMS(m155, n155, 155, b155, '19901995g155.htm');
i19901995156.value=GMS(m156, n156, 156, b156, '19901995g156.htm');
i19901995157.value=GMS(m157, n157, 157, b157, '19901995g157.htm');
i19901995158.value=GMS(m158, n158, 158, b158, '19901995g158.htm');
i19901995159.value=GMS(m159, n159, 159, b159, '19901995g159.htm');
i19901995160.value=GMS(m160, n160, 160, b160, '19901995g160.htm');
i19901995161.value=GMS(m161, n161, 161, b161, '19901995g161.htm');
i19901995162.value=GMS(m162, n162, 162, b162, '19901995g162.htm');
i19901995163.value=GMS(m163, n163, 163, b163, '19901995g163.htm');
i19901995164.value=GMS(m164, n164, 164, b164, '19901995g164.htm');
i19901995165.value=GMS(m165, n165, 165, b165, '19901995g165.htm');
i19901995166.value=GMS(m166, n166, 166, b166, '19901995g166.htm');
i19901995167.value=GMS(m167, n167, 167, b167, '19901995g167.htm');
i19901995168.value=GMS(m168, n168, 168, b168, '19901995g168.htm');
i19901995169.value=GMS(m169, n169, 169, b169, '19901995g169.htm');
i19901995170.value=GMS(m170, n170, 170, b170, '19901995g170.htm');
i19901995171.value=GMS(m171, n171, 171, b171, '19901995g171.htm');
i19901995172.value=GMS(m172, n172, 172, b172, '19901995g172.htm');
i19901995173.value=GMS(m173, n173, 173, b173, '19901995g173.htm');
i19901995174.value=GMS(m174, n174, 174, b174, '19901995g174.htm');
i19901995175.value=GMS(m175, n175, 175, b175, '19901995g175.htm');
i19901995176.value=GMS(m176, n176, 176, b176, '19901995g176.htm');
i19901995177.value=GMS(m177, n177, 177, b177, '19901995g177.htm');
i19901995178.value=GMS(m178, n178, 178, b178, '19901995g178.htm');
i19901995179.value=GMS(m179, n179, 179, b179, '19901995g179.htm');
i19901995180.value=GMS(m180, n180, 180, b180, '19901995g180.htm');
i19901995181.value=GMS(m181, n181, 181, b181, '19901995g181.htm');
i19901995182.value=GMS(m182, n182, 182, b182, '19901995g182.htm');
i19901995183.value=GMS(m183, n183, 183, b183, '19901995g183.htm');
i19901995184.value=GMS(m184, n184, 184, b184, '19901995g184.htm');
i19901995185.value=GMS(m185, n185, 185, b185, '19901995g185.htm');
i19901995186.value=GMS(m186, n186, 186, b186, '19901995g186.htm');
i19901995187.value=GMS(m187, n187, 187, b187, '19901995g187.htm');
i19901995188.value=GMS(m188, n188, 188, b188, '19901995g188.htm');
i19901995189.value=GMS(m189, n189, 189, b189, '19901995g189.htm');
i19901995190.value=GMS(m190, n190, 190, b190, '19901995g190.htm');
i19901995191.value=GMS(m191, n191, 191, b191, '19901995g191.htm');
i19901995192.value=GMS(m192, n192, 192, b192, '19901995g192.htm');
i19901995193.value=GMS(m193, n193, 193, b193, '19901995g193.htm');
i19901995194.value=GMS(m194, n194, 194, b194, '19901995g194.htm');
i19901995195.value=GMS(m195, n195, 195, b195, '19901995g195.htm');
i19901995196.value=GMS(m196, n196, 196, b196, '19901995g196.htm');
i19901995197.value=GMS(m197, n197, 197, b197, '19901995g197.htm');
i19901995198.value=GMS(m198, n198, 198, b198, '19901995g198.htm');
i19901995199.value=GMS(m199, n199, 199, b199, '19901995g199.htm');
i19901995200.value=GMS(m200, n200, 200, b200, '19901995g200.htm');
i19901995201.value=GMS(m201, n201, 201, b201, '19901995g201.htm');
i19901995202.value=GMS(m202, n202, 202, b202, '19901995g202.htm');
i19901995203.value=GMS(m203, n203, 203, b203, '19901995g203.htm');
i19901995204.value=GMS(m204, n204, 204, b204, '19901995g204.htm');
i19901995205.value=GMS(m205, n205, 205, b205, '19901995g205.htm');
i19901995206.value=GMS(m206, n206, 206, b206, '19901995g206.htm');
i19901995207.value=GMS(m207, n207, 207, b207, '19901995g207.htm');
i19901995208.value=GMS(m208, n208, 208, b208, '19901995g208.htm');
i19901995209.value=GMS(m209, n209, 209, b209, '19901995g209.htm');
i19901995210.value=GMS(m210, n210, 210, b210, '19901995g210.htm');
i19901995211.value=GMS(m211, n211, 211, b211, '19901995g211.htm');
i19901995212.value=GMS(m212, n212, 212, b212, '19901995g212.htm');
i19901995213.value=GMS(m213, n213, 213, b213, '19901995g213.htm');
i19901995214.value=GMS(m214, n214, 214, b214, '19901995g214.htm');
i19901995215.value=GMS(m215, n215, 215, b215, '19901995g215.htm');
i19901995216.value=GMS(m216, n216, 216, b216, '19901995g216.htm');
i19901995217.value=GMS(m217, n217, 217, b217, '19901995g217.htm');
i19901995218.value=GMS(m218, n218, 218, b218, '19901995g218.htm');
i19901995219.value=GMS(m219, n219, 219, b219, '19901995g219.htm');
i19901995220.value=GMS(m220, n220, 220, b220, '19901995g220.htm');
i19901995221.value=GMS(m221, n221, 221, b221, '19901995g221.htm');
i19901995222.value=GMS(m222, n222, 222, b222, '19901995g222.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);
}
