function UIClass(headerUIMessagesElementId, headerLoaderElementId, jSessionId)
{
  var _UI = this;
  this.jSessionId = jSessionId;
  this.headerUIMessagesElementId = headerUIMessagesElementId;
  this.headerLoaderElementId = headerLoaderElementId;   
  
  this.isDefined = function(_target) 
  {
    return (typeof _target != "undefined");
  }
  
  this.isNotNull = function(_target) 
  {
    return (_target != null);
  }
  
  this.setUIMessage = function(message, focusElementId, select) 
  {
	if (! _UI.isDefined(message))
	{
	  message = '';	
	}	
    var headerUIMessagesElement = document.getElementById(_UI.headerUIMessagesElementId);    
    var focusElement = document.getElementById(focusElementId);
    
    if (headerUIMessagesElement != null)
    {	
      headerUIMessagesElement.innerHTML = message;  	  
    }
    
    if (focusElement != null)
    {
      focusElement.focus();
      if (select)
      {
        focusElement.select();
      }
    }
  }

  this.displayLoader = function(display) 
  {
	var headerLoaderElement = document.getElementById(_UI.headerLoaderElementId);
    
    if (headerLoaderElement != 'undefined')
    {    
      if (display)
	  {		
    	headerLoaderElement.style.display = 'inLine';	    
	  }
	  else
	  {	  	  
		headerLoaderElement.style.display = 'none';
	  }
    }
  }
  
  this.addJSessionId = function() 
  {
	if (document.cookie == '')
	{
	  return ';jsessionid=' + _UI.jSessionId;
	}
	else
	{
	  return '';
	}     
  }
  
  this.isCookiesEnabled = function()
  {
    return (document.cookie != '');
  }
  
  this.startWait = function()
  {   
    _UI.displayLoader(true);
    _UI.setUIMessage('Attendere...', null, false);
  }
  
  this.endWait = function()
  {   
	_UI.setUIMessage('', null, false);
    _UI.displayLoader(false);
  }
      
}

