function init(stleft, sttop){


document.writeln("<div id='ia' style='position:absolute;left:"+ stleft +";top:"+ (Number(sttop)-35) +";width:130;color:#ffffff;background:blue;text-align:center;font-family:arial;font-size:10'>Wer hat zuerst 3 Felder?</div>");
document.writeln("<div id='ib' style='position:absolute;left:"+ stleft +";top:"+ (Number(sttop)-20) +";width:130;color:#ffffff;background:#cfcfcf;text-align:center;font-family:arial;font-size:10' onClick='reset();'>reset</div>");
document.writeln("<div id='feld' style='position:absolute;left:"+ stleft +";top:"+ (Number(sttop)-0) +";height:130;width:130;'><img src='feld.gif' border='0'></div>");


document.writeln("<div id='sp0' onclick=\"change(0,'S')\" style='position:absolute;left:"+ (Number(stleft)+ 8) +";top:"+ (Number(sttop)+8) +";height:30;width:30;background:#cccccc;'></div>");
document.writeln("<div id='sp1' onclick=\"change(1,'S')\" style='position:absolute;left:"+ (Number(stleft)+ 50) +";top:"+ (Number(sttop)+8) +";height:30;width:30;background:#cccccc;'></div>");
document.writeln("<div id='sp2' onclick=\"change(2,'S')\" style='position:absolute;left:"+ (Number(stleft)+ 93) +";top:"+ (Number(sttop)+8) +";height:30;width:30;background:#cccccc;'></div>");
document.writeln("<div id='sp3' onclick=\"change(3,'S')\" style='position:absolute;left:"+ (Number(stleft)+ 8) +";top:"+ (Number(sttop)+50) +";height:30;width:30;background:#cccccc;'></div>");
document.writeln("<div id='sp4' onclick=\"change(4,'S')\" style='position:absolute;left:"+ (Number(stleft)+ 50) +";top:"+ (Number(sttop)+50) +";height:30;width:30;background:#cccccc;'></div>");
document.writeln("<div id='sp5' onclick=\"change(5,'S')\" style='position:absolute;left:"+ (Number(stleft)+ 93) +";top:"+ (Number(sttop)+50) +";height:30;width:30;background:#cccccc;'></div>");
document.writeln("<div id='sp6' onclick=\"change(6,'S')\" style='position:absolute;left:"+ (Number(stleft)+ 8) +";top:"+ (Number(sttop)+90) +";height:30;width:30;background:#cccccc;'></div>");
document.writeln("<div id='sp7' onclick=\"change(7,'S')\" style='position:absolute;left:"+ (Number(stleft)+ 50) +";top:"+ (Number(sttop)+90) +";height:30;width:30;background:#cccccc;'></div>");
document.writeln("<div id='sp8' onclick=\"change(8,'S')\" style='position:absolute;left:"+ (Number(stleft)+ 93) +";top:"+ (Number(sttop)+90) +";height:30;width:30;background:#cccccc;'></div>");
document.writeln("<div id='ic' style='position:absolute;left:"+ stleft +";top:"+ (Number(sttop)+131) +";width:130;color:#ffffff;background:blue;text-align:center;font-family:arial;font-size:10'>Sie sind am Zug!</div>");
document.writeln("<div id='ic' style='position:absolute;left:"+ stleft +";top:"+ (Number(sttop)+145) +";width:130;color:#efefef;background:#9597AE;text-align:center;font-family:arial;font-size:8'>gültige Felder sind: 3 zusammengehörige horizontale, verticale oder diagonale Felder!</div>");
}

init(650,150);

f = new Array(9);

for (var i=0;i<9;i++) f[i]=new Array(2);

game='ok';
belegt=0;

amzug='C';
erg='Patt!';




function reset(){

//alert("Reset");

f[0][0]=0;f[0][1]='0';
f[1][0]=0;f[1][1]='0';
f[2][0]=0;f[2][1]='0';
f[3][0]=0;f[3][1]='0';
f[4][0]=0;f[4][1]='0';
f[5][0]=0;f[5][1]='0';
f[6][0]=0;f[6][1]='0';
f[7][0]=0;f[7][1]='0';
f[8][0]=0;f[8][1]='0';

game='ok';
belegt=0;
erg='Patt!';

anz();

}


function anz(){
zaehler=0;
while(zaehler < 9 ){
	//alert(zaehler);
	//document.write(f[zaehler][0]);
	if(f[zaehler][0] != '0'){
		
		
		if(f[zaehler][1] == 'C')	document.getElementById('sp'+zaehler).innerHTML="<img src='c.gif' border='0'>";
		if(f[zaehler][1] == 'S')	document.getElementById('sp'+zaehler).innerHTML="<img src='s.gif' border='0'>";
	}
	else{
		if(f[zaehler][1] == '0')	document.getElementById('sp'+zaehler).innerHTML='';
	}

	
	zaehler++;
}
}


