	function $(idstr)
	{
		return( document.getElementById(idstr) );
	}

var	sx = 600;
var	sy = 350;
var	playerdivw = 75;
var	playerdivh = 30;
var	playerpcx = 0.85;
var	playerpcy = 0.78;
var	dealerpc = 0.55;
var	betspcx = 0.55;
var	betspcy = 0.45;
var	holespcx = playerpcx;
var	holespcy = playerpcy;
var	offset_x = 0;
var offset_y = 15;
var	stop_cb;

var	moment_antes = 5;
var	moment_blinds = 10;
var	moment_holes = 15;
var	moment_preflop = 20;
var	moment_flop = 25;
var	moment_postflop = 30;
var	moment_turn = 35;
var	moment_postturn = 40;
var	moment_river = 45;
var	moment_postriver = 50;
var	moment_showdown = 55;
var	moment_postshowdown = 60;
var	moment_wins = 70;
var	moment_stop = 1000;
var	preshow_holes = false;
var sound = 1;
var hero_pos = -1;
var hero_nick = "";
var money = "dollar";

// -----------------------------------------------------------------------------------------------------------------------------------------------------------

soundManager.onload = function()
{
	soundManager.createSound(
	{
		id:'carddeal'
		,url:'/js/soundmanager/carddeal.mp3'
		,multiShot:false
		,autoLoad:true
	}
	);
	soundManager.createSound(
	{
		id:'cardflip'
		,url:'/js/soundmanager/cardflip.mp3'
		,multiShot:false
		,autoLoad:true
	}
	);
	soundManager.createSound(
	{
		id:'chipclick'
		,url:'/js/soundmanager/chipclick.mp3'
		,multiShot:true
		,autoLoad:true		
	}
	);
	soundManager.createSound(
	{
		id:'check'
		,url:'/js/soundmanager/check.mp3'
		,multiShot:false
		,autoLoad:true
	}
	);
	soundManager.createSound(
	{
		id:'button'
		,url:'/js/soundmanager/button.mp3'
		,multiShot:false
		,autoLoad:true
	}
	);
}

function PlaySound(str)
{
	if ( sound )
	{
		soundManager.play(str);
	}
}

// -----------------------------------------------------------------------------------------------------------------------------------------------------------

function PreloadImage(imgfn)
{
	this.imgfn = imgfn;
	this.oImage = new Image;
	this.oImage.src = imgfn;
}

function H(	variant,
			hidx,
			dealer_pos,
			nbseats,
			ante,sb,bb,
			com0,com1,com2,com3,com4)
{
	this.variant = variant;
	this.hidx = hidx;
	this.ss = new Array();
	this.bs = new Array();
	this.dealer_pos = dealer_pos;
	if ( nbseats == -1 )
	{
		nbseats = 10;
	}
	this.nbseats = nbseats;
	this.coms= new Array();
	this.coms[0] = new Com(com0);
	this.coms[1] = new Com(com1);
	this.coms[2] = new Com(com2);
	this.coms[3] = new Com(com3);
	this.coms[4] = new Com(com4);

	this.hero_pos = hero_pos;
	this.prevbet = -1;
	this.pot = 0;
	this.moment = 0;
	this.timer = 0;
	this.timerInterval = 0;

	this.container = null;
	this.div_coms = null;
	this.div_pot = null;

	this.ante = ante;
	this.sb = sb;
	this.bb = bb;
}


function HI(uwl,bbcheck,relpos,sd,pfraise,sbbbfold)
{
	this.uwl = uwl;
	this.bbcheck = bbcheck;
	this.relpos = relpos;
	this.sd = sd;
	this.pfraise = pfraise;
	this.sbbbfold = sbbbfold;
}


