var clickOkay = false;
var refresh = true;

function ttt_field_click(path, id, code) {
	if ($('field' + id).style.backgroundImage == '') {
		if (clickOkay == true) {
			refresh = false;
			
			$('field' + id).style.backgroundImage = "url('" + path + "style/imageset/tictactoe_" + $('mySymbol').value + ".png')";
			
			new Ajax.Request(
				'./includes/games/TicTacToe_AjaxWorks.php?mode=click',
				{
					method: 'post',
					parameters: 'id=' + id + '&code=' + code,
					onComplete: function (x) { }
				}
			);
			
			clickOkay = false;
			refresh = true;
		}
	}
}

function ttt_waiting(path, code) {

	new Ajax.Request(
		'./includes/games/TicTacToe_AjaxWorks.php?mode=waiting',
		{
			method: 'post',
			parameters: 'code=' + code,
			onComplete: function (x) {
				if (x.responseText == 'still wait') {
					window.setTimeout("ttt_waiting('" + path + "', '" + code + "')", 1000);
				} else if (x.responseText == 'canceled') {
					d_none('gameLoading');
					d_block('gameCanceled');
				} else if (x.responseText == 'continue') {
					slideOut('waiter', '0');
					
					window.setTimeout("slideIn('whoBegins', '250');", 1000);
					
					/*
						Wahl starten
					*/
					marking();
				}
			}
		}
	);
	
}

function marking() {
	if (i <= 50) {
		
		if (nowMarked == 'player1') {
			$('player2').style.border = '1px solid #CAECFB';
			$('player2').style.backgroundColor = '#E3F5FD';
			
			$('player1').style.border = '0px';
			$('player1').style.backgroundColor = 'transparent';
		
			nowMarked = 'player2';
		} else if (nowMarked == 'player2') {
			$('player1').style.border = '1px solid #CAECFB';
			$('player1').style.backgroundColor = '#E3F5FD';
			
			$('player2').style.border = '0px';
			$('player2').style.backgroundColor = 'transparent';
		
			nowMarked = 'player1';
		}
		
		i = i + 1;
		
		if (i < 5) {
			window.setTimeout("marking()", 300);
		} else if (i < 10) {
			window.setTimeout("marking()", 200);
		} else if (i < 15) {
			window.setTimeout("marking()", 150);
		} else if (i < 25) {
			window.setTimeout("marking()", 100);
		} else if (i < 30) {
			window.setTimeout("marking()", 60);
		} else if (i < 50) {
			window.setTimeout("marking()", 50);
		} else {
			window.setTimeout("marking()", 50);
			nowMarked = toMark;
			
			window.setTimeout("slideOut('whoBegins', '0');", 1500);
			window.setTimeout("slideIn('gameField', '500');", 2500);
		}
	}
}

function tictactoe_refresher(path, code) {

	if (refresh == true) {

		new Ajax.Request(
			'./includes/games/TicTacToe_AjaxWorks.php?mode=refresh',
			{
				method: 'post',
				parameters: 'code=' + code,
				onComplete: function (x) {
				
					if (x.responseText == 'canceled') {
					
						location.href = './Spiel_abgebrochen';
					
					} else if (x.responseText == 'unentschieden') {
						d_block('send_error');
						$('send_error').innerHTML = 'Diese Runde ist leider unentschieden.';
						
						window.setTimeout("tictactoe_refresher('" + path + "', '" + code + "')", 2000);
						
					} else if (x.responseText == 'refreshFieldSite') {
						d_none('send_error');
						slideOut('gameField', '0');

						window.setTimeout("resetFields();", 500);
						
						if ($('blowUp').value == 1) {
							if ($('mySymbol').value == 'x') {
								fieldReset(code);
							}
						} else {
							$('blowUp').value = 1;
						}
						
						window.setTimeout("tictactoe_refresher('" + path + "', '" + code + "')", 1500);
					} else {
				
						var data = x.responseText.split('#');
						
						if (!data[0].match(/won/)) {
						
							if (data[11] == '6') {
								clickOkay = false;
								
								green('send_error2', './');
								$('send_error2').innerHTML = 'Das Spiel ist nun beendet.';
								d_block('send_error2');
								
								slideOut('gameField', '0');
								
								new Ajax.Request(
									'./includes/games/TicTacToe_AjaxWorks.php?mode=results',
									{
										method: 'post',
										parameters: 'code=' + code,
										onComplete: function (x) {
										
											var result = x.responseText.split('#');
										
											$('round1').innerHTML = result[0];
											$('round2').innerHTML = result[1];
											$('round3').innerHTML = result[2];
											$('round4').innerHTML = result[3];
											$('round5').innerHTML = result[4];
											
											$('wonUsername').innerHTML = result[5];
										
											slideIn('auswertung', '290');
										
										}
									}
								);
							} else {
						
								if ($('blowUp').value == 1) {
									slideIn('gameField', '500');
								}
							
								for (var i = 0; i < 9; i++) {
									
									if ($('field' + (i + 1)).style.backgroundImage == '') {
										if (data[i] != '') {
											$('field' + (i + 1)).style.backgroundImage = "url('" + path + "style/imageset/tictactoe_" + data[i] + ".png')";
										} else {
											$('field' + (i + 1)).style.backgroundImage = '';
										}
									}
									
									if (data[10] == true) {
										clickOkay = false;
										
										/*
											Wenn der Gegner am Zug ist
										*/
										$('field' + (i + 1)).style.cursor = "default";
										$('field' + (i + 1)).onclick = '';
									} else {
										/*
											Wenn man selbst am Zug ist
											
											Nur Felder aktivieren, die auch noch leer sind
										*/
										if (data[i] == '') {
											$('field' + (i + 1)).style.cursor = "pointer";
											$('field' + (i + 1)).onclick = new Function("ttt_field_click('" + path + "', '" + (i + 1) + "', '" + code + "')");
										}
										
										clickOkay = true;
									}
									
								}
								
								$('nextMove').innerHTML = data[9];
								
								window.setTimeout("tictactoe_refresher('" + path + "', '" + code + "')", 1000);
							
							}
						
						} else {
						
							var symbol = data[1].split('|');
							symbol = symbol[0];

							var fields = data[0].split('|');
						
							for (var i = 1; i < fields.length; i++) {
								$('field' + fields[i]).style.backgroundColor = '#D8F2FC';
								$('field' + fields[i]).style.backgroundImage = "url('" + path + "style/imageset/tictactoe_" + symbol + ".png')";
							}
							
							window.setTimeout("resetFields();", 2000);
							
							if ($('mySymbol').value == symbol) {
								fieldReset(code);
								window.setTimeout("tictactoe_refresher('" + path + "', '" + code + "')", 2500);
							} else {
								window.setTimeout("tictactoe_refresher('" + path + "', '" + code + "')", 2500);
							}

						}
					}

				}
			}
		);
	}

}

function fieldReset(code) {
	new Ajax.Request(
		'./includes/games/TicTacToe_AjaxWorks.php?mode=reset',
		{
			method: 'post',
			parameters: 'code=' + code,
			onComplete: function (x) { }
		}
	);
}

function resetFields() {

	for (var i = 0; i < 9; i++) {
		$('field' + (i + 1)).style.backgroundColor = '#F3FBFE';
		$('field' + (i + 1)).style.backgroundImage = '';
	}

}
