var closed = true;

function mostra(documento, divs, id)
{
  passed = parseInt(id);
  var element = null;
  rowstylevalue = 'block';
  if(isNetscape())
  {
    rowstylevalue = 'table-row';
  }  
  for (indice = 0; indice < divs.length; indice++)
  {
    element = documento.getElementById(divs[indice]);
    if((element != null) && (element != undefined))
    {
      if (indice == passed)
      {            
        if(element.title != "opened")
        {
          element.title = "opened";
          element.style.display = rowstylevalue;
        }
        else
        {
          element.title = "closed";
          element.style.display = 'none';
        }
      }
      else
      {
        element.title = "closed";
        documento.getElementById(divs[indice]).style.display = 'none';
      }
    }
	}
}

function checkAllItemsStatus(documento, divs)
{
	itemschiusi = 0;
	itemsaperti = 0;
	for(i = 0; i < divs.length; i++)
	{
		element_data = documento.getElementById(divs[i]);
		if(element_data != null)
     {
			if(element_data.title != "closed")
      {
				++itemschiusi;
			}
			else
			{
				++itemsaperti;
			}
		}
	}
	return ((itemsaperti > itemschiusi) ? "opened" : "closed")
}

function mostraTutti(documento, divs, alinkobj)
{ 
  rowstylevalue = 'block';
  if(isNetscape())
  {
    rowstylevalue = 'table-row';
  }  
	var element = null;
	itemsstatus = checkAllItemsStatus(documento, divs);
  for (indice = 0; indice < divs.length; indice++)
  {
    element = documento.getElementById(divs[indice]);
    if((element != null) && (element != undefined))
    {        
      if(!isEmpty(element.title))
      {        
        if(itemsstatus == "opened")
        {
          element.title = "opened";
          element.style.display = rowstylevalue;          
        }
        else
        {
          element.title = "closed";
          element.style.display = 'none';          
        }
      }
    }    
	}
	setAlinkStatus(documento, divs, alinkobj);
}

function hasToChangeLinkStatus(documento, divs, alinkobj)
{  
  tobechanged = false;  
  statocorrente = alinkobj.innerHTML;
  mostraoggetti = alinkobj.name;
	nascondioggetti = alinkobj.lang;
  statofuturolinks = checkAllItemsStatus(documento, divs);
  if(
    ((statocorrente == mostraoggetti) && (statofuturolinks == "closed")) ||
    ((statocorrente == nascondioggetti) && (statofuturolinks == "opened"))
  )
  {
    tobechanged = true;
  }
  return tobechanged;
}

function setAlinkStatus(documento, divs, alinkobj)
{
	if((alinkobj != null) && (alinkobj != undefined))
	{
		statocorrente = alinkobj.innerHTML;
		mostraoggetti = alinkobj.name;
		nascondioggetti = alinkobj.lang;
		if((!isEmpty(mostraoggetti)) && (!isEmpty(nascondioggetti)) && hasToChangeLinkStatus(documento, divs, alinkobj))
		{		
			if(statocorrente == mostraoggetti)
	    {  
		    alinkobj.innerHTML = nascondioggetti;
		  }
			else if(statocorrente == nascondioggetti)
			{  
		    alinkobj.innerHTML = mostraoggetti; 
		  }
	  }		
	}
}

function mostraTutto(documento, divs)
{  
  rowstylevalue = 'block';
  if(isNetscape())
  {
    rowstylevalue = 'table-row';
  }
  var element = null;
  for (indice = 0; indice < divs.length; indice++)
  {
    element = documento.getElementById(divs[indice]);
    if((element != null) && (element != undefined))
    {        
      if(!isEmpty(element.title))
      {
        if(closed)
        {
          element.title = "opened";
          element.style.display = rowstylevalue;          
        }
        else
        {
          element.title = "closed";
          element.style.display = 'none';          
        }
      }
    }    
	}
  closed = !closed;
}

function nascondiTutto(documento, divs)
{  
  var element = null;
  for (indice = 0; indice < divs.length; indice++)
  {
    element = documento.getElementById(divs[indice]);
    if((element != null) && (element != undefined))
    { 
      if(!isEmpty(element.title))
      {
        element.title = "closed";
        element.style.display = 'none';       
      }
    }    
	}
  closed = true;
}

function mostraFromIDToID(documento, divs, IDFrom, IDTo)
{    
  rowstylevalue = 'block';
  if(isNetscape())
  {
    rowstylevalue = 'table-row';
  }
  var element = null;
  for (indice = 0; indice < divs.length; indice++)
  {
    if((indice >= IDFrom) && (indice <= IDTo))
    {
      element = documento.getElementById(divs[indice]);
      if((element != null) && (element != undefined))
      {      
        if(element.title != "opened")
        {
          element.title = "opened";
          element.style.display = rowstylevalue;

        }
        else
        {
          element.title = "closed";
          element.style.display = 'none';
        }
      }
    }
	}
}

