
function initspiel() {
	spieler=1;
	a6_1=0; a6_2=0; a6_3=0; a6_4=0; a6_5=0; a6_6=0; a6_7=0;
	a5_1=0; a5_2=0; a5_3=0; a5_4=0; a5_5=0; a5_6=0; a5_7=0;
	a4_1=0; a4_2=0; a4_3=0; a4_4=0; a4_5=0; a4_6=0; a4_7=0;
	a3_1=0; a3_2=0; a3_3=0; a3_4=0; a3_5=0; a3_6=0; a3_7=0;
	a2_1=0; a2_2=0; a2_3=0; a2_4=0; a2_5=0; a2_6=0; a2_7=0;
	a1_1=0; a1_2=0; a1_3=0; a1_4=0; a1_5=0; a1_6=0; a1_7=0;

	x=0-0; y=0-0;

	zugwert=new Array();

	flag_ende=0;
	flag_sperren=0;

}

function zug(pos_y,pos_x) {

	if (flag_ende || flag_sperren) return;

	x=pos_x-0; y=pos_y-0;
	
	spieler=1;

	if ( spielstein(y,x)!=0 ) return;

	while (y>1) { if (spielstein(y-1,x)==0) y--; else break;}
		
	y_temp=6; ziel_y=y; ziel_x=x; 
	flag_sperren=1;
	setTimeout("einwurf()",200);
	s2='a'+y+'_'+x+'='+spieler+';';
	eval(s2);

	if (endtest(y,x,spieler)!=0) { 
		document.getElementById("endtext").innerHTML="Gewonnen!";
		spielende();
		return;
	}
}

function zug_gegner() {

	spieler=2;

	gegner();
	
	while (y>1) { if (spielstein(y-1,x)==0) y--; else break;}
		
	y2_temp=6; ziel2_y=y; ziel2_x=x; 
	flag_sperren=1;
	setTimeout("einwurf2()",200);
	s2='a'+y+'_'+x+'='+spieler+';';
	eval(s2);

	if (endtest(y,x,spieler)!=0) { 
//		alert(n1+','+n2+','+n3+','+n4)
		document.getElementById("endtext").innerHTML="Leider verloren...";
		spielende();
		return;
	}

	freie_spalten=0;
	for (i=1;i<=7;i++) if (spielstein(6,i)==0) freie_spalten++;

	if (freie_spalten==0) { 
		document.getElementById("endtext").innerHTML="Unentschieden.";
		text_ein();
		return;
	}

}

function einwurf() {
	if (y_temp!=6) {
		s1="document.platz"+(y_temp+1)+'_'+ziel_x+".src='html/spiel/leer.gif';";
		eval(s1);
	}
	s1="document.platz"+y_temp+'_'+ziel_x+".src='html/spiel/bild1.jpg';";
	eval(s1);
	if (y_temp>ziel_y) {
		y_temp--;
		setTimeout("einwurf()",80);
	}
	else {
		flag_sperren=0;
		if (flag_ende==0) setTimeout("zug_gegner()",200);
	}
}

function einwurf2() {
	if (y2_temp!=6) {
		s1="document.platz"+(y2_temp+1)+'_'+ziel2_x+".src='html/spiel/leer.gif';";
		eval(s1);
	}
	s1="document.platz"+y2_temp+'_'+ziel2_x+".src='html/spiel/bild2.jpg';";
	eval(s1);
	if (y2_temp>ziel2_y) {
		y2_temp--;
		setTimeout("einwurf2()",80);
	}
	else {
		flag_sperren=0;
	}
}

