/*
Метки.
При клике по метке, ее текст присваивается заданному элементу.
*/
var marks = Class.create();
marks.prototype = {
    initialize: function(params) {
        this.markClassName  = params.markClassName;
        if (!this.getMarks(params.marksId))
            return;
        this.targetElement  = $(params.targetId);
    },

    // собираем все метки в заданном элементе
    // меткой является всё, что обернуто в тег <span>
    getMarks: function(marksId) {
        var marksLayer = $(marksId);
        if (!marksLayer)
            return false;
        this.marksElements = $(marksLayer).getElementsByTagName('span');
        var l = this.marksElements.length;
        for (var i = 0; i < l; i++) {
            var mark =  this.marksElements[i];
            if (this.markClassName)
                mark.className = this.markClassName;
            Event.observe(mark, 'click', this.setMark.bindAsEventListener(this), false);
        };
        return true;
    },

    setMark: function(e) {
        var mark = Event.element(e);
        if (this.targetElement.label)
            this.targetElement.label.clear();
        this.targetElement.value = mark.innerHTML;
    }
};