//MooTools More, <http://mootools.net/more>. Copyright (c) 2006-2009 Aaron Newton <http://clientcide.com/>, Valerio Proietti <http://mad4milk.net> & the MooTools team <http://mootools.net/developers>, MIT Style License.

MooTools.More={version:"1.2.3.1"};var Asset={javascript:function(f,d){d=$extend({onload:$empty,document:document,check:$lambda(true)},d);var b=new Element("script",{src:f,type:"text/javascript"});
var e=d.onload.bind(b),a=d.check,g=d.document;delete d.onload;delete d.check;delete d.document;b.addEvents({load:e,readystatechange:function(){if(["loaded","complete"].contains(this.readyState)){e();
}}}).set(d);if(Browser.Engine.webkit419){var c=(function(){if(!$try(a)){return;}$clear(c);e();}).periodical(50);}return b.inject(g.head);},css:function(b,a){return new Element("link",$merge({rel:"stylesheet",media:"screen",type:"text/css",href:b},a)).inject(document.head);
},image:function(c,b){b=$merge({onload:$empty,onabort:$empty,onerror:$empty},b);var d=new Image();var a=document.id(d)||new Element("img");["load","abort","error"].each(function(e){var f="on"+e;
var g=b[f];delete b[f];d[f]=function(){if(!d){return;}if(!a.parentNode){a.width=d.width;a.height=d.height;}d=d.onload=d.onabort=d.onerror=null;g.delay(1,a,a);
a.fireEvent(e,a,1);};});d.src=a.src=c;if(d&&d.complete){d.onload.delay(1);}return a.set(b);},images:function(d,c){c=$merge({onComplete:$empty,onProgress:$empty,onError:$empty,properties:{}},c);
d=$splat(d);var a=[];var b=0;return new Elements(d.map(function(e){return Asset.image(e,$extend(c.properties,{onload:function(){c.onProgress.call(this,b,d.indexOf(e));
b++;if(b==d.length){c.onComplete();}},onerror:function(){c.onError.call(this,b,d.indexOf(e));b++;if(b==d.length){c.onComplete();}}}));}));}};

window.addEvent('domready', function(){
	random_box();
	scroller_head();
	gallery();
});
function gallery(){
	if($(document.body).getElement('.gallery')){
		var container=$(document.body).getElement('.gallery');
		container.getElements('.linkImg').each(function(item){
			item.addEvent('click',function(e){
				new Event(e).stop();
				var myImage = new Asset.image(item.getProperty('href'), {
					'class':'bigAjax',
					onload: function(){
						var oldImg=container.getElement('.BigImg img');
						var myFx = new Fx.Tween(oldImg,{onComplete: function(){oldImg.destroy()}});
						var myFx2 = new Fx.Tween(myImage).set('opacity',0);
						myImage.inject(container.getElement('.BigImg'));
						myFx2.start('opacity',1);
						myFx.start('opacity',0);
					}																														
				});
			});
		});
	}
}