function change(element,nutzer){

	if(game=='ok'){

		if(amzug==nutzer){
	
			if(f[element][0]==0){

				if(amzug=='S') {
					amzug='C';
					document.getElementById('ic').innerHTML="Der Rechner zieht!"; 
				} else {
					amzug='S';
					document.getElementById('ic').innerHTML="Sie sind am Zug!";
				} 
	
				f[element][0]=1;
				if(nutzer=='S') f[element][1]='S';
				if(nutzer=='C') f[element][1]='C';
				belegt++;
				anz();
				if(gcheck(element,nutzer)==1) { belegt=9; erg='Sie haben gewonnen...';}
				if(belegt==9) {game='over'; alert('Game: over! '+ erg); reset();}
		
			}
			else alert("Feld bereits belegt!");

		}
	
		else{
			if(nutzer=='S') alert("Sie sind nicht am Zug");
		}
	}

}



function cchange(element,nutzer){

	var stat='ok';

	if(game=='ok'){

		if(amzug==nutzer){
	
			if(f[element][0]==0){

				if(amzug=='S') {
					amzug='C';
					document.getElementById('ic').innerHTML="Der Rechner zieht!"; 
				} else {
					amzug='S';
					document.getElementById('ic').innerHTML="Sie sind am Zug!";
				}
	
				f[element][0]=1;
				if(nutzer=='S') f[element][1]='S';
				if(nutzer=='C') f[element][1]='C';
				belegt++;
				anz();
				if(gcheck(element,nutzer)==1) { belegt=9; erg='der Rechner hat gewonnen...'; }
				if(belegt==9) {game='over'; alert('Game: over! '+erg); reset();}
		
			}
			//else alert("Feld bereits belegt!");
			else stat='belegt';

		}
	
		else{
			//if(nutzer=='S') alert("Sie sind nicht am Zug");
			if(nutzer=='S') stat='noz';
		}
	}
	return stat;

}



function gcheck(gp,nutzer){
	var gw=0;

	//document.getElementById('fbk').innerHTML=f[0][0] + f[0][1] + f[1][0] + f[1][1] + f[2][0] + f[2][1];
	if(f[0][0]==1 && f[1][0]==1 && f[2][0]==1 && f[0][1]==nutzer && f[1][1]==nutzer && f[2][1]==nutzer) gw=1;
	if(f[3][0]==1 && f[4][0]==1 && f[5][0]==1 && f[3][1]==nutzer && f[4][1]==nutzer && f[5][1]==nutzer) gw=1;
	if(f[6][0]==1 && f[7][0]==1 && f[8][0]==1 && f[6][1]==nutzer && f[7][1]==nutzer && f[8][1]==nutzer) gw=1;

	if(f[0][0]==1 && f[4][0]==1 && f[8][0]==1 && f[0][1]==nutzer && f[4][1]==nutzer && f[8][1]==nutzer) gw=1;
	if(f[2][0]==1 && f[4][0]==1 && f[6][0]==1 && f[2][1]==nutzer && f[4][1]==nutzer && f[6][1]==nutzer) gw=1;

	if(f[0][0]==1 && f[3][0]==1 && f[6][0]==1 && f[0][1]==nutzer && f[3][1]==nutzer && f[6][1]==nutzer) gw=1;
	if(f[1][0]==1 && f[4][0]==1 && f[7][0]==1 && f[1][1]==nutzer && f[4][1]==nutzer && f[7][1]==nutzer) gw=1;
	if(f[2][0]==1 && f[5][0]==1 && f[8][0]==1 && f[2][1]==nutzer && f[5][1]==nutzer && f[8][1]==nutzer) gw=1;	

	return gw; 
}

function cs(){

	zahl=0;
	stat='belegt';

	while(zahl<9 && stat=='belegt'){
		zahl=cfz(zahl);
		stat=cchange(zahl,'C');
		zahl++;
	}

	window.setTimeout("cs()", 1500);
}

