/* PGN to JS  V.2.52 - Please do not change this line . */
if(document.images==null){
	alert("Your browser doesn't support JavaScript 1.1");}
if ((navigator.appName=="Netscape")&&(navigator.appVersion.substring(0,1) == "3"))
{idnet2=1}else{idnet2=0};

var lastboard=0;
var bstart=1;
var varStep=1;
var nmbr=0;
var nb=1;
var black=0;
rbr=new Array(
	"#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#",
	"#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#",
	"#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#",
	"#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#");

feld=new Array(
	"a8","b8","c8","d8","e8","f8","g8","h8",
	"a7","b7","c7","d7","e7","f7","g7","h7",
	"a6","b6","c6","d6","e6","f6","g6","h6",
	"a5","b5","c5","d5","e5","f5","g5","h5",
	"a4","b4","c4","d4","e4","f4","g4","h4",
	"a3","b3","c3","d3","e3","f3","g3","h3",
	"a2","b2","c2","d2","e2","f2","g2","h2",
	"a1","b1","c1","d1","e1","f1","g1","h1");

if(!window.wsave){
	window.onresize=nsfreshup;
	wsave=window.innerWidth;
	hsave=window.innerHeight;}

function nsfreshup(){
	if(wsave!=window.innerWidth || hsave!=window.innerHeight)
		history.go(0);}

function init(){
for(q=0;q<lastidx.length-1;q++){
	window.status = "Loading game " + (q + 1) + " / " + nbgames;
	c(q,lastidx[q])}
window.status = "";}

function setboard(afeld,figur,bbidx){
var bild;
with(diagram){
	if(figur=="K"){bild=bwk.src}
	else if(figur=="Q"){bild=bwd.src}
	else if(figur=="R"){bild=bwt.src}
	else if(figur=="B"){bild=bwl.src}
	else if(figur=="N"){bild=bws.src}
	else if(figur=="P"){bild=bwb.src}
	else if(figur=="k"){bild=bsk.src}
	else if(figur=="q"){bild=bsd.src}
	else if(figur=="r"){bild=bst.src}
	else if(figur=="b"){bild=bsl.src}
	else if(figur=="n"){bild=bss.src}
	else if(figur=="p"){bild=bsb.src}
	else if(figur=="U"){bild=bwu.src}
	else if(figur=="V"){bild=bwv.src}
	else if(figur=="W"){bild=bww.src}
	else if(figur=="X"){bild=bwx.src}
	else if(figur=="Y"){bild=bwy.src}
	else if(figur=="Z"){bild=bwz.src}
	else if(figur=="u"){bild=bsu.src}
	else if(figur=="v"){bild=bsv.src}
	else if(figur=="w"){bild=bsw.src}
	else if(figur=="x"){bild=bsx.src}
	else if(figur=="y"){bild=bsy.src}
	else if(figur=="z"){bild=bsz.src}
	else {bild=bleer.src}}
	anbr=afeld;
	if (diagram.rotated!=null){
		if (diagram.rotated[bbidx]==1){
			anbr=Math.abs(anbr-63)}}
	anbr=anbr+diagram.idxkorr[bbidx];
	if(diagram.document.images[anbr]!=null)diagram.document.images[anbr].src=bild;}

function refreshboard(iboard,force){
	for(i=0;i<br[iboard].length;i++){
		if(((rbr[i]!=br[iboard][i])||(diagram.document.images[i+diagram.idxkorr[iboard]].src==""))||(force==1)||(bstart==1)){
			setboard(i,br[iboard][i],iboard);}
		if(diagram.document.images[i+diagram.idxkorr[iboard]].complete)
			rbr[i]=br[iboard][i];}
	bstart=0;}

function getnexthvar(svarinfo){
	ik=0;
	izug="";
	while(ik<svarinfo.length){
		if(svarinfo.charAt(ik)==" "){
			ik++;
			while(ik<svarinfo.length){
				if(svarinfo.charAt(ik)==" "){
					return izug}
				else izug=izug+svarinfo.charAt(ik);
				ik++}}
		ik++}
	return x}