function scroller_head(){
	if($('Scroller')){
		var container=$('Scroller');
		container.addClass('ajax');
		var titoli=container.getElements('.titolo');
		var testi=container.getElements('.testo');
		titoli.each(function(item, index){ 
			item.setStyle('margin-left',index*180+10);
			item.addEvent('click',function(){
				reset_text(titoli,testi);
				this.addClass('active');
				this.getNext().fade('in');
			});
		});
		testi.each(function(item, index){ if(index!=0) item.setStyle('opacity',0);	});	
		titoli[0].addClass('active');
	}
}
function reset_text(titoli,testi){
	titoli.each(function(item, index){ item.removeClass('active');});
	testi.each(function(item, index){ item.fade('out');});
}
function random_box(){
	if($('random')){
		var container=$('random');
		var count=0;
		var cambia = function(){
			var randomBox=this.getElement('.randomBox');
			var maxCount=randomBox.getElements('.item').length;
			count++;
			count=count%maxCount;
			randomBox.tween('margin-left',count*-326);
		};
		cambia.periodical(5000,container); 
	}
}
/*var minHeight=650;
var minWidth=980;
var footerHeight=40;

function aggiorna_mediabox(){
	if(!Browser.Engine.webkit){
		var links = $$("a").filter(function(el) {
			return el.rel && el.rel.test(/^lightbox/i);
		});
		$$(links).each(function(item){
			item.mediabox({}, null, function(el) {
				var rel0 = this.rel.replace(/[[]|]/gi," ");
				var relsize = rel0.split(" ");
				return (this == el) || ((this.rel.length > 8) && el.rel.match(relsize[1]));
			});
		});
	}
}

window.addEvent('domready', function(){
 	add_loading();
	inizialize();
	slider();
	boxContenuti();	
	aggiorna_mediabox();
	gallery();
	window.addEvent('resize', function(){ resize();});
	remove_loading();
});

function resize(){
	add_loading();
	var container=$('ContainerMain');
	var darsena = $('darsena');
	var ajaxBox = $('ajaxBox');
	var testo = $('ajaxresult').getElement('.testo');
	var	boxFooter=$('boxFooter');
	boxFooter.setStyle('display','none');
	[container,$('colonna1'),$('colonna1').getElement('.padColonna')].each(function(item){item.removeProperty('style')});
	if($('colonna1').getElement('.padColonna').getFirst()!=null)$('colonna1').getElement('.padColonna').getFirst().removeProperty('style');
	if($('scroller'))$('scroller').destroy();
	
	var heightWindow=(document.getElement('body').getSize().y>minHeight)?document.getElement('body').getSize().y:minHeight;
	container.setStyle('height',heightWindow);
	$('colonna1').setStyle('height',heightWindow);
	$('colonna2').setStyle('height',heightWindow);
	$('ajaxresult').setStyle('height', heightWindow);
	boxFooter.setStyle('display','block');
	var widthWindow = (document.getElement('body').getSize().x>minWidth)?document.getElement('body').getSize().x:minWidth;
	darsena.setStyles({	'height': heightWindow,'width': widthWindow, 'overflow': 'hidden', 'position': 'relative'});
	ajaxBox.setStyles({	'height': heightWindow,'width': 1800});
		
	slider();
	
	if(testo!=null){
		testo.removeProperty('style');
		testo.removeClass('ajaxTesto');
		if($('menuFogli'))$('menuFogli').destroy();
		if($('sliderTesto')){
			var sliderTesto=$('sliderTesto');
			sliderTesto.removeProperty('style');
		}			
		var dettaglio = new Element('div', {'class': 'dettaglio foglio'	});
		var fogli=container.getElements('.foglio');		
		fogli.each(function(item,i){
			dettaglio.adopt(item.getChildren());
			item.destroy();
		});
		dettaglio.inject(sliderTesto,'top');
		paginazione(dettaglio);
		postpaginazione(testo,sliderTesto);
	}
	remove_loading();
}

function gestioneTesti(){
	if($('ajaxresult') && $('ajaxresult').getElement('.testo')!=null && !$('ajaxresult').getElement('.testo').hasClass('ajaxTesto')){
		var testo =$('ajaxresult').getElement('.testo');
		testo.addClass('ajaxTesto');
		testo.setStyles({'widht': 495, 'overflow': 'hidden'});
		testo.getElement('.dettaglio').addClass('foglio');
		var sliderTesto = new Element('div', {	'id': 'sliderTesto'	}).inject(testo,'top');
		sliderTesto.adopt(testo.getElement('.dettaglio'));
		
		
		paginazione(testo.getElement('.dettaglio'));
		postpaginazione(testo,sliderTesto);
	}
}
function postpaginazione(testo,sliderTesto){
	var menuFogli = new Element('div', {'id': 'menuFogli' });
	var content1 = new Element('div', {'id': 'content1' }).inject(menuFogli);
	var fogli=testo.getElements('.foglio');
	sliderTesto.setStyle('width',fogli.length*550);
	var fxSliderTesto= new Fx.Tween(sliderTesto,{link : 'cancel'});
	var active=null;
	var classe=null;
	if(fogli.length>1){
		fogli.each(function(item,i){
			classe="voceMenu";
			if(i==0) classe="voceMenu active";
			var voceMenu = new Element('a', {'href': '#','class': classe,'html': '<span>'+(i+1)+'</span>' }).inject(content1);
			if(i==0)	active=voceMenu;
			voceMenu.addEvent('click',function(e){
				new Event(e).stop();
				active.removeClass('active');
				this.addClass('active');
				active=this;
				fxSliderTesto.start('margin-left',-i*530);
			});
		});
		menuFogli.inject(testo,'top');
		content1.setStyle('margin-left',((menuFogli.getSize().x-content1.getSize().x)/2).toInt());
	}
}
function paginazione(testo){
	var container= [];
	var totale=0;
	var salta=false;
	testo.getChildren().each(function(item){
		var height =item.getSize().y;
		totale += height;
		
		if(totale > $('colonna2').getSize().y-footerHeight) salta=true;
		if(item.get('text')=='[--break--]' ) salta=true;
		if(salta==false){
			container.push(item);
		}else{
			var sliderTesto = new Element('div', {'class': 'foglio'	});
			sliderTesto.inject(testo,'before');
			sliderTesto.adopt(container);
			totale=height;
			if(item.get('text')=='[--break--]' )item.setStyle('display','none');//destroy();
			container=[item];
			salta=false;
		}
	});	
}

function slider(){
	var container=$('ContainerMain');
	var slider=$('colonna1').getElement('.padColonna').getFirst();
	if(slider!=null){
		var heightCol=$('colonna1').getSize().y-footerHeight;
		var heightBox=$('colonna1').getElement('.padColonna').getSize().y;
		var numBox=$('colonna1').getElements('.box').length;
		var fxSlider= new Fx.Tween(slider,{link: 'cancel', transition: Fx.Transitions.Linear, duration: 250});
		var steps= numBox*10;
		if(heightBox>heightCol){
			$('colonna1').setStyle('overflow','hidden');
			$('colonna1').getElement('.padColonna').setStyles({'height':heightCol, 'padding-bottom': 0, 'overflow': 'hidden'})
			if($('scroller')==null){
				var scroller = new Element('div', {
					'id': 'scroller',
					'styles': {
						'height': heightCol/2-40,
						'position': 'absolute',
						'top': (heightCol-(heightCol/2-40))/2
					}
				}).inject(container,'bottom');
			}else var scroller = $('scroller');
			var knob = new Element('div', {'id': 'knob'	}).inject(scroller);
			knob.addEvent('mouseenter',function(){ this.addClass('over')});
			knob.addEvent('mouseleave',function(){ this.removeClass('over')});
			var mySlide = new Slider(scroller,knob, {
				steps: steps,
				//wheel : true,
				mode: 'vertical',	
				onChange: function(step){	fxSlider.start('margin-top',-((heightBox-heightCol-20)/steps*step));}
			}).set(0);
		}
	}
}

function gallery(){
	if($('ajaxresult') && $('ajaxresult').getElement('.gallery')!=null && !$('ajaxresult').getElement('.gallery').hasClass('ajaxGallery')){
		var gallery=$('ajaxresult').getElement('.gallery');
		gallery.addClass('ajaxGallery');
		var immagini= new Hash();
		var loadedImages = [];
		var load_img=false;
		var actual_img=null;
		var bigImg = gallery.getElements('.bigImg');
		gallery.getElements('.img a').each(function(item,i){
			if(i==0)	actual_img=item;
			immagini.set(item.getProperty('href'),item);
			item.addEvent('click',function(e){
				new Event(e).stop();
				if(load_img==false && actual_img!=item){
					load_img=true;
					actual_img.getParent().removeClass('active');
					item.getParent().addClass('active');
					var imgNew=new Asset.image(item.getProperty('href'), {
						onload: function() {
							var actual_Bigimg=bigImg.getElement('img');
							imgNew.setStyle('opacity',0);
							bigImg.adopt(imgNew);
							var myFx = new Fx.Tween(imgNew).start('opacity',[0,1]).chain(function(){
								actual_Bigimg.destroy();
								actual_img=item;
								load_img=false;
							});
						}
					});
				}
			});
		});	
	}
}

function boxContenuti(){
	if($('colonna1') && $('colonna1').getElements('.box')!=null){
		if(!$('ajaxresult')){
			var ajaxresult = new Element('div', {
				'id': 'ajaxresult',
				'styles': {
					'float': 'left',
					'height': '100%',
					'width': 0,
					'overflow': 'hidden',
					'position': 'relative'
				}
			}).inject($('colonna1'),'after');
		}
		var myFx = new Fx.Tween($('ajaxresult'));

		var myHTMLRequest = new Request.HTML({
			onRequest:function(){
									
			},
			onSuccess: function(responseTree,responseXML){
				var ajaxresult=$('ajaxresult');
				var width= $('colonna2').getSize().x;
				for (i=0;i<responseXML.length;i++){
					if(responseXML[i].get('id')=='colonna2'){
						var target=responseXML[i].getFirst();
						break;
					}
				} 
				
				// Effetto apertura chiusra
				if(ajaxresult.getStyle('width').toInt()>0){ 
					remove_loading();
					myFx.start('width', 0).chain(function(){
						ajaxresult.empty();
						ajaxresult.adopt(target);
						aggiorna_mediabox();
						gestioneTesti();
						gallery();
						myFx.start('width', [0, width]);
						// Imposta indietro per chiusura
						indietroContent(ajaxresult,myFx,active_box);
					}).chain(function(){
						if(ajaxresult.getElement('.map')!=null) initialize(ajaxresult.getElement('.map'));
						if(ajaxresult.getElement('form.info')!=null) ajaxform(ajaxresult.getElement('form.info'));
						lock=false;
					});
				}else{
					ajaxresult.adopt(target);
					aggiorna_mediabox();
					gestioneTesti();
					gallery();
					remove_loading();
					myFx.start('width', width).chain(function(){
						if(ajaxresult.getElement('.map')!=null) initialize(ajaxresult.getElement('.map'));
						if(ajaxresult.getElement('form.info')!=null) ajaxform(ajaxresult.getElement('form.info'));
						lock=false;
					});
					// Imposta indietro per chiusura
					indietroContent(ajaxresult,myFx,active_box);
				}
			}
		});
		var active_box=null;
		var lock=false;
		$('colonna1').getElements('.box a').each(function(item){
			if(item.getParent().getParent().hasClass('active')) active_box=item.getParent().getParent();
			var maFx2 =new Fx.Tween(item.getParent().getParent(),{link: 'cancel', duration: 500});
			item.addEvent('click',function(e){
				new Event(e).stop();
				if(lock==false){
					add_loading();
					lock=true;
					var href=this.getProperty('href');
					if(active_box!=null){
						active_box.tween('margin-left',20);
						active_box.removeClass('active');
					}
					active_box=item.getParent().getParent();
					active_box.addClass('active');
					myHTMLRequest.get(href);
				}
			});
			item.getParent().getParent().addEvent('mouseenter',function(){
				if(!this.hasClass('active')){
					maFx2.start('margin-left',30);
				}
			});
			item.getParent().getParent().addEvent('mouseleave',function(){
				if(!this.hasClass('active')){
					maFx2.start('margin-left',20);
				}
			});
		});
	}	
}

function indietroContent(ajaxresult,myFx,active_box){
	var indietro=ajaxresult.getElement('.indietro');
	indietro.addClass('ajaxIndietro');
	indietro.addEvent('click',function(e){
		new Event(e).stop();
		this.destroy();
		myFx.start('width', 0).chain(function(){ajaxresult.empty();	});
		active_box.removeClass('active');
		active_box.tween('margin-left',20);
	});	
}
function inizialize(){
	var	boxFooter=$('boxFooter');
	var menuHeight= boxFooter.getSize().y;
	boxFooter.setStyles({
		'position': 'absolute',
		'bottom': 0,
		'left': 0,
		'height': 20
	});
	var menuFx=new Fx.Tween(boxFooter,{link: 'cancel'})
	boxFooter.addEvent('mouseenter', function(){menuFx.start('height',menuHeight);});
 	boxFooter.addEvent('mouseleave', function(){menuFx.start('height',20);});

	var container=$('ContainerMain');
	var heightWindow=(document.getElement('body').getSize().y>minHeight)?document.getElement('body').getSize().y:minHeight;
	container.setStyle('height',heightWindow);
	var widthWindow = (document.getElement('body').getSize().x>minWidth)?document.getElement('body').getSize().x:minWidth;
	
	var figli=container.getChildren();
	var darsena = new Element('div', {
		'id': 'darsena',
		'styles': {
			'height': heightWindow,
			'width': widthWindow,
			'overflow': 'hidden',
			'position': 'relative'
		}
	}).inject(container,'before');
	darsena.adopt(container);
	
	var ajaxBox = new Element('div', {
		'id': 'ajaxBox',
		'styles': {
			'height': heightWindow,
			'width': 1800
		}
	}).inject(container,'top');
	ajaxBox.adopt(figli);
	
	var myURI = new URI(window.location.href);
	if(myURI.get('query')){ 
		var width= $('colonna2').getSize().x;
		var active_box=null;
		$('colonna1').getElements('.box .titolo a').each(function(item){
			if(item.toString()==myURI.toString()){
				active_box=item.getParent().getParent();
				active_box.addClass('active');				
			}
		});
		if($('colonna1') && $('colonna1').getElements('.box')!=null){
			if(!$('ajaxresult')){
				var ajaxresult = new Element('div', {
					'id': 'ajaxresult',
					'styles': {
						'float': 'left',
						'height': '100%',
						'width': 0,
						'overflow': 'hidden',
						'position': 'relative'
					}
				}).inject($('colonna1'),'after');
			}
			var myFx = new Fx.Tween($('ajaxresult'));
	
			var target=$('colonna2').getFirst();
			ajaxresult.adopt(target);
			aggiorna_mediabox();
			gestioneTesti();
			gallery();
			var myHTMLRequest = new Request.HTML({
				onSuccess: function(responseTree,responseXML){
					var ajaxresult=$('ajaxresult');
					var width= $('colonna2').getSize().x;
					for (i=0;i<responseXML.length;i++){
						if(responseXML[i].get('id')=='colonna2'){
							var target=responseXML[i].getFirst();
							break;
						}
					} 
					$('colonna2').adopt(target);
				}	
			}).get(myURI.toString().replace('?'+myURI.get('query'),''));

			myFx.start('width', width).chain(function(){
				if(ajaxresult.getElement('.map')!=null) initialize(ajaxresult.getElement('.map'));
				if(ajaxresult.getElement('form.info')!=null) ajaxform(ajaxresult.getElement('form.info'));
			});
			// Imposta indietro per chiusura
			if(active_box)	indietroContent(ajaxresult,myFx,active_box);
		}
	}
}

function ajaxform(form){
	var ajaxresult=$('ajaxresult');
	form.addEvent('submit', function(e) {
		e.stop();
		var myHTMLRequest = new Request.HTML({
			url: this.getProperty('action'),
			onRequest:function(){
				form.getElement('.submit').destroy();
			},
			onSuccess: function(responseTree,responseXML){
				for (i=0;i<responseXML.length;i++){
					if(responseXML[i].get('id')=='boxForm'){
						var target=responseXML[i];
						break;
					}
				} 
				ajaxresult.getElement('#boxForm').empty().adopt(target.getChildren());
				ajaxform(ajaxresult.getElement('form.info'));
			}
		}).post(this);
	});
}
function add_loading(){
	if(!$('loading')) 	document.getElement('body').adopt(new Element('div',{'id':'loading'}).adopt(new Element('div',{'id':'text_loading','text':'Loading...'})));
}

function remove_loading(){
	if($('loading')) $('loading').destroy();
}*/