function S(variant,pos,nick,balance,hole0,hole1,hole2,hole3,show,win)
{
	this.nick = nick;
	if ( this.nick == hero_nick )
	{
		hs[hs.length-1].hero_pos = pos;
	}
	this.pos = pos;
	this.balance = balance;
	this.hole0 = hole0;
	this.hole1 = hole1;
	this.hole2 = hole2;
	this.hole3 = hole3;
	this.sitout = true;
	this.show = show;
	this.win = win;
	this.prev_amount = 0;
	this.cur_balance = balance;

	this.div_nick = document.createElement("DIV");
	this.div_nick.className = "player";
	this.div_nick.style.width = playerdivw;
	this.div_nick.style.height = playerdivh;
	this.div_nick.innerHTML = "<div class='nick'>"+nick+"</div><div class='balance'>"+Amount(balance/100)+"</div>";
/**	
	this.div_story = document.createElement("DIV");
	this.div_story.className = "story";
	this.div_story.innerHTML = "&nbpsp;";
**/
	this.div_bet = document.createElement("DIV");
	this.div_bet.className = "bet";
	this.div_bet.innerHTML = "&nbsp";

	this.div_holes = document.createElement("DIV");
	this.div_holes.className = "holes";
	this.div_holes.innerHTML = "&nbsp";

	//this.div_holes.holes = new Array();

	this.div_holes.blank0 = new PreloadImage("/images/game/"+cards_theme+"/35x50/"+quadri+"blank.png");
	this.div_holes.appendChild( this.div_holes.blank0.oImage );
	this.div_holes.blank1 = new PreloadImage("/images/game/"+cards_theme+"/35x50/"+quadri+"blank.png");
	this.div_holes.appendChild( this.div_holes.blank1.oImage );
	if ( hole0 && hole1)
	{
		this.div_holes.plimg0 = new PreloadImage("/images/game/"+cards_theme+"/35x50/"+quadri+hole0+".png");
		this.div_holes.appendChild(this.div_holes.plimg0.oImage);
		this.div_holes.plimg1 = new PreloadImage("/images/game/"+cards_theme+"/35x50/"+quadri+hole1+".png");
		this.div_holes.appendChild(this.div_holes.plimg1.oImage);
	}
	if ( variant == 8 )
	{
		this.div_holes.blank2 = new PreloadImage("/images/game/"+cards_theme+"/35x50/"+quadri+"blank.png");
		this.div_holes.appendChild( this.div_holes.blank2.oImage );
		this.div_holes.blank3 = new PreloadImage("/images/game/"+cards_theme+"/35x50/"+quadri+"blank.png");
		this.div_holes.appendChild( this.div_holes.blank3.oImage );
	}
	if ( variant == 8 && hole2)
	{
		this.div_holes.plimg2 = new PreloadImage("/images/game/"+cards_theme+"/35x50/"+quadri+hole2+".png");
		this.div_holes.appendChild(this.div_holes.plimg2.oImage);
		this.div_holes.plimg3 = new PreloadImage("/images/game/"+cards_theme+"/35x50/"+quadri+hole3+".png");
		this.div_holes.appendChild(this.div_holes.plimg3.oImage);
	}

	if ( variant == 1 )
	{
		if ( this.div_holes.plimg0) this.div_holes.plimg0.oImage.style.left = "45px";
		if ( this.div_holes.plimg1) this.div_holes.plimg1.oImage.style.left = "75px";
		if ( this.div_holes.blank0) this.div_holes.blank0.oImage.style.left = "45px";
		if ( this.div_holes.blank1) this.div_holes.blank1.oImage.style.left = "75px";
	}
	if ( variant == 8 )
	{
		if ( this.div_holes.plimg0) this.div_holes.plimg0.oImage.style.left =  "0px";
		if ( this.div_holes.plimg1) this.div_holes.plimg1.oImage.style.left = "15px";
		if ( this.div_holes.plimg2) this.div_holes.plimg2.oImage.style.left = "30px";
		if ( this.div_holes.plimg3) this.div_holes.plimg3.oImage.style.left = "45px";
		if ( this.div_holes.blank0) this.div_holes.blank0.oImage.style.left =  "0px";
		if ( this.div_holes.blank1) this.div_holes.blank1.oImage.style.left = "15px";
		if ( this.div_holes.blank2) this.div_holes.blank2.oImage.style.left = "30px";
		if ( this.div_holes.blank3) this.div_holes.blank3.oImage.style.left = "45px";
	}
}

