var m_CA_expanded = true;

function CA_GRDNextPrevPage( gridID, pageNo )
{
	try
	{
		eval( gridID + "_PagerCtrlID" ).value = pageNo;
		document.forms[0].submit();
	}
	catch ( ex )
	{
		CA_ShowError(ex, "CA_GRDNextPrevPage");
	}
}

function CA_GRDResetPager( gridID )
{
	try
	{
		eval( gridID + '_PagerCtrlID' ).value = 1;
	}
	catch ( ex )
	{
		CA_ShowError(ex, "CA_GRDResetPager");
	}
}

function CA_ExpCollAll( gridID, textSuffix, itemSuffix )
{
	try
	{
		if ( m_CA_expanded )
		{
			styleDisplay = "none";
			m_CA_expanded = false;
		}
		else
		{
			styleDisplay = "inline";
			m_CA_expanded = true;
		}
		
		var i=0;
		var objDesc = document.getElementById( gridID + itemSuffix + i++ );
		
		while ( objDesc != null )
		{
			objDesc.style.display = styleDisplay;
			objDesc = document.getElementById( gridID + itemSuffix + i++ );
		}
		
		var expandTop = document.getElementById( gridID + "ExpTop" );
		var expandBot = document.getElementById( gridID + "ExpBot" );
		
		if ( expandTop && expandBot )
		{
			var prefixObj = "";
			var prefix = "";
			if ( styleDisplay == "none" )
			{
				var prefixObj = document.getElementById("GrdExpandText");
				if (prefixObj.textContent)
				{
					prefix = prefixObj.textContent;
					expandTop.textContent = prefix + " " + textSuffix;
					expandBot.textContent = prefix + " " + textSuffix;
				}
				else
				{
					prefix = prefixObj.innerText;
					expandTop.innerText = prefix + " " + textSuffix;
					expandBot.innerText = prefix + " " + textSuffix;
				}
			}
			else
			{
				var prefixObj = document.getElementById("GrdCollapseText");
				if (prefixObj.textContent)
				{
					prefix = prefixObj.textContent;
					expandTop.textContent = prefix + " " + textSuffix;
					expandBot.textContent = prefix + " " + textSuffix;
				}
				else
				{
					prefix = prefixObj.innerText;
					expandTop.innerText = prefix + " " + textSuffix;
					expandBot.innerText = prefix + " " + textSuffix;
				}
			}
		}
	}
	catch ( ex )
	{
		CA_ShowError(ex, "CA_ExpCollAll");
	}
}

function CA_ApplyAction( prefix, requireMessage, confirmMessage, multiSelect )
{
	return CA_ApplyAction2( prefix, "CHK", requireMessage, confirmMessage, multiSelect );
}

function CA_ApplyAction2( prefix, suffix, requireMessage, confirmMessage, multiSelect )
{
	var returnValue = null;
	
	try
	{
		var i=0;
		var obj = document.getElementById( prefix + suffix + i++ );
		
		var selectCount = 0;
		var ids = "";
		
		while ( obj != null )
		{
			if ( obj.checked )
			{
				if ( ids != "" ) { ids += ","; }
				
				if ( obj.value && obj.value != "" )
				{
					ids += obj.value;
					selectCount ++;
				}
				else
				{
					alert( "Unable to process checkbox because value does not exist [" + obj.id + "]" );
				}
			}
			
			obj = document.getElementById( prefix + suffix + i++ );
		}
		
		if ( ids != "" && !multiSelect && selectCount > 1 )
		{
			var selOneMsgObj = document.getElementById("GrdSelOneMsg");
			var selOneMsg = "Select only one item from the list";
			if (selOneMsgObj)
				selOneMsg = selOneMsgObj.textContent ? selOneMsgObj.textContent : selOneMsgObj.innerText;
				
			alert( selOneMsg );
		}
		else
		{
			if ( ids == "" && requireMessage != "" )
			{
				alert( requireMessage );
			}
			else if ( confirmMessage != "" )
			{
				if ( confirm( confirmMessage ) )
				{
					returnValue = ids;
				}
			}
			else
			{
				returnValue = ids;
			}
		}
	}
	catch ( ex )
	{
		CA_ShowError(ex, "CA_ApplyAction2");
	}
	
	return returnValue;
}