function cfz(tfz){

	ttfz=tfz;

	if(f[0][0]==0 && f[1][0]==0 && f[2][0]==0 && f[3][0]==0 && f[4][0]==0 && f[5][0]==0 && f[6][0]==0 && f[7][0]==0 && f[8][0]==0) tfz=6;


	if(f[0][0]==0 && f[3][0]==0 && f[4][0]==0 && f[7][0]==0 && f[8][0]==0 && f[6][0]==1 && f[6][1]=='C') tfz=8;
	if(f[0][0]==0 && f[3][0]==0 && f[4][0]==0 && f[7][0]==1 && f[8][0]==1 && f[8][1]=='C' && f[6][0]==1 && f[6][1]=='C') tfz=0;
	if(f[3][0]==0 && f[0][0]==1 && f[0][1]=='C' && f[6][0]==1 && f[6][1]=='C') tfz=3;

	if(f[0][0]==0 && f[3][0]==0 && f[4][0]==0 && f[2][0]==0 && f[1][0]==0 && f[6][0]==1 && f[6][1]=='C') tfz=0;
	if(f[1][0]==0 && f[4][0]==0 && f[0][0]==1 && f[0][1]=='C' && f[6][0]==1 && f[6][1]=='C') tfz=2;
	//if(f[3][0]==0 && f[0][0]==1 && f[0][1]=='C' && f[6][0]==1 && f[6][1]=='C') tfz=3;

	if(f[5][0]==0 && f[2][0]==0 && f[4][0]==0 && f[7][0]==0 && f[8][0]==0 && f[6][0]==1 && f[6][1]=='C') tfz=8;
	if(f[5][0]==0 && f[2][0]==0 && f[4][0]==0 && f[7][0]==1 && f[8][0]==1 && f[8][1]=='C' && f[6][0]==1 && f[6][1]=='C') tfz=2;
	//if(f[3][0]==0 && f[0][0]==1 && f[0][1]=='C' && f[6][0]==1 && f[6][1]=='C') tfz=3;


	// Horizontale vzücke

	if(f[6][0]==0 && f[8][0]==1 && f[8][1]=='S' && f[7][0]==1 && f[7][1]=='S') tfz=6;
	if(f[7][0]==0 && f[8][0]==1 && f[8][1]=='S' && f[6][0]==1 && f[6][1]=='S') tfz=7;
	if(f[8][0]==0 && f[7][0]==1 && f[7][1]=='S' && f[6][0]==1 && f[6][1]=='S') tfz=8;

	if(f[3][0]==0 && f[4][0]==1 && f[4][1]=='S' && f[5][0]==1 && f[5][1]=='S') tfz=3;
	if(f[4][0]==0 && f[3][0]==1 && f[3][1]=='S' && f[5][0]==1 && f[5][1]=='S') tfz=4;
	if(f[5][0]==0 && f[3][0]==1 && f[3][1]=='S' && f[4][0]==1 && f[4][1]=='S') tfz=5;

	if(f[0][0]==0 && f[1][0]==1 && f[1][1]=='S' && f[2][0]==1 && f[2][1]=='S') tfz=0;
	if(f[1][0]==0 && f[0][0]==1 && f[0][1]=='S' && f[2][0]==1 && f[2][1]=='S') tfz=1;
	if(f[2][0]==0 && f[0][0]==1 && f[0][1]=='S' && f[1][0]==1 && f[1][1]=='S') tfz=2;

	// Vertikale v Vzücke

	if(f[0][0]==0 && f[3][0]==1 && f[3][1]=='S' && f[6][0]==1 && f[6][1]=='S') tfz=0;
	if(f[3][0]==0 && f[0][0]==1 && f[0][1]=='S' && f[6][0]==1 && f[6][1]=='S') tfz=3;
	if(f[6][0]==0 && f[0][0]==1 && f[0][1]=='S' && f[3][0]==1 && f[3][1]=='S') tfz=6;

	if(f[1][0]==0 && f[4][0]==1 && f[4][1]=='S' && f[7][0]==1 && f[7][1]=='S') tfz=1;
	if(f[4][0]==0 && f[1][0]==1 && f[1][1]=='S' && f[7][0]==1 && f[7][1]=='S') tfz=4;
	if(f[7][0]==0 && f[1][0]==1 && f[1][1]=='S' && f[4][0]==1 && f[4][1]=='S') tfz=7;

	if(f[2][0]==0 && f[5][0]==1 && f[5][1]=='S' && f[8][0]==1 && f[8][1]=='S') tfz=2;
	if(f[5][0]==0 && f[2][0]==1 && f[2][1]=='S' && f[8][0]==1 && f[8][1]=='S') tfz=5;
	if(f[8][0]==0 && f[2][0]==1 && f[2][1]=='S' && f[5][0]==1 && f[5][1]=='S') tfz=8;


        //Lo-Ru Vzücke
	if(f[0][0]==0 && f[4][0]==1 && f[4][1]=='S' && f[8][0]==1 && f[8][1]=='S') tfz=0;
	if(f[4][0]==0 && f[0][0]==1 && f[0][1]=='S' && f[8][0]==1 && f[8][1]=='S') tfz=4;
	if(f[8][0]==0 && f[0][0]==1 && f[0][1]=='S' && f[4][0]==1 && f[4][1]=='S') tfz=8;

        //Ro-Lu vzücke
	if(f[2][0]==0 && f[4][0]==1 && f[4][1]=='S' && f[6][0]==1 && f[6][1]=='S') tfz=0;
	if(f[4][0]==0 && f[2][0]==1 && f[2][1]=='S' && f[6][0]==1 && f[6][1]=='S') tfz=4;
	if(f[6][0]==0 && f[2][0]==1 && f[2][1]=='S' && f[4][0]==1 && f[4][1]=='S') tfz=8;




	// Horizontale Gewinnzücke

	if(f[6][0]==0 && f[8][0]==1 && f[8][1]=='C' && f[7][0]==1 && f[7][1]=='C') tfz=6;
	if(f[7][0]==0 && f[8][0]==1 && f[8][1]=='C' && f[6][0]==1 && f[6][1]=='C') tfz=7;
	if(f[8][0]==0 && f[7][0]==1 && f[7][1]=='C' && f[6][0]==1 && f[6][1]=='C') tfz=8;

	if(f[3][0]==0 && f[4][0]==1 && f[4][1]=='C' && f[5][0]==1 && f[5][1]=='C') tfz=3;
	if(f[4][0]==0 && f[3][0]==1 && f[3][1]=='C' && f[5][0]==1 && f[5][1]=='C') tfz=4;
	if(f[5][0]==0 && f[3][0]==1 && f[3][1]=='C' && f[4][0]==1 && f[4][1]=='C') tfz=5;

	if(f[0][0]==0 && f[1][0]==1 && f[1][1]=='C' && f[2][0]==1 && f[2][1]=='C') tfz=0;
	if(f[1][0]==0 && f[0][0]==1 && f[0][1]=='C' && f[2][0]==1 && f[2][1]=='C') tfz=1;
	if(f[2][0]==0 && f[0][0]==1 && f[0][1]=='C' && f[1][0]==1 && f[1][1]=='C') tfz=2;

	// Vertikale Gewinnzücke

	if(f[0][0]==0 && f[3][0]==1 && f[3][1]=='C' && f[6][0]==1 && f[6][1]=='C') tfz=0;
	if(f[3][0]==0 && f[0][0]==1 && f[0][1]=='C' && f[6][0]==1 && f[6][1]=='C') tfz=3;
	if(f[6][0]==0 && f[0][0]==1 && f[0][1]=='C' && f[3][0]==1 && f[3][1]=='C') tfz=6;

	if(f[1][0]==0 && f[4][0]==1 && f[4][1]=='C' && f[7][0]==1 && f[7][1]=='C') tfz=1;
	if(f[4][0]==0 && f[1][0]==1 && f[1][1]=='C' && f[7][0]==1 && f[7][1]=='C') tfz=4;
	if(f[7][0]==0 && f[1][0]==1 && f[1][1]=='C' && f[4][0]==1 && f[4][1]=='C') tfz=7;

	if(f[2][0]==0 && f[5][0]==1 && f[5][1]=='C' && f[8][0]==1 && f[8][1]=='C') tfz=2;
	if(f[5][0]==0 && f[2][0]==1 && f[2][1]=='C' && f[8][0]==1 && f[8][1]=='C') tfz=5;
	if(f[8][0]==0 && f[2][0]==1 && f[2][1]=='C' && f[5][0]==1 && f[5][1]=='C') tfz=8;


        //Lo-Ru
	if(f[0][0]==0 && f[4][0]==1 && f[4][1]=='C' && f[8][0]==1 && f[8][1]=='C') tfz=0;
	if(f[4][0]==0 && f[0][0]==1 && f[0][1]=='C' && f[8][0]==1 && f[8][1]=='C') tfz=4;
	if(f[8][0]==0 && f[0][0]==1 && f[0][1]=='C' && f[4][0]==1 && f[4][1]=='C') tfz=8;

        //Ro-Lu
	if(f[2][0]==0 && f[4][0]==1 && f[4][1]=='C' && f[6][0]==1 && f[6][1]=='C') tfz=2;
	if(f[4][0]==0 && f[2][0]==1 && f[2][1]=='C' && f[6][0]==1 && f[6][1]=='C') tfz=4;
	if(f[6][0]==0 && f[2][0]==1 && f[2][1]=='C' && f[4][0]==1 && f[4][1]=='C') tfz=8;

	if(f[tfz][0]==1) tfz=ttfz;

	return tfz;
}



//anz();
reset();
cs();