var Forum = {
    setTitle: function(title) {
        if(title) title = Forum.stripTags(title) + ' - Форум - LIKARINFUND.ORG';
            else title = 'Форум - LIKARINFUND.ORG';
        document.title = title;
    },
    stripTags: function(str) {
            var key = '';
            var matches = [];
            var html = '';
            var replacer = function(search, replace, str) {
                return str.split(search).join(replace);
            };
            str += '';
            // Match tags
            matches = str.match(/(<\/?[\S][^>]*>)/gi);
            // Go through all HTML tags
            for (key in matches) {
                if (isNaN(key)) {
                    // IE7 Hack
                    continue;
                }
                // Save HTML tag
                html = matches[key].toString();
                str = replacer(html, "", str); // Custom replace. No regexing
            }
            return str;
    },
    spinner: {
        hide: function(){
            $('forumSpinner').hide();
            $('forumSpinnerImg').hide();
            if(Forum.spinner.message != '') {
                $('forumSpinnerMessage').innerHTML = Forum.spinner.message;
                $('forumSpinner').show();
            }
        },
        show: function(txt){
            $('forumSpinnerMessage').innerHTML = txt ? txt : 'ЗАГРУЗКА...';
            $('forumSpinnerImg').show();
            $('forumSpinner').show();
        },
        message: '',
        blink: function(r,g,b) {
            var d_r = Math.ceil((255 - r) / 5);
            var d_g = Math.ceil((255 - g) / 5);
            var d_b = Math.ceil((255 - b) / 5);
            $('forumSpinner').style.backgroundColor = 'RGB('+r+','+g+','+b+')';
            if(d_r + d_g + d_b > 0) {
                setTimeout('Forum.spinner.blink('+(r+d_r)+','+(g+d_g)+','+(b+d_b)+')', 100);
            } else {
                $('forumSpinner').style.backgroundColor = 'RGB(255,255,255)';
            }
        }
    },
    history: {
        currentHash: '',
        init: function(){
            if (Prototype.Browser.IE) {
                Forum.history.add(window.location.hash);
            }
            if (window.opera) opera.setOverrideHistoryNavigationMode('compatible');
        },
        add: function(anch) {
            if (Prototype.Browser.IE) {
                div = document.createElement("iframe");
                div.style.display = 'none';
                div.id = 'historyPagerIE';
                div.src = 'javascript:void('+new Date().getTime()+');';
                document.body.insertBefore(div,document.body.firstChild);
                with (frames['historyPagerIE'].document) {
                    open("text/html");
                    write("<html><head></head><body onl",
                        'oad="parent.window.location.hash = \'#' + anch.replace('#', '') +'\';">',
                        anch.replace('#', '')+"</body></html>");
                    close();
                }
            } else window.location.hash = '#' + anch.replace('#', '');

            // track page with google analytics
            try {
                var gapathname = window.location.pathname;
                var gasearch = window.location.search;
                var gahash = window.location.hash;
                if (gahash) gahash = gahash.replace('#', '');
                var customPageTracker = _gat._getTracker("UA-10680287-1");
                customPageTracker._trackPageview(gapathname + gasearch + gahash);
            } catch(err) {}

        },
        listen: function() {
            if (Forum.history.currentHash.replace('#', '') != window.location.hash.replace('#', '')) {
                Forum.parseHash();
            }
        }
    },
    parseHash: function() {
        switch(window.location.hash.replace('#', '').split('?')[0]) {
            case '':
                Forum.exec.welcome();
                break;
            case 'login:succeed':
                window.location.hash = '';
                break;
            case 'faq':
                Forum.exec.faq();
                break;
            case 'rules':
                Forum.exec.rules();
                break;
            case 'new':
                Forum.exec.newTheme();
                break;
            case 'filter':
                Forum.exec.filter();
                break;
            case 'filterresults':
                Forum.exec.filterResults(window.location.hash.split('?')[1]);
                break;
            case 'settings':
                Forum.exec.settings();
                break;
            default:
                var regs = {
                    treeAndMessage: /^(\d+)\/(\d+)\/(\d+)\/?(name|ename|date|etad)?$/,
                    themeOpen: /^(\d+)\/(\d+)$/,
                    messageButton: /^(\d+)\/(\d+)\/(\d+)\/moderatorial$/,
                    messageEdit: /^(\d+)\/(\d+)\/(\d+)\/edit$/,
                    discuss: /^discuss\/(\d+)$/
                };
                for (var reg in regs) {
                    var result = regs[reg].exec(window.location.hash.replace('#', '').split('?')[0]);
                    if (result) {
                        window['Forum']['exec'][reg](result);
                        break;
                    }
                }
        }
        Forum.history.currentHash = '#' + window.location.hash.replace('#', '');
    },
    screen: {
        width: function() {
            return window.innerWidth ? window.innerWidth : document.body.clientWidth;
        },
        height: function() {
            return window.innerHeight ? window.innerHeight : document.body.clientHeight;
        },
        doWindowResize: function() {
            var screen_width = Forum.screen.width();
            var screen_height = Forum.screen.height();
            var height = Math.max(screen_height - $('header').offsetHeight, 100);
            var width = Math.max(screen_width, 150);
            var leftWidth = Math.floor(screen_width*0.27);
            var rightWidth = screen_width - leftWidth;
            var halfHeight = (Math.floor(height/2));
            $('menu').style.top = $('header').offsetHeight + 'px';
            $('menu').style.height = height + 'px';
            $('menu').style.width = leftWidth + 'px';
            $('tree').style.top = $('header').offsetHeight + 'px';
            $('tree').style.height = halfHeight +'px';
            $('tree').style.width = rightWidth + 'px';
            $('message').style.width = rightWidth + 'px';
            if ($('tree').style.display == 'none') {
                $('message').style.height = height +'px';
            } else {
                $('message').style.top = $('header').offsetHeight + halfHeight + 'px';
                $('message').style.height = halfHeight +'px';
                $('message').style.width = rightWidth + 'px';
            }
        },
        tree: {
            hide: function() {
                Element.hide('tree');
                $('message').style.height = Forum.screen.height() - $('header').offsetHeight + 'px';
                $('message').style.top = $('header').offsetHeight + 'px';
            },
            show: function() {
                Element.show('tree');
                $('message').style.height = Forum.screen.height() - $('header').offsetHeight - $('tree').offsetHeight + 'px';
                $('message').style.top = $('header').offsetHeight + $('tree').offsetHeight + 'px';
            }
        }
    },
    resize: {
        dragging: false,
        grab: {
            x: 0,
            y: 0,
            width:0,
            height:0
        },
        proceed: function(e) {
            var xMin = 50; //The smallest width possible
            var yMin = 50; //             height
            if (this.dragging) {
                if (this.dragging == 'menuResize') {
                    var screen_width = Forum.screen.width();
                    var tmp = Math.max(xMin, this.grab.width + e.clientX - this.grab.x);
                    tmp = Math.min(tmp, screen_width - xMin);
                    $('menu').style.width = tmp + "px";
                    $('tree').style.width = (screen_width - tmp) + "px";
                    $('message').style.width = (screen_width - tmp) + "px";
                }
                if (this.dragging == 'treeResize') {
                    var screen_height = Forum.screen.height();
                    var tmp = Math.max(yMin, this.grab.height + e.clientY - this.grab.y);
                    tmp = Math.min(tmp, screen_height - $('header').offsetHeight - yMin);
                    $('tree').style.height =  tmp + "px";
                    $('message').style.top = (tmp + $('header').offsetHeight) + "px";
                    $('message').style.height = (screen_height - tmp - $('header').offsetHeight) + "px";
                }
                if(document.selection)document.selection.clear();
                    else window.getSelection().removeAllRanges();
            } else {
                if(Event.element(e).id == 'menuSpacer') $('menuSpacer').className = 'hotSpacer';
                    else $('menuSpacer').className = 'spacer';
                if(Event.element(e).id == 'treeSpacer') $('treeSpacer').className = 'hotSpacer';
                    else $('treeSpacer').className = 'spacer';
            }
        },
        start: function(e, target) {
            this.dragging = target+'Resize';
            this.grab.x = e.clientX;
            this.grab.y = e.clientY;
            this.grab.width = $(target).offsetWidth;
            this.grab.height = $(target).offsetHeight;
            $(target+'Spacer').className = 'hotSpacer';
            e.stop();
        },
        stop: function(){
            if (this.dragging) {
                this.dragging = false;
                $('menuSpacer').className = 'spacer';
                $('treeSpacer').className = 'spacer';
            }
        }
    },
    exec: {
        welcome: function() {
            new Ajax.Updater('message', '/forum/messageView/0', {
                method: 'get',
                parameters: {ajax: true},
                onCreate: function() {Forum.spinner.show();},
                onComplete: function() {
                    Forum.screen.tree.hide();
                    Forum.spinner.hide();
                    Forum.setTitle();
                }
            });
        },
        newTheme: function() {
            new Ajax.Updater('message', '/forum/new', {
                method: 'get',
                parameters: {ajax: true},
                onCreate: function() {Forum.spinner.show();},
                onComplete: function() {
                    Forum.screen.tree.hide();
                    Forum.exec.listenNewThemeForm();
                    Forum.spinner.hide();
                    Forum.setTitle('Новая тема');
                }
            });
        },
        listenNewThemeForm: function() {
            if ($('newThemeForm')) {
                Event.observe('newThemeForm', 'submit', function(e) {
                    var newTheme = $('newThemeForm').conf.value;
                    if (newTheme == '0') {
                        alert('Выберите конференцию');
                        Event.stop(e);
                        return;
                    }
                    if ($('newThemeForm').subject.value == '') {
                        alert('Надо что-то написать в теме сообщения...');
                        Event.stop(e);
                        return;
                    }
                    new Ajax.Updater('message', $('newThemeForm').action, {
                        method: 'post',
                        parameters: Object.extend($('newThemeForm').serialize(true), {ajax: true}),
                        onCreate: function() {Forum.spinner.show();},
                        onComplete: function() {
                            Forum.spinner.hide();
                            if($('themeId') && $('themeId').value > 0) {
                                new Ajax.Updater('treeContainer', '/forum/themeTree', {
                                    method: 'get',
                                    parameters: {themeId: $('themeId').value, ajax: true},
                                    onCreate: function() {Forum.spinner.show();},
                                    onComplete: function() {
                                        Forum.screen.tree.show();
                                        Forum.history.currentHash = '#' + $('confId').value + '/' + $('themeId').value + '/' +$('messageId').value;
                                        Forum.history.add(Forum.history.currentHash);
                                        Forum.spinner.hide();
                                    }
                                });
                            }
                            Forum.exec.confOpen({pathname: '/forum/0/0/0/open/'+newTheme});
                            var title = '';
                            if($('messageSubject')) {
                                title = $('messageSubject').innerHTML;
                            }
                            Forum.setTitle(title);
                        }
                    });
                    Event.stop(e);
                });
            }
        },
        filter: function() {
            new Ajax.Updater('message', '/forum/filter', {
                method: 'get',
                parameters: {ajax: true},
                onCreate: function() {Forum.spinner.show();},
                onComplete: function() {
                    Forum.screen.tree.hide();
                    Forum.exec.listenFilterForm();
                    Forum.spinner.hide();
                    Forum.setTitle('Поиск сообщений');
                }
            });
        },
        listenFilterForm: function() {
            if ($('filterForm')) {
                Event.observe('filterForm', 'submit', function(e) {
                    Forum.history.add('#filterresults?' + $('filterForm').serialize());
                    Event.stop(e);
                });
            }            
        },
        filterResults: function(search) {
            new Ajax.Updater('message', '/forum/filterresults', {
                method: 'get',
                parameters: search +'&ajax=true',
                onCreate: function() {Forum.spinner.show();},
                onComplete: function() {
                    Forum.screen.tree.hide();
                    Forum.spinner.hide();
                    Forum.setTitle('Результаты поиска');
                }
            });
        },
        faq: function() {
            new Ajax.Updater('message', '/forum/faq', {
                method: 'get',
                parameters: {ajax: true},
                onCreate: function() {Forum.spinner.show();},
                onComplete: function() {
                    Forum.screen.tree.hide();
                    Forum.spinner.hide();
                    Forum.setTitle('FAQ');
                }
            });
        },
        rules: function() {
            new Ajax.Updater('message', '/forum/rules', {
                method: 'get',
                parameters: {ajax: true},
                onCreate: function() {Forum.spinner.show();},
                onComplete: function() {
                    Forum.screen.tree.hide();
                    Forum.spinner.hide();
                    Forum.setTitle('Правила');
                }
            });
        },
        treeAndMessage: function(result) {
            if (!result[4]) result[4] = '';
            if(!$('messageId') || $('messageId').value != result[3]) {
                Forum.exec.message(result[3]);
            }
            if(!$('treeThemeId') || $('treeThemeId').value != result[2] + ':' + result[4]) {
                Forum.exec.tree(result[2], result[4]);
            }
        },
        message: function(id) {
            new Ajax.Updater('message', '/forum/messageView/'+id, {
                method: 'get',
                evalScripts: true,
                parameters: {ajax: true},
                onCreate: function() {Forum.spinner.show();},
                onComplete: function() {
                    Forum.screen.tree.show();
                    Forum.exec.listenMessageForm();
                    Forum.spinner.hide();
                    var title = '';
                    if($('messageSubject')) {
                        title = $('messageSubject').innerHTML;
                    }
                    Forum.setTitle(title);
                }
            });
        },
        messageEdit: function(result) {
            new Ajax.Updater('message', '/forum/'+result[1]+'/'+result[2]+'/'+result[3]+'/edit', {
                method: 'get',
                parameters: {ajax: true},
                onCreate: function() {Forum.spinner.show();},
                onComplete: function() {
                    Forum.screen.tree.hide();
                    Forum.exec.listenMessageForm();
                    Forum.spinner.hide();
                    Forum.setTitle('Редактирование сообщения');
                }
            });
        },
        messageDelete: function(el) {
            var reg = /^\/?forum\/(\d+)\/(\d+)\/(\d+)\/delete$/;
            var result = reg.exec(el.pathname);
            if (result) {
                if(!confirm('Вы уверены, что хотите удалить это сообщение?')) {
                    return;
                }
                new Ajax.Updater('message', '/forum/'+result[1]+'/'+result[2]+'/'+result[3]+'/delete', {
                    method: 'get',
                    parameters: {ajax: true},
                    onCreate: function() {Forum.spinner.show();},
                    onComplete: function() {
                        if($('link_' + result[3])) $('link_' + result[3]).innerHTML = '...';
                        Forum.spinner.hide();
                    }
                });
            }
        },
        listenMessageForm: function() {
            if ($('messageForm')) {
                Event.observe('messageForm', 'submit', function(e) {
                    if ($('messageForm').subject.value == '') {
                        alert('Надо что-то написать в теме сообщения...');
                        Event.stop(e);
                        return;
                    }
                    new Ajax.Updater('message', $('messageForm').action, {
                        method: 'post',
                        parameters: Object.extend($('messageForm').serialize(true), {ajax: true}),
                        onCreate: function() {Forum.spinner.show();},
                        onComplete: function() {
                            Forum.spinner.hide();
                            if($('treeThemeId') && $('treeThemeId').value) {
                                Forum.exec.tree($('treeThemeId').value.split(':')[0], $('treeThemeId').value.split(':')[1]);
                            } else if($('themeId') && $('themeId').value) {
                                Forum.exec.tree($('themeId').value, false)
                            }
                            var title = '';
                            if($('messageSubject')) {
                                title = $('messageSubject').innerHTML;
                            }
                            Forum.setTitle(title);
                            Forum.history.currentHash = '#' + $('confId').value + '/' + $('themeId').value + '/' +$('messageId').value;
                            Forum.history.add(Forum.history.currentHash);
                        }
                    });
                    Event.stop(e);
                });
            }
        },
        tree: function(id, srt) {
            if (srt) srt = '/' + srt; else srt = '';
            new Ajax.Updater('treeContainer', '/forum/themeTree/' + id + srt, {
                method: 'get',
                parameters: {ajax: true},
                onCreate: function() {Forum.spinner.show();},
                onComplete: function() {
                    Forum.screen.tree.show();
                    Forum.spinner.hide();
                }
            });
        },
        confOpen: function(el) {
            var reg = /^\/?forum\/(\d+)\/(\d+)\/(\d+)\/(open|close)\/(\d+)$/;
            var result = reg.exec(el.pathname);
            if (result) {
                new Ajax.Updater('menuContainer', '/forum/confList/'+ result[1] + '/' + result[2] + '/' + result[4] + '/' + result[5], {
                    method: 'get',
                    parameters: {ajax: true},
                    onCreate: function() {Forum.spinner.show();},
                    onComplete: function() {Forum.spinner.hide();}
                });
            }
        },
        themePin: function(el) {
            var reg = /^\/?forum\/(\d+)\/(\d+)\/(\d+)\/(pin|unpin)\/(\d+)$/;
            var result = reg.exec(el.pathname);
            if (result) {
                new Ajax.Updater('menuContainer', '/forum/confList/'+ result[1] + '/' + result[2] + '/' + result[4] + '/' + result[5], {
                    method: 'get',
                    parameters: {ajax: true},
                    onCreate: function() {Forum.spinner.show();},
                    onComplete: function() {Forum.spinner.hide();}
                });
            }
        },
        themeOpen: function(result) {
            new Ajax.Updater('treeContainer', '/forum/themeTree/' + result[2], {
                method: 'get',
                parameters: {ajax: true},
                onCreate: function() {Forum.spinner.show();},
                onComplete: function() {
                    Forum.screen.tree.show();
                    Forum.spinner.hide();
                    if ($('mainMessageId') && $('mainMessageId').value > 0) {
                        Forum.exec.message($('mainMessageId').value);
                    }
                }
            });
        },
        messageButton: function(result) {
            new Ajax.Updater('message', '/forum/'+ result[1] + '/' + result[2] + '/' + result[3] + '/moderatorial', {
                method: 'get',
                parameters: {ajax: true},
                onCreate: function() {Forum.spinner.show();},
                onComplete: function() {
                    Forum.screen.tree.hide();
                    Forum.exec.listenModeratorialForm();
                    Forum.spinner.hide();
                    Forum.setTitle('Сообщение модератору');
                }
            });
        },
        listenModeratorialForm: function() {
            if ($('moderatorialForm')) {
                Event.observe('moderatorialForm', 'submit', function(e) {
                        if ($('moderatorialForm').userId.value == '0') {
                            if ($('moderatorialForm').author.value == '') {
                                alert('Представьтесь, пожалуйста');
                                Event.stop(e)
                                return;
                            }
                            if ($('moderatorialForm').email.value == '') {
                                alert('Укажите, пожалуйста, свой Email');
                                Event.stop(e)
                                return;
                            }
                        }
                        if ($('moderatorialForm').messageBody.value == '') {
                            alert('А сообщение-то пустое!');
                            Event.stop(e);
                            return;
                        }
                    new Ajax.Updater('message', $('moderatorialForm').action, {
                        method: 'post',
                        evalScripts: true,
                        parameters: Object.extend($('moderatorialForm').serialize(true), {ajax: true}),
                        onCreate: function() {Forum.spinner.show();},
                        onComplete: function() {Forum.spinner.hide();}
                    });
                    Event.stop(e);
                });
            }            
        },
        loginFormSubmit: function() {
            var lnk = location.hash.replace('#', '');
            if (lnk) {
                lnk = '/forum/' + lnk;
            }   else {
                lnk = location.pathname;
            }
            $('topLoginForm').action = lnk.split('?')[0] + $('topLoginForm').action.replace(location.protocol+'//'+location.host,'');
        },
        settings: function() {
            new Ajax.Updater('message', '/forum/settings', {
                method: 'get',
                parameters: {ajax: true},
                onCreate: function() {Forum.spinner.show();},
                onComplete: function() {
                    Forum.screen.tree.hide();
                    Forum.spinner.hide();
                    Forum.exec.listenSettingsForm();
                    Forum.setTitle('Настройки');
                }
            });
        },
        listenSettingsForm: function() {
            if ($('settingsForm')) {
                Event.observe('settingsForm', 'submit', function(e) {
                    new Ajax.Updater('message', $('settingsForm').action, {
                        method: 'post',
                        evalScripts: true,
                        parameters: Object.extend($('settingsForm').serialize(true), {ajax: true}),
                        onCreate: function() {Forum.spinner.show();},
                        onComplete: function() {
                            Forum.spinner.hide();
                        }
                    });
                    Event.stop(e);
                });
            }            
        },
        discuss: function(result) {
            new Ajax.Updater('message', '/forum/discuss/' + result[1], {
                method: 'get',
                parameters: {ajax: true},
                onCreate: function() {Forum.spinner.show();},
                onComplete: function() {
                    Forum.screen.tree.hide();
                    Forum.exec.listenDiscussForm();
                    Forum.spinner.hide();
                }
            });
        },
        listenDiscussForm: function() {
            if ($('discussForm')) {
                Event.observe('discussForm', 'submit', function(e) {
                    if ($('discussForm').subject.value == '') {
                        alert('Надо что-то написать в теме сообщения...');
                        Event.stop(e);
                        return;
                    }
                    new Ajax.Updater('message', $('discussForm').action, {
                        method: 'post',
                        evalScripts: true,
                        parameters: Object.extend($('discussForm').serialize(true), {ajax: true}),
                        onCreate: function() {Forum.spinner.show();},
                        onComplete: function() {
                            Forum.spinner.hide();
                        }
                    });
                    Event.stop(e);
                });
            }            
        },
        unsubscribe: function(el) {
            new Ajax.Request( el.href, {
                method: 'get',
                parameters: {ajax: true},
                evalScripts: true,
                onCreate: function() {Forum.spinner.show();},
                onComplete: function() {
                    Forum.spinner.hide();
                }
            });
        }
    },
    catchClick: function(e) {
        var el;
        if (!Event.isLeftClick(e) && !Prototype.Browser.IE) return;
        if (Event.element(e).id == 'loginButton') {
            Forum.exec.loginFormSubmit();
            return;
        }
        if (Event.element(e).tagName == 'A') {
            el = Event.element(e);
        } else if ((
                Event.element(e).tagName == 'IMG' || 
                Event.element(e).tagName == 'B' || 
                Event.element(e).tagName == 'FONT'
            ) && 
            Event.element(e).parentNode &&
            Event.element(e).parentNode.tagName == 'A') {
                el = Event.element(e).parentNode;
        } else if (
            Event.element(e).tagName == 'B' && 
            Event.element(e).parentNode.tagName == 'FONT' && 
            Event.element(e).parentNode.parentNode && 
            Event.element(e).parentNode.parentNode.tagName == 'A') {
                el = Event.element(e).parentNode.parentNode;
        } else return;
        if (el.target == "_blank") return;
        if (el.href.startsWith('javascript:')) return;
        if (!el.href.startsWith('http://'+el.hostname+'/forum')) return;

        Forum.spinner.message = '';

        switch (el.className) {
            case 'anchor':
                if($(el.hash.replace('#', ''))) {
                    $(el.hash.replace('#', '')).scrollIntoView(true);
                }
                break;
            case 'themePin':
                Forum.exec.themePin(el);
                break;
            case 'listConf':
                Forum.exec.confOpen(el);
                break;
            case 'messageHeaderButton deleteMessageButton':
                Forum.exec.messageDelete(el);
                break;
            case 'unsubscribe':
            case 'messageHeaderButton unsubscribe':
                Forum.exec.unsubscribe(el);
                break;
            case 'treeMessage':
                var img = $(el.id.replace('link', 'img'));
                if(img.className == 'hot') img.className = 'visited';
            case 'listTheme':
                el.className += ' visited';
            default:     
                var newHash = el.pathname;
                if(newHash.indexOf('/') == 0) newHash = newHash.substring(1);
                newHash = newHash.replace('forum/', '#');
                if(el.search) {
                    if(el.search.indexOf('%') > -1 ) {
                        if ($('encodedSearchStr') && $('decodedSearchStr')) {
                            newHash += el.search.replace($('encodedSearchStr').value, $('decodedSearchStr').value);
                        }
                    } else newHash += el.search;
                }
                Forum.history.add(newHash);
        }
        Event.stop(e);
    }
}
document.observe('dom:loaded', function() {
    Forum.screen.doWindowResize();
    Forum.parseHash();
    Forum.history.init();
    window.setInterval(function(){ Forum.history.listen();}, 100);
    Event.observe(document.onresize ? document : window, "resize", function(){ Forum.screen.doWindowResize(); });
    Event.observe(document, 'mousemove', function(e){ Forum.resize.proceed(e); });
    Event.observe($('menuSpacer'), 'mousedown', function(e) { Forum.resize.start(e, 'menu'); });
    Event.observe($('treeSpacer'), 'mousedown', function(e) { Forum.resize.start(e, 'tree'); });
    Event.observe(document, 'mouseup', function(){ Forum.resize.stop(); });
    Event.observe(document, 'click', function(e){ Forum.catchClick(e); });

    $('menuSpacer').style.cursor = 'w-resize';
    $('treeSpacer').style.cursor = 's-resize';
});

function profile(code) {
    window.open('/users/'+code, 'win_'+Math.random().toString().replace('.', ''), "width=450,height=550,toolbar=0,scrollbars=1");
    return false;
}
