window.addEvent('domready', function(){
	var defaultOpacity=0.7;
	
	//POP UP
	var animazionePopUp=function(){
		var popup=$('popup');
		//controllo se esiste il popup
		if(popup){
			var myCookie = Cookie.read('cookiePopUp');
			//controllo se esiste già un cookie o so è attiva il popup di test
			if(!myCookie || popup.hasClass('test') ){
				myCookie = Cookie.write('cookiePopUp', 'true', {duration: 0.1});
				myCookie = Cookie.read('cookiePopUp');
				//controllo se i cookie sono abilitati
				if(myCookie){
					var mask = new Mask(document.body,{ 
						hideOnClick: true, 
						destroyOnHide: true, 
						onDestroy: function(){ 
							popup.destroy();
						}
					});
					mask.show();
					popup.setStyles({
						'display': 'block',
						'position': 'absolute',
						'top': 50,
						'left': '50%',
						'z-index': 11,
						'border' : '2px solid #000'
					});
					var popupSize=popup.getSize();	
					popup.setStyle( 'margin-left',-popupSize.x/2);
					var close= popup.getElement('#close');
					if(close){
						close.addEvent('click',function(){
							popup.destroy();
							mask.destroy();
						});
					}
				}
			}	
		}
	};
	animazionePopUp.run();
	
	
	//animazione icone
	
	//FLASH VIDEO
	var videoAzienda= function(){
		if($('testoAzienda') && Browser.Plugins.Flash.version>=10){	
			if(Lang=='it') var swf="templates/default/swf/pedrali-ita.swf";
			else var swf="../templates/default/swf/pedrali-en.swf";
			var obj = new Swiff(swf, {
				id: 'into',
				width: 315,
				height: 220,
				params: {
					bgcolor: '#FFFFFF'
				}
			}).inject($('testoAzienda').getElement('.text3'));
		}
	};
	videoAzienda.run();
	
	//GALLERY BLOG
	var GalleryBlog=function(){
		if(document.getElement('#dettaglioBlog #gallery a')){
			document.getElements('#dettaglioBlog #gallery a').each(function(item){
				item.addEvent('click',function(e){
					new Event(e).stop();
					if($('mask')) mask=$('mask');
					else mask=new Element('div',{'id':'mask'}).inject(document.body,'bottom');
					mask.addEvent('click',function(){mask.destroy(); ajaxResult.destroy();});
					mask.setStyle('opacity',defaultOpacity);
					var closeX=new Element('div',{'id':'close','html':'x'});
					closeX.addEvent('click',function(){mask.destroy(); ajaxResult.destroy();});
					var imgAjax=new Element('img',{'id':'imgAjax','src':item.getProperty('href')});
					var ajaxResult=new Element('div',{'id':'boxImg'}).adopt([imgAjax,closeX]).inject(document.body,'bottom');
					if(Browser.Engine.trident && Browser.Engine.version<=4)correzioneIE6();					
				});
			});
		}
	};
	GalleryBlog.run();
	
	//GALLERY TESTO 3 COLONNE
	var GalleryTesto3Colonne=function(){
		if(document.getElement('#boxTesto #gallery a')){
			document.getElements('#boxTesto #gallery a').each(function(item){
				item.addEvent('mouseenter',function(e){
					if(!$('maskImg')){
						var maskImg=new Element('div',{'id':'maskImg'}).inject(item,'bottom');
						var maskPlus=new Element('div',{'id':'maskPlus'}).inject(item,'bottom');
						maskImg.setStyle('opacity',0.5);
					}
				});
				
				item.addEvent('mouseleave',function(e){	$('maskImg').destroy(); $('maskPlus').destroy(); });
				
				item.addEvent('click',function(e){
					new Event(e).stop();
					if($('mask')) mask=$('mask');
					else mask=new Element('div',{'id':'mask'}).inject(document.body,'bottom');
					mask.addEvent('click',function(){mask.destroy(); ajaxResult.destroy();});
					mask.setStyle('opacity',defaultOpacity);
					var closeX=new Element('div',{'id':'close','html':'x'});
					closeX.addEvent('click',function(){mask.destroy(); ajaxResult.destroy();});
					var imgAjax=new Element('img',{'id':'imgAjax','src':item.getProperty('href')});
					var ajaxResult=new Element('div',{'id':'boxImg'}).adopt([imgAjax,closeX]).inject(document.body,'bottom');
					if(Browser.Engine.trident && Browser.Engine.version<=4)correzioneIE6();					
				});
			});
		}
	};
	GalleryTesto3Colonne.run();
	
	// SUBMENU AZIENDA, MISSION, ECC...
	if($('menuSlider') && $('menuSlider').getElement('li.active')){
		var active=$('menuSlider').getElement('li.active');
		var testo='';
		var blocco=false;
		if(document.getElements('body .ajaxMove')){
			testo=document.getElements('body .ajaxMove');
			var ajaxcontent=new Element('div',{'id':'ajaxContent'}).adopt(testo);
			if(testo!='') ajaxcontent.inject(active);
		}
		
		$('menuSlider').getElements('li .link').each(function(item){
			var src=item.getProperty('href');
			var requestResult='';
			var transition=Fx.Transitions.Expo.easeOut;
			var duration=1000;
			var minHeight=24;
															  
			item.addEvent('click',function(e){
				new Event(e).stop();
				if(!item.hasClass('active')){
					if(blocco==false){
						blocco=true;
						if($('menuSlider').getElement('li.active')){
							var active = $('menuSlider').getElement('li.active');
							active.removeClass('active');
							if(active.getFirst('a')) active.getFirst('a').removeClass('active');
							var fxClose= new Fx.Tween(active,{
								duration: duration,
								transition: transition,
								onComplete: function(){
									if($('ajaxContent')) $('ajaxContent').destroy();
									item.getParent('li').addClass('active');
									item.addClass('active');
									myHTMLRequest.get(src);
								}
							}).start('height',minHeight);
						}else{
							if($('ajaxContent')) $('ajaxContent').destroy();
							item.getParent('li').addClass('active');
							item.addClass('active');
							myHTMLRequest.get(src);
						}
					}
				}
			});
			
			var myHTMLRequest = new Request.HTML({
				'link': 'ignore',
				'evalScripts': false,
				//'evalResponse ': true,
				onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript){
					requestResult=[];
					for (var key in responseElements) {
						if($type(responseElements[key])=='element' && responseElements[key].get('class').indexOf('ajaxMove')>=0 ){
							requestResult.push(responseElements[key]);
						}
					}
					var li=item.getParent();
					li.setStyle('height',minHeight);
					if(requestResult.length!=0){
						var ajaxcontent=new Element('div',{'id':'ajaxContent'});
						requestResult.each(function(item){
							item.inject(ajaxcontent);						
						});
						ajaxcontent.inject(li);
						var height= ajaxcontent.getSize().y;
						if(typeof(MapsFunction)!='undefined') MapsFunction.run();
						GalleryTesto3Colonne.run();
						videoAzienda.run();
						designers.run();
						var rassegna=rassegnaStampa.run();
						var newHeight=height+minHeight;
						if(rassegna) newHeight=newHeight+25;
						var fxOpen= new Fx.Tween(li,{
							duration: duration,
							transition: transition,
							onComplete: function(){
								blocco=false;
							}
						}).start('height',newHeight);
					}else blocco=false;
				},
				onFailure:function(){
					location.href=src;
				}
			});
		});
	}
									 
	// Overlay NERO correzione per IE 6
	if(Browser.Engine.trident && Browser.Engine.version<=4){
		window.addEvent('resize', function(){correzioneIE6();});
		window.addEvent('scroll', function(){correzioneIE6();});
	}	
	function correzioneIE6(){
		var size=window.getSize();
		var scroll=window.getScroll();					   
		if($('mask')) $('mask').setStyles({'position':'absolute','top':scroll.y,'width':size.x,'height': size.y});
		if($('boxImg')) $('boxImg').setStyles({'position':'absolute','margin-top':-200+scroll.y});
		if($('ajaxResult')) $('ajaxResult').setStyles({'position':'absolute','margin-top':-200+scroll.y});		
	}
	
		
	// GALLERY TOP PRODOTTI 
	if($('GalleryAmbientateTop')){
		widthOpen=300;
		widthClose=247;	
		widthNormale=264;	
		avanzamento=268;
		spostamento=0;
		fxAmbientateTop=[];
		$('GalleryAmbientateTop').getElements('.item').each(function(item,i){
			item.setStyles({'position':'absolute','left':spostamento});
			spostamento=spostamento+avanzamento;
			fxAmbientateTop[i]=new Fx.Morph(item, {link:'cancel',duration: 300, transition: Fx.Transitions.Linear});
			item.addEvent('mouseenter',function(){
				var left=0;
				fxAmbientateTop.each(function(fx,j){
					if(j<=i)	left=j*(widthClose+4);
					else left=(j*(widthClose+4))+(widthOpen-widthClose);
					if(i==j)	fx.start({'width':widthOpen, left:left});					
					else fx.start({'width':widthClose ,left:left});
				});
			});
			item.addEvent('mouseleave',function(){
				fxAmbientateTop.each(function(fx,j){
					fx.start({'width':widthNormale ,left:j*avanzamento});
				});
			});
			item.addEvent('click', function(e){
				new Event(e).stop();
				if($('mask')) var mask=$('mask');
				else var mask=new Element('div',{'id':'mask'}).inject(document.body,'bottom');
				mask.addEvent('click',function(){mask.destroy(); ajaxResult.destroy();});
				mask.setStyle('opacity',defaultOpacity);
				var closeX=new Element('div',{'id':'close','html':'x'});
				closeX.addEvent('click',function(){mask.destroy(); ajaxResult.destroy();});
				var imgAjax=new Element('img',{'id':'imgAjax','src':item.getProperty('href')});
				var ajaxResult=new Element('div',{'id':'boxImg'}).adopt([imgAjax,closeX]).inject(document.body,'bottom');
				if(Browser.Engine.trident && Browser.Engine.version<=4)correzioneIE6();
			});		
			
		});
		
	}
	
	
	// MAIN MENU 
	if($('mainMenu')){
		$('mainMenu').getElements('.ajaxmenu').each(function(item,i){
			var actualObject=item;
			actualObject.setStyles({'z-index':900});
			var container=item.getParent();
			container.setStyle('position','relative');
			//var fx = new Fx.Morph(item, {duration: 800, link: 'cancel',transition:Fx.Transitions.linear});
	
			container.addEvent('mouseenter', function(){
				actualObject.setStyle('display','block');
				item.addClass('overAjax');
			});
			container.addEvent('mouseleave', function(){
				actualObject.setStyle('display','none');
				item.removeClass('overAjax');
			});
		});
	}
	
	// GALLERY COLORI DETTAGLIO PRODOTTI
	if($('dettaglioProdotto')){
		$('dettaglioProdotto').getElements('.antFoto').each(function(item,i){
			item.addEvent('click', function(e){
				new Event(e).stop();
				var url=this.getElement('a');
				var myImage = new Asset.image(url, {
					onLoad: coloriFunction(item,url)
				});				
			});
		});
		var coloriFunction = function(item,url){
			var tmp=$('bigFoto').getProperty('src');
			$('bigFoto').setProperty('src',url);
			item.getElement('a').setProperty('href',tmp);
			item.getElement('img').setProperty('src',tmp.replace('/images/','/thumbs_images/'));
		};

	}
	
	
	
	//SCHEDA PRODOTTI
	if($('listaProdotti') && $('listaProdotti').getElement('.active') && $('dettaglioProdotto')){
		var box=$('listaProdotti').getElement('.active').getParent();
		 box.inject(box.getParent(),'top');
		var ajaxcontent=new Element('div',{'id':'ajaxContent'});
		ajaxcontent.adopt($('dettaglioProdotto')).inject(box,'after');
	}	
	
	// DESIGNERS
	var designers= function(){
		if($('listaDesigners')){
			$('listaDesigners').getElements('.item').each(function(item){
				if(!item.hasClass('active')){
					item.setStyle('opacity',0.4);
					item.addEvent('mouseenter',function(){item.setStyle('opacity',1);});
					item.addEvent('mouseleave',function(){item.setStyle('opacity',0.4);});
				}
			});
		}
	}
	designers.run();
	
	// FOTO NOVITA SLIDER VERTICALE
	var fotoSliderVerticale= function(){
		if($('dettaglioNovita')){
			var box=$('dettaglioNovita');
			var minHeight=80;
			var maxHeight=235;
			var top=0;
			var margine=5;
			var duration=500;
			var hash = new Hash();
			//foto principale colonna sinistra
			if(box.getElements('#FotoPrincipale a')){
				var FotoPrincipale=box.getElements('#FotoPrincipale a');
				FotoPrincipale.addEvent('click',function(e){
					new Event(e).stop();
					if($('mask')) var mask=$('mask');
					else var mask=new Element('div',{'id':'mask'}).inject(document.body,'bottom');
					mask.addEvent('click',function(){mask.destroy(); ajaxResult.destroy();});
					mask.setStyle('opacity',defaultOpacity);
					var closeX=new Element('div',{'id':'close','html':'x'});
					closeX.addEvent('click',function(){mask.destroy(); ajaxResult.destroy();});
					var imgAjax=new Element('img',{'id':'imgAjax','src':FotoPrincipale.getProperty('href')});
					var ajaxResult=new Element('div',{'id':'boxImg'}).adopt([imgAjax,closeX]).inject(document.body,'bottom');
					if(Browser.Engine.trident && Browser.Engine.version<=4)correzioneIE6();						   
				});
			}
			
			box.getElements('#gallery a').each(function(item,i){
				item.setStyles({
					'position':'absolute',
					'top': i*(minHeight+margine),
					'left': 0
				});
				var myFx = new Fx.Morph(item,{link:'cancel',duration:duration,transition: Fx.Transitions.Linear});
				hash.set(item,myFx);
				item.addEvent('mouseenter',function(){animazione(hash,item);});
				item.addEvent('mouseleave',function(){animazione(hash,null);});
				item.addEvent('click',function(e){
					new Event(e).stop();
					if($('mask')) var mask=$('mask');
					else var mask=new Element('div',{'id':'mask'}).inject(document.body,'bottom');
					mask.addEvent('click',function(){mask.destroy(); ajaxResult.destroy();});
					mask.setStyle('opacity',defaultOpacity);
					var closeX=new Element('div',{'id':'close','html':'x'});
					closeX.addEvent('click',function(){mask.destroy(); ajaxResult.destroy();});
					var imgAjax=new Element('img',{'id':'imgAjax','src':item.getProperty('href')});
					var ajaxResult=new Element('div',{'id':'boxImg'}).adopt([imgAjax,closeX]).inject(document.body,'bottom');
					if(Browser.Engine.trident && Browser.Engine.version<=4)correzioneIE6();										   
				});
			});
			if(box.getElement('#gallery'))
				box.getElement('#gallery').setStyle('height',(hash.getLength()*minHeight)+(maxHeight-minHeight));
			
			function animazione(hash,selected){
				var spostamento=0;
				var post=false;
				var i=0;
				hash.each(function(fx,element){
					if(element==selected){
						post=true;
						fx.start({'height':maxHeight,'top':i*(minHeight+margine)});
					}else{
						if(post==true) fx.start({'height':minHeight,'top':(i*(minHeight+margine))+(maxHeight-minHeight)});
						else fx.start({'height':minHeight,'top':i*(minHeight+margine)});
					}
					i++;
				});
			}
			animazione(hash,null);
		}
	};
	fotoSliderVerticale.run();
	
	//SLIDE FOTO DETTAGLIO COMUNICAZIONE
	var slideDettaglioComunicazione= function(){
		if(document.getElement('#dettaglioNews .immagini')){
			var box=document.getElement('#dettaglioNews .immagini');
			box.setStyles({'overflow':'hidden','height':400});
			if(box.getElement('.slider')){
				var width=box.getSize().x;
				var slider=box.getElement('.slider');
				var maxWidth=slider.getSize().x;
				var fxSlider=new Fx.Tween(slider,{'link':'cancel',duration:1000,transation: Fx.Transitions.Linear});
	
				var controlBarDett= new Element('div',{'id':'controlBarDett'});
				var avanti= new Element('a',{'id':'avanti','href':'#'}).inject(controlBarDett);
				var indietro= new Element('a',{'id':'indietro','href':'#'}).inject(controlBarDett);
				controlBarDett.inject(box,'after');
				
				var margin=0;
				if(box.hasClass('big')) var spostamento=577;
				else var spostamento=572;
				avanti.addEvent('click',function(e){
					new Event(e).stop();
					margin=margin-spostamento;
					if(margin<0) margin=0;
					fxSlider.start('margin-left',-margin);				
				});
				indietro.addEvent('click',function(e){
					new Event(e).stop();
					margin=margin+spostamento;
					if(margin>(maxWidth-spostamento)) margin=maxWidth-spostamento;
					fxSlider.start('margin-left',-margin);						
				});
			}
		}
	};
	
	// COMUNICAZIONE
	var rassegnaStampa= function(){
		var attivata=false;
		if($('listanews')){
			var lista=$('listanews');
			
			//Acesso diretto al dettaglio
			var ajaxResult= new Element('div',{'id':'ajaxResult'});
			if($('dettaglioNews')){
				if($('mask')) mask=$('mask');
				else mask=new Element('div',{'id':'mask'}).inject(document.body,'bottom');
				mask.addEvent('click',function(){mask.destroy(); ajaxResult.destroy();});
				mask.setStyle('opacity',defaultOpacity);
				ajaxResult.adopt($('dettaglioNews'));
				ajaxResult.inject(mask,'after');
				var closeX=new Element('div',{'id':'close','html':'x'}).inject(ajaxResult,'bottom');
				closeX.addEvent('click',function(){mask.destroy(); ajaxResult.destroy();});
				ajaxResult.inject(mask,'after').adopt(closeX);
				slideDettaglioComunicazione.run();
			}
						
			//Slider
			if(lista.getElement('.slider')){
				var slider=$('listanews').getElement('.slider');
				var width=slider.getSize().x;
				var maxWidth=980;
				var spostamento=980;
				
				if(width>maxWidth){
					attivata=true;
					if(lista.getParent() && lista.getParent().get('id')=='ajaxContent') 
						lista.getParent().setStyle('height',lista.getParent().getStyle('height').toInt()+25);
						
					var fxLista=new Fx.Tween(slider,{'link':'cancel',duration:1000,transation: Fx.Transitions.Linear});
					lista.setStyle('overflow','hidden');
					var actualMargin=slider.getStyle('margin-left').toInt();
					
					switch(Lang){
						case 'it':
							var txtInizio='Inizio';
							var txtPrecedente='Precedente';
							var txtSuccessivo='Successivo';
							var txtFine='Fine';
						break;
						case 'de':
							var txtInizio='Anfang';
							var txtPrecedente='Zurück';
							var txtSuccessivo='Weiter';
							var txtFine='Ende';
						break;
						case 'fr':
							var txtInizio='Début';
							var txtPrecedente='Précédent';
							var txtSuccessivo='Successif';
							var txtFine='Fin';
						break;
						case 'es':
							var txtInizio='Inicio';
							var txtPrecedente='Anterior';
							var txtSuccessivo='Sucesivo';
							var txtFine='Fin';
						break;
						default:
							var txtInizio='Start';
							var txtPrecedente='Previous';
							var txtSuccessivo='Next';
							var txtFine='Last';
					}
					
					var ControlBar=new Element('div',{'id':'ControlBar'});
					var Inizio= new Element('div',{'id':'Inizio','text':txtInizio}).inject(ControlBar);
					var Precedente= new Element('div',{'id':'Precedente','text':txtPrecedente}).inject(ControlBar);
					var Successivo= new Element('div',{'id':'Successivo','text':txtSuccessivo}).inject(ControlBar);
					var Fine= new Element('div',{'id':'Fine','text':txtFine}).inject(ControlBar);
					ControlBar.inject(lista);
					
					Inizio.addEvent('click', function(e){
						new Event(e).stop();
						actualMargin=0;
						fxLista.start('margin-left',-actualMargin);
					});
					Precedente.addEvent('click', function(e){
						new Event(e).stop();
						actualMargin=actualMargin-spostamento;
						if(actualMargin<0) actualMargin=0;
						fxLista.start('margin-left',-actualMargin);
					});
					Successivo.addEvent('click', function(e){
						new Event(e).stop();
						actualMargin=actualMargin+spostamento;
						if(actualMargin>(width-maxWidth)) actualMargin=width-maxWidth;
						fxLista.start('margin-left',-actualMargin);						
					});
					Fine.addEvent('click', function(e){
						new Event(e).stop();
						actualMargin=width-maxWidth;
						fxLista.start('margin-left',-actualMargin);
					});
				}
			}			
			
			
			//Dettaglio elementi
			lista.getElements('.item a').each(function(item){
				if(item.hasClass('ajaxDetail')){
					if(item.getProperty('href')!=null){
						var child=item.getElement('span');			
						child.setStyle('display','none');
						item.addEvent('mouseenter',function(){child.setStyle('display','block');});
						item.addEvent('mouseleave',function(){child.setStyle('display','none');});
						item.addEvent('click',function(e){
							new Event(e).stop();
							if($('mask')) mask=$('mask');
							else mask=new Element('div',{'id':'mask'}).inject(document.body,'bottom');
							mask.addEvent('click',function(){mask.destroy(); ajaxResult.destroy(); });
							mask.setStyle('opacity',defaultOpacity);
							myHTMLRequest.get(item.getProperty('href'));
						});
					}
				}else{
					item.addEvent('click',function(e){
						new Event(e).stop();
						myRequest2.get(item.getProperty('href'));
					});	
				}
			});
			
			
			var myRequest2 = new Request.HTML({
				'link': 'cancel',
				'evalScripts': false,
				onSuccess: function(responseTree, responseElements){
					requestResult='';
					for (var key in responseElements) {
						if($type(responseElements[key])=='element' && responseElements[key].get('id')=='dettaglioNovita' ){
							requestResult=responseElements[key];
						}
					}
					if(requestResult!=''){
						if($('dettaglioNovita')) $('dettaglioNovita').destroy();
						$('content').adopt(requestResult,'bottom');
						fotoSliderVerticale.run();
					}
				},
				onFailure:function(){
					location.href=src;
				}
			});
					
			var myHTMLRequest = new Request.HTML({
				evalScripts:false,
				'link': 'ignore',
				onSuccess: function(responseTree, responseElements ){
					responseElements.each(function(item){
						if(item.id=='dettaglioNews'){
							ajaxResult.adopt(item);
							var closeX=new Element('div',{'id':'close','html':'x'}).inject(ajaxResult,'bottom');
							closeX.addEvent('click',function(){mask.destroy(); ajaxResult.destroy();});
							ajaxResult.inject(mask,'after').adopt(closeX);
							slideDettaglioComunicazione.run();
						}
					});
					
				},
				onFailure: function(){
					mask.destroy();
				}
			});
		}
		if(attivata) return true;
		else return false;
	};
	rassegnaStampa.run();
	
	// TESTO SEARCH
	var testoSearch= function(){
		if($('nomeProdotto')){
		 	var	input=$('nomeProdotto');
			var txt='';
			input.addEvent('focus',function(){
				txt=input.get('value');
				input.set('value','');
			});
			input.addEvent('blur',function(){
				if(input.get('value')=='') input.set('value',txt);			
			});
		}
	};
	testoSearch.run();
});
//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.5.1",build:"254884f2b83651bf95260eed5c6cceb838e22d8e"};Class.Mutators.Binds=function(a){return a;};Class.Mutators.initialize=function(a){return function(){$splat(this.Binds).each(function(b){var c=this[b];
if(c){this[b]=c.bind(this);}},this);return a.apply(this,arguments);};};Class.Occlude=new Class({occlude:function(c,b){b=document.id(b||this.element);var a=b.retrieve(c||this.property);
if(a&&!$defined(this.occluded)){return this.occluded=a;}this.occluded=false;b.store(c||this.property,this);return this.occluded;}});Element.implement({measure:function(e){var g=function(h){return !!(!h||h.offsetHeight||h.offsetWidth);
};if(g(this)){return e.apply(this);}var d=this.getParent(),f=[],b=[];while(!g(d)&&d!=document.body){b.push(d.expose());d=d.getParent();}var c=this.expose();
var a=e.apply(this);c();b.each(function(h){h();});return a;},expose:function(){if(this.getStyle("display")!="none"){return $empty;}var a=this.style.cssText;
this.setStyles({display:"block",position:"absolute",visibility:"hidden"});return function(){this.style.cssText=a;}.bind(this);},getDimensions:function(a){a=$merge({computeSize:false},a);
var f={};var d=function(g,e){return(e.computeSize)?g.getComputedSize(e):g.getSize();};var b=this.getParent("body");if(b&&this.getStyle("display")=="none"){f=this.measure(function(){return d(this,a);
});}else{if(b){try{f=d(this,a);}catch(c){}}else{f={x:0,y:0};}}return $chk(f.x)?$extend(f,{width:f.x,height:f.y}):$extend(f,{x:f.width,y:f.height});},getComputedSize:function(a){if(a&&a.plains){a.planes=a.plains;
}a=$merge({styles:["padding","border"],planes:{height:["top","bottom"],width:["left","right"]},mode:"both"},a);var c={width:0,height:0};switch(a.mode){case"vertical":delete c.width;
delete a.planes.width;break;case"horizontal":delete c.height;delete a.planes.height;break;}var b=[];$each(a.planes,function(f,g){f.each(function(h){a.styles.each(function(i){b.push((i=="border")?i+"-"+h+"-width":i+"-"+h);
});});});var e={};b.each(function(f){e[f]=this.getComputedStyle(f);},this);var d=[];$each(a.planes,function(f,g){var h=g.capitalize();c["total"+h]=c["computed"+h]=0;
f.each(function(i){c["computed"+i.capitalize()]=0;b.each(function(k,j){if(k.test(i)){e[k]=e[k].toInt()||0;c["total"+h]=c["total"+h]+e[k];c["computed"+i.capitalize()]=c["computed"+i.capitalize()]+e[k];
}if(k.test(i)&&g!=k&&(k.test("border")||k.test("padding"))&&!d.contains(k)){d.push(k);c["computed"+h]=c["computed"+h]-e[k];}});});});["Width","Height"].each(function(g){var f=g.toLowerCase();
if(!$chk(c[f])){return;}c[f]=c[f]+this["offset"+g]+c["computed"+g];c["total"+g]=c[f]+c["total"+g];delete c["computed"+g];},this);return $extend(e,c);}});
(function(){var a=Element.prototype.position;Element.implement({position:function(g){if(g&&($defined(g.x)||$defined(g.y))){return a?a.apply(this,arguments):this;
}$each(g||{},function(u,t){if(!$defined(u)){delete g[t];}});g=$merge({relativeTo:document.body,position:{x:"center",y:"center"},edge:false,offset:{x:0,y:0},returnPos:false,relFixedPosition:false,ignoreMargins:false,ignoreScroll:false,allowNegative:false},g);
var r={x:0,y:0},e=false;var c=this.measure(function(){return document.id(this.getOffsetParent());});if(c&&c!=this.getDocument().body){r=c.measure(function(){return this.getPosition();
});e=c!=document.id(g.relativeTo);g.offset.x=g.offset.x-r.x;g.offset.y=g.offset.y-r.y;}var s=function(t){if($type(t)!="string"){return t;}t=t.toLowerCase();
var u={};if(t.test("left")){u.x="left";}else{if(t.test("right")){u.x="right";}else{u.x="center";}}if(t.test("upper")||t.test("top")){u.y="top";}else{if(t.test("bottom")){u.y="bottom";
}else{u.y="center";}}return u;};g.edge=s(g.edge);g.position=s(g.position);if(!g.edge){if(g.position.x=="center"&&g.position.y=="center"){g.edge={x:"center",y:"center"};
}else{g.edge={x:"left",y:"top"};}}this.setStyle("position","absolute");var f=document.id(g.relativeTo)||document.body,d=f==document.body?window.getScroll():f.getPosition(),l=d.y,h=d.x;
var n=this.getDimensions({computeSize:true,styles:["padding","border","margin"]});var j={},o=g.offset.y,q=g.offset.x,k=window.getSize();switch(g.position.x){case"left":j.x=h+q;
break;case"right":j.x=h+q+f.offsetWidth;break;default:j.x=h+((f==document.body?k.x:f.offsetWidth)/2)+q;break;}switch(g.position.y){case"top":j.y=l+o;break;
case"bottom":j.y=l+o+f.offsetHeight;break;default:j.y=l+((f==document.body?k.y:f.offsetHeight)/2)+o;break;}if(g.edge){var b={};switch(g.edge.x){case"left":b.x=0;
break;case"right":b.x=-n.x-n.computedRight-n.computedLeft;break;default:b.x=-(n.totalWidth/2);break;}switch(g.edge.y){case"top":b.y=0;break;case"bottom":b.y=-n.y-n.computedTop-n.computedBottom;
break;default:b.y=-(n.totalHeight/2);break;}j.x+=b.x;j.y+=b.y;}j={left:((j.x>=0||e||g.allowNegative)?j.x:0).toInt(),top:((j.y>=0||e||g.allowNegative)?j.y:0).toInt()};
var i={left:"x",top:"y"};["minimum","maximum"].each(function(t){["left","top"].each(function(u){var v=g[t]?g[t][i[u]]:null;if(v!=null&&((t=="minimum")?j[u]<v:j[u]>v)){j[u]=v;
}});});if(f.getStyle("position")=="fixed"||g.relFixedPosition){var m=window.getScroll();j.top+=m.y;j.left+=m.x;}var p=f.getScroll();if(g.ignoreScroll){j.top-=p.y;
j.left-=p.x;}else{j.top+=p.y;j.left+=p.x;}if(g.ignoreMargins){j.left+=(g.edge.x=="right"?n["margin-right"]:g.edge.x=="center"?-n["margin-left"]+((n["margin-right"]+n["margin-left"])/2):-n["margin-left"]);
j.top+=(g.edge.y=="bottom"?n["margin-bottom"]:g.edge.y=="center"?-n["margin-top"]+((n["margin-bottom"]+n["margin-top"])/2):-n["margin-top"]);}j.left=Math.ceil(j.left);
j.top=Math.ceil(j.top);if(g.returnPos){return j;}else{this.setStyles(j);}return this;}});})();var Asset={javascript:function(f,d){d=$extend({onload:$empty,document:document,check:$lambda(true)},d);
if(d.onLoad){d.onload=d.onLoad;delete d.onLoad;}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){a=a||{};
var c=a.onload||a.onLoad;if(c){a.events=a.events||{};a.events.load=c;delete a.onload;delete a.onLoad;}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 g="on"+e;
var f=e.capitalize();if(b["on"+f]){b[g]=b["on"+f];delete b["on"+f];}var h=b[g];delete b[g];d[g]=function(){if(!d){return;}if(!a.parentNode){a.width=d.width;
a.height=d.height;}d=d.onload=d.onabort=d.onerror=null;h.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(f,e){return Asset.image(f,$extend(c.properties,{onload:function(){c.onProgress.call(this,b,e);
b++;if(b==d.length){c.onComplete();}},onerror:function(){c.onError.call(this,b,e);b++;if(b==d.length){c.onComplete();}}}));}));}};var IframeShim=new Class({Implements:[Options,Events,Class.Occlude],options:{className:"iframeShim",src:'javascript:false;document.write("");',display:false,zIndex:null,margin:0,offset:{x:0,y:0},browsers:(Browser.Engine.trident4||(Browser.Engine.gecko&&!Browser.Engine.gecko19&&Browser.Platform.mac))},property:"IframeShim",initialize:function(b,a){this.element=document.id(b);
if(this.occlude()){return this.occluded;}this.setOptions(a);this.makeShim();return this;},makeShim:function(){if(this.options.browsers){var c=this.element.getStyle("zIndex").toInt();
if(!c){c=1;var b=this.element.getStyle("position");if(b=="static"||!b){this.element.setStyle("position","relative");}this.element.setStyle("zIndex",c);
}c=($chk(this.options.zIndex)&&c>this.options.zIndex)?this.options.zIndex:c-1;if(c<0){c=1;}this.shim=new Element("iframe",{src:this.options.src,scrolling:"no",frameborder:0,styles:{zIndex:c,position:"absolute",border:"none",filter:"progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)"},"class":this.options.className}).store("IframeShim",this);
var a=(function(){this.shim.inject(this.element,"after");this[this.options.display?"show":"hide"]();this.fireEvent("inject");}).bind(this);if(!IframeShim.ready){window.addEvent("load",a);
}else{a();}}else{this.position=this.hide=this.show=this.dispose=$lambda(this);}},position:function(){if(!IframeShim.ready||!this.shim){return this;}var a=this.element.measure(function(){return this.getSize();
});if(this.options.margin!=undefined){a.x=a.x-(this.options.margin*2);a.y=a.y-(this.options.margin*2);this.options.offset.x+=this.options.margin;this.options.offset.y+=this.options.margin;
}this.shim.set({width:a.x,height:a.y}).position({relativeTo:this.element,offset:this.options.offset});return this;},hide:function(){if(this.shim){this.shim.setStyle("display","none");
}return this;},show:function(){if(this.shim){this.shim.setStyle("display","block");}return this.position();},dispose:function(){if(this.shim){this.shim.dispose();
}return this;},destroy:function(){if(this.shim){this.shim.destroy();}return this;}});window.addEvent("load",function(){IframeShim.ready=true;});var Mask=new Class({Implements:[Options,Events],Binds:["position"],options:{style:{},"class":"mask",maskMargins:false,useIframeShim:true,iframeShimOptions:{}},initialize:function(b,a){this.target=document.id(b)||document.id(document.body);
this.target.store("Mask",this);this.setOptions(a);this.render();this.inject();},render:function(){this.element=new Element("div",{"class":this.options["class"],id:this.options.id||"mask-"+$time(),styles:$merge(this.options.style,{display:"none"}),events:{click:function(){this.fireEvent("click");
if(this.options.hideOnClick){this.hide();}}.bind(this)}});this.hidden=true;},toElement:function(){return this.element;},inject:function(b,a){a=a||this.options.inject?this.options.inject.where:""||this.target==document.body?"inside":"after";
b=b||this.options.inject?this.options.inject.target:""||this.target;this.element.inject(b,a);if(this.options.useIframeShim){this.shim=new IframeShim(this.element,this.options.iframeShimOptions);
this.addEvents({show:this.shim.show.bind(this.shim),hide:this.shim.hide.bind(this.shim),destroy:this.shim.destroy.bind(this.shim)});}},position:function(){this.resize(this.options.width,this.options.height);
this.element.position({relativeTo:this.target,position:"topLeft",ignoreMargins:!this.options.maskMargins,ignoreScroll:this.target==document.body});return this;
},resize:function(a,e){var b={styles:["padding","border"]};if(this.options.maskMargins){b.styles.push("margin");}var d=this.target.getComputedSize(b);if(this.target==document.body){var c=window.getScrollSize();
if(d.totalHeight<c.y){d.totalHeight=c.y;}if(d.totalWidth<c.x){d.totalWidth=c.x;}}this.element.setStyles({width:$pick(a,d.totalWidth,d.x),height:$pick(e,d.totalHeight,d.y)});
return this;},show:function(){if(!this.hidden){return this;}window.addEvent("resize",this.position);this.position();this.showMask.apply(this,arguments);
return this;},showMask:function(){this.element.setStyle("display","block");this.hidden=false;this.fireEvent("show");},hide:function(){if(this.hidden){return this;
}window.removeEvent("resize",this.position);this.hideMask.apply(this,arguments);if(this.options.destroyOnHide){return this.destroy();}return this;},hideMask:function(){this.element.setStyle("display","none");
this.hidden=true;this.fireEvent("hide");},toggle:function(){this[this.hidden?"show":"hide"]();},destroy:function(){this.hide();this.element.destroy();this.fireEvent("destroy");
this.target.eliminate("mask");}});Element.Properties.mask={set:function(b){var a=this.retrieve("mask");return this.eliminate("mask").store("mask:options",b);
},get:function(a){if(a||!this.retrieve("mask")){if(this.retrieve("mask")){this.retrieve("mask").destroy();}if(a||!this.retrieve("mask:options")){this.set("mask",a);
}this.store("mask",new Mask(this,this.retrieve("mask:options")));}return this.retrieve("mask");}};Element.implement({mask:function(a){this.get("mask",a).show();
return this;},unmask:function(){this.get("mask").hide();return this;}});
