//
// some usefull functions for forms, ...
//

////////////////////////////////////////////////////////////////////////////////
// this function return the number of fields checked
// field is a name of an input field (checkbox in general)
// example : document.form.todelete,
// where form is the name of a form and todelete the name of the input field
////////////////////////////////////////////////////////////////////////////////
function nbChecked(field)
{
  var nb = 0;
  if (field)
  {
    if (!field.length && field.checked == true)
    {
	  nb = 1;
    }
    else
    {
	  for (i = 0; i < field.length; i++)
	  {
	    if (field[i].checked == true) nb++;
	  }
    }
  }
  return nb;
}

////////////////////////////////////////////////////////////////////////////////
// this function return true if at least one of field is checked, false
// otherwise. If no field is chacked it also display a warning message 'message'
//
// field is a name of an input field (checkbox in general), see nbChecked
// message the warning message to display
////////////////////////////////////////////////////////////////////////////////
function alertUnchecked(field, message)
{
  if (nbChecked(field) == 0)
  {
  	alert(message);
  	return false;
  }
  else
  {
    return true;
  }
}

////////////////////////////////////////////////////////////////////////////////
// this function inverts the fields checked or unchecked
// it return true if all fields are checked after that, false otherwise.
////////////////////////////////////////////////////////////////////////////////
function invertChecked(field)
{
  var allchecked = true;
  if (field)
  {
    if (!field.length)
    {
      field.checked = !field.checked;
	  if (allchecked && !field.checked)
	  {
	    allchecked = false;
	  }
	}
	else
	{
	  for (i = 0; i < field.length; i++)
	  {
	    field[i].checked = !field[i].checked;
	    if (allchecked && !field[i].checked)
	    {
	      allchecked = false;
	    }
	  }
	}
  }
  return allchecked;
}

////////////////////////////////////////////////////////////////////////////////
// this function cheks or unchecks all of the field depending n the value passed 
// in parameters
// value is of type field.checked
////////////////////////////////////////////////////////////////////////////////
function checkUncheckAll(field, value)
{
  if (field)
  {
    if (!field.length)
    {
	  field.checked = value;
	}
	else
	{
	  for (i = 0; i < field.length; i++)
	  {
	    field[i].checked = value;
	  }
	}
  }
}

////////////////////////////////////////////////////////////////////////////////
// this function sets the value of the given field to the new given value
//
// field is a name of an input field
////////////////////////////////////////////////////////////////////////////////
function setFieldValue(field, newValue)
{
  if (field)
  {
    field.value = newValue;
  }
}

/*

function invertChecked3(field1, field2, field3, fieldselectAll)
{
  var allchecked = true;
  if (field1)
  {
    if (!field1.length)
    {
      field1.checked = !field1.checked;
	  if (!field1.checked)
	  {
	    allchecked = false;
	  }
	}
	else
	{
	  for (i = 0; i < field1.length; i++)
	  {
	    field1[i].checked = !field1[i].checked;
	    if (!field1[i].checked)
	    {
	      allchecked = false;
	    }
	  }
	}
  }
  if (field2)
  {
	if (!field2.length)
    {
      field2.checked = !field2.checked;
	  if (!field2.checked)
	  {
	    allchecked = false;
	  }
	}
	else
	{
	  for (i = 0; i < field2.length; i++)
	  {
	    field2[i].checked = !field2[i].checked;
	    if (!field2[i].checked)
	    {
	      allchecked = false;
	    }
	  }
	}
  }
  if (field3)
  {
    if (!field3.length)
    {
      field3.checked = !field3.checked;
	  if (!field3.checked)
	  {
	    allchecked = false;
	  }
	}
	else
	{
	  for (i = 0; i < field3.length; i++)
	  {
	    field3[i].checked = !field3[i].checked;
	    if (!field3[i].checked)
	    {
	      allchecked = false;
	    }
	  }
	}

  if (allchecked)
  {
	fieldselectAll.checked = true;
  }
  else
  {
    fieldselectAll.checked=false;
  }
}

function CheckedAll(field,fieldselectAll)
{
  if (field)
  {
    if (!field.length)
    {
	  field.checked = fieldselectAll;
	}
	else
	{
	  for (i = 0; i < field.length; i++)
	  {
	    field[i].checked = fieldselectAll.checked;
	  }
	}
  }
}



function noSendEmail(field){
 if (field)
    field.value= "false";
}

function CheckedAll3(field1, field2, field3, fieldselectAll)
{
  if (field1)
  {
    if (!field1.length)
    {
	  field1.checked = fieldselectAll.checked;
	}
	else
	{
	  for (i = 0; i < field1.length; i++)
	  {
	    field1[i].checked = fieldselectAll.checked;
	  }
	}
  }
  if (field2)
  {
    if (!field2.length)
    {
	  field2.checked = fieldselectAll.checked;
	}
	else
	{
	  for (i = 0; i < field2.length; i++)
	  {
	    field2[i].checked = fieldselectAll.checked;
	  }
	}
  }
  if (field3)
  {
    if (!field3.length)
    {
	  field3.checked = fieldselectAll.checked;
	}
	else
	{
	  for (i = 0; i < field3.length; i++)
	  {
	    field3[i].checked = fieldselectAll.checked;
	  }
	}
  }
}
*/