function lres(abidx, aidx, lss){
	if(diagram.lmess!=null){
	with(diagram){
		lz=eval("document.comment"+abidx)
		if(lz==null){return};
		lnext[abidx]=0;
		lz=eval("document.comment"+abidx+".scomment");
		if(lz!=null){
			if((aidx<lpnt.length)&&(lnr[abidx]!=0)){
				mess="";
				if((laf[abidx]!=-1)&&(lzf[abidx]!=-1)&&(lpnt[aidx]!=0)){
					if((lss.substring(0,2)==laf[abidx])&&(lss.substring(2,4)==lzf[abidx])){
						lges[abidx]=lges[abidx]+lpnt[aidx];
						if(diagram.total!=null){
							diagram.total=diagram.total+lpnt[aidx]};
						mess=lmess[2]+" "}
					else mess=lmess[3]+" ";
					lpnt[aidx]=0;
					lnr[abidx]--}
				aidx++;
				if(aidx<zg.length){
					sm=zg[aidx];
					if(sm.length>8){
						if(vartxt(sm)){aidx++}
						else{
						i=getbackidx(sm);
						if(i!=x){aidx=getnexthvar(zg[i])}}}}
				if ((aidx!=0)&&(aidx<lpnt.length)&&(lpnt[aidx]!=0)&&(lnr[abidx]!=0)){
					lz.value=lmess[0]+" ( "+lpnt[aidx]+" P )";
					lnext[abidx]=1}
				else lz.value=mess+lmess[1]+" "+lges[abidx]+' / '+ltot[abidx];
				if (lnr[abidx]==0){
					lz.value=lmess[1]+" "+lges[abidx]+' / '+ltot[abidx];
					mess=Math.round(lges[abidx]*100/ltot[abidx]);
					mess=lmess[4]+"  "+lmess[5]+" "+mess+" %";
					alert(mess)}}
			else lz.value=""}
		laf[abidx]=-1;
		lzf[abidx]=-1;
		llast[abidx]="";}}}

function getbackidx(fen){
e="";
l=fen.length;
while(l > 0){
	l--;
	cfen=fen.charAt(l);
	if(cfen==" ")break;
	e=cfen+e;}
return e;}

function vartxt(zeile){
if(zeile==null)return false;
zeichen=zeile.charAt(0);
if(((zeichen=="b")&&(zeile.indexOf("/")==-1))||(zeichen=="w")){return true}
else return false;}

function getzug(m1){
if (m1.length>8){m=m1.substring(m1.length-6,m1.length-2)}else{m=m1}
von=m.substring(0,2);
nach=m.substring(2,4);
if(von.charAt(0)=="0") von=von.charAt(1);
if(nach.charAt(0)=="0") nach= nach.charAt(1);
m=br[bidx][von];
m=m.toUpperCase();
if(m=="P") m="";
if(engl==0){
	if(m=="Q")m="D";
	else if(m=="R") m = "T";
	else if(m=="B") m = "L";
	else if(m=="N") m = "S"}
else if((engl==2)&&(lang!=null)){
	if(m=="K")m = lang[0];
	else if(m=="Q") m = lang[1];
	else if(m=="R") m = lang[2];
	else if(m=="B") m = lang[3];
	else if(m=="N") m = lang[4];
	else if(m=="P") m = lang[5]}
if(br[bidx][nach]!="-"){n=x}
else n="-";
return m+feld[von]+n+feld[nach];}

