(function($) {
	$.widget("ui.section_menu", {

		mouseoverClass : 'Mouseover',
		
		_init : function(){
			var self = this;
			var o = this.options;
			
			this.element.find('span').bind('mouseover',function(e){
				self.spanOnMouseOver(e);
			});
			
			this.element.find('span').bind('mouseout',function(e){
				self.spanOnMouseOut(e);
			});
			
			this.element.find('img').bind('mouseover',function(e){
				self.imgOnMouseOver(e);
			});
			this.element.find('img').bind('mouseout',function(e){
				self.imgOnMouseOut(e);
			});
			
			this.element.find('img').bind('click',function(e){
				self.onItemImageClick(e);
			});
			this.preloadImages();
		},
		
		spanOnMouseOver:function(e){
			$(e.target).parent('a').parent('li').addClass('Mouseover');
			var src=$(e.target).find('img').attr('hoversrc');
			$(e.target).find('img').attr('hoversrc', $(e.target).find('img').attr('src'));
			$(e.target).find('img').attr('src',src);
		},
		
		spanOnMouseOut:function(e){
			$(e.target).parent('a').parent('li').removeClass('Mouseover');
			var src=$(e.target).find('img').attr('hoversrc');
			$(e.target).find('img').attr('hoversrc', $(e.target).find('img').attr('src'));
			$(e.target).find('img').attr('src',src);
		},
		
		imgOnMouseOver:function(e){
			$(e.target).parent('span').parent('a').parent('li').addClass('Mouseover');
			var src=$(e.target).attr('hoversrc');
			$(e.target).attr('hoversrc', $(e.target).attr('src'));
			$(e.target).attr('src',src);
		},
		
		imgOnMouseOut:function(e){
			$(e.target).parent('span').parent('a').parent('li').removeClass('Mouseover');
			var src=$(e.target).attr('hoversrc');
			$(e.target).attr('hoversrc', $(e.target).attr('src'));
			$(e.target).attr('src',src);
		},
		
		onItemImageClick:function(e){
			window.location=$(e.target).parent('span').parent('a').attr('href');
		},
		
		preloadImages:function(){
			var images=this.element.find('img');
			for(var i=0; i<images.length; i++){
				jQuery("<img>").attr("src", $(images[i]).attr('hoversrc'));
			}
		}
	});
})(jQuery);