function Com(card)
{
	this.card = card;
	if ( card )
	{
		this.plimg = new PreloadImage("/images/game/"+cards_theme+"/35x50/"+quadri+card+".png");
		this.plimg.oImage.className = "coms_img";
	}
}

function B(moment,pos,amount,allin)
{
	this.moment = moment;
	this.pos = pos;
	this.amount = amount;
	this.allin = allin;
	this.done = false;
}

var ch = 0;
var	h = 0;
var	hs = new Array();
var	his = new Array();

// -------------------------------------------------------------------------------------------------------------------------------------------------

function posx(pos,pc,adec)
{
	var decal =	hs[ch].hero_pos / hs[ch].nbseats;
	var angle = (360 * ((pos / hs[ch].nbseats)-decal)+90+adec )
	var cosinus = Math.cos( angle / 180.0 *3.14);
	return(  Math.round( (sx/2) + (sx/2*pc) * cosinus ) + offset_x );
}
function posy(pos,pc,adec)
{

	var decal =	hs[ch].hero_pos / hs[ch].nbseats;
	var angle = (360 * ((pos / hs[ch].nbseats)-decal)+90+adec )
	var sinus = Math.sin( angle / 180.0 *3.14);
	return( Math.round( (sy/2) + (sy/2*pc) * sinus ) + offset_y );
}

function Amount(v)
{
	if ( money == "bb" )
	{
		v = v / (hs[ch].bb/100);
	}
	var str = "";
	if ( v >= 10000 )
	{
		str = (Math.round((v/1000)*100)/100)+"K";
	}
	else
	{
		str = (Math.round(v*100)/100).toString();
	}
	if ( money == "bb" )
	{
		str = str+" bb";
	}
	return( str );
}

function ResetSeats()
{
	for(var i=0 ; i < hs[ch].ss.length ; i++)
	{
		if ( hs[ch].ss[i] )
		{
			//hs[ch].ss[i].div_nick.style.backgroundColor = "#136632";
		}
	}
}

function  ResetBets()
{
	hs[ch].prevbet = -1;
	for(var i=0 ; i < hs[ch].ss.length ; i++)
	{
		if ( hs[ch].ss[i] )
		{
			hs[ch].ss[i].div_bet.style.display = "none";
			hs[ch].ss[i].div_bet.innerHTML = "&nbsp;";
			hs[ch].ss[i].div_bet.style.color = "white";
			hs[ch].ss[i].prev_amount = 0;
		}
	}
}

function SwitchMoney()
{
	var amount;

	for( var i=0 ; i < hs[ch].ss.length ; i++)
	{
		if ( hs[ch].ss[i] )
		{
			amount = hs[ch].ss[i].cur_balance;
			hs[ch].ss[i].div_nick.innerHTML = "<div class='nick'>"+hs[ch].ss[i].nick+"</div><div class='balance'>"+Amount(amount/100)+"</div>";;
			amount = hs[ch].ss[i].prev_amount;
			if ( amount > 0 )
			{
				hs[ch].ss[i].div_bet.innerHTML = Amount(amount/100);
			}
		}
	}
	hs[ch].div_pot.innerHTML = "Pot : "+Amount(hs[ch].pot/100);
}



// -------------------------------------------------------------------------------------------------------------------------------------------------

