var currentSlideshow = 1;
var projectImages = null;


var shopcreator = new Class({
	
    initialize: function(){
    	
    	this.slideshowToolbarStandby = false;
    	this.toolbarTimer = 0;
    	this.showWork = false;
		this.initToolbar();
		this.initNextPreviousBtns();
    },
    
    initToolbar: function() {
    	var mthis = this;
    	
		if($defined($('nav-wrapper'))) {
			$$('#nav-wrapper a').addEvent('click', function() {
				$clear(this.toolbarTimer);
				mthis.slideshowToolbarPause();
				mthis.toolbarEvent(this);
				return false;
			});
			
			this.slideshowToolbar.periodical(20000, this);
		}
    },
    
    
    initNextPreviousBtns: function() {
    	var mthis = this;
		/* next */
		if($defined($('next'))) {
			$('next').addEvent('click', function() {
				if(this.getStyle('opacity') == 1) {
					var myElement = $('promotions-wrapper');
					var wrapperHeight = myElement.getStyle('height');
					var myFx = new Fx.Scroll(myElement, {
						onComplete:function() {
							mthis.updateNextPrevious.delay(50, this);
						}
					}).start(0, 0.5 * document.body.offsetHeight);
				}
				return false;
			});
		}
		
		/* previous */
		
		if($defined($('previous'))) {	
			$('previous').addEvent('click', function() {
				if(this.getStyle('opacity') == 1) {
					var myElement = $('promotions-wrapper');
					var myFx = new Fx.Scroll(myElement, {
						onComplete:function() {
							mthis.updateNextPrevious.delay(50, this);
						}
					}).start(0, -0.5 * document.body.offsetHeight);
				}
				return false;
			});
		}
		
		if($defined($('next')) || $defined($('previous'))) {
			this.updateNextPrevious();
			this.updateNextPrevious.delay(1000);
		}
    },

    /* system functions */
    
    slideshowToolbarPause: function() {
    	this.slideshowToolbarStandby = true;
    	this.toolbarTimer = this.slideshowToolbarUnpause.delay(20000, this);
    },
    
    slideshowToolbarUnpause:function() {
    	//console.log('replay toolbar effect');
    	this.slideshowToolbarStandby = false;
    },
    
    
    toolbarEventWork: function(tb) {
    	var mthis = this;

		tb.addClass('selected');
		var scrollToEl = tb.getProperty('href');
		scrollToEl = scrollToEl.substr(1);
		
	
		var myFx2 = new Fx.Tween($('categories'), {
			duration:200,
			onComplete: function() {
				mthis.updateNextPrevious();
			}
		});
    },
    
    toolbarEvent: function(tb) {
		$$('#nav-wrapper a').removeClass('selected');
		tb.addClass('selected');
		var scrollToEl = tb.getProperty('href');
		scrollToEl = scrollToEl.substr(1);
		
		
		var myFx = new Fx.Scroll('promotions-wrapper').toElement(scrollToEl);
		return false;    	
    },
    
    updateNextPrevious: function () {
		if($defined($('promotions-wrapper')) && $defined($('next')) && $defined($('previous'))) {
			var currentScroll = $('promotions-wrapper').getScroll().y;
			var totalHeight = $('promotions-wrapper').getScrollSize().y;
			var maskSize = $('promotions-wrapper').getSize().y;
			
			if((currentScroll+maskSize) == totalHeight) {
				$('next').setOpacity(0.5);
			} else {
				$('next').setOpacity(1);
			}
			
			if((currentScroll) == 0) {
				$('previous').setOpacity(0.5);
			} else {
				$('previous').setOpacity(1);
			}
		}
    },
    
    
    
    slideshowToolbar: function() {
    	
    	if(this.slideshowToolbarStandby == false) {
			var tbs = $$('#nav-wrapper a');
			var totalTb = tbs.length;
			var currentTb = 1;
			var currentFound = false;
			
			$each(tbs, function (tblink, key) {
				if(tblink.hasClass('selected')) {
					currentFound = true;
				}
				
				if(!currentFound) {
					currentTb++;
				}
			});
		
			var nextTb = currentTb + 1;

			if(nextTb >= totalTb) {
				nextTb = 1;
			}
			
			nextTb = nextTb - 1;
			
			nextTbObj = tbs[nextTb];

			this.toolbarEvent(nextTbObj);
			
    	}

	}

});







window.addEvent('domready', function() {	
	new shopcreator();
});