  // ----------------------------------------------------------------------
  // Error handler
  // ----------------------------------------------------------------------

  function ErrorHandler(error) {
	  if (error.status == 0) {
		  // Conection error
			jAlert(_('Connetion error.'), _('Error'));
		}
		else if (error.status == 500) {
			// OK, we have an RemObjects response as Error
			var ROResponse = YAHOO.util.Lang.JSON.parse(error.responseText);
			var ErrorNumberPattern = /0x.{8}/;    // Match {0x????????}
			var ErrorNumber = ROResponse.error.message.match(ErrorNumberPattern);
			
			if (ErrorNumber != null) {
  			Logoff();

				switch(parseInt(ErrorNumber)) {
				  case 4097: // No session found
				  case 4098: // Session is not authenticated
					  ErrorText = _('Your session has expired, or you are not authenticated.');
						break;
					default:	
					  ErrorText = ROResponse.error.message.replace('{' + ErrorNumber + '}', '');
				}		
				jAlert(ErrorText, _('Error'));
			} else {
  		  jAlert(ROResponse.error.message, _('Error'));
			}
	  }
		else if (error.status == 503) {
		  // Service not available
	    jAlert(_('Service not available.'), _('Error'));
	  } else {
			jAlert(_('Unknown error:') + ' ' + error.statusText, _('Error'));
		}
  }
