// JavaScript Document

(function($){
    $.fn.menuState = function(options) {
		var active = true;
		var activeClass = 'active';
		var hoverMode = '_hover';
		var activeMode = '_active';
		var menu = { 
						/*variables de base*/
						'image':'',
						'image_sans_extention':'',
						'extention':'',
						'image_de_base':'',
						'image_survolle':'',
						'image_active':'',
						/*ciblage de limage*/
						'get_img':function(element,mode){
										
										if(mode == 'parent'){
											this.image = $((element.find('img'))[0]);
										}else{
											this.image = element;
										}
										
										
										return(typeof this.image.get(0) == 'undefined')?false:true;
								
										  },
						
						/*decortique limage*/
						'explode_image':function(element){
											this.image_sans_extention = this.image_de_base.substr(0,(this.image_de_base.length)-4);
											this.extention = this.image_de_base.substr(this.image_de_base.length-4); 
											

										  },
						
						/*fonctions de creation des etat*/
						'creer_base_src':function(){
							 this.image_de_base = this.image.attr('src');
							
										  },
						'creer_survoller_src':function(){
							this.image_survolle = this.image_sans_extention+hoverMode+this.extention
							$("<img>").attr("src", this.image_survolle);
										  },
										  
				
						'creer_active_src':function(element){
								var image = this.image
								this.image_active = this.image_sans_extention+activeMode+this.extention
								$(image).attr('src',this.image_active)	
						
							
										  },
										  
										  
						/*  gestion des evenement  */
						'hoverEvent':function(element){
							
							var image = this.image
							var hoverMode = this.image_survolle
							var image_de_base =  this.image_de_base
							element.not('.'+activeClass).hover(function(){
												 
												   $(image).attr('src',hoverMode)
										  },
										  function(){
											       $(image).attr('src',image_de_base)
										  })
						},
						
						'init':function(element,mode){
									
									if(this.get_img(element,mode)){
										
										this.creer_base_src()
										this.explode_image()
										this.creer_survoller_src()
										if(active && $(element).attr('class') == activeClass){
											this.creer_active_src(element)
										}
										this.hoverEvent(element)
									}
									
							
							   }
									  
					
			
					}
					
		
		if($(this).get(0).tagName == 'IMG'){
			 menu.init($(this),'self')	
		}else{
			$(this).find('li').each(function(){
				 //alert('a');
				 menu.init($(this),'parent')	
			})
			
		}
		
		
	}
})(jQuery);



