/*
gbMoveBox v1.0 mit MooTools v1.2

von gb media (www.gb-media.biz) 2009
Vielen Dank an die MooTools Entwickler
*/

var gbMoveBox = new Class({
	Implements: Options,
	
    options: {
		boxEl			: ['uploadwindow', 'confirm_delete_box', 'no_more_uploads_box', 'gbpopup'],
		parentEl		: 'site',
		startTop		: 200,
		startLeft		: 'center',
		startTopIE		: -10,
		startLeftIE		: 0,
		duration		: 'long',
		transition		: Fx.Transitions.Quad.easeInOut
	},

	initialize: function(options){
		this.setOptions(options);
		var position = this.getPosition();
		for (var i=0; i<this.options.boxEl.length; i++){
			if ($(this.options.boxEl[i])){
				$(this.options.boxEl[i]).setStyles({
					'position': 'absolute',
					'top': position[0],
					'left': position[1]
				});
				this.moveEl(i);
			}
		}
	},
	
	moveEl: function (i){
		var ani = new Fx.Morph($(this.options.boxEl[i]), {duration: this.options.duration, transition: this.options.transition});
		var position = this.getPosition();
		ani.start({
			'top': position[0],
			'left': position[1]
		}).chain(function() {
			this.moveEl(i);
		}.bind(this));
	},
	
	getPosition: function () {
		var top = document.documentElement.scrollTop+this.options.startTop+$(this.options.parentEl).getTop();
		var left = this.options.startLeft+$(this.options.parentEl).getLeft();
		if (Browser.Engine.trident){
			top = top+this.options.startTopIE;
			left = left+this.options.startLeftIE;
		}
		if (this.options.startLeft == 'center'){
			left = window.innerWidth/2;
			if (Browser.Engine.trident){
				left = document.body.clientWidth/2;
			}
		}
		return [top, left];
	}
});
gbMoveBox.implement(new Options);

window.addEvent('domready', function(){
	if (typeof gbMoveBoxOpt == 'undefined'){
		gbMoveBoxOpt = {}; 
	}
	
	gbMoveBox = new gbMoveBox(gbMoveBoxOpt);
});
