function gridAdd(grid_form, action, isAjax)
{
	var f = document.forms[grid_form];
	f.elements[action].value = 'edit';
	gridSubmit(f, isAjax); 	
}

function gridAction(grid_form, keys, ids, action, actionValue, conf, isAjax)
{
	if (conf != null && conf.length > 0 && !confirm(conf))
		return;

	var f = document.forms[grid_form];
	f.elements[action].value = actionValue;
	for(var i=0 ; i<keys.length ; i++)
	{
		f.elements[keys[i]].value = ids[i];
	}
	var token = f.elements['token'];
	if (token != null)
	{
		token.value = '';
	}
	gridSubmit(f, isAjax); 	
}


function gridDelete(grid_form, object, keys, ids, action, isAjax)
{
	if (confirm('Are you sure you want to delete this '+object+' ?'))
	{
		var f = document.forms[grid_form];
		f.elements[action].value = 'delete';
		for(var i=0 ; i<keys.length ; i++)
		{
			f.elements[keys[i]].value = ids[i];
		}
		gridSubmit(f, isAjax);
	} 	
}

function gridMultiDelete(grid_form, action, isAjax)
{
	if (confirm('Are you sure you want to delete selected items ?'))
	{
		var f = document.forms[grid_form];
		f.elements[action].value = 'multiDelete';
		var field = f.elements['gridMultiDelete'];
		field.value = '';
		
		var first = true;
		var checkBoxes = document.getElementsByTagName('input');
		for(var i=0 ; i<checkBoxes.length ; i++)
		{
			if (checkBoxes[i].id.substring(0,11) == 'gridDelete_' && checkBoxes[i].checked)
			{
				if (first) first = false;
				else field.value += '|';
				
				field.value += checkBoxes[i].value;
			}
		}
		gridSubmit(f, isAjax);
	} 	
}

function gridSelectAll(checked)
{
	var checkBoxes = document.getElementsByTagName('input');
	for(var i=0 ; i<checkBoxes.length ; i++)
	{
		if (checkBoxes[i].id.substring(0,11) == 'gridDelete_')
		{
			checkBoxes[i].checked = checked;
		}
	}
}

function gridSubmit(f, isAjax)
{
  if (isAjax)
  {
	YAHOO.util.Connect.setForm(f);
	YAHOO.util.Connect.asyncRequest('POST', lastGetUrl, dialogCallback);  
  }
  else
  {
  	f.submit();
  }
}