function gegner() {
/*	s="";
	for (i=1;i<=6;i++) {
		for (j=1;j<=7;j++) {
			s+=spielstein(7-i,j)+',';
		}
		s+='<br>';
	}

*/
	for (i=1;i<=7;i++) if (zug1(i)==2) { x=i;y=6;return;} //alert(1+','+i);

	for (i=1;i<=7;i++) zugwert[i]=0;

	for (i=1;i<=7;i++) {
		for (j=1;j<=7;j++) {
			if (zug2(i,j)==1) {
				if (i!=j) {x=j;y=6;return;} //alert(2+','+j);
				else zugwert[i]=-1;
			}
		}
	}

	freie_spalten=0;
	for (i=1;i<=7;i++) if (spielstein(6,i)==0) freie_spalten++;

	for (i=1;i<=7;i++) {
		anzahl=0;
		for (k=1;k<=7;k++) {
			for (j=1;j<=7;j++) {
				if (zug3(i,j,k)==2) {
					anzahl++;
				}
			}
		}
		v=2*(freie_spalten-1);
		if (anzahl>=v) {x=i;y=6;return;}					//alert(3+','+i);
	}

	for (i=1;i<=4;i++) {
		w=spielstein(1,i)+spielstein(1,i+1)+spielstein(1,i+2)+spielstein(1,i+3);
		if (w==1) {
			r1=(2*Math.round(Math.random()))-1;
			if (spielstein(1,i)==1) {x=i+1; y=6;}
			if (spielstein(1,i+1)==1) {x=i+1+r1; y=6;}
			if (spielstein(1,i+2)==1) {x=i+2+r1; y=6;}
			if (spielstein(1,i+3)==1) {x=i+2; y=6;}
			//alert(4+','+x);
			return;
		}
	}
		
	if (spielstein[6,1]!=0 ||spielstein[6,2]!=0 ||spielstein[6,3]!=0 ||spielstein[6,4]!=0 ||spielstein[6,5]!=0 ||spielstein[6,6]!=0 ||spielstein[6,7]!=0) {

		for (i=1;i<=7;i++) {
			test_y=6;
			while (test_y>1) { if (spielstein(test_y-1,i)==0) test_y--; else break;}
			endtest(test_y,i,2);
			if (zugwert[i]==0) zugwert[i]=n1+n2+n3+n4;
		}

s=zugwert[1]+','+zugwert[2]+','+zugwert[3]+','+zugwert[4]+','+zugwert[5]+','+zugwert[6]+','+zugwert[7]
//document.getElementById("ausgabe").innerHTML=s;
		

		while (true) {
			r=7*Math.random();
			n=1+Math.floor(r);
			if (spielstein(6,n)==0) break;
		}
		for (c=1;c<=7;c++) {
			r=7*Math.random();
			testnr=1+Math.floor(r);
			if ( (zugwert[testnr]>zugwert[n]) && (spielstein(6,testnr)==0) ) n=testnr;
		}
		//alert(5+','+n);

	}
	else {
		document.getElementById("endtext").innerHTML="Unentschieden.";
		text_ein();
		return;
	}


	x=n; 
	y=6;
	return;
}

function zug1(z1) {
	resultat=0;
	if (spielstein(6,z1)==0) {
		test_x=z1; test_y=6;
		while (test_y>1) { if (spielstein(test_y-1,z1)==0) test_y--; else break;}
		s2='a'+test_y+'_'+test_x+'='+spieler+';';
		eval(s2);
		resultat=endtest(test_y,test_x,2);
		s2='a'+test_y+'_'+test_x+'='+0+';';
		eval(s2);
	}
	return(resultat);
}

function zug2(z1,z2) {
	resultat=0;
	test_x1=0; test_y1=0;
	test_x2=0; test_y2=0;
	if (spielstein(6,z1)==0) {
		test_x1=z1; test_y1=6;
		while (test_y1>1) { if (spielstein(test_y1-1,z1)==0) test_y1--; else break;}
		s2='a'+test_y1+'_'+test_x1+'='+spieler+';';
		eval(s2);
	}
	if (spielstein(6,z2)==0) {
		test_x2=z2; test_y2=6;
		while (test_y2>1) { if (spielstein(test_y2-1,z2)==0) test_y2--; else break;}
		s2='a'+test_y2+'_'+test_x2+'='+3-spieler+';';
		eval(s2);
		resultat=endtest(test_y2,test_x2,1);
	}
	if (test_x1!=0) {
		s2='a'+test_y1+'_'+test_x1+'='+0+';';
		eval(s2);
	}
	if (test_x2!=0) {
		s2='a'+test_y2+'_'+test_x2+'='+0+';';
		eval(s2);
	}
	return(resultat);
}

