//var fpslideshow=null;
var jwmss=new MK.Class(
						 {
							 initialize:function(a,b){
								 this.container=MK.$(a);
								 if(!this.container.hasClass('hasmss')){
									 this.container.addClass('hasmss');
									 this.slides=[];
									 this.buttons=[];
									 this.slidetexts=[];
									 this.textFx=new Array();
									 this.autoPuase = b['autoPuase'];
									 this.puase = false;
									 this.options=Object.extend(
																{
																	onRotate:MK.Class.create()
																	,
																	onStop:MK.Class.create()
																	,
																	onAutoPlay:MK.Class.create()
																	,
																	onShowSlide:MK.Class.create()
																	,
																	slidesSelector:".slide"
																	,
																	buttonsSelector:".button"
																	,
																	slidetextSelector:".slidetext"
																	,
																	slideInterval:4000
																	,
																	transitionDuration:700
																	,
																	transitionText:700
																	,
																	startIndex:0
																	,
																	buttonOnClass:"navi-active"
																	,
																	buttonOffClass:"off"
																	,
																	rotateAction:"none"
																	,
																	rotateActionDuration:100
																	,
																	autoplay:true
																	,
																	str_pause:"Pause"
																	,
																	str_start:"Start"
																	,
																	text_effect:false
																	,
																	stop:false
																}
																,
																b||{}
															);
									 this.slides=MK.$(a).getElements(this.options.slidesSelector);
									 this.buttons=MK.$(a).getElements(this.options.buttonsSelector);
									 this.slidetexts=MK.$$(this.options.slidetextSelector);
									 this.createFx();
									 this.showSlide(this.options.startIndex);
									 if(this.options.autoplay)this.autoplay();
									 if(this.options.rotateAction!='none')this.setupAction(this.options.rotateAction);
									 return this
								}else return false
								}
								,
								setupAction:function(c){
									this.buttons.each(function(a,b){MK.$(a).addEvent(c,function(){this.slideFx.setOptions(this.slideFx.options,{duration:this.options.transitionDuration});if(this.currentSlide!=b)this.selected(b);if(this.options.stop){this.stop()}}.bind(this))},this);
									MK.$(this.container.id+"_prev").addEvent(c,function(){this.prev();if(this.options.stop){MK.$(this.container.id+"_playButton").innerHTML=this.options.str_start;MK.$(this.container.id+"_playButton").addClass('pause');this.stop()}}.bind(this));
									MK.$(this.container.id+"_next").addEvent(c,function(){this.next();if(this.options.stop){MK.$(this.container.id+"_playButton").innerHTML=this.options.str_start;MK.$(this.container.id+"_playButton").addClass('pause');this.stop()}}.bind(this));
									MK.$(this.container.id+"_playButton").addEvent(c,function(){if(MK.$(this.container.id+"_playButton").hasClass('pause')){MK.$(this.container.id+"_playButton").innerHTML=this.options.str_pause;MK.$(this.container.id+"_playButton").removeClass('pause');this.autoplay()}else{MK.$(this.container.id+"_playButton").innerHTML=this.options.str_start;MK.$(this.container.id+"_playButton").addClass('pause');this.stop()}}.bind(this))
								}
								,
								createFx:function(){
									this.slideFx=new MK.Fx.Elements(this.slides,{duration:this.options.transitionDuration});
									this.slides.each(function(a){a.setStyle('opacity',0)});
									if(this.options.text_effect){
										for(var i=0;i<this.slidetexts.length;i++){
											this.textFx[i]=new MK.Fx.Slide(this.slidetexts[i],{duration:500})
										}
									}
								}
								,
								showSlide:function(c){
									if(this.autoPuase && this.puase)return;
									var d={};
									this.slides.each(function(a,b){a.addEvent('mouseover',function(){this.puase = true}.bind(this));a.addEvent('mouseout',function(){this.puase = false}.bind(this));}.bind(this));
									this.slides.each(function(a,b){if(b==c&&b!=this.currentSlide){MK.$(this.buttons[b]).removeClass(this.options.buttonOffClass).addClass(this.options.buttonOnClass);d[b.toString()]={'opacity':[1]};textIndex=b}else{MK.$(this.buttons[b]).removeClass(this.options.buttonOnClass).addClass(this.options.buttonOffClass);d[b.toString()]={'opacity':[0]};if(this.options.text_effect)this.textFx[b].slideOut()}},this);
									this.options.onShowSlide(c);
									this.currentSlide=c;
									this.slideFx.start(d);
									if(this.options.text_effect){
										this.textFx[textIndex].hide();
										this.textFx[textIndex].slideIn()
									}
								}
								,
								autoplay:function(){
									this.slideshowInt=this.rotate.periodical(this.options.slideInterval,this);
									this.options.onAutoPlay()
								}
								,
								stop:function(){
									clearInterval(this.slideshowInt);
									this.options.onStop()
								}
								,
								rotate:function(){
									current=this.currentSlide;
									next=(current+1>=this.slides.length)?0:current+1;
									this.showSlide(next);
									this.options.onRotate()
								}
								,
								next:function(){
									current=this.currentSlide;
									next=(current+1>=this.slides.length)?0:current+1;
									clearInterval(this.slideshowInt);
									this.showSlide(next);
									this.autoplay();
									this.options.onRotate()
								}
								,
								prev:function(){
									current=this.currentSlide;
									prev=(current-1<0)?this.slides.length-1:current-1;
									clearInterval(this.slideshowInt);
									this.showSlide(prev);
									this.autoplay();
									this.options.onRotate()
								}
								,
								selected:function(a){
									clearInterval(this.slideshowInt);
									this.showSlide(a);
									this.autoplay();
									this.options.onRotate()
								}
								,
								show:function(){
									MK.$(this.options.fpslideshowContainer).setStyle('visibility','visible');
									if(!MK.$(this.options.fpslideshowContainer).visible())MK.$(this.options.fpslideshowContainer).show()
								}
								,
								hide:function(){
									MK.$(this.options.fpslideshowContainer).setStyle('visibility','hidden')
								}
							}
						);

function playButtonClicked(){};
function clearSlide(){};
function showPrev(){};
function showNext(){};
//*****************************************************
var multiSlideShow = {
	_instance : []

	,
	make : function($data){
		var $id = this.make_id();
		this._instance[$id] = $data;
		
		window.addEvent('domready',function(){if(MK.$($data.mssContainerId)){setTimeout("multiSlideShow.run('"+ $id +"')",$data.CTRloadingTime)}});
	}//end func
	,
	run : function($id){
		var $data = this._instance[$id];
		if(MK.$($data.slideLoading))MK.$($data.slideLoading).setStyle('display','none');else return;
		if(MK.$($data.slideOuter))MK.$($data.slideOuter).setStyle('display','block');else return;
		startJWmss=new jwmss(MK.$($data.mssContainerId),{slidetextSelector:$data.CTRslidetextSelector,str_pause:$data.CTRstr_pause,str_start:$data.CTRstr_start,slideInterval:$data.CTRslideInterval,transitionDuration:$data.CTRtransitionDuration,transitionText:$data.CTRtransitionText,rotateAction:$data.CTRrotateAction,autoplay:$data.CTRautoplay,text_effect:$data.CTRtext_effect,autoPuase:$data.autoPuase,stop:false})
		//startJWmss.stop();
	}//end func
	,
	make_id : function(){//make a randome id
		var $str = String(Math.random())
		var $date = new Date();
		var $id = "_"+ $str.replace(".","") +"_"+ $date.getSeconds();
		return($id);
	}//end func

}//end class
//***************************************************** using of multiSlideShow class.
