var interval = 5000; //miliseconds
var JavascriptRotator = new Class({	
	initialize: function(element){
		var imageList = $$('.slideShowPhotos');
		var i = 0;
		var c = 0;
		var currentImage = 0;
		var currentStatus = true;
		var effect = new Fx.Tween(element.getChildren()[0], {property: 'opacity', duration: 'long', onStart: function(){
			if(element.getChildren()[0].get('opacity') == 0){
				if($defined($('desc'))){
					new Request.HTML({url:'JavascriptRotator/body.asp', update: 'desc'}).get({'PictureID': imageList[c].get('id').replace('Picture', '')});
					if(element.tagName == 'A'){
						element.set('href', imageList[c].get('rel'));
					}
				}
			}
		}, onComplete: function(){
			if(element.getChildren()[0].get('opacity') == 0){
				element.getChildren()[0].setStyle('background', '#000000 url(' + imageList[i].get('src') + ') no-repeat center center');
				i = i + 1;
				c = i - 1;
				if(i == imageList.length){
					i = 0;
					c = imageList.length - 1;
				}
				currentImage = i;
				
			
			}else{
				element.setStyle('background', '#000000 url(' + imageList[c].get('src')  + ') no-repeat center center');
				currentImage = c;
			}
		}});
		var periodical;
		var fx = function() {
			effect.start(0).chain(function() {
				effect.start(1);
			});
		}
		element.getChildren()[0].setStyle('background', '#000000 url(' + imageList[0].get('src') + ') no-repeat center center');
		element.setStyle('background', '#000000 url(' + imageList[0].get('src') + ') no-repeat center center');
		fx();
		periodical = fx.periodical(interval);
		
		if($defined($$('.pause')[0])){
			$$('.pause')[0].addEvent('click', function(event){
				var event = new Event(event).stop();
				if(currentStatus){
					$clear(periodical);
					currentStatus = false;
				}else{
					fx();
					periodical = fx.periodical(10000);
					currentStatus = true;
				}
			});
		}
		if($defined($$('.next')[0])){
			$$('.next')[0].addEvent('click', function(event){
				var event = new Event(event).stop();
				$clear(periodical);
				fx();
				if(currentStatus){
					periodical = fx.periodical(10000);
				}
			});
		}
		if($defined($$('.prev')[0])){
			$$('.prev')[0].addEvent('click', function(event){
				var event = new Event(event).stop();
				$clear(periodical);
				i = i - 2;
				c = i - 1;
				if(i == -1){
					i = imageList.length - 1;
					c = i - 1;
				}
				if(i == -2){
					i = imageList.length - 2;
					c = i - 1;
				}
				fx();
				if(currentStatus){
					periodical = fx.periodical(10000);
				}
			});
		}
		return this;
	}
});
window.addEvent('domready', function(){
	new JavascriptRotator($('slideShow'));
});
