/**
 * @author bartek
 */
var Hint = {

    show: function (element, innerHTML) {
        //if (navigator.userAgent.indexOf('MSIE 6') != -1) {
            //this.disableSelects();
        //}
        var innerElement = Builder.node('div', {className: 'hintBodyBottom'}, []);
        innerElement.innerHTML = innerHTML
        this.element = Builder.node('div', {className: 'hint', style: 'visibility: hidden; z-index: 1000'}, [
            Builder.node('div', {className: 'hintHead'}, []),
            Builder.node('div', {className: 'hintBody'}, [
                Builder.node('div', {className: 'hintBodyTop'}, []),
                innerElement
            ]),
            Builder.node('div', {className: 'hintFoot'}, []),
            Builder.node('div', {className: 'hintTipTop', style: 'display: none'}, []),
            Builder.node('div', {className: 'hintTipBottom'}, [])
        ]);
        document.body.appendChild(this.element);
        var offset = Position.cumulativeOffset(element);
        Element.setStyle(this.element, {
            left: offset[0] - 15 + 'px',
            top: offset[1] - this.element.offsetHeight - 23 + 'px'
        });
        this.element.style.visibility = 'visible';
        this.e = element;
    },

    hide: function () {
        if (this.element) {
            Element.remove(this.element);
            delete(this.element);
        }
        //if (navigator.userAgent.indexOf('MSIE 6') != -1) {
            //this.enableSelects();
        //}
    },

    disableSelects: function() {
        this.disabledSelects = $A(document.getElementsByTagName('select')).findAll(function (select) {
            return select.style.visibility != 'hidden' && select != this.e;
        }.bind(this));
        this.disabledSelects.each(function (select) {
            select.style.visibility = 'hidden';
        })
    },

    enableSelects: function() {
        this.disabledSelects.each(function (select) {
            select.style.visibility = 'visible';
        })
        this.disabledSelects = [];
    }

}