Function.prototype.createInterceptor = function(fcn, scope){
        if(typeof fcn != "function"){
            return this;
        }
        var method = this;
        return function() {
            fcn.target = this;
            fcn.method = method;
            if(fcn.apply(scope || this || window, arguments) === false){
                return;
            }
            return method.apply(this || window, arguments);
        };
};


$(document).ready( function() {
	PEPS.rollover.init();
	
	
	// some adjustment for the main menu
	// $('.menu_main_parent_connectors:last').width($('.menu_main_parent_connectors:last').width() + 750 - $('.menu_main_parent_connectors:last').offset().left);
	
	
	// must analyse this kind of link :
	// MM_swapImage('/assets/cache/e590820f886ef224feca430ddb4f31b1.png3171239304065','','/assets/cache/176db4577e39c4198162928b64d62b47.png',1)

	var MM_swapImage_Orig = MM_swapImage;
	MM_swapImage = MM_swapImage.createInterceptor(function(){
	    if (arguments.length == 4){
	        var image_preload = $('<img />').attr('src', arguments[2]);
	    }
	    return false;
	});
	
	$("a").each(function(i){
	    if (this.onmouseover){
	        this.onmouseover();
	    }
	});
	
	MM_swapImage = MM_swapImage_Orig;
	
	// $('.menu_main_parent img').reflect({height:0.6,opacity:0.10});
});


// http://peps.ca/blog/easy-image-rollover-script-with-jquery/
PEPS = {};

PEPS.rollover = {
	gettarget: function(object){
	    return $(object).find('.ro_target') || object;
	},
		
	init : function() {
		this.preload();
		
		
		$(".ro").hover( function() {
			$(this).children('a').css('color', '#FFFFFF');
			var target = PEPS.rollover.gettarget(this);
			$(target).attr('src', PEPS.rollover.newimage($(target).attr('src')));
		}, function() {
			$(this).children('a').css('color', '#999999');
			var target = PEPS.rollover.gettarget(this);
			$(target).attr('src', PEPS.rollover.oldimage($(target).attr('src')));
		});
	},

	preload : function() {
		$(window).bind(
				'load',
				function() {
					$('.ro_target').each(
							function(key, elm) {
								$('<img>').attr(
										'src',
										PEPS.rollover.newimage($(this).attr(
												'src')));
							});
				});
	},

	newimage : function(src) {
		return src.substring(0, src.search(/(\.[a-z]+)$/)) + '_o'
				+ src.match(/(\.[a-z]+)$/)[0];
	},

	oldimage : function(src) {
		return src.replace(/_o\./, '.');
	}
};
