var actualVisual, visualTimeout, solutionTimeout;

var Jiki = {
	visualResetTimeout: function() {
		visualTimeout = setTimeout(function(){
			Jiki.switchVisual('visual_homepage');
		}, 2500);
	},
	switchVisual: function(o) {
		clearTimeout(visualTimeout);
		clearTimeout(solutionTimeout);
		Jiki.hideVisual(actualVisual);
		actualVisual = Jiki.showVisual(o);
	},
	showVisual: function(o) {
		return I(o).morph({
			styles: {
				opacity: [ACTUAL, 1],
				display: 'block',
				zIndex: '2'
			},
			time: 0.5,
			stop: true,
			onfinish: function() {
				var p = this;
				solutionTimeout = setTimeout(function(){
					p = T('p', p)[0];
					if (p) 
						I(p).morph({
							styles: {
								bottom: ['px', ACTUAL, 0]
							},
							effect: Effects.outCubic,
							stop: true
						});
				}, 1250);
			}
		});
	},
	hideVisual: function(o) {
		var p = T('p', o)[0];
		if (p) 
			I(p).morph({
				styles: {
					bottom: ['px', ACTUAL, -30]
				},
				effect: Effects.outCubic,
				stop: true
			});
		
		
		return I(o).morph({
			styles: {
				opacity: [ACTUAL, 0],
				display: ['block', 'none'],
				zIndex: '1'
			},
			time: 0.5,
			stop: true
		});
	},
	clearPortfolio: function() {
		T('a', 'portfolio_lists').each(function(o){
			o.removeClass('light');
		});
	}
}

var actualList, dumbTimeout, actualPFM;

Event.add(window, 'domloaded', function(){
	if (I('visual')) {
	
		T('div', 'visual').each(function(o){
			var i = o.id, s;
			
			if (i != 'visual_homepage') {
			
				I(o).setStyles({
					opacity: 0,
					zIndex: '1'
				});
				
				Event.add(o, 'mouseover', function(){
					clearTimeout(visualTimeout);
				});
				
				/*Event.add(o, 'mouseout', function(){
					Jiki.visualResetTimeout();
				});*/
				
				s = i.match(/_sol$/);
				i = s ? i.replace(/_sol$/g, '') : i + '_sol';
				o.append(['p', {
					className: s ? 'back' : 'go',
					onclick: function(){
						Jiki.switchVisual(i);
					},
					style: {
						position: 'absolute',
						bottom: '-30px',
						left: '10px',
						opacity: 0.9
					}
				}, s ? 'Clicca qui per tornare indietro' : 'Clicca qui per la soluzione']);
			
			}
		});
		
		T('li', 'header_menu').each(function(o){
		
			var i = o.id.replace('menu_', '');
			
			Event.add(o, 'mouseover', function(){
				dumbTimeout = setTimeout("Jiki.switchVisual('rebus_" + i + "');", 10);
			});
			
			Event.add(o, 'mouseout', function(){
				clearTimeout(dumbTimeout);
				//Jiki.visualResetTimeout();
			});
			
		});
		
		var h1 = P('#header h1')[0];
		Event.add(h1, 'mouseover', function() {
			dumbTimeout = setTimeout("Jiki.switchVisual('visual_homepage');", 10);
		});
		Event.add(h1, 'mouseout', function(){
			clearTimeout(dumbTimeout);
		});
		
	}
	
	if(I('lists')) {
		
		var l = ['advertising', 'print_design', 'web_design', 'consulenza', 'eventi'];
		l.forEach(function(o){
			o = I('list_' + o);

			if(o) {
				var t = I(T('h4', o).shift()), u = I(T('ul', o).shift()), ts = t.style, us = u.style;
				
				ts.cursor = 'pointer';
				us.overflow = 'hidden';
				us.height = '0px';

				
				Event.add(t, 'click', function(){
					
					var f = function() {
						if (u != actualList) {
							u.blindDown({
								time: 0.618
							});
							actualList = u;
						} else
							actualList = null;		
					};
					
					if(actualList)
						actualList.blindUp({
							onfinish: f,
							time: 0.618
						});
					else
						f();
					
				});
				
				
			}
		});
		
	}
	
	
	T('li', 'header_menu').each(function(o){
		Event.add(o, 'mouseover', function(){
			o.morph({
				styles: {
					top: ['px', ACTUAL, -40]
				},
				time: 0.5,
				effect: Effects.outCubic,
				stop: true
			});
		});
		Event.add(o, 'mouseout', function(){
			o.morph({
				styles: {
					top: ['px', ACTUAL, 0]
				},
				time: 0.5,
				effect: Effects.outCubic,
				stop: true
			});
		});
	});
	
	if(I('portfolio_lists')) {
		
		T('a', 'portfolio_menu').each(function(o){
			o.style.cursor = 'default';
			Event.add(o, 'mouseover', function(){
				if(actualPFM)
					actualPFM.className = '';
				actualPFM = this;
				this.className = 'light';
				
				var r =  this.getAttribute('rel');
				T('a', 'portfolio_lists').each(function(c){
					var cr = c.getAttribute('rel') + '';
					if(cr.has(r)) {
						c.className = 'light';
					} else {
						c.className = '';
					}
				});
			});
			Event.add(o, 'click', function(e){
				return Event.stop(e);
			})
		});
		
	}
	
});

Event.add(window, 'load', function(){
	if (I('visual')) {
		actualVisual = Jiki.showVisual('visual_homepage');
		var v = ['visual_homepage.png', 'rebus_creative_crew.png', 'rebus_creative_crew_sol.png', 'rebus_portfolio.png',
			'rebus_portfolio_sol.png', 'rebus_servizi.png', 'rebus_servizi_sol.png', 'rebus_contatti.png', 'rebus_contatti_sol.png'], p = [], g;
		
		v.each(function(o){
			o = './media/img/' + o;
			g = new Image();
			g.src = o;
			p.push(g);
		});
	}
	if(I('jikisfera_item')) {
		Socials.init();
		Socials.addButton('jikisfera_item');
	}
});
