function selectRow(rowSelect,totalCols,totalRows,selectedRow, ctrlPress, shiftPress, numRows)
{

	var currentClass = document.getElementById("rowSelect_"+rowSelect).className;
	var selectedRows = ""

	if (ctrlPress == 'true')
	{
		
		if (currentClass != 'rowSelectCurrent')
		{
			//Row wasn't selected so select the row
			document.getElementById("selectedRow").value=document.getElementById("selectedRow").value+","+selectedRow;	
			
			for (var x = 1; x <= numRows; x++)
			{			
				document.getElementById("td_"+x+"_"+rowSelect).className="rowSelected";				
			}

			document.getElementById("rowSelect_"+rowSelect).className="rowSelectCurrent";

		}
		else
		{

			var replaceStr = ""
	
			replaceStr = selectedRow;
				
			//Row was selected so unselect the row and remove the value from the selected rows array

			for (var x = 1; x <= numRows; x++)
			{		
				document.getElementById("td_"+x+"_"+rowSelect).className="tdCell";				
			}
			document.getElementById("rowSelect_"+rowSelect).className="rowSelect";
		
			
			//Remove ',selectedRow' from the selected rows array
			selectedRows = document.getElementById("selectedRow").value;
			selectedRows = selectedRows.replace(","+replaceStr, "")
			document.getElementById("selectedRow").value = selectedRows;
										
		}	
	
	}
	else if(shiftPress == 'true')
	{
							
		var shiftPressed = parseInt(document.getElementById('shiftPressed').value);
		
		if (shiftPressed != 0)
		{
			document.getElementById("selectedRow").value = "";
			clearRows(totalRows, numRows);
		
			if (parseInt((shiftPressed-1)) <= rowSelect)
			{
				//The user selected down the grid i.e. selecting from a low to high record number
				for (var x = (shiftPressed-1); x <= rowSelect; x++)
				{			
					document.getElementById("rowSelect_"+x).className="rowSelectCurrent";
					
					for (var j = 1; j <= numRows; j++)
					{			
						document.getElementById("td_"+j+"_"+x).className="rowSelected";				
					}
							
					selectedRows = selectedRows + ","+ document.getElementById('hidID_'+x).value;
												
				}	
				
			}
			else if (parseInt((shiftPressed-1)) > rowSelect)
			{
						
				//The user is selecting backwards i.e. from a high record to a low record number
				for (var x = (shiftPressed-1); x >= rowSelect; x--)
				{			
					document.getElementById("rowSelect_"+x).className="rowSelectCurrent";
					
					for (var j = 1; j <= numRows; j++)
					{			
						document.getElementById("td_"+j+"_"+x).className="rowSelected";				
					}
					
					selectedRows = selectedRows + ","+ document.getElementById('hidID_'+x).value;
												
				}	
			
			}

			document.getElementById("selectedRow").value = selectedRows;
		
		}
		else
		{
			//Ctrl was being pressed - so clear all the rows and start the shift select
			document.getElementById("selectedRow").value=","+selectedRow;		
			clearRows(totalRows, numRows);
			
			for (var x = 1; x <= numRows; x++)
			{			
				document.getElementById("td_"+x+"_"+rowSelect).className="rowSelected";				
			}

			document.getElementById("rowSelect_"+rowSelect).className="rowSelectCurrent";
			
			//Store data for shift select
			document.getElementById('shiftPressed').value = (parseInt(rowSelect) + 1);	
		
		}	
	
	}
	else
	{	
		if (currentClass != 'rowSelectCurrent')
		{
			//Row wasn't selected so select the row			
			document.getElementById("selectedRow").value=","+selectedRow;

			clearRows(totalRows, numRows);

			for (var x = 1; x <= numRows; x++)
			{			
				document.getElementById("td_"+x+"_"+rowSelect).className="rowSelected";				
			}

			document.getElementById("rowSelect_"+rowSelect).className="rowSelectCurrent";

			//Store data for shift select
			document.getElementById('shiftPressed').value = (parseInt(rowSelect) + 1);			
			
		}
		else
		{
			//Row was selected so unselect the row and remove the value from the selected rows array
			document.getElementById("selectedRow").value="";
			clearRows(totalRows, numRows);

		}
	
	}
		
}

function clearRows(totalRows, tdCount)
{
	for (var x = 0; x < totalRows; x++)
	{			
		document.getElementById("rowSelect_"+x).className="rowSelect";
		
		for (var j = 1; j <= tdCount; j++)
		{			
			document.getElementById("td_"+j+"_"+x).className="tdCell";				
		}								
	}
				
}

function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
for (i = 0; i < sText.length && IsNumber == true; i++) 
  { 
  Char = sText.charAt(i); 
  if (ValidChars.indexOf(Char) == -1) 
	 {
	 IsNumber = false;
	 }
  }
return IsNumber;

}


