jQuery.noConflict();var prevslide=0;
function translideshow(options){var $=jQuery;
	this.setting={wrapperid:"crshow",dimensions:[760,440],displaymode:{type:'auto',pause:5100,cycles:9999,pauseonmouseover:true},orientation:'h',persist:true,slideduration:700}
	jQuery.extend(this.setting,options)
	var curslide=(this.setting.persist)?translideshow.routines.getCookie("cr-"+this.setting.wrapperid):0;prevslide=curslide;this.curslide=(curslide==null||curslide>this.setting.imagearray.length-1)?0:parseInt(curslide);this.curstep=0;this.zIndex=1;this.animation_isrunning=false;this.posprop=(this.setting.orientation=="h")?"left":"top";
	options=null;var slideshow=this,setting=this.setting,preloadimages=[],slidesHTML=''
	for (var i=0;i<setting.imagearray.length;i++){ //preload images
		preloadimages[i]=new Image();preloadimages[i].src=setting.imagearray[i][0];slidesHTML+=translideshow.routines.getSlideHTML(setting.imagearray[i],setting.dimensions[0]+'px',setting.dimensions[1]+'px',this.posprop)+'\n';}
	jQuery(function($){slideshow.init($,slidesHTML)})
	$(window).bind('unload',function(){if(slideshow.setting.persist)translideshow.routines.setCookie("cr-"+setting.wrapperid,slideshow.curslide)})}
translideshow.prototype={slide:function(nextslide,dir){
		if(this.curslide==nextslide)
			return
		var slider=this;var nextslide_initialpos=this.setting.dimensions[(dir=="right"||dir=="left")?0:1]*((dir=="right"||dir=="down")?-1:1);var curslide_finalpos=-nextslide_initialpos;var posprop=this.posprop;
		if(this.animation_isrunning!=null)
			this.animation_isrunning=true
		this.$imageslides.eq(nextslide).css(translideshow.routines.createobj(['visibility','visible'],['zIndex',++this.zIndex],['opacity',0.31],[posprop,nextslide_initialpos]))
			.animate(translideshow.routines.createobj([posprop,0]),this.setting.slideduration,function(){jQuery(this).css('opacity',1)
				slider.animation_isrunning=false})
		this.curslide=nextslide;document.getElementById('dot'+prevslide).src="i/cr_doto.gif";document.getElementById('dot'+nextslide).src="i/cr_dotx.gif";prevslide=nextslide;},
	navigate:function(keyword){clearTimeout(this.rotatetimer)
		var dir=(keyword=="back"||parseInt(keyword)<this.curslide)? (this.setting.orientation=="h"?"right":"down"):(this.setting.orientation=="h"?"left":"up")
		var targetslide=(keyword=="back")?this.curslide-1:(keyword=="forth")? this.curslide+1:parseInt(keyword)
		targetslide=(targetslide<0)?this.$imageslides.length-1:(targetslide>this.$imageslides.length-1)?0:targetslide
		if(this.animation_isrunning==false)
			this.slide(targetslide,dir)},
	rotate:function(){var slideshow=this
		if(this.ismouseover){this.rotatetimer=setTimeout(function(){slideshow.rotate()},this.setting.displaymode.pause)
			return}
		var nextslide=(this.curslide<this.$imageslides.length-1)? this.curslide+1:0
		this.slide(nextslide, this.posprop)
		if (this.setting.displaymode.cycles==0||this.curstep<this.maxsteps-1){
			this.rotatetimer=setTimeout(function(){slideshow.rotate()},this.setting.displaymode.pause)
			this.curstep++}},
	init:function($,slidesHTML){prevslide=this.curslide;document.getElementById('dot'+this.curslide).src="i/cr_dotx.gif";var slideshow=this,setting=this.setting
		this.$wrapperdiv=$('#'+setting.wrapperid).css({position:'relative',visibility:'visible',overflow:'hidden',width:setting.dimensions[0],height:setting.dimensions[1]})
		if (this.$wrapperdiv.length==0){alert("Error: DIV with ID \""+setting.wrapperid+"\" not found.")
			return}
		this.$wrapperdiv.html(slidesHTML)
		this.$imageslides=this.$wrapperdiv.find('div.slide')
		this.$imageslides.eq(this.curslide).css(translideshow.routines.createobj([this.posprop,0]))
		if (this.setting.displaymode.type=="auto"){
			this.setting.displaymode.pause+=this.setting.slideduration
			this.maxsteps=this.setting.displaymode.cycles * this.$imageslides.length
			if (this.setting.displaymode.pauseonmouseover){
				this.$wrapperdiv.mouseenter(function(){slideshow.ismouseover=true})
				this.$wrapperdiv.mouseleave(function(){slideshow.ismouseover=false})}
			this.rotatetimer=setTimeout(function(){slideshow.rotate()},this.setting.displaymode.pause) }}}
translideshow.routines={getSlideHTML:function(imgref,w,h,posprop){var posstr=posprop+":"+((posprop=="left")?w:h)
		var layerHTML=(imgref[1])?'<a href="'+imgref[1]+'" target="'+imgref[2]+'">':''
		layerHTML+='<img src="'+imgref[0]+'" style="border-width:0;"/>'
		layerHTML+=(imgref[1])?'</a>':''
		return '<div class="slide" style="position:absolute;'+posstr+';width:'+w+';height:'+h+';text-align:center;">'+'<div style="width:'+w+';height:'+h+';display:table-cell;vertical-align:middle;">'+layerHTML+'</div></div>'},
	getCookie:function(Name){ 
		var re=new RegExp(Name+"=[^;]+","i");
		if (document.cookie.match(re))
			return document.cookie.match(re)[0].split("=")[1]
		return null},
	setCookie:function(name,value){document.cookie=name+"="+value+";path=/"},
	createobj:function(){var obj={}
		for (var i=0;i<arguments.length;i++){obj[arguments[i][0]]=arguments[i][1]}
		return obj}}
