//---- MultiselectList --------------------------------------

function MultiselectList(elem, fieldName) {
	this.$field = $('<input type="hidden" name="'+fieldName+'" value=""/>');
	this.$elem = $(elem).eq(0);
	this.$field.insertAfter(this.$elem);
	this.init();
}

MultiselectList.prototype = {
	init: function (elem) {
		var self = this;
		self.updateHiddenField();
		this.$elem.find('li').click(function (e) {
			$(this).toggleClass('current');
			self.updateHiddenField();
		});
	},
	
	updateHiddenField: function () {
		var self = this;
		var val = [];
		this.$elem.find('li').each(function (e, elem) {
			if ($(elem).hasClass('current'))
				val.push( self.getItemID(elem) );
		});
		this.$field.val(val.join(','));
	},
	
	getItemValue: function (itemElem) {
		return $(itemElem).text();
	},
	getItemID: function (itemElem) {
		return $(itemElem).attr('id');
	}
}

//----------------------------------------------------------

$(function login() {
	var fieldNames = ['author', 'rubric', 'group'];
	$('.online-textarea').each(function (i, elem) {
		new MultiselectList(elem, fieldNames[i]);
	});
});

