var rules = {
	// Rich Text Editors
	'textarea.richtext': function(elt) {
		new Control.RTE(elt, '/sources/js/controls/rte/images', { fileLister: listUserFiles });
	},
	'input.datepicker': function(elt) {
		new Control.DatePicker(elt, { icon: '/sources/js/datepicker/img/calendar.png' });
	},
	'input.timepicker': function(elt) {
		new Control.DatePicker(elt, { icon: '/sources/js/controls/datepicker/clock.png', datePicker: false, timePicker: true });
	},
	'input.datetimepicker': function(elt) {
		new Control.DatePicker(elt, { icon: '/sources/js/controls/datepicker/calendar.png', timePicker: true, timePickerAdjacent: true, use24hrs: true });
	},
	'input.datetimepicker_es': function(elt) {
		new Control.DatePicker(elt, { icon: '/sources/js/controls/datepicker/calendar.png', locale:'es_AR', timePicker: true });
	},
	'input.colorpicker': function(elt) {
		new Control.ColorPicker(elt);
	},
	'input.filechooser': function(elt) {
		new Control.FileChooser(elt, listUserFiles, {
				icon: '/sources/js/controls/filechooser/filechooser.png',
				parentImage: '/sources/js/controls/filechooser/parent.gif',
				fileImage: '/sources/js/controls/filechooser/file.gif',
				directoryImage: '/sources/js/controls/filechooser/directory.gif'
			});
	},
	'.rating_bar': function(elt) {
		var code = elt.id.replace(/rating_/, '');
		new Control.RatingBar(elt, {
			starClass: 'rating_star',
			onClass: 'rating_on',
			hoverClass: 'rating_hover',
			halfClass: 'rating_half',
			onclick: rateItem(code)
			});
	},
	'.tabcontrol': function(elt) {
		new Control.TabStrip(elt, {
				activeClass: 'active',
				hoverClass: 'hover',
				disabledClass: 'disabled',
				disabled: null
			});
	},
	'.treeselect': function(elt) {
		new TreeSelect(elt);
	},
	'#livegrid': function(elt) {
		new Control.LiveGrid(elt, 10, 100, getData, {
				prefetchBuffer: 'active',
				selectable: true,
				rowIdPrefix: 'result_',
				onrowopen: openRows,
				onrowselect: selectRows,
				onscroll: scrollRows,
				sortHeader: 'livegrid_header',
				sortField: 'name',
				sortDir: 'asc',
				sortAscendImg: '/js/controls/livegrid/sort_asc.png',
				sortDescendImg: '/js/controls/livegrid/sort_desc.png',
				imageWidth: 9,
				imageHeight: 9
			});
	},
	'.treelist': function (elt) {
		new Control.TreeList(elt, {
			topOffset: 5,
			collapseIcon: '/js/controls/treelist/down_arrow_outline.gif',
			collapseIconHover: '/js/controls/treelist/down_arrow_filled.gif',
			expandIcon: '/js/controls/treelist/right_arrow_outline.gif',
			expandIconHover: '/js/controls/treelist/right_arrow_filled.gif'
			});
	}
};
Behaviour.register(rules);
