function LoginClass(loginElementId, loginFragment, userDataElementId, userDataFragment, shipmentDataElementId, shipmentDataFragment) 
{
  var _login = this;
  
  this.loginElementId = loginElementId;
  this.loginFragment = loginFragment;
  this.userDataElementId = userDataElementId;
  this.userDataFragment = userDataFragment;
  this.shipmentDataElementId = shipmentDataElementId;
  this.shipmentDataFragment = shipmentDataFragment;
  
  this.loginComplete = function(dataLoad)
  {
	if (dataLoad)
	{	
	  var userDataElement = document.getElementById(_login.userDataElementId); 
	  var shipmentDataElement = document.getElementById(_login.shipmentDataElementId);
	  
	  if (userDataElement != null)
	  {     
	    new Ajax.Updater(
	      _login.userDataElementId, 
	      UIObj.absRoot + '/' + _login.userDataFragment + UIObj.addJSessionId(), 
	      { 
	        method: 'post', 
	        onFailure: UIObj.failureAjaxUpdater,
	        parameters: 
	        {
	          dataLoad: dataLoad
	        }, 
	        evalScripts: true
	      }
	    );
	  }
	  
	  if (shipmentDataElement != null)
	  {     
	    new Ajax.Updater(
	      _login.shipmentDataElementId, 
	      UIObj.absRoot + '/' + _login.shipmentDataFragment + UIObj.addJSessionId(), 
	      { 
	        method: 'post', 
	        onFailure: UIObj.failureAjaxUpdater,
	        parameters: 
	        {
	          dataLoad: dataLoad
	        }, 
	        evalScripts: true
	      }
	    );
	  }
	}    
  }
  
  this.loginRequest = function(userName, password, dataLoad) 
  {   
    if ((userName != '') && (password != ''))
    {
      if (document.getElementById(_login.loginElementId) != null)
      { 
    	new Ajax.Updater(
          _login.loginElementId, 
          UIObj.absRoot + '/' + _login.loginFragment + UIObj.addJSessionId(), 
          { 
            method: 'post', 
            onFailure: UIObj.failureAjaxUpdater,
            onComplete: function(dataLoad) {
        	  _login.loginComplete(dataLoad ? true : false);
            }, 
            parameters: 
            {
              userName: userName,          
              password: password,
              dataLoad: dataLoad
            }, 
            evalScripts: true
          }
        );
      }
    }     
  }
}
