// ON override les effects scriptaculous
Object.extend(Element, {
    setHeight: function(element,h) {
           element = $(element);
        element.style.height = h + 'px';
    },
    setTop: function(element,t) {
           element = $(element);
        element.style.top = t + 'px';
    }
});

Object.extend(Effect, {
    crossfade: function(elem1, elem2, fadeDuration) {
        Effect.fading = new Effect.Fade(elem1, {duration: fadeDuration});
        Effect.appearing = new Effect.Appear(elem2, {duration: fadeDuration});
    },

    cancelCrossfade: function() {
        if(Effect.fading) Effect.fading.cancel();
        if(Effect.appearing) Effect.appearing.cancel();
    }
});

// Class du ImagesSlideShow
var ImagesSlideShow = Class.create({
    initSlide: function()
    {
        this.iss_cycle = null;
        
        var Iss = $$('.Iss');

        this.iss_count = Iss.length;
        this.iss_current = null;

        for(var i=0; i<this.iss_count; i++)
        {
            Iss[i].observe('mouseover', this.stopSlide.bind(this));
            Iss[i].observe('mouseout', this.startSlide.bind(this));

            var id = parseInt(this.StrRight(Iss[i].readAttribute('id'), 1));
            if(id != 1) Iss[i].hide();
            var onglet = $('ongletIss' + id);
            if(onglet)
            {
                if(id == 1) onglet.addClassName('active');
                onglet.observe('mouseover', function(event,id) { this.stopSlide(); this.toggleSlide(id); }.bindAsEventListener(this,id) );
                onglet.observe('mouseout', this.startSlide.bind(this));
            }
        }

        this.startSlide();
    },

    toggleSlide: function(id, interval) 
    {
        if(interval == null) {     interval = 0; }
        if(this.iss_current == null) this.iss_current = 1;
        if(id == this.iss_current) return;
        
        $$('.ongletIss').invoke('removeClassName', 'active');

        if(interval != 0)
        {
            Effect.crossfade($('Iss' + this.iss_current), $('Iss' + id), interval);
        }
        else
        {
            Effect.cancelCrossfade();
            $('Iss' + id).setOpacity(1).show();
            $('Iss' + this.iss_current).setOpacity(1).hide();
        }
        $('ongletIss' + id).addClassName('active');
        this.iss_current = id;
    },

    nextSlide: function()    {
        if(this.iss_current == null) this.iss_current = 1;
        
        
        //var next = Math.max(1, (this.iss_current + 1) % (this.iss_count + 1));
        
        var next = (this.iss_current+1);
        if (next > this.iss_count) next = 1;
        
        this.toggleSlide(next, 0.7);
    },

    startSlide: function(oInstance) {
        
        this.DestroySlide();
        
        this.iss_cycle = setInterval(this.nextSlide.bind(this), 4000);
        
        
    },

    stopSlide: function() {
            clearInterval(this.iss_cycle);
        
    },
    StrRight: function(str, n){
        if (n <= 0)
           return "";
        else if (n > String(str).length)
           return str;
        else {
           var iLen = String(str).length;
           return String(str).substring(iLen, iLen - n);
        }
    },
    DestroySlide: function() {
        
            clearInterval(this.iss_cycle);
            
        
    }
});
