var viewer=new Class({mode:'rand',modes:['top','right','bottom','left','alpha'],sizes:{w:480,h:240},fxOptions:{duration:500},interval:10000,initialize:function(a,b){if(b)for(var o in b)this[o]=b[o];if(this.buttons){this.buttons.previous.addEvent('click',this.previous.bind(this,[true]));this.buttons.next.addEvent('click',this.next.bind(this,[true]))}this._cItem=0;this._previous=null;this.items=a.setStyle('display','none');this.items[this._cItem].setStyle('display','block');this.disabled=false;this.attrs={left:['left',-this.sizes.w,0,'px'],top:['top',-this.sizes.h,0,'px'],right:['left',this.sizes.w,0,'px'],bottom:['top',this.sizes.h,0,'px'],alpha:['opacity',0,1,'']};this.rand=this.mode=='rand';this.sequence=typeof(this.mode)=='object'?this.mode:false;this.curseq=0;this.timer=null},walk:function(n,b){if(this._cItem!==n&&!this.disabled){this.disabled=true;if(b){this.stop()}if(this.rand){this.mode=this.modes.getRandom()}else if(this.sequence){this.mode=this.sequence[this.curseq];this.curseq+=this.curseq+1<this.sequence.length?1:-this.curseq}this._previous=this._cItem;this._cItem=n;var a=this.attrs[this.mode].associate(['p','f','t','u']);for(var i=0;i<this.items.length;i++){if(this._cItem===i){this.items[i].setStyles($extend({'display':'block','z-index':'2'},JSON.decode('{"'+a.p+'":"'+a.f+a.u+'"}')))}else if(this._previous===i){this.items[i].setStyles({'z-index':'1'})}else{this.items[i].setStyles({'display':'none','z-index':'0'})}}this.items[n].set('tween',$merge(this.fxOptions,{onComplete:this.onComplete.bind(this)})).tween(a.p,a.f,a.t)}},play:function(a){this.stop();if(!a){this.next()}this.timer=this.next.periodical(this.interval,this,[false])},stop:function(){$clear(this.timer)},next:function(a){this.walk(this._cItem+1<this.items.length?this._cItem+1:0,a)},previous:function(a){this.walk(this._cItem>0?this._cItem-1:this.items.length-1,a)},onComplete:function(){this.disabled=false;this.items[this._previous].setStyle('display','none');if(this.onWalk)this.onWalk(this._cItem)}});

var dealsViewer = new Class({mode: 'rand',modes: ['top','right','bottom','left','alpha'],sizes: {w:480,h:240},fxOptions: {duration:500},interval: 10000,initialize: function(items,options){if(options) for(var o in options) this[o]=options[o];if(this.buttons){this.buttons.previous.addEvent('click',this.previous.bind(this,[true]));this.buttons.next.addEvent('click',this.next.bind(this,[true]));}this._cItem = 0;this._previous = null;this.items = items.setStyle('display','none');this.items[this._cItem].setStyle('display','block');this.disabled = false;this.attrs = {left: ['left',-this.sizes.w,0,'px'],top: ['top',-this.sizes.h,0,'px'],right: ['left',this.sizes.w,0,'px'],bottom: ['top',this.sizes.h,0,'px'],alpha: ['opacity',0,1,'']};this.rand = this.mode=='rand';this.sequence = typeof(this.mode)=='object' ? this.mode : false;this.curseq = 0;this.timer = null;},walk: function(n,mode){if(this._cItem!==n && !this.disabled){this.disabled = true;if(mode){this.mode = mode;}else{this.mode = 'right';}this._previous = this._cItem;this._cItem = n;var a = this.attrs[this.mode].associate(['p','f','t','u']);for(var i=0;i<this.items.length;i++){if(this._cItem===i){this.items[i].setStyles($extend({'display':'block','z-index':'2'},JSON.decode('{"'+a.p+'":"'+a.f+a.u+'"}')));}else if(this._previous===i){this.items[i].setStyles({'z-index':'1'});}else{this.items[i].setStyles({'display':'none','z-index':'0'});}}this.items[n].set('tween',$merge(this.fxOptions,{onComplete:this.onComplete.bind(this)})).tween(a.p,a.f,a.t);}},play: function(wait){this.stop();if(!wait){this.next();}this.timer = this.next.periodical(this.interval,this,[false]);},stop: function(){$clear(this.timer);},next: function(manual){this.walk(this._cItem+1<this.items.length ? this._cItem+1 : 0,'right');},previous: function(manual){this.walk(this._cItem>0 ? this._cItem-1 : this.items.length-1,'left');},onComplete: function(){this.disabled = false;this.items[this._previous].setStyle('display','none');if(this.onWalk) this.onWalk(this._cItem);}});

window.addEvent('domready', function() {
	
	//Homepage Deals
	if($chk($('deals'))){
		var V1 = new dealsViewer($('deals').getChildren(),{
			fxOptions: {duration:1000,transition:Fx.Transitions.Quad.easeOut}
		});
		$('prevDeal').addEvent('click',V1.previous.bind(V1));
		$('nextDeal').addEvent('click',V1.next.bind(V1));
		V1.play(true);
	}
	
	//Homepage Business News
	if($chk($('business'))){
	var V2 = new viewer($('business').getChildren(),{
		fxOptions: {duration:1000,transition:Fx.Transitions.Quad.easeOut},
		mode: 'right'
	}).play(true);
	}
	
	//Homepage Events
	if($chk($('events'))){
		var V3 = new viewer($('events').getChildren(),{
			fxOptions: {duration:1000,transition:Fx.Transitions.Quad.easeOut},
			mode: 'right'
		}).play(true);
	}
	
	//Listing galleries
	if($chk($('myGallery'))){
		var V4 = new viewer($$('#myGallery img)'),{modes: ['alpha'],fxOptions:{duration:1500}}).play(true);
	}
	
});
