var numbers = ['c', 'd', 'h', 's'];
var styles = ['hole', 'board', 'dead'];
var limits = [2, 5, 10];
var nextBtnTEXTs = ['Next', 'Next', 'Next'];
var captions = ['Please select your 2 hole cards', 'Please select 0-5 board cards', 'Please select 0-10 dead cards'];
var steps = [0, 1, 2];
var jsMsgTitles = ['Hole cards', 'Board cards', 'Dead cards'];
var step = 0;

function updateTDSelection(td)
{
	var prevClassName= td.className;
	if(prevClassName != styles[step] + ' c_' + td.getAttribute('r') + '_' + td.getAttribute('c'))
	{
		if(countSelectedCells() > limits[step] - 1)
		{
			alert('You can only select ' + limits[step] + ' cards in this step' );
			return false;
		}else{
			if(td.className == '') td.className = styles[step] + ' c_' + td.getAttribute('r') + '_' + td.getAttribute('c');
		}
	}else{
		td.className = '';
	}
	return false;
}
function resetAll()
{
	resetCells('all');
	resetStep();
}
function resetCells(step)
{
	var tab = eById("srcTable");
	for(var i = 0; i< tab.rows.length; i++)
	{
		for(var j=0;j<tab.rows[i].cells.length;j++)
		{
			if(step != 'all')
			{
				if(tab.rows[i].cells[j].className == styles[step] + ' c_' + i + '_' + j )
					tab.rows[i].cells[j].className = '';
			}else{
				if(tab.rows[i].cells[j].className != '' )
					tab.rows[i].cells[j].className = '';
			}
		}
	}
}
function resetCurrentStep()
{
	resetCells(step);
}
function resetStep()
{
	gotoStep(0);
}
function gotoStep(int)
{
	step = int;
	eById('nextBtn').value = nextBtnTEXTs[step];
	eById('caption').innerHTML = captions[step];
}
function nextStep()
{
	var next = step + 1;
	if(next > steps[steps.length - 1])
	{
		displaySelectedCells();
	}else{
		if(step == 0)
		{
			if(countSelectedCells() < 2)
			{
				alert('Please select 2 hole cards');
				return false;
			}
		}
		gotoStep(step + 1);
	}
}
function countSelectedCells()
{
	var tab = eById("srcTable");
	var count = 0;
	for(var i = 0; i< tab.rows.length; i++)
	{
		for(var j=0;j<tab.rows[i].cells.length;j++)
		{
			if (tab.rows[i].cells[j].className == styles[step] + ' c_' + i + '_' + j)
			{
				count += 1;
			}
		}
	}
	return count;
}
function eById(id)
{
	return document.getElementById(id);
}
function resetTDSelection()
{
	var tab = eById("srcTable")
	for(var i = 0; i< tab.rows.length; i++)
	{
		for(var j=1;j<tab.rows[i].cells.length;j++)
		{
			tab.rows[i].cells[j].className = "";
		}
	}
}

function displaySelectedCells()
{
	var tab = eById("srcTable")
	var alertStrID = "";
	var alertStrVal = "";
	eById('board').value = "";
	eById('hole').value = "";

	var selected = [];
	for(i = 0; i< steps.length; i ++)
	{
		selected[i] = "";
	}
	
	for(var i = 0; i< tab.rows.length; i++)
	{
		for(var j=0;j<tab.rows[i].cells.length;j++)
		{
			if (tab.rows[i].cells[j].className != "")
			{
				if(tab.rows[i].cells[j].className == 'hole' + ' c_' + i + '_' + j)
				{
					selected[0] += i + "," + j + "|";
				}else if(tab.rows[i].cells[j].className == 'board' + ' c_' + i + '_' + j){
					selected[1] += i + "," + j + "|";
				}else{
					selected[2] += i + "," + j + "|";
				}
			}
		}
	}
	if(selected.length != 0)
	{
		eById('hole').value = '';
		eById('board').value = '';
		eById('dead').value = '';

		eById('hole').value = selected[0].substr(0, selected[0].length - 1);
		if(selected[1] != '') eById('board').value = selected[1].substr(0, selected[1].length - 1);
		if(selected[2] != '') eById('dead').value = selected[2].substr(0, selected[2].length - 1);
		eById('fakeForm').submit();
	}
}