function setvars(ii){
if(maxvar!=0){
	s=zg[ii];
	if(!vartxt(s)) return false;
	zz="";
	j=-1;
	for(i = 1;i<s.length;i++){
		if(s.charAt(i)==" "){
			if((j != -1)&&(j != 0)){
				with(eval("diagram.document.moves"+bidx+".vars")){
					options[j].text=nr+getzug(zg[zz]);
					options[j].value=zz;}
				if(j==maxvar) break;}
			else{
				if(j==-1){
					nr=zz;
					if(s.charAt(0)=="b"){
						nr=nr-1;
						nr=nr+"..."}
					else nr=nr+".";}}
			zz="";
			j++;}
		else zz=zz+s.charAt(i);}
	ii++;
	with(eval("diagram.document.moves"+bidx+".vars")){
		options[0].text=nr+getzug(zg[ii]);
		options[0].value=ii;
		selectedIndex=0;}
	varStep=1;
	return true;}
else return false;}

function stopautoplay(){
	if(diagram.autofer!=null){diagram.autofer=1}}

function c(bindex,aindex){
	if(diagram==null)return;
	if(diagram.dummy1==0){history.go(0);return;}
	dummy2=1;
	imaxvar=maxvar;
	if(aindex==-5){
		maxvar=0;
		aindex=-2;}
	doc(bindex,aindex);
	maxvar=imaxvar;}

