ASPxClientNewsControl = _aspxCreateClass(ASPxClientDataView, {
 constructor: function(name){
  this.constructor.prototype.constructor.call(this, name);
  this.TailClick = new ASPxClientEvent();  
 },
 DoTailClick: function(itemName, evt){
  var clickedElement = _aspxGetEventSource(evt);
  this.OnTailClick(clickedElement, itemName, evt);
 }, 
 OnTailClick: function(clickedElement, itemName, htmlEvent) {
  var itemElement = clickedElement;  
  if(_aspxIsExists(itemElement)) {
   var processOnServer = this.RaiseTailClick(itemElement, itemName, htmlEvent);  
   var hasItemLink = this.GetLinkElement(itemElement) != null;
   if(processOnServer && !hasItemLink) {      
    this.SendPostBack("CLICK:" + itemName);
   }
  }
 },
 RaiseTailClick: function(tailElement, itemName, htmlEvent){
  var processOnServer = this.autoPostBack || this.IsServerEventAssigned("TailClick");
  if(!this.TailClick.IsEmpty()){
   var args = new ASPxClientNewsControlItemEventArgs(processOnServer, itemName, tailElement, htmlEvent);
   this.TailClick.FireEvent(this, args);
   processOnServer = args.processOnServer;
  }
  return processOnServer;
 }
});
ASPxClientNewsControlItemEventArgs = _aspxCreateClass(ASPxClientProcessingModeEventArgs, {
 constructor: function(processOnServer, name, htmlElement, htmlEvent){
  this.constructor.prototype.constructor.call(this, processOnServer);
  this.name = name;
  this.htmlElement = htmlElement;
  this.htmlEvent = htmlEvent;
 }
});
function aspxHLTClick(evt, name, itemName) {
 var control = aspxGetControlCollection().Get(name);
 if(control != null) control.DoTailClick(itemName, evt);
}
