var ChangeSubMain = Class.create(
{
    all_menus: [],
    all_contents: [],
    menu_content_container: null,
    menu_holder: null,
    last_index: 0,
    
    initialize: function()
    {
        this.menu_holder = $('menu_holder');
        if(this.menu_holder) {
	        this.menu_content_container = this.menu_holder.next();
	        this.all_contents = this.menu_content_container.childElements();
	        this.all_menus = this.menu_holder.select('td');
	        this.all_menus.each(function(menu){
	            menu.observe('click', this.select_menu.bind(this, menu));
	        }.bind(this));
	        this.equal_columns();
        }
    },
    
    select_menu: function(menu)
    {
        var menu_index = this.all_menus.indexOf(menu);
        
        if(menu_index != this.last_index)
        {
            this.all_menus[this.last_index].removeClassName('active');
            this.all_menus[menu_index].addClassName('active');
            this.all_contents[this.last_index].toggle();
            this.all_contents[menu_index].toggle();
            this.last_index = menu_index;
            this.equal_columns();
        }
    },
    
    equal_columns: function()
    {
        this.menu_content_container.style.height = 'auto';
        this.menu_holder.style.height = 'auto';
        if(this.menu_holder.offsetHeight > this.menu_content_container.offsetHeight)
		{
            this.menu_content_container.setStyle({height: this.menu_holder.offsetHeight + 'px'});
		}
		if(this.menu_holder.offsetHeight < this.menu_content_container.offsetHeight)
		{
            this.menu_holder.setStyle({height: this.menu_content_container.offsetHeight + 'px'});
		}
    }
});

var FaqResponse = Class.create(ChangeSubMain, {
    
    all_titles_faq: [],
    all_contents_faq: [],
    last_index_faq: 0,
    
    initialize: function($super)
    {
        $super();
        this.all_titles_faq = $$('ul.faq_response li a.titreQuestion');
        this.all_contents_faq = this.all_titles_faq.invoke('next');
        $A(this.all_contents_faq.slice(1)).invoke('hide');
        this.all_titles_faq.each(function(title){title.observe('click', this.open_faq.bind(this, title));}.bind(this));
    },
    
    open_faq: function(title)
    {
        var title_index = this.all_titles_faq.indexOf(title);
        if(this.last_index_faq != title_index)
        {
            if(this.all_contents_faq[this.last_index_faq]) this.all_contents_faq[title_index].show();
            this.all_titles_faq[this.last_index_faq].removeClassName('selected');
            
            if(this.all_contents_faq[this.last_index_faq]) this.all_contents_faq[this.last_index_faq].hide();
            title.addClassName('selected');
            this.last_index_faq = title_index;
            this.equal_columns();
        }
    }
});

Event.observe(window, 'load', function(){
    new FaqResponse();
});
