var Box = {
	init: function(options){
		//	Proprietà del blocco
		this.marginBox = 0;
		this.borderBox = 2;
		this.paddingBox = 10;

		//Se i link hanno un rel, vengono usati
		$each(document.links, function(el){
			if (el.rel){
				el.onclick = this.click.pass(el, this);
			}
		}, this);
		var els = $$('div.close');
		$each(els, function(el){
			el.onclick = this.close.bind(this);
		}, this);		
	},
	
	click: function(link){
		return this.open(link.rel);
	},
	
	open: function(div){
		//Sincronizzazione con gli eventi di tastiera e window
		this.eventKeyDown = this.keyboardListener.bindAsEventListener(this);
		document['addEvent']('keydown', this.eventKeyDown);
		window.addEvent('resize', function(){
			Box.position();
		});
		
		//Creo la grafica
		this.overlay = new Element('div', {'id': 'lbOverlay'}).injectInside(document.body);
		this.overlay.onclick = this.close.bind(this);
		
		this.blocco = $(div).injectAfter(this.overlay);
		
		if(!isNaN(this.blocco.getStyle('padding-left').toInt() + this.blocco.getStyle('padding-right').toInt()))
			this.paddingBox = this.blocco.getStyle('padding-left').toInt() + this.blocco.getStyle('padding-right').toInt();
		if(!isNaN(this.blocco.getStyle('border-width').toInt()*2))
			this.borderBox = this.blocco.getStyle('border-width').toInt()*2;
		if(!isNaN(this.blocco.getStyle('margin-left').toInt() + this.blocco.getStyle('margin-right').toInt()))
			this.marginBox = this.blocco.getStyle('margin-left').toInt() + this.blocco.getStyle('margin-right').toInt();
		
		this.position();
		Box.blocco.setStyles({'display':'block'});
		if(Box.blocco.id=="immagini")
			SmoothGallery.init({container: 'gConti', strip: 'gStripi', block: 'bi', lbl: 'lbli', arrayImg: arImgi});
		if(Box.blocco.id=="opere")
			SmoothGallery.init({container: 'gConto', strip: 'gStripo', block: 'bo', lbl: 'lblo', arrayImg: arImgo});
	},

	keyboardListener: function(event){
		//Tasto ESC
		switch (event.keyCode){
			case 27: case 88: case 67: this.close(); break;
		}
	},
	
	position: function(){
		var p = $('colonnaLeft').getPosition();		
		var p2 = $('colonnaRight').getPosition();		
		
		this.overlay.setStyles({'height': window.getScrollHeight()});
		//this.blocco.setStyles({'width': (p2.x-(p.x+10)) - (this.paddingBox + this.marginBox + this.borderBox)});
		this.blocco.setStyles({'width': 964 - (this.paddingBox + this.marginBox + this.borderBox)});
		this.blocco.setStyles({'top': p.y});
		this.blocco.setStyles({'left': p.x-1});
		this.blocco.setStyles({'display': 'block'});
	},

	close: function(){
		if(this.blocco.id=="movie")
			ferma();	
		Box.blocco.setStyles({'display':'none'});		
		Box.overlay.remove();
		Box.blocco.injectInside(document.body);
		document['removeEvent']('keydown', this.eventKeyDown);
		window.removeEvent('resize', function(){
			Box.position();
		});
		if((Box.blocco.id=="immagini")||(Box.blocco.id=="opere"))
			SmoothGallery.close();
		return false;
	}
};

window.addEvent('domready',function(){
	Box.init();
});

function thisMovie(movieName) {
	return document[movieName];
}

function ferma() {
	if(thisMovie("FLVPlayer"))
		thisMovie("FLVPlayer").TStopPlay("/my_FLVPlybk");
}