
//***********	Navigation   ***********//

//set position for the second level nav according to the parents li item position
function setSecondNav (pageWidth) {
	var li = $(document.body).getElements('.lis');

	for (i=0; i < li.length; i++) {
		coordinates = li[i].getCoordinates($('nav'));
		var ul = li[i].getElement('ul');
		if ($chk(ul)) {
			if (Browser.Engine.trident && Browser.Engine.version <= 4){
				var ulWidth = pageWidth - coordinates.left;
				var ulLeft = coordinates.left - 10-882;
			} else {
				var ulWidth = pageWidth - coordinates.left;
				var ulLeft = coordinates.left - 10;		
			}
			ul.setStyles({
				width: ulWidth + 'px',
				left: ulLeft + 'px'
			});
		}
	}
}						


//layer behaviour of the main navigation
var nav = new Class({
	Implements: Chain,
	_this: '',
	
	initialize: function(){
		_this = this;
		var lis = $(document.body).getElements('li.lis');
		_this.currentItem = false;

		for (i=0; i < lis.length; i++) {
			mylis = $(lis[i]);
			mylis.setProperty('id','lis'+i);

			nextul =  mylis.getElement('ul');
			eval("_this.timeout"+mylis.id+" = false;");
			eval("_this.timeoutSublayer = false;");

			if (nextul != null) {
				nextul.addEvents({
					'mouseover': function(e){
						var li = $(e.id);
						_this.currentItem = li.id;
						eval("if (_this.timeout"+li.id+" != false) {window.clearTimeout(_this.timeout"+li.id+");}");
						eval("if (_this.timeoutSublayer != false) {window.clearTimeout(_this.timeoutSublayer);}");
						a = li.getElement('a');
						a.addClass('activeJS');
					}.bind(_this,mylis),
					'mouseout': function(e){
	    				var li = $(e.id);
						eval("_this.timeout"+li.id+" = window.setTimeout('_this.chainUp().chain((_this.hideItem(\""+$(e.id).id+"\")))',50);");
						eval("_this.timeoutSublayer = window.setTimeout('_this.chainUp().chain((_this.hideSublayer()))',50);");
					}.bind(_this,mylis)
				});

				a = mylis.getElement('a');
				a.addEvents({
					'mouseover': function(e){
		    			li = $(e.id);
						_this.currentItem = li.id;
						
				    	_this.chainUp().chain((_this.showSublayer()));
				    	_this.chainUp().chain((_this.showItem($(e.id).id)));
						eval("if (_this.timeout"+li.id+" != false) {window.clearTimeout(_this.timeout"+li.id+");}");
						eval("if (_this.timeoutSublayer != false) {window.clearTimeout(_this.timeoutSublayer);}");
					}.bind(_this,mylis),
					'mouseout': function(e){
	    				var li = $(e.id);
						eval("_this.timeout"+li.id+" = window.setTimeout('_this.chainUp().chain((_this.hideItem(\""+$(e.id).id+"\")))',50);");
						eval("_this.timeoutSublayer = window.setTimeout('_this.chainUp().chain((_this.hideSublayer()))',50);");
					}.bind(_this,mylis)
				});
			
			} else {
				a = mylis.getElement('a');
				a.addEvents({
					'mouseover': function(e){
						eval("_this.timeout"+_this.currentItem+" = window.setTimeout('_this.chainUp().chain((_this.hideItem(\""+_this.currentItem+"\")))',50);");
						eval("_this.timeoutSublayer = window.setTimeout('_this.chainUp().chain((_this.hideSublayer()))',50);");
						
					}.bind(_this,mylis)
				});				
			}
		}
		
		$('sublayer').addEvents({
			'mouseover': function(e){	
				eval("if (_this.timeout"+_this.currentItem+" != false) {window.clearTimeout(_this.timeout"+_this.currentItem+");}");
				eval("if (_this.timeoutSublayer != false) {window.clearTimeout(_this.timeoutSublayer);}");
				var a = $(_this.currentItem).getElement('a');
				a.addClass('activeJS');	
			}.bind(_this),
			'mouseout': function(e){
				eval("_this.timeout"+_this.currentItem+" = window.setTimeout('_this.chainUp().chain((_this.hideItem(\""+_this.currentItem+"\")))',50);");
				eval("_this.timeoutSublayer = window.setTimeout('_this.chainUp().chain((_this.hideSublayer()))',50);");
			}.bind(_this)
		});
	},

	chainUp: function(){
		_this.callChain();
		return _this;
	},
	
	showSublayer: function(){
		$('sublayer').setStyle('display','block');
	},

	hideSublayer: function(){
		$('sublayer').setStyle('display','none');
		var a = $(_this.currentItem).getElement('a');
		a.removeClass('activeJS');	
	},

	showItem: function(element){
		var showUl = $(element).getElement('ul');
		if ($chk(showUl)) {
			showUl.setStyles({
				display: 'block',
				background: '#990033'
			});
		}
	},

	hideItem: function(element){
		var hideUl = $(element).getElement('ul');
		if ($chk(hideUl)) {
			hideUl.setStyles({
				display: 'none',
				background: 'transparent'
			});
		}

		var a = $(element).getElement('a');
		a.removeClass('activeJS');	
	}
});


