
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 processOnServer = this.autoPostBack || this.IsServerEventAssigned("TailClick");
        var itemElement = clickedElement;        
        if(_aspxIsExists(itemElement)) {
            if (_aspxIsExists(this.RaiseTailClick))
                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);
}