var Cms_Layout_Stump_Accordion = function() {
	
	var _self = this;
	
	var _contentSelectors = $$('.contentSelectors');
	
	var __construct = function() {
		_addContentSelectorsEvents();
	};
	
	var _addContentSelectorsEvents = function() {
		var self = this;
		_contentSelectors.each(function(item){
			item.originalColor = '#000';
			item.addEvent('click',function(){
				var id = _getIdFromElement(item);
				if(0 === id) {
					return;
				}
				
				var request = $fn('CmsLayoutStumpAccordion::getContent')(id);
				
				request.run(function(response){
					var toggler = _getTogglerFromSublistItem(item);
					var index = _getIndexFromToggler(toggler);
					$('content'+index).set('html',response);
					$$('.contentSelectors').each(function(selector){
						selector.setStyle('color','#000');
						item.originalColor = '#000';
					});
					if(item.get('class').indexOf('serviceSubListItems') > -1) {
						item.setStyle('color','#6B7076');
						item.originalColor = '#6B7076';
					}
				});
			});
			
			if(item.get('class').indexOf('serviceSubListItems') > -1) {
				item.addEvents({
					'mouseover': function() {
						item.originalColor = item.getStyle('color');
						item.setStyle('color','#6B7076');
					},
					'mouseout': function() {
						item.setStyle('color',item.originalColor);
					}
				});
			}
		});
	};
	
	var _getIdFromElement = function(el) {
		return el.id.substr(el.id.lastIndexOf('__')+2).toInt();
	};
	
	var _getIndexFromToggler = function(toggler) {
		return toggler.id.replace(/toggler/,'').toInt();
	};
	
	var _getTogglerFromSublistItem = function(item) {
		return item.getParent('div.AccordionTogglers');
	};
	
	__construct();
};
