﻿if (typeof(Phizzpop) == 'undefined') Phizzpop = {};

Phizzpop.Judging = new function() {
    setEvents(false);

    var _ids = ['Colborn', 'Pescovitz', 'Roope', 'Endreny', 'Pulciani'];
    var _readMoreSuffix = 'ReadMore';
    var _readLessSuffix = 'ReadLess';
    var _infoSuffix = 'Additional';
    var _hoverClassName = 'readaction hover';
    var _outClassName = 'readaction';

    function onload() {
        setReadClickEvents(false);
    }

    function dispose() {
        setEvents(true);
        setReadClickEvents(true);

        _ids.length = 0;
        _ids = _readMoreSuffix = _readLessSuffix = _infoSuffix = _hoverClassName = _outClassName = null;
    }

    function setEvents(disposing) {
        Phizzpop.setEvent(window, 'onunload', dispose, disposing);
        Phizzpop.setEvent(window, 'onload', onload, disposing);
    }

    function setReadClickEvents(disposing) {
        for (var i = 0, id; id = _ids[i]; i++) {
            var more = document.getElementById(id + _readMoreSuffix);
            var less = document.getElementById(id + _readLessSuffix);

            Phizzpop.setEvent(more, 'onclick', onReadMoreClick, disposing);
            Phizzpop.setEvent(more, 'onmouseover', onReadMouseOver, disposing);
            Phizzpop.setEvent(more, 'onmouseout', onReadMouseOut, disposing);

            Phizzpop.setEvent(less, 'onclick', onReadLessClick, disposing);
            Phizzpop.setEvent(less, 'onmouseover', onReadMouseOver, disposing);
            Phizzpop.setEvent(less, 'onmouseout', onReadMouseOut, disposing);
        }
    }

    function onReadMoreClick(e) {
        var more = Phizzpop.getElementFromEventArgs(e);
        var id = more.id.replace(_readMoreSuffix, '');
        var less = document.getElementById(id + _readLessSuffix);
        var info = document.getElementById(id + _infoSuffix);

        info.style.display = 'block';
        more.style.display = 'none';
        less.style.display = 'inline';
    }

    function onReadLessClick(e) {
        var less = Phizzpop.getElementFromEventArgs(e);
        var id = less.id.replace(_readLessSuffix, '');
        var more = document.getElementById(id + _readMoreSuffix);
        var info = document.getElementById(id + _infoSuffix);

        info.style.display = 'none';
        less.style.display = 'none';
        more.style.display = 'inline';
    }

    function onReadMouseOver(e) {
        var link = Phizzpop.getElementFromEventArgs(e);

        link.className = _hoverClassName;
    }

    function onReadMouseOut(e) {
        var link = Phizzpop.getElementFromEventArgs(e);

        link.className = _outClassName;
    }
}