Array.implement({
    invoke: function(fn,start, args){
        var result = [];
        for (var i = start, l = this.length; i < l; i++){
            if(this[i] && this[i][fn])
                result.push(args ? this[i][fn].pass(args, this[i])() : this[i][fn]());
        }
        return result;
    }
});

window.addEvent('domready', function(){
    

    var myVSlide1 = new Fx.Slide('v_slide1'); myVSlide1.hide(); 
    var myVSlide2 = new Fx.Slide('v_slide2'); myVSlide2.hide();
    var myVSlide3 = new Fx.Slide('v_slide3'); myVSlide3.hide();
    var myVSlide4 = new Fx.Slide('v_slide4'); myVSlide4.hide();
    var myVSlide5 = new Fx.Slide('v_slide5'); myVSlide5.hide(); 

    var hdrs = $$('.marginbottom');
    var myArray = [
        new Fx.Tween(hdrs[0], {duration: 'short', transition: Fx.Transitions.Sine.easeOut}),
        new Fx.Tween(hdrs[1], {duration: 'short', transition: Fx.Transitions.Sine.easeOut}),
        new Fx.Tween(hdrs[2], {duration: 'short', transition: Fx.Transitions.Sine.easeOut}),
        new Fx.Tween(hdrs[3], {duration: 'short', transition: Fx.Transitions.Sine.easeOut}),
        new Fx.Tween(hdrs[4], {duration: 'short', transition: Fx.Transitions.Sine.easeOut})
    ];

    // var myEffect = new Fx.Morph('v_toggle2', {duration: 'short', transition: Fx.Transitions.Sine.easeOut});

    var f1 = $('v_slide1').getElement('.fades');
    var f2 = $('v_slide2').getElement('.fades');
    var f3 = $('v_slide3').getElement('.fades');
    var f4 = $('v_slide4').getElement('.fades');
    // var f5 = $('v_slide5').getElement('fades');    
    
    myVSlide1.addEvent('complete',function(){f1.fade(1);});
    myVSlide2.addEvent('complete',function(){f2.fade(1);});
    myVSlide3.addEvent('complete',function(){f3.fade(1);});
    myVSlide4.addEvent('complete',function(){f4.fade(1);});
    // myVSlide5.addEvent('complete',function(){f5.fade(1);});

    f1.set('opacity',0);
    f2.set('opacity',0);    
    f3.set('opacity',0);    
    f4.set('opacity',0);    
    

    $('v_toggle1').addEvent('click', function(e){ 
        e.stop(); 
        if (myVSlide1.open){
            myArray[1].start('margin-left','300px');
            if (!myVSlide2.open) { myArray[1].start('margin-left','300px');  myArray[2].start('margin-left','300px'); }
            if (!myVSlide1.open && !myVSlide2.open) { myArray[2].start('margin-left','300px');}
            if (!myVSlide2.open && !myVSlide3.open && myVSlide4.open)  { myArray[3].start('margin-left','300px'); }
            if (!myVSlide2.open && !myVSlide3.open && !myVSlide4.open) { myArray[3].start('margin-left','300px'); }
            if (!myVSlide2.open && !myVSlide3.open && !myVSlide4.open) { myArray[4].start('margin-left','300px'); }
            f1.set('opacity',0);
            myVSlide1.toggle(); 
        } else {
            f1.set('opacity',0);
            myVSlide1.toggle().chain(function(){ myArray.invoke('start',1, ['margin-left', '100px']); });
        }
    });
    
    $('v_toggle2').addEvent('click', function(e){ 
        e.stop();
        if (myVSlide2.open) {
            if (!myVSlide1.open) {
                myArray[2].start('margin-left','300px');
                if (!myVSlide2.open) { myArray[3].start('margin-left','300px'); };
                if (!myVSlide3.open) {myArray[3].start('margin-left','300px');  };
                if (!myVSlide4.open  && !myVSlide2.open ) {myArray[4].start('margin-left','300px');  };
                if (!myVSlide3.open  && !myVSlide4.open ) {myArray[4].start('margin-left','300px');  };
            }
            f2.set('opacity',0);                        
            myVSlide2.toggle(); 
        } else {
            f2.set('opacity',0);            
            myVSlide2.toggle().chain(function(){ 
            myArray.invoke('start',2, ['margin-left', '100px']);
            });
        }
    });
     
    $('v_toggle3').addEvent('click', function(e){ 
        e.stop(); 
        if (myVSlide3.open) {
            if (!myVSlide2.open) { 
                myArray[3].start('margin-left','300px'); 
                if (!myVSlide1.open && !myVSlide2.open) {myArray[3].start('margin-left','300px'); }
                if (!myVSlide3.open) {myArray[4].start('margin-left','300px'); }
                if (!myVSlide4.open) {myArray[4].start('margin-left','300px'); }
            }
            f3.set('opacity',0);                        
            myVSlide3.toggle();
        } else {
            f3.set('opacity',0);                        
            myVSlide3.toggle().chain(function(){ 
                myArray.invoke('start',3, ['margin-left', '100px']); 
                });
        }
    });
    
    $('v_toggle4').addEvent('click', function(e){ 
        e.stop();
        if (myVSlide4.open) {
            if (!myVSlide1.open && !myVSlide2.open && !myVSlide3.open) { myArray[4].start('margin-left','300px');  };
            f4.set('opacity',0);                        
            myVSlide4.toggle();
        } else {
            f4.set('opacity',0);                        
            myVSlide4.toggle().chain(function(){ 
                myArray.invoke('start',4, ['margin-left', '100px']); 
                });
        }
    });
    
    $('v_toggle5').addEvent('click', function(e){ 
        e.stop(); 
        myVSlide5.toggle(); 
    });

});