function zug3(z1,z2,z3) {
	resultat=0;
	test_x1=0; test_y1=0;
	test_x2=0; test_y2=0;
	test_x3=0; test_y3=0;
	if (spielstein(6,z1)==0) {
		test_x1=z1; test_y1=6;
		while (test_y1>1) { if (spielstein(test_y1-1,z1)==0) test_y1--; else break;}
		s2='a'+test_y1+'_'+test_x1+'='+spieler+';';
		eval(s2);
	}
	if (spielstein(6,z2)==0) {
		test_x2=z2; test_y2=6;
		while (test_y2>1) { if (spielstein(test_y2-1,z2)==0) test_y2--; else break;}
		s2='a'+test_y2+'_'+test_x2+'='+3-spieler+';';
		eval(s2);
	}
	if (spielstein(6,z3)==0) {
		test_x3=z3; test_y3=6;
		while (test_y3>1) { if (spielstein(test_y3-1,z3)==0) test_y3--; else break;}
		s2='a'+test_y3+'_'+test_x3+'='+spieler+';';
		eval(s2);
		resultat=endtest(test_y3,test_x3,2);
	}
	if (test_x1!=0) {
		s2='a'+test_y1+'_'+test_x1+'='+0+';';
		eval(s2);
	}
	if (test_x2!=0) {
		s2='a'+test_y2+'_'+test_x2+'='+0+';';
		eval(s2);
	}
	if (test_x3!=0) {
		s2='a'+test_y3+'_'+test_x3+'='+0+';';
		eval(s2);
	}
	if (test_x1==0 || test_x2==0 || test_x3==0) resultat=-1;
	return(resultat);
}

function endtest(y,x,farbe) {
	y1=y-0; x1=x-0;	
	n1=1; 
	y=y1+1; x=x1-1; while(x>=1 && y<=6) { if (spielstein(y,x)==farbe) {x--; y++; n1++;} else break;}
	y=y1-1; x=x1+1; while(x<=7 && y>=1) { if (spielstein(y,x)==farbe) {x++; y--; n1++;} else break;}
	n2=1; 
	y=y1-1; x=x1-1; while(x>=1 && y>=1) { if (spielstein(y,x)==farbe) {x--; y--; n2++;} else break;}
	y=y1+1; x=x1+1; while(x<=7 && y<=6) { if (spielstein(y,x)==farbe) {x++; y++; n2++;} else break;}
	n3=1; 
	y=y1; x=x1-1; while(x>=1) { if (spielstein(y,x)==farbe) {x--; n3++;} else break;}
	y=y1; x=x1+1; while(x<=7) { if (spielstein(y,x)==farbe) {x++; n3++;} else break;}
	n4=1; 
	y=y1+1; x=x1; while(y<=6) { if (spielstein(y,x)==farbe) {y++; n4++;} else break;}
	y=y1-1; x=x1; while(y>=1) { if (spielstein(y,x)==farbe) {y--; n4++;} else break;}
	y=y1; x=x1;
	endflag=0;
	if (n1>=4 || n2>=4 || n3>=4 || n4>=4) endflag=farbe;
	return(endflag);
}

function spielstein(y,x) {
	s='nr=a'+y+'_'+x+';';
	eval(s);
	return(nr);
}

function spielende() {
	flag_ende=1;
	if (flag_sperren==1) {
		setTimeout("spielende()",200);
		return;
	}
	reihe="";
	if (n1>=4) {
		while (y<=5 && x>=2 && spielstein((y+1),(x-1))==spieler) {x--; y++;}
		while (y>=1 && x<=7 && spielstein(y,x)==spieler) {
			reihe+="document.platz"+y+"_"+x+".src='html/spiel/bild"+spieler+"_ende.gif';\n";
			x++; y--;
		}
	}
	else if (n2>=4) {
		while (y>=2 && x>=2 && spielstein((y-1),(x-1))==spieler) {x--; y--;}
		while (y<=6 && x<=7 && spielstein(y,x)==spieler) {
			reihe+="document.platz"+y+"_"+x+".src='html/spiel/bild"+spieler+"_ende.gif';\n";
			x++; y++;
		}
	}
	else if (n3>=4) {
		while (x>=2 && spielstein(y,(x-1))==spieler) {x--;}
		while (x<=7 && spielstein(y,x)==spieler) {
			reihe+="document.platz"+y+"_"+x+".src='html/spiel/bild"+spieler+"_ende.gif';\n";
			x++;
		}
	}
	else if (n4>=4) {
		while (y<=5 && spielstein((y+1),x)==spieler) {y++;}
		while (y>=1 && spielstein(y,x)==spieler) {
			reihe+="document.platz"+y+"_"+x+".src='html/spiel/bild"+spieler+"_ende.gif';\n";
			y--;
		}
	}
//	alert(reihe);
	eval(reihe);
	setTimeout("text_ein()",2500);
	return;
}

function text_ein() {
	document.getElementById("ende").style.visibility="visible";
	return;
}




