function AHTML ()
{
    // Creates new element and returns it's object reference.
    this.InitElement = function (tag, id)
    {
        var element = document.createElement(tag);
        element.setAttribute('id', id);
        return element;
    }

    // Applies CSS style property to an element.
    this.SetStyle = function (element, name, value)
    {
        eval('element.style.' + name + '= value;');
    }

    // Adds new class name to element's class attribute value.
    this.AddClass = function (element, className)
    {
        var currentClass = element.className;
        if (currentClass)
        {
            var classNames = currentClass.split(' ');
            for (var i = 0; i < classNames.length; i ++)
            {
                if (className == classNames[i])
                {
                    // Already exists
                    return;
                }
            }
            className = currentClass + ' ' + className;
        }
        element.className = className;
    }

    // Removes class name for element's class attribute value.
    this.RemoveClass = function (element, className)
    {
        var newClass = '';
        var currentClass = element.className;
        if (currentClass)
        {
            var classNames = currentClass.split(' ');
            for (var i = 0; i < classNames.length; i ++)
            {
                if (className != classNames[i])
                {
                    0 < newClass.length ? newClass += ' ' : null;
                    newClass += classNames[i];
                }
            }
        }
        element.className = newClass;
   }

    // Adds new event listner to an element.
    this.AddEventListner = function (element, eventName, handler)
    {
        if (element.attachEvent)
        {
            // IE
            element.attachEvent("on" + eventName, handler);
        }
        else if (element.addEventListener)
        {
            // Gecko / W3C
            element.addEventListener(eventName, handler, true);
        }
        else
        {
            element['on' + eventName] = handler;
        }
    };

    this.RemoveEventListner = function (element, eventName, handler)
    {
        if (element.detachEvent)
        {
            // IE
            element.detachEvent('on' + eventName, handler);
        }
        else if (element.removeEventListener)
        {
            // Gecko / W3C
            element.removeEventListener(eventName, handler, true);
        }
        else
        {
            element['on' + eventName] = null;
        }
    };

    this.GetStyleProperty = function (element, IE_property, Moz_poperty)
    {
        if (element.currentStyle)
        {
            // IE
            return eval('element.currentStyle.' + IE_property);
        }
        else if (document.defaultView)
        {
            // Mozilla
            var currentStyle = document.defaultView.getComputedStyle(element, '');
            return currentStyle.getPropertyValue(Moz_poperty);
        }
    }


    this.SetCookie = function (name, value, expires, path, domain, secure)
    {
        document.cookie= name + "=" + escape(value) +
            ((expires) ? "; expires=" + expires.toGMTString() : "") +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            ((secure) ? "; secure" : "");
    }

    this.GetCookie = function (name)
    {
        var dc = document.cookie;
        var prefix = name + "=";
        var begin = dc.indexOf("; " + prefix);
        if (begin == -1)
        {
            begin = dc.indexOf(prefix);
            if (begin != 0) return null;
        }
        else
        {
            begin += 2;
        }
        var end = document.cookie.indexOf(";", begin);
        if (end == -1)
        {
            end = dc.length;
        }
        return unescape(dc.substring(begin + prefix.length, end));
    }

    this.DeleteCookie = function (name, path, domain)
    {
        if (getCookie(name))
        {
            document.cookie = name + "=" +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                "; expires=Thu, 01-Jan-70 00:00:01 GMT";
        }
    }
}
