var BackgroundSlider = new Class({	getOptions: function(){		return {			duration: 300,			wait: 500,			transition: Fx.Transitions.sineInOut,			className: false,			fixHeight: false,			fixWidth: false,			id: false,			padding: {top:0,right:0,bottom:0,left:0},			onClick: this.setStart,			mouseOver: true		};	},	initialize: function(elements, options){		this.setOptions(this.getOptions(), options);				this.elements = $$(elements);		this.timer = 0;				if(this.options.id){			this.bg = $(this.options.id);		}else{			this.bg = new Element('div').setProperty('id','BgSlider_'+new Date().getTime()).injectInside(document.body);			if(this.options.className){				this.bg.addClass(this.options.className);				}		}				this.effects = new Fx.Styles(this.bg, {duration: this.options.duration, transition: this.options.transition});				this.elements.each(function(el,i){			if(this.options.mouseOver){				el.addEvent('mouseover', this.move.bind(this,el));				el.addEvent('mouseout', this.reset.bind(this));			}			el.addEvent('click', this.options.onClick.bind(this, el))			if(el.hasClass('bgStart')){				this.set(el);			}		},this);				window.addEvent('resize',function(){			this.move(this.startElement);		}.bind(this));			},		setStart: function(el){		this.startElement = el;	},		set: function(el){		this.setStart(el);		var pos = el.getCoordinates();				if(this.options.id){			this.options.padding.top = this.bg.getStyle('paddingTop').toInt();			this.options.padding.right = this.bg.getStyle('paddingRight').toInt();			this.options.padding.bottom = this.bg.getStyle('paddingBottom').toInt();			this.options.padding.left = this.bg.getStyle('paddingLeft').toInt();			this.bg.setStyle('padding','0px');		}				var obj = {};		obj.top = (pos.top-this.options.padding.top)+'px';		obj.left = (pos.left-this.options.padding.left)+'px';		if(!this.options.fixHeight){obj.height = (pos.height+this.options.padding.top+this.options.padding.bottom)+'px'};		if(!this.options.fixWidth){obj.width = (pos.width+this.options.padding.left+this.options.padding.right)+'px'};				this.bg.setStyles(obj);	},		reset: function(){		if(this.options.wait){			this.timer = this.move.delay(this.options.wait, this, this.startElement);		}	},		move: function(el){		$clear(this.timer);		var pos = el.getCoordinates();				this.effects.stop();				var obj = {};		obj.top = pos.top-this.options.padding.top;		obj.left = pos.left-this.options.padding.left;		if(!this.options.fixHeight){obj.height = pos.height+this.options.padding.top+this.options.padding.bottom};		if(!this.options.fixWidth){obj.width = pos.width+this.options.padding.left+this.options.padding.right};				this.effects.start(obj);			}});BackgroundSlider.implement(new Options);BackgroundSlider.implement(new Events);