//***********	Effects   ***********//

//slide effect for the topics at the footer
function initTopics() {
	var topics = $('topics');
	
	if (!$chk(topics))
		return false;
		
	var topicSlide = new Fx.Slide(topics);	
	topicSlide.hide();
	
	$('showTopics').addEvent('click', function(e){
		e.stop();
		topicSlide.toggle();
	});	
}


//slide effect for the topics at the footer
function initBookmarks() {
	var bookmarks = $('bookmarks');
	
	if (!$chk(bookmarks))
		return false;
		
	var bookmarksSlide = new Fx.Slide(bookmarks,{duration:200});	
	bookmarksSlide.hide();
	
	$('showBookmarks').addEvent('click', function(e){
		e.stop();
		bookmarksSlide.toggle();
	});	
}


//Rollover for images
function addRollover () {
	$$('.imgro').each(function(el){
		if(el.getElement('img')){
			el.removeEvents();
			el.addEvents({
				'mouseenter': function(){
					el.getElement('img').set('tween',{duration:150,transition:Fx.Transitions.linear}).tween('opacity',0.5);
				},
				'mouseleave': function(){
					el.getElement('img').set('tween',{duration:300,transition:Fx.Transitions.linear}).tween('opacity',1);
				}
			});
		}	
	});
}


//Rollover for social bookmarks
function addHover () {
	$$('.social').each(function(el){
		if(el.getElement('img')){
			el.removeEvents();
			el.addEvents({
				'mouseenter': function(){
					var source = el.getElement('img').get('src');
					source = source.replace(/.png/,'_act.png');
					el.getElement('img').set('src',source);
				},
				'mouseleave': function(){
					var source = el.getElement('img').get('src');
					source = source.replace(/_act.png/,'.png');
					el.getElement('img').set('src',source);
				}
			});
		}	
	});
}



var slideshow = new Class({
	
	//implements
	Implements: [Options],
	
	//options
	options:{
		contentHolder: 'stage', //Class of a tags that should trigger the image
		duration: '8000'
	},

	//initialization
	initialize: function(options){
		//set options
		this.setOptions(options);
		this.thumbs = [];
		this.count = 0;
		this.index = 0;
		this.height = '250px';
		this.start();
	},
	
	start: function(){	
		$(this.options.contentHolder).getElements('.fdSlide').each(function(el){
			if (this.count == 0) {
				var img = $(el.id).getElement('img');
				$(this.options.contentHolder).setStyles({
					height: $(img).height + 'px'	
				});
			
				el.setStyles({
					position:'absolute',
					top: 0,
					left: 0,
					display: 'block'
				});

			} else {
				el.setStyles({
					opacity: 0,
					position:'absolute',
					top: 0,
					left: 0,
					display: 'block'
				});			
			}
			
			this.thumbs.push(el);			
			this.count++;
		},this);
		if (this.count > 1) { this.play.periodical(this.options.duration,this); };
	},
	
	play:function() {
		this.oldThumbEffects = new Fx.Morph($(this.thumbs[this.index].id),{duration:400});
		this.oldThumbEffects.start({
				'opacity':[1,0]
		});	
		
		if (this.index == (this.count-1)) {
			this.index = 0;
		} else {		
			this.index = this.index+1;
		}

		this.thumbEffects = new Fx.Morph($(this.thumbs[this.index].id),{duration:400});
		this.thumbEffects.start({
				'opacity':[0,1]
		});		
	}
});



/**************************************************************/

//trigger functions on domready
window.addEvent('domready', function(){	
			
	setSecondNav(pageWidth=950);
	var initNav = new nav();
	initTopics();
	//initBookmarks();
	/*var box = new multiBox('mb', {
		overlay: new overlay(),
		showControls: false,
		showNumbers: false
	});*/

	//addRollover();
	addHover();

	//call slideshow for the stage
	var initSlideshow = new slideshow({
		contentHolder: 'stage', //id of the tag that holds the images
		duration: '4000'
	});
});