function Hand_Start(idx,container)
{
	preshow_holes = false;
	hs[ch].container = container;
	hs[ch].moment = 0;
	hs[ch].prevbet = -1;
	hs[ch].pot = 0;
	for(var b=0 ; b < hs[ch].bs.length ; b++)
	{
		hs[ch].bs[b].done = false;
	}
	// Button image
	var dealerimg;
	dealerimg = document.createElement("IMG");
	dealerimg.src = "/images/game/"+cards_theme+"/dealer.gif";
	dealerimg.className = "dealer";
	hs[ch].container.appendChild(dealerimg);

	var decdealer = 0;//(360 / hs[ch].nbseats)/4;
 	dealerimg.style.left = posx(hs[ch].dealer_pos+0.5,dealerpc,decdealer)+"px";
 	dealerimg.style.top  = posy(hs[ch].dealer_pos+0.5,dealerpc,decdealer)+"px";
 	dealerimg.style.display = "block";
	// DIV for pot
	hs[ch].div_pot = document.createElement("DIV");
	hs[ch].div_pot.className = "pot";
	hs[ch].container.appendChild(hs[ch].div_pot);
	// DIV for community cards
	hs[ch].div_coms = document.createElement("DIV");
	hs[ch].div_coms.className = "coms";
	hs[ch].container.appendChild(hs[ch].div_coms);
	for(i=0 ; i < 5 ; i++)
	{
		if ( hs[ch].coms[i].card )
		{
			hs[ch].coms[i].plimg.oImage.className = "coms_img";
			hs[ch].div_coms.appendChild( hs[ch].coms[i].plimg.oImage );
		}
	}
	// Seats
	for(var pos=0 ; pos < hs[ch].ss.length ; pos++)
	{
		if ( hs[ch].ss[pos] )
		{
			hs[ch].container.appendChild(hs[ch].ss[pos].div_nick);
			hs[ch].container.appendChild(hs[ch].ss[pos].div_bet);
			hs[ch].container.appendChild(hs[ch].ss[pos].div_holes);
			// Il peut y avoir des seats qui ne reçoivent pas de holes var "sit out"
			// On les trouve en regardant ceux qui ne font aucune action preflop
			for(var b=0 ; b < hs[ch].bs.length ; b++)
			{
				if ( hs[ch].bs[b].pos == pos )
				{
					hs[ch].ss[pos].sitout = false;
					break;
				}
			}
		}
	}
	for(var pos=0 ; pos < hs[ch].ss.length ; pos++)
	{
		if ( hs[ch].ss[pos] )
		{
			// Position
		 	hs[ch].ss[pos].div_nick.style.left = posx(pos,playerpcx,0) - (playerdivw+4)/2+"px";;
		 	hs[ch].ss[pos].div_nick.style.top  = posy(pos,playerpcy,0) - playerdivh/2+"px";;
		 	hs[ch].ss[pos].div_nick.style.display = "block";
			//hs[ch].ss[pos].div_nick.style.backgroundColor = "#136632";
			hs[ch].ss[pos].div_nick.style.color = "#FFFFFF";
		 	// Sitout
		 	if ( hs[ch].ss[pos].sitout )
		 	{
		 		hs[ch].ss[pos].div_nick.style.color = "#AAAAAA";
		 	}
		 	// Balance
			hs[ch].ss[pos].cur_balance = hs[ch].ss[pos].balance;
			// Holes
			// (le positionnement doit se faire ici à cause de hero_pos)
			var x = posx(pos,holespcx,0) - (playerdivw+4);
			if ( hs[ch].variant == 8 )
			{
				x += 37;
			}
			x += "px";
			hs[ch].ss[pos].div_holes.style.left = x;
			hs[ch].ss[pos].div_holes.style.top  = posy(pos,holespcy,0) - 48+"px";;
			hs[ch].ss[pos].div_holes.style.display = "none";
			hs[ch].ss[pos].div_holes.blank0.oImage.style.display = "none";
			hs[ch].ss[pos].div_holes.blank1.oImage.style.display = "none";
			if ( hs[ch].ss[pos].div_holes.plimg0 )
			{
				hs[ch].ss[pos].div_holes.plimg0.oImage.style.display = "none";
			}
			if ( hs[ch].ss[pos].div_holes.plimg1 )
			{
				hs[ch].ss[pos].div_holes.plimg1.oImage.style.display = "none";
			}
			if ( hs[ch].variant == 8 )
			{
				hs[ch].ss[pos].div_holes.blank2.oImage.style.display = "none";
				hs[ch].ss[pos].div_holes.blank3.oImage.style.display = "none";
				if ( hs[ch].ss[pos].div_holes.plimg2 )
				{
					hs[ch].ss[pos].div_holes.plimg2.oImage.style.display = "none";
				}
				if ( hs[ch].ss[pos].div_holes.plimg3 )
				{
					hs[ch].ss[pos].div_holes.plimg3.oImage.style.display = "none";
				}
			}
			// Content
			hs[ch].ss[pos].div_nick.innerHTML = "<div class='nick'>"+hs[ch].ss[pos].nick+"</div><div class='balance'>"+Amount(hs[ch].ss[pos].balance/100)+"</div>";
		}
	}
	// Bets and pot
	hs[ch].prevbet = -1;
	hs[ch].pot = 0;
	for(var i=0 ; i < hs[ch].bs.length ; i++)
	{
		hs[ch].bs[i].done = false;
	}
	// Communities
	hs[ch].div_coms.style.display = "none";
	for(var i=0 ; i < 5 ; i++)
	{
		if ( hs[ch].coms[i].card )
		{
			hs[ch].coms[i].plimg.oImage.style.display = "none";
		}
	}
	ResetBets();
	ResetSeats();
 	hs[ch].moment = moment_antes;
}