function doc(bindex,aindex){
var anfang=0;
var ende=0;
var gotovar=0;
var step=0;

bidx=bindex;
if(lastboard!=bidx){
	lastboard=bidx;
	bstart=1;}

if (varStep==1){
var theVars=eval("diagram.document.moves"+bidx+".vars");
if((maxvar!=0)&&(theVars!=null)){
	if(theVars.selectedIndex>0)gotovar=theVars.options[theVars.selectedIndex].value;
	for(i=0;i<maxvar;i++) {
		theVars.options[i].text="";
		theVars.options[i].value=0;}}}
varStep=0;

if (aindex==-3) {
	aindex=lastidx[bidx];
	while(aindex>0){
		s=zg[aindex];
		if(getbackidx(s)==x)break;
		aindex--;}}
if (aindex==-4){
	aindex=lastidx[bidx];
	while(aindex<zg.length-1){
		theidx=aindex;
		theidx++;
		s=zg[theidx];
		if(getbackidx(s)==x)break;
		aindex++;}}
if (aindex==goback){
	idx=lastidx[bidx];
	s=zg[idx];
	if(s.length>8){
		i=getbackidx(s);
		if(i==x){return}}
	if(idx>0){
	idx--;
	s=zg[idx];
	if(vartxt(s)){idx--;}
	s=zg[idx];
	if(s.length>8){
		i=getbackidx(s);
		if(i=="z"){}
		else if(i!=x){
			s=zg[i];
			if(vartxt(s)) i--;
			idx=i;}}}}
else if(aindex==goahead){
	idx=lastidx[bidx];
	if(gotovar!=0){idx=gotovar;}
	else{
		if(idx<zg.length-1){
			idx++;
			s=zg[idx];
			if(!vartxt(s)){
				if(s.length>8){
					i=getbackidx(s);
					if(i=="z"){}
					else if(i==x){
						idx--;
						stopautoplay()
						return;}
					else{
						i=idx-2;
						if(i>-1){
							z="";
							s=zg[i];
							if(vartxt(s)){

	j=-1;
	for(i=1;i<s.length;i++){
		if(s.charAt(i)==" "){
			if(j!=-1){
				if(z==0){
					idx--;
					return;}
				else{
					bo=setvars(z);
						idx=z;
						s=zg[idx];
						if(vartxt(s))idx++;
						break;}}
			z="";
			j++;}
		else z=z+s.charAt(i);}}
							else{
	idx--;
	stopautoplay();
	return;}}

						else idx++;}}else step=1;}
			else{
				setvars(idx);
				idx++;}}
			else{stopautoplay()}}}
else{idx=aindex};

if(idx>zg.length-1)return;
if(step==0){
s=zg[idx];

if((s.length<9)||(vartxt(s))){
	ende=idx;
	i=idx;
	while((i > 0)&&((s.length<9)||(vartxt(s)))){
		i--;
		s=zg[i];}
	anfang=i+1;}

j = 0;
nb="";
for(i=0;i<s.length;i++){
	slash=0;
	z=s.charAt(i);
	if((z=="1")||(z=="2")||(z=="3")||(z=="4")||
	(z=="5")||(z=="6")||(z=="7")||(z=="8")){
		for(k=0;k<z;k++){
			br[bidx][j]="-";
			j++;}
		j--;}
	else if(z=="/"){slash=1}
	else if(z==" "){
		for(k=i+1;k<s.length;k++){
			z=s.charAt(k);
			if ((z==" ")||(z=="x")){break}
			nb=nb+z}
		break}
	else {br[bidx][j]=z};
	if(slash!=1){j++;}}
nmbr=0;}
else{
	anfang=idx;
	ende=idx;}

lm="";
if (ende>0){
	for(i=anfang;i<=ende;i++){
		s=zg[i];
		if(!vartxt(s)){
			von=s.substring(0,2);
			if(von.charAt(0)=="0"){von=von.charAt(1)};
			nach=s.substring(2,4);
			if(nach.charAt(0)=="0"){nach=nach.charAt(1)};
			if (i==ende){
				z=br[bidx][von];
				if ((z=="k")||(z=="q")||(z=="r")||(z=="b")||(z=="n")||(z=="p")){black=1}
				else{black=0};
				lm=getzug(s);}
			nmbr=nmbr+1;
			br[bidx][nach]=br[bidx][von];
			br[bidx][von]="-";
			if(s.length==5){br[bidx][nach]=s.charAt(4)};
			if(s.length==6){
				epfeld=s.substring(4,6);
				br[bidx][epfeld]="-";}
			if(s.length==8){
				von=s.substring(4,6);
				if(von.charAt(0)=="0"){von=von.charAt(1)};
				nach=s.substring(6,8);
				if(nach.charAt(0)=="0"){nach=nach.charAt(1)};
				br[bidx][nach]=br[bidx][von];
				br[bidx][von]="-";}}}}

refreshboard(bidx,idnet2);
lres(bidx, idx, s);

if(document.all){
	var doc="document.all.";
	var bgfarb=".style.background";
	var farb=".style.color";
	var el;
	if(lastidx[bidx]!=-1){
		el=eval(doc+"l"+lastidx[bidx]);
		if(el!=null){
			if(movecol!=""){el.style.color=lastcolor;}
			el.style.background="";}}
	el=eval(doc+"l"+idx);
	if(el!=null){
		lcolor=el.style.color;
		if((lcolor!=null)&&(lcolor!="")){lastcolor=lcolor}else if(lastcolor==null){lastcolor=document.linkColor};
		if(movecol!=""){el.style.color=movecol;}
		el.style.background=movebgcol;
		if(diagram!=self){
			var itop = el.offsetTop+10;
			var o = el.offsetParent;
			while((o!=null)&&(o.offsetTop!=null)){
				itop=itop+o.offsetTop;
				o=o.offsetParent;}
			if((itop-document.body.scrollTop>document.body.clientHeight)||(itop<document.body.scrollTop)) {
					window.scrollTo(0, itop - (document.body.clientHeight / 2));}}}}
if(s.substring(s.length-1,s.length)=="z"){
	s=s.substring(s.length-6,s.length-2);
	von=s.substring(0,2);
	nach=s.substring(2,4);
	if(von.charAt(0)=="0") von=von.charAt(1);
	if(nach.charAt(0)=="0") nach= nach.charAt(1);
			s=feld[von]+"-"+feld[nach]}
else {s=""}
if (ende!=0){
	var number=nmbr-1;
	z=number%2;
	if(((z==0)&&(black==1))||((z==1)&&(black==0))){number=number+1}
	number=number>>1;
	nb++;nb--;
	number=number+nb;
	if (black==1){number=number+"... "}
	else{number=number+". "}
	s=number+lm}
lz=eval("diagram.document.moves"+bidx+".lastmove");
if(lz!=null){lz.value=s}
lastidx[bidx]=idx;}
