var wwSites = {
    timeout: 500,
    closetimer: 0,
    closeFunc: function() { wwSites.closeImmediately(); },

    open: function() {
        this.cancelClose();
        var el = dgTools.$('wwsites_box');
        el.style.display = 'block';
        el.style.visibility = 'visible';
        dgTools.observe(document, 'click', this.closeFunc);
    },
    closeImmediately: function() {
        dgTools.unobserve(document, 'click', this.closeFunc);
        var el = dgTools.$('wwsites_box');
        el.style.display = 'none';
        el.style.visibility = 'hidden';
    },

    close: function() {
        this.closetimer = window.setTimeout(function() { wwSites.closeImmediately() }, this.timeout);
    },

    cancelClose: function() {
        if (this.closetimer) {
            window.clearTimeout(this.closetimer);
            this.closetimer = null;
        }
    }
};
