﻿Type.registerNamespace('MyExtenders');

MyExtenders.HtmlAutoCompleteBehavior = function(element)
{
    MyExtenders.HtmlAutoCompleteBehavior.initializeBase(this, [element]);
}

MyExtenders.HtmlAutoCompleteBehavior.prototype = {
    initialize : function()
    {
        /// <summary>
        /// Initialize the behavior
        /// </summary>
        MyExtenders.HtmlAutoCompleteBehavior.callBaseMethod(this, 'initialize');
    },
    
    dispose : function()
    {
        MyExtenders.HtmlAutoCompleteBehavior.callBaseMethod(this, 'dispose');       
    },
    
    _fillElement : function(itemElement, completionItem)
    {
        try
        {
            if (completionItem.Html)
            {
                itemElement.innerHTML = completionItem.Html;
                itemElement._textValue = completionItem.Text;
                itemElement._value = completionItem.Value ? completionItem.Value:null;
            }
            else
            {
                MyExtenders.HtmlAutoCompleteBehavior.callBaseMethod(this, '_fillElement', [itemElement, completionItem]);
            }
        }
        catch(ex){MyExtenders.HtmlAutoCompleteBehavior.callBaseMethod(this, '_fillElement', [itemElement, completionItem]);}
    },
    
    _getTextFromItem : function(item)
    {
        if (item._textValue)
            return this._getTextWithInsertedWord(item._textValue);
        else
            MyExtenders.HtmlAutoCompleteBehavior.callBaseMethod(this, '_getTextFromItem', [item]);
    }
}

MyExtenders.HtmlAutoCompleteBehavior.registerClass('MyExtenders.HtmlAutoCompleteBehavior', AjaxControlToolkit.AutoCompleteBehavior);

if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();