jQuery(function() {
	var _timeout = -1;
	var _game = false;
	var _interval;
	
	function playgame() {
		// clear timeout
		clearTimeout(_timeout);
		_timeout = -1;
		
		// hide error
		jQuery('#game50-js-error').addClass('game50-invisible');
		
		// start game
		_game = true;
		jQuery.ajax(jQuery('#game50-js-form').attr('action'), {
			cache: false,
			data: {einsatz: jQuery('#game50-js-einsatz').val()},
			type: 'POST',
			success: function(data) {
				_game = false;
				
				// error
				if(data.error) {
					jQuery('#game50-js-error').removeClass('game50-invisible');
					jQuery('#game50-js-error').html(data.error);
					
					return;
				}
				
				// display actual konto & jp
				jQuery('#game50-js-konto').html(data.konto);
				jQuery('#game50-js-jp').html(data.jackpot);
				
				// display result
				if(data.jpwin.toString()=="gewonnen")
				{
					jQuery('#game50-js-result').html("JACKPOT");
				}
				else
				{
					jQuery('#game50-js-result').html(data.resulttext);
				}
				jQuery('#game50-js-numberplayer').removeClass('game50-resultvalue-win game50-resultvalue-same game50-resultvalue-loose');
				jQuery('#game50-js-numberplayer').addClass('game50-resultvalue-' + data.result);
				jQuery('#game50-js-numberplayer').html(data.number_player);
				jQuery('#game50-js-numbercpu').removeClass('game50-resultvalue-win game50-resultvalue-same game50-resultvalue-loose');
				jQuery('#game50-js-numbercpu').addClass('game50-resultvalue-' + data.inverseresult);
				jQuery('#game50-js-numbercpu').html(data.number_cpu);
				
				// display jackpot result
				jQuery('#game50-js-jpnumber1').html(data.jackpot_rand);
				jQuery('#game50-js-jpnumber2').html(data.jackpot_choose);
				
				// add result to history
				if(data.jpwin.toString()=="gewonnen")
				{
					jQuery('#game50-js-history tbody').prepend('<tr class="game50-history-' + data.result + '"><td>' + data.time + '</td><td>' + data.einsatz + '</td><td>JACKPOT</td><td>' + data.win + '</td></tr>');
				}
				else
				{
					jQuery('#game50-js-history tbody').prepend('<tr class="game50-history-' + data.result + '"><td>' + data.time + '</td><td>' + data.einsatz + '</td><td>' + data.resulttext + '</td><td>' + data.win + '</td></tr>');
				}
				if(jQuery('#game50-js-history tbody tr').length > 10)
					jQuery('#game50-js-history tbody tr:last').remove();
				
				// update statistic (number of games)
				var numgames = Number(jQuery('#game50-js-numgames').html());
				jQuery('#game50-js-numgames').html(numgames + 1);
				
				// update statistic (sum)
				var sum = Number(jQuery('#game50-js-sum-' + data.result).html());
				jQuery('#game50-js-sum-' + data.result).html(sum + 1);
				
				// update statistic (percent)
				var sumWin   = Number(jQuery('#game50-js-sum-win').html());
				var sumLoose = Number(jQuery('#game50-js-sum-loose').html());
				jQuery('#game50-js-percent-win').html(Math.round(sumWin / (sumWin + sumLoose) * 100));
				jQuery('#game50-js-percent-loose').html(100 - Math.round(sumWin / (sumWin + sumLoose) * 100));
			
				// update statsbar
				var width = jQuery('#game50-js-statsbar').width() / Number(jQuery('#game50-js-statsbar').data('games'));
				jQuery('#game50-js-statsbar').prepend('<div class="game50-statsbar-' + data.result + '" style="width: ' + width + 'px;">&nbsp;</div>');
				if(jQuery('#game50-js-statsbar > *').length > jQuery('#game50-js-statsbar').data('games'))
					jQuery('#game50-js-statsbar > *:last').remove()
			//	document.write;
				// Autoplay
				if(jQuery('#game50-js-autoplay:checked').val()) {
					_timeout = setTimeout(playgame, _interval);
				}
			}
		});
	}
	
	jQuery('#game50-js-play').click(function(e) {
		e.preventDefault();

		if(_game) return;
		if(_timeout == -1) {
			_interval = jQuery('#game50-js').data('autoplay');
			playgame();
		}
		else {
			clearTimeout(_timeout);
			_interval = Math.max(jQuery('#game50-js').data('autoplaymin'), _interval / 2);
			_timeout = setTimeout(playgame, _interval);
		}
	});
	
	jQuery('#game50-js-autoplay').click(function(e) {
		if(!jQuery('#game50-js-autoplay:checked').val()) {
		//ausschalten
			jQuery('#game50-js-hinweis').addClass('game50-invisible');
			clearTimeout(_timeout);
			_timeout = -1;
		}
		else
		{
		//anschalten
			jQuery('#game50-js-hinweis').removeClass('game50-invisible');
		}
	});
	
	
	jQuery('.game50-input').keyup(function(e) {
		
		var vorher = jQuery('#game50-js-einsatz').val();
		var nachher = tausender(vorher);
		if(vorher!=nachher)
		jQuery('#game50-js-einsatz').val(nachher);
	});
	
	
	jQuery('.game50-js-btneinsatz').click(function(e) {
		var vorher =jQuery(this).data('einsatz').toString();
		var nachher = tausender(vorher);
		jQuery('#game50-js-einsatz').val("x");
		jQuery('#game50-js-einsatz').val(nachher);
	});
})

function tausender(number) 
{ 
	ZugelasseneZeichen="0123456789";
	number2='';
	for (var Pos = 0; Pos < number.length; Pos++)
       {
          if (ZugelasseneZeichen.indexOf(number.charAt(Pos)) == -1)
          { 
             //FehlerMeldung += "\nLeerzeichen sind nicht erlaubt" 
           }
           else
           {
               number2 += number.charAt(Pos);
           }
       }
	number = '' + number2; 
	if (number.length > 3) 
	{ 
		var mod = number.length % 3; 
		var output = (mod > 0 ? (number.substring(0,mod)) : '');
		for (i=0 ; i < Math.floor(number.length / 3); i++) 
		{ 
			 if ((mod == 0) && (i == 0)) 
			 	output += number.substring(mod+ 3 * i, mod + 3 * i + 3); 
			 else  
			 	output+= '.' + number.substring(mod + 3 * i, mod + 3 * i + 3); 
		} 
		return (output); 
	 } 
	 else 
	 return number; 
 }
