var JUSlideShow7 = new Class({
options:{
delay:3000
},
initialize:function(options){
this.setOptions(options);
this.container = $(this.options.container);
this.slideMain = $$(this.options.slideMain)[0];		
this.slideItem = $$(this.options.slideItem);
this.butPre = $$(this.options.butPre)[0];
this.butNext = $$(this.options.butNext)[0];
this.slideDes = $$(this.options.slideDes);
this.mainSpace = 10;
if(this.options.showButNext == 1) {
this.butPre.addEvent('click',function(){this.previous(true)}.bind(this));
this.butNext.addEvent('click',function(){this.next(true)}.bind(this));
}
this.constructElement();	
this.slideMain.getChildren()[0].clone().inject(this.slideMain);
this.slideMain.getChildren()[this.slideItem.length-1].clone().injectTop(this.slideMain);
this.slideMain.setStyle('width',(this.sizeSlideItem*(this.slideItem.length+2)+200)+'px'); 
if(this.options.autoRun) this.prepareTimer();            		
},
constructElement:function(){
this.currentIndex = 0;
this.maxIter = this.slideItem.length;
//Set height for ju slide7 container
this.container.setStyles({'width':'100%','height':this.options.mainHeight});
//Set width and height for slide item
this.slideItem.each(function(item,i){
item.setStyles({'width':this.options.mainWidth, 'height':this.options.mainHeight});
item.setStyle('margin-right', this.mainSpace);
}.bind(this));
//Set width of slide in left and right 
this.slideBarWidth = Math.ceil((this.container.offsetWidth - this.options.mainWidth)/2) - this.mainSpace;
//Set style for left and right slide 
if(this.options.showButNext == 1){
this.butPre.setStyles({'opacity':0.4,'width':this.slideBarWidth,'height':this.options.mainHeight});
this.butPre.addEvent('mouseleave',function(){this.butPre.setStyle('opacity',0.4)}.bind(this));
this.butPre.addEvent('mouseenter',function(){this.butPre.setStyle('opacity',0.2)}.bind(this));
this.butNext.setStyles({'opacity':0.4,'width':this.slideBarWidth,'height':this.options.mainHeight});
this.butNext.addEvent('mouseleave',function(){this.butNext.setStyle('opacity',0.4)}.bind(this));
this.butNext.addEvent('mouseenter',function(){this.butNext.setStyle('opacity',0.2)}.bind(this));
}
//End set style for left and right slide	
this.initSlide();
},
initSlide:function(){		
//Set width and height for main slide when first load		
this.sizeSlideItem = this.options.mainWidth + this.mainSpace;
this.offset = this.slideBarWidth - this.options.mainWidth;
this.slideMain.setStyles({'width':this.sizeSlideItem*this.slideItem.length+200+'px','left':(-this.currentIndex*this.sizeSlideItem)+this.offset+'px'});		
this.fx = new Fx.Style(this.slideMain,'left',{duration:this.options.slide7Duration,transition: Fx.Transitions.Back.easeOut,wait:false});
this.slideDes[0].setStyles({'display': 'block', 'position':'absolute', 'bottom': '0px','opacity':0.7, 'left': this.slideBarWidth+10+'px', 'width':this.options.mainWidth+'px','color':'#FFFFFF'});
this.slideDes[0].effects({duration:this.options.slide7Duration,transition: Fx.Transitions.Sine.easeInOut}).start({'height': [0,70]});
},
previous:function(wait){
this.nextIter = this.currentIndex-1;
if (this.nextIter <= -1)
this.nextIter = this.maxIter - 1;
this.goTo(this.nextIter,wait);    
},
next:function(wait){		
this.nextIter = this.currentIndex+1;
if (this.nextIter >= this.maxIter)
this.nextIter = 0;           
this.goTo(this.nextIter,wait);   
},
clearTimer:function(){
$clear(this.timer);
},
prepareTimer:function(){
this.clearTimer();        
this.timer = this.next.periodical(this.options.slide7Delay, this,false);
},
goTo:function(num,wait){    	
if(wait) this.clearTimer();
this.slideDes.each(function(item,i){item.setStyles({'height':0,'opacity':0})}.bind(this));  	    	 
this.fx.start(-num*this.sizeSlideItem + this.offset).chain(function(){
this.slideDes[num].setStyles({'display': 'block', 'position':'absolute', 'bottom': '0px','opacity':0.7, 'left': this.slideBarWidth+10+'px', 'width':this.options.mainWidth+'px','color':'#FFFFFF'});
this.slideDes[num].effects({duration:this.options.slide7Duration,transition: Fx.Transitions.Sine.easeInOut}).start({'height': [0,70]});
}.bind(this));    	    	
this.currentIndex = num;
if(wait && this.options.autoRun) this.prepareTimer();	    	
}
});
JUSlideShow7.implement(new Events);
JUSlideShow7.implement(new Options);