function Hand_Play(idx)
{
 	DoBets();
 	hs[ch].timer = setInterval(Step,speed/1);
}

function Hand_Speed(aspeed)
{
	if ( !hs )
	{
		return;
	}
	if ( !hs[ch] )
	{
		return;
	}
	
	if ( hs[ch].timer )
	{
		clearInterval(hs[ch].timer);
	}
	speed = aspeed;
	hs[ch].timer = setInterval(Step,speed/1);
}

// -------------------------------------------------------------------------------------------------------------------------------------------------

function DoBets()
{
	var	found = false;
 	for(var i=0 ; i < hs[ch].bs.length ; i++)
 	{
		if ( hs[ch].bs[i].moment == hs[ch].moment && !hs[ch].bs[i].done )
		{
			var pos = hs[ch].bs[i].pos;
			var x = posx(hs[ch].bs[i].pos,betspcx,0) - (playerdivw+4)/2+"px";;
			var y = posy(hs[ch].bs[i].pos,betspcy,0) - playerdivh/2+"px";;

			if ( hs[ch].bs[i].amount > 0 )
			{
				PlaySound("chipclick");
				//hs[ch].ss[pos].div_nick.style.backgroundColor = "#00a316";
				hs[ch].ss[pos].div_bet.style.left = x;
				hs[ch].ss[pos].div_bet.style.top  = y;
				var amount = hs[ch].ss[pos].prev_amount + hs[ch].bs[i].amount;
				hs[ch].ss[pos].prev_amount = amount;
				if ( hs[ch].moment > moment_blinds )
				{
					if  ( amount <= hs[ch].prevbet )
					{
						hs[ch].ss[pos].div_bet.innerHTML = "Call<br />";
						//hs[ch].ss[pos].div_story.innerHTML = "C";
					}
					else
					{
						if ( hs[ch].prevbet > 0 )
						{
							hs[ch].ss[pos].div_bet.innerHTML = "Raise<br />";
							//hs[ch].ss[pos].div_story.innerHTML = "R";
						}
						else
						{
							hs[ch].ss[pos].div_bet.innerHTML = "Bet<br />";
							//hs[ch].ss[pos].div_story.innerHTML = "B";
						}
						hs[ch].ss[pos].div_bet.style.color = "#980202";
					}
				}
				if ( hs[ch].moment == moment_antes )
				{
					hs[ch].ss[pos].div_bet.innerHTML = "";
				}
				if ( hs[ch].moment == moment_blinds )
				{
					hs[ch].ss[pos].div_bet.innerHTML = "";
				}
				hs[ch].prevbet = amount;
				hs[ch].ss[pos].div_bet.innerHTML += Amount(amount/100);
				hs[ch].ss[pos].div_bet.style.display = "block";
				hs[ch].ss[pos].cur_balance -= hs[ch].bs[i].amount;
				if ( !hs[ch].bs[i].allin )
				{
					hs[ch].ss[pos].div_nick.innerHTML = "<div class='nick'>"+hs[ch].ss[pos].nick+"</div><div class='balance'>"+Amount(hs[ch].ss[pos].cur_balance/100)+"</div>";
				}
				else
				{
					hs[ch].ss[pos].div_nick.innerHTML = "<div class='nick'>"+hs[ch].ss[pos].nick+"</div><div class='balance'>All-in !</div>";
				}
				hs[ch].pot = hs[ch].pot + hs[ch].bs[i].amount;
				hs[ch].div_pot.innerHTML = "Pot : "+Amount(hs[ch].pot/100);
				hs[ch].div_pot.style.display = "block";
			}
			// Check
			if ( hs[ch].bs[i].amount == 0 )
			{
				PlaySound("check");
				//hs[ch].ss[pos].div_nick.style.backgroundColor = "#00a316";
				hs[ch].ss[pos].div_bet.style.left = x;
				hs[ch].ss[pos].div_bet.style.top  = y;
				hs[ch].ss[pos].div_bet.innerHTML = "Check";
				hs[ch].ss[pos].div_bet.style.display = "block";
				hs[ch].ss[pos].div_bet.style.color = "white";
				//hs[ch].ss[pos].div_story.innerHTML = "k";				
			}
			// Fold
			if ( hs[ch].bs[i].amount == -1 )
			{
				PlaySound("cardflip");
				hs[ch].ss[pos].div_bet.style.left = x;
				hs[ch].ss[pos].div_bet.style.top  = y;
				hs[ch].ss[pos].div_bet.innerHTML = "fold";
				hs[ch].ss[pos].div_bet.style.display = "block";
				hs[ch].ss[pos].div_holes.style.display = "none";
				hs[ch].ss[pos].div_nick.style.color = "#CCCCCC";
				hs[ch].ss[pos].div_bet.style.color = "#AAAAAA";
			}
			hs[ch].bs[i].done = true;
			if ( hs[ch].moment != moment_antes )
			{
				return(true);
			}
 		}
 	}
 	return(false);
}

