function accordionMenuHelper() {
	/**
	 * Private variables
	 */
	var self = this;
	var menu = '.block-dialog-accordion-menu .accordion-menu-center ul.menu li';
	var objectMenu = $(menu);
	
	/**
	 * Constructor 
	 */
	var construct = function() {
		self.setAccordionClass();
		self.render();
	}
	
	/**
	 * Set classes 
	 */
	this.setAccordionClass = function(){
		objectMenu.each(function(e){
			$(this).find("ul.menu").addClass('inside');
			$(this).find("ul.menu").parent().addClass('parent');
			$(this).find("ul.menu").siblings().addClass('parent');
			$(this).find('ul.menu li a').addClass('child');
		})
		$(menu+'.active-trail a.parent').addClass('active');
	}
	
	/**
	 * Show sub menu
	 */
	this.showSubMenu = function(element){
		element.find("a.parent").addClass('active');
		element.find("ul.menu").slideDown();
	}

	/**
	 * Hide all sub menu
	 */
	this.hideAllSubMenu = function(objectParent, objectActiveParent){
		objectParent.find("a.parent").removeClass('active');
		objectActiveParent.addClass('none-active-trail');
		objectParent.find("ul.menu").slideUp();
	}
	
	/**
	 * Set active sub menu
	 */
	this.setActiveSubMenu = function(objectParent, objectActiveParent){
		objectParent.find("a.parent").removeClass('active');
		objectActiveParent.find("a.parent").addClass('active');
		objectParent.find("ul.menu").slideUp();
		objectActiveParent.find("ul.menu").slideDown();
	}
	
	/**
	 * Render funtction
	 */
	this.render = function(){			
		var objectParent = $(menu+'.parent');
		var objectActiveParent = $(menu+'.active-trail');
		objectParent.mouseenter(function(){
			objectActiveParent.addClass('none-active-trail');
			if($(this).find("a.parent").attr("class").search("active")==-1){
				self.hideAllSubMenu(objectParent, objectActiveParent);
				self.showSubMenu($(this));
			}
		})
		.parent().mouseleave(function(){
			if(objectActiveParent.length!=0 && objectActiveParent.find("a.parent").length!=0){
				objectActiveParent.removeClass('none-active-trail');
				if(objectActiveParent.find("a.parent").attr("class").search("active")==-1){
					self.setActiveSubMenu(objectParent, objectActiveParent);
				}
			}
			else{
				self.hideAllSubMenu(objectParent, objectActiveParent);
			}
		})
	}
		
	construct();
}
