 (function ($) {
 $.fn.elle_slideshow = function (nb_elt) {
        var elt = $(this);
		var goround  = 1;
		elt.find('.carousel ul').css('left',"0");
        var elt_largitem = parseInt(elt.find('.carousel ul li').width()) + parseInt(elt.find('.carousel ul li').css('marginLeft')) + parseInt(elt.find('.carousel ul li').css('marginRight'));
        var elt_larg = (elt.find('.carousel ul li').length) * elt_largitem;
        var elt_diff = elt_larg - (elt_largitem * nb_elt);
        elt.find('.carousel ul').width(elt_larg);
        elt.find('.carousel ul li:first').addClass('act');
        elt.find('.article ul li:first').css({
            display: 'block'
        });
		
        if (nb_elt != null && elt.find('.carousel ul li').length > nb_elt) {
            elt.find('.carousel .prev, .carousel .next').css({
                display: 'block'
            });
           
		   elt.find('.carousel .prev a').bind('click', function () {
				clearInterval(catInt);
                var elt_pos = Math.abs(elt.find('.carousel ul').css('left').slice(0, -2));
                var elt_param = elt.find('.carousel ul li').index(elt.find('.carousel ul li[class*=act]')) - 1;
                if (!elt.find('.carousel ul').is(':animated')) {
                    elt.find('.carousel ul li[class*=act]').removeClass('act');
                    if (elt_pos == 0 && elt_param >= 0 || elt_diff <= 0) {
                        if (elt_param <= -1 && elt_diff <= 0) {
                            elt.find('.carousel ul li:last').addClass('act');
                            elt.find('.article ul li:visible').css({
                                display: 'none'
                            });
                            elt.find('.article ul li').not(':eq(' + elt_param + ')').css({
                                zIndex: '0'
                            });
                            elt.find('.article ul li:last').css({
                                zIndex: '1'
                            }).fadeIn(500);
                        } else {
                            elt.find('.carousel ul li:eq(' + elt_param + ')').addClass('act');
                            elt.find('.article ul li:visible').css({
                                display: 'none'
                            });
                            elt.find('.article ul li').not(':eq(' + elt_param + ')').css({
                                zIndex: '0'
                            });
                            elt.find('.article ul li:eq(' + elt_param + ')').css({
                                zIndex: '1'
                            }).fadeIn(500);
                        }
                    } else if (elt_param <= -1) {
                        elt.find('.carousel ul').animate({
                            left: '-=' + elt_diff + 'px'
                        }, 500, function () {
                            elt.find('.carousel ul li:last').addClass('act');
                            elt.find('.article ul li:visible').css({
                                display: 'none'
                            });
                            elt.find('.article ul li').not(':eq(' + elt_param + ')').css({
                                zIndex: '0'
                            });
                            elt.find('.article ul li:last').css({
                                zIndex: '1'
                            }).fadeIn(500);
                        });
                    } else {
                        elt.find('.carousel ul').animate({
                            left: '+=' + elt_largitem + 'px'
                        }, 300, function () {
                            elt.find('.carousel ul li:eq(' + elt_param + ')').addClass('act');
                            elt.find('.article ul li:visible').css({
                                display: 'none'
                            });
                            elt.find('.article ul li').not(':eq(' + elt_param + ')').css({
                                zIndex: '0'
                            });
                            elt.find('.article ul li:eq(' + elt_param + ')').css({
                                zIndex: '1'
                            }).fadeIn(500);
                        });
                    }
                }
                return false;
            });
       
	   elt.find('.carousel .next a').bind('click', function () {
				clearInterval(catInt);
                var elt_pos = Math.abs(elt.find('.carousel ul').css('left').slice(0, -2));
				             // alert(elt_pos);    
                var elt_param = elt.find('.carousel ul li').index(elt.find('.carousel ul li[class*=act]')) + 1;
				    
                if (!elt.find('.carousel ul').is(':animated')) {
                    elt.find('.carousel ul li[class*=act]').removeClass('act');
				//alert(elt_pos + "|" + elt_diff + "|" + elt_param +"|" + elt.find('.carousel ul li').length);
                    if (elt_pos == elt_diff && elt_param < elt.find('.carousel ul li').length || elt_diff <= 0) {

						if (elt_param >= elt.find('.carousel ul li').length && elt_diff <= 0) {
                            elt.find('.carousel ul li:first').addClass('act');
                            elt.find('.article ul li:visible').css({
                                display: 'none'
                            });
                            elt.find('.article ul li').not(':eq(' + elt_param + ')').css({
                                zIndex: '0'
                            });
                            elt.find('.article ul li:first').css({
                                zIndex: '1'
                            }).fadeIn(500);
                        } else {
							
                            elt.find('.carousel ul li:eq(' + elt_param + ')').addClass('act');
                            elt.find('.article ul li:visible').css({
                                display: 'none'
                            });
                            elt.find('.article ul li').not(':eq(' + elt_param + ')').css({
                                zIndex: '0'
                            });
                            elt.find('.article ul li:eq(' + elt_param + ')').css({
                                zIndex: '1'
                            }).fadeIn(500);
                        }
                    } else if (elt_param >= elt.find('.carousel ul li').length) {

                        elt.find('.carousel ul').animate({
                            left: '+=' + elt_pos + 'px'
                        }, 500, function () {
                            elt.find('.carousel ul li:first').addClass('act');
                            elt.find('.article ul li:visible').css({
                                display: 'none'
                            });
                            elt.find('.article ul li').not(':eq(' + elt_param + ')').css({
                                zIndex: '0'
                            });
                            elt.find('.article ul li:first').css({
                                zIndex: '1'
                            }).fadeIn(500);
                        });
                    } else {

                        elt.find('.carousel ul').animate({
                            left: '-=' + elt_largitem + 'px'
                        }, 300, function () {
                            elt.find('.carousel ul li:eq(' + elt_param + ')').addClass('act');
                            elt.find('.article ul li:visible').css({
                                display: 'none'
                            });
                            elt.find('.article ul li').not(':eq(' + elt_param + ')').css({
                                zIndex: '0'
                            });
                            elt.find('.article ul li:eq(' + elt_param + ')').css({
                                zIndex: '1'
                            }).fadeIn(500);
                        });
                    }
                }
                return false;
            });
        }
        elt.find('.carousel ul li').bind('click', function () {
			clearInterval(catInt);
            var elt_param = elt.find('.carousel ul li').index(this);
            elt.find('.carousel ul li[class*=act]').removeClass('act');
            elt.find('.carousel ul li:eq(' + elt_param + ')').addClass('act');
            elt.find('.article ul li:visible').css({
                display: 'none'
            });
            elt.find('.article ul li').not(':eq(' + elt_param + ')').css({
                zIndex: '0'
            });
            elt.find('.article ul li:eq(' + elt_param + ')').css({
                zIndex: '1'
            }).fadeIn(500);
            return false;
        });
/************************************************************************* CAR ****************************************************************************/
       if (nb_elt != null && elt.find('.carousel ul li').length > nb_elt) {
            elt.find('.carousel .prev, .carousel .next').css({
                display: 'block'
            });
           
		   elt.find('.carousel .prev a').bind('goRound', function () {
                var elt_pos = Math.abs(elt.find('.carousel ul').css('left').slice(0, -2));
                var elt_param = elt.find('.carousel ul li').index(elt.find('.carousel ul li[class*=act]')) - 1;
                if (!elt.find('.carousel ul').is(':animated')) {
                    elt.find('.carousel ul li[class*=act]').removeClass('act');
                    if (elt_pos == 0 && elt_param >= 0 || elt_diff <= 0) {
                        if (elt_param <= -1 && elt_diff <= 0) {
                            elt.find('.carousel ul li:last').addClass('act');
                            elt.find('.article ul li:visible').css({
                                display: 'none'
                            });
                            elt.find('.article ul li').not(':eq(' + elt_param + ')').css({
                                zIndex: '0'
                            });
                            elt.find('.article ul li:last').css({
                                zIndex: '1'
                            }).fadeIn(500);
                        } else {
                            elt.find('.carousel ul li:eq(' + elt_param + ')').addClass('act');
                            elt.find('.article ul li:visible').css({
                                display: 'none'
                            });
                            elt.find('.article ul li').not(':eq(' + elt_param + ')').css({
                                zIndex: '0'
                            });
                            elt.find('.article ul li:eq(' + elt_param + ')').css({
                                zIndex: '1'
                            }).fadeIn(500);
                        }
                    } else if (elt_param <= -1) {
                        elt.find('.carousel ul').animate({
                            left: '-=' + elt_diff + 'px'
                        }, 500, function () {
                            elt.find('.carousel ul li:last').addClass('act');
                            elt.find('.article ul li:visible').css({
                                display: 'none'
                            });
                            elt.find('.article ul li').not(':eq(' + elt_param + ')').css({
                                zIndex: '0'
                            });
                            elt.find('.article ul li:last').css({
                                zIndex: '1'
                            }).fadeIn(500);
                        });
                    } else {
                        elt.find('.carousel ul').animate({
                            left: '+=' + elt_largitem + 'px'
                        }, 300, function () {
                            elt.find('.carousel ul li:eq(' + elt_param + ')').addClass('act');
                            elt.find('.article ul li:visible').css({
                                display: 'none'
                            });
                            elt.find('.article ul li').not(':eq(' + elt_param + ')').css({
                                zIndex: '0'
                            });
                            elt.find('.article ul li:eq(' + elt_param + ')').css({
                                zIndex: '1'
                            }).fadeIn(500);
                        });
                    }
                }
                return false;
            });
       
	   elt.find('.carousel .next a').bind('goRound', function () {

                var elt_pos = Math.abs(elt.find('.carousel ul').css('left').slice(0, -2));
				             // alert(elt_pos);    
                var elt_param = elt.find('.carousel ul li').index(elt.find('.carousel ul li[class*=act]')) + 1;
				    
                if (!elt.find('.carousel ul').is(':animated')) {
                    elt.find('.carousel ul li[class*=act]').removeClass('act');
				//alert(elt_pos + "|" + elt_diff + "|" + elt_param +"|" + elt.find('.carousel ul li').length);
                    if (elt_pos == elt_diff && elt_param < elt.find('.carousel ul li').length || elt_diff <= 0) {

						if (elt_param >= elt.find('.carousel ul li').length && elt_diff <= 0) {
                            elt.find('.carousel ul li:first').addClass('act');
                            elt.find('.article ul li:visible').css({
                                display: 'none'
                            });
                            elt.find('.article ul li').not(':eq(' + elt_param + ')').css({
                                zIndex: '0'
                            });
                            elt.find('.article ul li:first').css({
                                zIndex: '1'
                            }).fadeIn(500);
                        } else {
							
                            elt.find('.carousel ul li:eq(' + elt_param + ')').addClass('act');
                            elt.find('.article ul li:visible').css({
                                display: 'none'
                            });
                            elt.find('.article ul li').not(':eq(' + elt_param + ')').css({
                                zIndex: '0'
                            });
                            elt.find('.article ul li:eq(' + elt_param + ')').css({
                                zIndex: '1'
                            }).fadeIn(500);
                        }
                    } else if (elt_param >= elt.find('.carousel ul li').length) {

                        elt.find('.carousel ul').animate({
                            left: '+=' + elt_pos + 'px'
                        }, 500, function () {
                            elt.find('.carousel ul li:first').addClass('act');
                            elt.find('.article ul li:visible').css({
                                display: 'none'
                            });
                            elt.find('.article ul li').not(':eq(' + elt_param + ')').css({
                                zIndex: '0'
                            });
                            elt.find('.article ul li:first').css({
                                zIndex: '1'
                            }).fadeIn(500);
                        });
                    } else {

                        elt.find('.carousel ul').animate({
                            left: '-=' + elt_largitem + 'px'
                        }, 300, function () {
                            elt.find('.carousel ul li:eq(' + elt_param + ')').addClass('act');
                            elt.find('.article ul li:visible').css({
                                display: 'none'
                            });
                            elt.find('.article ul li').not(':eq(' + elt_param + ')').css({
                                zIndex: '0'
                            });
                            elt.find('.article ul li:eq(' + elt_param + ')').css({
                                zIndex: '1'
                            }).fadeIn(500);
                        });
                    }
                }
                return false;
            });
        }		
/************************************************************************* CAR ****************************************************************************/
		catInt = setInterval("$('.carousel .next a').trigger('goRound');",8000);
    };
    $.fn.elle_carouselv = function (nb_elt) {
        var elt = $(this);

        var elt_heightitem = parseInt(elt.find('.carousel ul li').height()) + parseInt(elt.find('.carousel ul li').css('paddingTop')) + parseInt(elt.find('.carousel ul li').css('paddingBottom'));
        var elt_height = (elt.find('.carousel ul li').length) * elt_heightitem;
        elt.find('.carousel ul').height(elt_height);
        if (nb_elt != null && elt.find('.carousel ul li').length > nb_elt) {
            elt.find('.carousel .prev, .carousel .next').css({
                display: 'block'
            });
            elt.find('.carousel .prev a').bind('click', function () {

                if (!elt.find('.carousel ul').is(':animated')) {
                    elt.find('.carousel ul li:last').prependTo(elt.find('.carousel ul'));
                    elt.find('.carousel ul').css({
                        top: parseInt(elt.find('.carousel ul').css('top')) - elt_heightitem + 'px'
                    });
                    elt.find('.carousel ul').animate({
					
                        top: '+=' + elt_heightitem + 'px'
                    }, 300);
                }
                return false;
            });
            elt.find('.carousel .next a').bind('click', function () {
                if (!elt.find('.carousel ul').is(':animated')) {
                    elt.find('.carousel ul li:first').appendTo(elt.find('.carousel ul'));
                    elt.find('.carousel ul').css({
                        top: parseInt(elt.find('.carousel ul').css('top')) + elt_heightitem + 'px'
                    });
                    elt.find('.carousel ul').animate({
                        top: '-=' + elt_heightitem + 'px'
                    }, 300);
					
                }
                return false;
            });
            elt.find('.carousel ul').height(elt_height * 2);
            elt.find('.carousel ul li').clone().appendTo(elt.find('.carousel ul'));
            elt.find('.carousel ul').css({
                top: '-' + elt_heightitem + 'px'
            });
            elt.find('.carousel ul li:last').prependTo(elt.find('.carousel ul'));
        }
    };
    $.fn.elle_carousel = function (nb_elt) {
        var elt = $(this);
        var elt_largitem = parseInt(elt.find('.carousel ul li').width()) + parseInt(elt.find('.carousel ul li').css('marginRight'));
        var elt_larg = (elt.find('.carousel ul li').length) * elt_largitem;
        elt.find('.carousel ul').width(elt_larg);
        if (nb_elt != null && elt.find('.carousel ul li').length > nb_elt) {
            elt.find('.carousel .prev, .carousel .next').css({
                display: 'block'
            });
            elt.find('.carousel .prev a').bind('click', function () {
                if (!elt.find('.carousel ul').is(':animated')) {
                    elt.find('.carousel ul li:last').prependTo(elt.find('.carousel ul'));
                    elt.find('.carousel ul').css({
                        left: parseInt(elt.find('.carousel ul').css('left')) - elt_largitem + 'px'
                    });
                    elt.find('.carousel ul').animate({
                        left: '+=' + elt_largitem + 'px'
                    }, 300);
                }
                return false;
            });
            elt.find('.carousel .next a').bind('click', function () {
                if (!elt.find('.carousel ul').is(':animated')) {
                    elt.find('.carousel ul li:first').appendTo(elt.find('.carousel ul'));
                    elt.find('.carousel ul').css({
                        left: parseInt(elt.find('.carousel ul').css('left')) + elt_largitem + 'px'
                    });
                    elt.find('.carousel ul').animate({
                        left: '-=' + elt_largitem + 'px'
                    }, 300);
                }
                return false;
            });
            elt.find('.carousel ul').width(elt_larg * 2);
            elt.find('.carousel ul li').clone().appendTo(elt.find('.carousel ul'));
            elt.find('.carousel ul').css({
                left: '-' + elt_largitem + 'px'
            });
            elt.find('.carousel ul li:last').prependTo(elt.find('.carousel ul'));
        }
    };
    $.fn.elle_carouseln = function (nb_elt, elt_on) {
        var elt = $(this);
		
        var elt_largitem = parseInt(elt.find('.carousel ul li').css('width')) + parseInt(elt.find('.carousel ul li').css('paddingLeft')) + parseInt(elt.find('.carousel ul li').css('paddingRight'));
        var elt_larg = (elt.find('.carousel ul li').length) * elt_largitem;
        if (elt_on != null) {
            elt.find('.carousel ul li:eq(' + elt_on + ')').addClass('item_selected');
            elt_largitem_on = parseInt(elt.find('.carousel ul .item_selected').width()) + parseInt(elt.find('.carousel ul li').css('paddingLeft')) + parseInt(elt.find('.carousel ul li').css('paddingRight'));
            elt_larg = ((elt.find('.carousel ul li').length - 1) * elt_largitem) + elt_largitem_on;
        }
        elt.find('.carousel ul').width(elt_larg);
        if (nb_elt != null && elt.find('.carousel ul li').length > nb_elt) {
            elt.find('.carousel .prev, .carousel .next').css({
                display: 'block'
            });
            elt.find('.carousel .prev').bind('click', function () {
                if (!elt.find('.carousel ul').is(':animated')) {
                    elt.find('.carousel ul li:last').prependTo(elt.find('.carousel ul'));
                    elt.find('.carousel ul').css({
                        left: parseInt(elt.find('.carousel ul').css('left')) - elt_largitem + 'px'
                    });
                    elt.find('.carousel ul').animate({
                        left: '+=' + elt_largitem + 'px'
                    }, 300);
                    elt.find('.carousel ul li[class*=item_selected]').removeClass('item_selected');
                    if (elt_on != null) {
                        elt.find('.carousel ul li:eq(' + elt_on + ')').addClass('item_selected');
                    }
                    var sGSLink = jQuery("li.act li.item_selected span.texte a").attr("href");
                    jQuery("li.act div.cnt span.lien a").attr("href", sGSLink);
                }
                return false;
            });
            elt.find('.carousel .next').bind('click', function () {
			
			if (!elt.find('.carousel ul').is(':animated')) {
                    elt.find('.carousel ul li:first').appendTo(elt.find('.carousel ul'));
                    elt.find('.carousel ul').css({
                        left: parseInt(elt.find('.carousel ul').css('left')) + elt_largitem + 'px'
                    });
                    elt.find('.carousel ul').animate({
                        left: '-=' + elt_largitem + 'px'
                    }, 300);
                    elt.find('.carousel ul li[class*=item_selected]').removeClass('item_selected');
                    if (elt_on != null) {
                        elt.find('.carousel ul li:eq(' + elt_on + ')').addClass('item_selected');
                    }
                    var sGSLink = jQuery("li.act li.item_selected span.texte a").attr("href");
                    jQuery("li.act div.cnt span.lien a").attr("href", sGSLink);
                }
                return false;
            });
            elt.find('.carousel ul').width(elt_larg * 2);
            elt.find('.carousel ul li').clone().appendTo(elt.find('.carousel ul'));
            elt.find('.carousel ul').css({
                left: '-' + elt_largitem + 'px'
            });
            elt.find('.carousel ul li:last').prependTo(elt.find('.carousel ul'));
            elt.find('.carousel ul li[class*=item_selected]').removeClass('item_selected');
            if (elt_on != null) {
                elt.find('.carousel ul li:eq(' + elt_on + ')').addClass('item_selected');
            }
            var sGSLink = jQuery("li.act li.item_selected span.texte a").attr("href");
            jQuery("li.act div.cnt span.lien a").attr("href", sGSLink);
        }
    };
})(jQuery);

