/**
 * => Mootools 1.2
 * 	=> Core
 * @classDescription
 * Classe qui permet de corriger le non fonctionnement de li:hover sous ie et de déplace la classe "current" 
 * @author M@nu/Baphira
 */
var MenuAdapter = new Class({
	
	Implements: [Options],
	
	options: {
		currentClass:'current',
		removeCurrentClassOnLeave:true
	},
	
	initialize: function(menu, options){
		this.menu = $(menu);
		this.setOptions(options);
		
		var li = this.menu.getElement('li');
		var lis = [];
		while(li && li.get('tag')=='li') {
			if(li.hasClass(this.options.currentClass)) {
				this.currentMenu = li;
			}
			lis.push(li);
			li = li.getNext();	
		}
		
		this.menu.setStyle('height', (this.currentMenu.getElement('.info').getSize().y + this.currentMenu.getSize().y * 2) + 'px');
		
		lis.each(function(liEl) {
			liEl.addEvent('click', function() {
				lis.each(function(el) {
					if(el == liEl) {
						el.addClass(this.options.currentClass);
						this.menu.setStyle('height', (el.getElement('.info').getSize().y + this.currentMenu.getSize().y * 2) + 'px');
					} else {
						el.removeClass(this.options.currentClass);
					}
				}.bind(this));
			}.bind(this));
			/*
			liEl.addEvent('mouseenter', function() {
				lis.each(function(el) {
					if(el == liEl) {
						el.addClass(this.options.currentClass);
						this.menu.setStyle('height', (el.getElement('.info').getSize().y + this.currentMenu.getSize().y * 2) + 'px');
					} else {
						el.removeClass(this.options.currentClass)
					}
				}.bind(this));
			}.bind(this));
			liEl.addEvent('mouseleave', function() {
				if(this.options.removeCurrentClassOnLeave) {
					lis.each(function(el) {
						el.removeClass(this.options.currentClass);
					}.bind(this));
					if($chk(this.currentMenu)) {
						this.currentMenu.addClass(this.options.currentClass);
					}
				} else {
					lis.each(function(el) {
						if(el != liEl) {
							el.removeClass(this.options.currentClass);							
						}
					}.bind(this));
				}
			}.bind(this));
			*/
		}.bind(this));
	}
	
});