function CheckShow()
{
	for(var pos=0 ; pos < hs[ch].ss.length ; pos++)
	{
		if ( hs[ch].ss[pos] )
		{
			if ( hs[ch].ss[pos].show == hs[ch].moment )
			{
				hs[ch].ss[pos].div_holes.style.display = "block";
				hs[ch].ss[pos].div_holes.plimg0.oImage.style.display = "inline";
				hs[ch].ss[pos].div_holes.blank0.oImage.style.display = "none";
				hs[ch].ss[pos].div_holes.plimg1.oImage.style.display = "inline";
				hs[ch].ss[pos].div_holes.blank1.oImage.style.display = "none";
				if ( hs[ch].ss[pos].div_holes.plimg2 )
				{
					hs[ch].ss[pos].div_holes.plimg2.oImage.style.display = "inline";
					hs[ch].ss[pos].div_holes.blank2.oImage.style.display = "none";
				}
				if ( hs[ch].ss[pos].div_holes.plimg3 )
				{
					hs[ch].ss[pos].div_holes.plimg3.oImage.style.display = "inline";
					hs[ch].ss[pos].div_holes.blank3.oImage.style.display = "none";
				}
			}
		}
	}
}

var holes_pos;
var bypass = 0;

function Step()
{		
	if ( hs[ch].moment != moment_holes )
	{
		bypass ^= 1;
		if ( bypass )
		{
//			return;
		}
	}
	switch(hs[ch].moment)
	{
		case moment_antes:
		{
			ResetBets();
			hs[ch].moment = moment_blinds;
			break;
		}
		case moment_blinds:
		{
			ResetSeats();
			if ( !DoBets() )
			{
				CheckShow();
				hs[ch].moment = moment_holes;
				holes_pos = 0;
			}
			break;
		}
		case moment_holes:
		{
			PlaySound('button');
			for(var pos=0 ; pos < hs[ch].ss.length ; pos++)
			{
				if ( hs[ch].ss[pos] && !hs[ch].ss[pos].sitout )
				{
					var showholes = false;
					if ( hs[ch].ss[pos].show && preshow_holes )
					{
						showholes = true;
					}
					if ( pos == hs[ch].hero_pos )
					{
						showholes = true;
					}
					if ( showholes && hs[ch].ss[pos].hole0 )
					{
						hs[ch].ss[pos].div_holes.style.display = "block";
						hs[ch].ss[pos].div_holes.plimg0.oImage.style.display = "inline";
						hs[ch].ss[pos].div_holes.plimg1.oImage.style.display = "inline";
						if ( hs[ch].variant == 8 )
						{
							hs[ch].ss[pos].div_holes.plimg2.oImage.style.display = "inline";
							hs[ch].ss[pos].div_holes.plimg3.oImage.style.display = "inline";
						}
					}
					else
					{
						hs[ch].ss[pos].div_holes.style.display = "block";
						hs[ch].ss[pos].div_holes.blank0.oImage.style.display = "inline";
						hs[ch].ss[pos].div_holes.blank1.oImage.style.display = "inline";
						if ( hs[ch].variant == 8 )
						{
							hs[ch].ss[pos].div_holes.blank2.oImage.style.display = "inline";
							hs[ch].ss[pos].div_holes.blank3.oImage.style.display = "inline";
						}
					}
				}
			}
			hs[ch].moment = moment_preflop;
			break;
		}

		case moment_preflop:
		{
			ResetSeats();
			if ( !DoBets() )
			{
				CheckShow();
				hs[ch].moment = moment_flop;
			}
			break;
		}

		case moment_flop:
		{
			ResetSeats();
			ResetBets();
			if ( !hs[ch].coms[0].card )
			{
				moment = moment_showdown;
			}
			else
			{
				PlaySound("carddeal");
				ResetBets();
				hs[ch].div_coms.style.display = "block";
				hs[ch].coms[0].plimg.oImage.style.display = "inline";
				hs[ch].coms[1].plimg.oImage.style.display = "inline";
				hs[ch].coms[2].plimg.oImage.style.display = "inline";
			}
			hs[ch].moment = moment_postflop;
			break;
		}

		case moment_postflop:
		{
			ResetSeats();
			if ( !DoBets() )
			{
				CheckShow();
				hs[ch].moment = moment_turn;
			}
			break;
		}

		case moment_turn:
		{
			ResetSeats();
			if ( !hs[ch].coms[3].card )
			{
				hs[ch].moment = moment_showdown;
				break;
			}
			else
			{
				PlaySound("carddeal");
				ResetBets();
				hs[ch].coms[3].plimg.oImage.style.display = "inline";
			}
			hs[ch].moment = moment_postturn;
			break;
		}

		case moment_postturn:
		{
			ResetSeats();
			if ( !DoBets() )
			{
				CheckShow();
				hs[ch].moment = moment_river;
			}
			break;
		}

		case moment_river:
		{
			ResetSeats();
			if ( !hs[ch].coms[4].card )
			{
				hs[ch].moment = moment_showdown;
				break;
			}
			else
			{
				PlaySound("carddeal");
				ResetBets();
				hs[ch].coms[4].plimg.oImage.style.display = "inline";
			}
			hs[ch].moment = moment_postriver;
			break;
		}

		case moment_postriver:
		{
			ResetSeats();
			if ( !DoBets() )
			{
				CheckShow();
				hs[ch].moment = moment_showdown;
			}
			break;
		}

		case moment_showdown:
		{
			ResetBets();
			ResetSeats();
			CheckShow();
			hs[ch].moment = moment_wins;
			break;
		}

		case moment_wins:
		{
			ResetBets();
			hs[ch].div_pot.innerHTML = "";
			for(var pos=0 ; pos < hs[ch].ss.length ; pos++)
			{
				if ( hs[ch].ss[pos] && hs[ch].ss[pos].win > 0 )
				{
					//hs[ch].ss[pos].div_nick.style.backgroundColor = "#FFFFFF";
					hs[ch].ss[pos].div_nick.style.color = "#000000";
					hs[ch].ss[pos].div_bet.innerHTML = "+"+Amount(hs[ch].ss[pos].win/100);
					hs[ch].ss[pos].div_bet.style.display = "block";
				}
			}
			hs[ch].moment = moment_stop;
			break;
		}
		case moment_stop:
		{
			Hand_Stop(ch);
			stop_cb();
			break;
		}
	}
}

