// Thanks for looking krogs, the custom shake function will never
// be seen on hiphopbarack.com
Element.implement({
	shake : function(duration)
	{
		var parent = this.getParent();
		if(parent != $(document.body) && parent.getStyle('position')=='static')
		{
			parent.setStyle('position','relative');
		}
		var position = this.getStyle('position');
		if(position=='static')
		{
			this.setStyle('position','relative');
			position = 'relative';
		}
		if(Browser.Engine.trident)
		{
			parent.setStyle('height',parent.getStyle('height'));
		}
		var coords = this.getPosition(parent);
		if(position == 'relative' && !Browser.Engine.presto)
		{
			coords.x -= parent.getStyle('paddingLeft').toInt();
			coords.y -= parent.getStyle('paddingTop').toInt();
		}
		var morph = this.retrieve('morph');
		if (morph)
		{
			morph.cancel();
			var oldOptions = morph.options;
		}
		var morph = this.get('morph',
		{
			duration:100,
			link:'chain'
		});
		for(var i=0; i < 6 ; i++)
		{
			if(i%2 == 0)
			{
				morph.start(
				{
					left:(coords.x+50)
				});
			} else
			{
				morph.start(
				{
					left:(coords.x-50)
				});
			}
		}
		morph.start({
			top:coords.y,
			left:coords.x
			}).chain(function(){
			if(oldOptions){
			this.set('morph',oldOptions);
			}
		}.bind(this));
		return this;
	}
}); 