
/* Funzioni javascript per l'oggetto DSTitleBar. Per la documentazione vedere l'help della DSLib. */


/* ===== TITLE ===== */


// Imposta Titolo e Versione
function _DSTitleBar_ResetTitle(module,version)
{
	if (module != null) title_module_description.innerText = module;
	if (version != null) title_module_version.innerText = version;
}



/* ===== TABMANAGER ===== */


function _TabManager_OnTabMouseOver(pTab)
{
  if (pTab.enabled) pTab.className='tab_hover';
}


function _TabManager_OnTabMouseOut(pTab)
{
  if (pTab.enabled) pTab.className='tabactive';
}


// Imposta il colore del Led di un TAB
function _TabManager_SetLed(pTab,mode)
{
	var Led = document.all(pTab.led);
  if (Led != null )
  {
    Led.status = mode;
    if (mode < 0)
      Led.style.display = "none";
    else if (mode == 0)
      Led.src = "/dslib/images/redled.gif";
    else
      Led.src = "/dslib/images/greenled.gif";
  }
}


// Ritorna lo stato del Led
function _TabManager_GetLed(pTab)
{
	var Led = document.all(pTab.led);
  if (Led.status != null && Led.status != "") 
		return Led.status;
	else 
		return 0;
}


function _TabManager_GetCurrent()
{
  return this.current;
}


function _TabManager_Lock(pTab)
{
  if ( pTab == null )
  {
    for ( var k=0; k<this.TabList.length; k++ )
    {
	  this.TabList[k].className = "tablocked";
	  this.TabList[k].enabled = false;
    }
  }
  else
  {
	pTab.className = "tablocked";
	pTab.enabled = false;
  }
}


function _TabManager_Unlock(pTab)
{
  if ( pTab == null )
  {
    for ( var k=0; k<this.TabList.length; k++ )
    {
	  this.TabList[k].className = "tabactive";
	  this.TabList[k].enabled = true;
    }
  }
  else
  {
    pTab.className = "tabactive";
    pTab.enabled = true;
  }
}


function _TabManager_Change(pTab) 
{
	var pDiv = document.all(pTab.targetdiv);
	var pLed = document.all(pTab.led);
	var pVal = this.current;
	pTab.enabled = (pTab.enabled.toString() == 'true');
	
	if ((this.current == pTab) || (!pTab.enabled)) 
		return;
	
	var isOk = true; 
	if (pVal != null && pVal.onvalidate != null && pVal.onvalidate != "") 
		isOk = eval(pVal.onvalidate);
		
	if (this.current != null) 
	{
		if (Number(isOk) != -1) 
			this.SetLed(this.current, Number(isOk));
			
		isOk = (Number(isOk) != 0);
		if (isOk) 
		{
			document.all(this.current.targetdiv).style.display = "none";
			this.current = pTab;
			pDiv.style.display = "";
			if (pTab != null && pTab.myonactivate != null && pTab.myonactivate != "") 
				eval(pTab.myonactivate);
		} 
	}
	else 
	{ 
		pDiv.style.display = ""; 
		this.current = pTab; 
	}
}



/* ===== PADMANAGER ===== */


function _PadManager()
{
  this.SetEnabled = _PadManager_SetEnabled;
  this.SetDisabled = _PadManager_SetDisabled;
  this.ToggleEnabled = _PadManager_ToggleEnabled;
  this.SetVisible = _PadManager_SetVisible;
  this.SetHidden = _PadManager_SetHidden;
  this.ToggleVisible = _PadManager_ToggleVisible;
  this.length = _PadManager_Length;
}
					

function _PadManager_SetEnabled(pPad)
{
	try
	{
		if (!pPad.enabled)
		{
			pPad.className = 'navigationlink';
			pPad.enabled = true;
			pPad.disabled = false;
		}
	}
	catch(e){}
}


function _PadManager_SetDisabled(pPad)
{
  	try
	{
		if (pPad.enabled)
		{
			pPad.className = 'navigationlink_disabled';
			pPad.enabled = false;
			pPad.disabled = true;
		}		
	}
	catch(e){}
}


function _PadManager_ToggleEnabled(pPad)
{
   	try
	{
		if (pPad.enabled)
			_PadManager_SetDisabled(pPad)
		else
			_PadManager_SetEnabled(pPad)
	}
	catch(e){}
}


function _PadManager_SetVisible(pPad)
{
	try
	{
		if (!pPad.visible)
		{
			pPad.style.display = '';
			pPad.visible = true;
		}
	}
	catch(e){}
}


function _PadManager_SetHidden(pPad)
{
	try
	{
		if (pPad.visible)
		{
			pPad.style.display = 'none';
			pPad.visible = false;
		}
	}
	catch(e){}
}


function _PadManager_ToggleVisible(pPad)
{
	try
	{
		if (pPad.enabled)
			_PadManager_SetVisible(pPad)
		else
			_PadManager_SetHidden(pPad)
    }
    catch(e){}
}