// -------------------------------------------------------------------------------------------------------------------------------------------------

function Hand_ShowHoles(show)
{
	if ( hs[ch].moment > moment_holes )
	{
		for(var pos=0 ; pos < hs[ch].ss.length ; pos++)
		{
			if ( hs[ch].ss[pos] && !hs[ch].ss[pos].sitout )
			{
				var showholes = false;
				if ( show && hs[ch].ss[pos].show )
				{
					showholes = true;
				}
				if ( pos == hs[ch].hero_pos )
				{
					showholes = true;
				}
				if ( hs[ch].ss[pos].hole0 )
				{
					if ( showholes )
					{
						hs[ch].ss[pos].div_holes.style.display = "block";
						hs[ch].ss[pos].div_holes.blank0.oImage.style.display = "none";
						hs[ch].ss[pos].div_holes.plimg0.oImage.style.display = "inline";
						hs[ch].ss[pos].div_holes.blank1.oImage.style.display = "none";
						hs[ch].ss[pos].div_holes.plimg1.oImage.style.display = "inline";
						if ( hs[ch].variant == 8 )
						{
							hs[ch].ss[pos].div_holes.blank2.oImage.style.display = "none";
							hs[ch].ss[pos].div_holes.plimg2.oImage.style.display = "inline";
							hs[ch].ss[pos].div_holes.blank3.oImage.style.display = "none";
							hs[ch].ss[pos].div_holes.plimg3.oImage.style.display = "inline";
						}
					}
					else
					{
						hs[ch].ss[pos].div_holes.style.display = "block";
						hs[ch].ss[pos].div_holes.plimg0.oImage.style.display = "none";
						hs[ch].ss[pos].div_holes.blank0.oImage.style.display = "inline";
						hs[ch].ss[pos].div_holes.plimg1.oImage.style.display = "none";
						hs[ch].ss[pos].div_holes.blank1.oImage.style.display = "inline";
						if ( hs[ch].variant == 8 )
						{
							hs[ch].ss[pos].div_holes.plimg2.oImage.style.display = "none";
							hs[ch].ss[pos].div_holes.blank2.oImage.style.display = "inline";										
							hs[ch].ss[pos].div_holes.plimg3.oImage.style.display = "none";
							hs[ch].ss[pos].div_holes.blank3.oImage.style.display = "inline";
						}
					}
				}
			}
		}
	}
	else
	{
		preshow_holes = show;
	}
}

function Hand_Pause()
{
	if ( hs[ch].timer  )
	{
		clearInterval(hs[ch].timer);
		hs[ch].timer = 0;
	}
	else
	{
		//alert("step2"); 	
		hs[ch].timer  = setInterval(Step,speed/1);
	}
}

function Hand_Stop()
{
	clearInterval(hs[ch].timer);
	hs[ch].timer = 0;
}

function Hand_Clean()
{
	if ( hs[ch].container )
	{
		while( hs[ch].container.firstChild)
		{
			hs[ch].container.removeChild(hs[ch].container.firstChild);
		}
	}
}

// --------------------------------------------------------------------------------------------------------------------------------------------
