document.observe('dom:loaded', function()
{
	var imgs = $$('.icons-main img');
	for ( var i = 0; imgs[i]; i++ )
	{
		imgs[i].ImagePulser = new ImagePulser(imgs[i]);
	}
});
var ImagePulser = function(img)
{
	this.img = img;
	img.style.position = 'relative';
	img.up('a').style.display = 'block';
	img.up('a').style.height = img.up('a').getHeight() + 'px';
	img.up('a').style.width = img.up('a').getWidth() + 'px';
	var ImagePulser = this;

	this.maxDimensions = img.getDimensions();

	this.currentDimensions = [];
	this.currentDimensions.height = this.maxDimensions.height;
	this.currentDimensions.width = this.maxDimensions.width;

	this.minDimensions = [];
	this.minDimensions.height = parseInt(this.maxDimensions.height * 0.9);
	this.minDimensions.width = parseInt(this.maxDimensions.width * 0.9);

	this.pulseSteps = 5;
	this.pulseSpeed = 50;

	this.incDimensions = [];
	this.incDimensions.height = ((this.maxDimensions.height - this.minDimensions.height) / this.pulseSteps);
	this.incDimensions.width = ((this.maxDimensions.width - this.minDimensions.width) / this.pulseSteps);

	img.up('a').observe('mouseover', function(e)
	{
		var img = Event.findElement(e, 'a').down('img');
		if ( img.ImagePulser.pulseDownTimer )
		{
			window.clearTimeout(img.ImagePulser.pulseDownTimer);
		}
		img.ImagePulser.pulseUp();
	});

	img.up('a').observe('mouseout', function(e)
	{
		var img = Event.findElement(e, 'a').down('img');
		if ( img.ImagePulser.pulseUpTimer )
		{
			window.clearTimeout(img.ImagePulser.pulseUpTimer);
		}
		img.ImagePulser.pulseDown();
	});

	this.pulseDownTimer = null;
	this.pulseDown = function()
	{
		var resize = false;

		if ( parseInt(ImagePulser.currentDimensions.height) > ImagePulser.minDimensions.height )
		{
			ImagePulser.currentDimensions.height -= ImagePulser.incDimensions.height;
			resize = true;
		}

		if ( parseInt(ImagePulser.currentDimensions.width) > ImagePulser.minDimensions.width )
		{
			ImagePulser.currentDimensions.width -= ImagePulser.incDimensions.width;
			resize = true;
		}

		if ( resize )
		{
			ImagePulser.img.style.width = parseInt(ImagePulser.currentDimensions.width) + 'px';
			ImagePulser.img.style.height = parseInt(ImagePulser.currentDimensions.height) + 'px';
			ImagePulser.img.style.top = parseInt((ImagePulser.img.up('a').getHeight() - ImagePulser.currentDimensions.height) / 2) + 'px';

			ImagePulser.pulseDownTimer = window.setTimeout(ImagePulser.pulseDown, ImagePulser.pulseSpeed);
		}
	}

	this.pulseUpTimer = null;
	this.pulseUp = function()
	{
		var resize = false;

		if ( parseInt(ImagePulser.currentDimensions.height) < ImagePulser.maxDimensions.height )
		{
			ImagePulser.currentDimensions.height += ImagePulser.incDimensions.height;
			resize = true;
		}

		if ( parseInt(ImagePulser.currentDimensions.width) < ImagePulser.maxDimensions.width )
		{
			ImagePulser.currentDimensions.width += ImagePulser.incDimensions.width;
			resize = true;
		}

		if ( resize )
		{
			ImagePulser.img.style.width = parseInt(ImagePulser.currentDimensions.width) + 'px';
			ImagePulser.img.style.height = parseInt(ImagePulser.currentDimensions.height) + 'px';
			ImagePulser.img.style.top = parseInt((ImagePulser.img.up('a').getHeight() - ImagePulser.currentDimensions.height) / 2) + 'px';

			ImagePulser.pulseUpTimer = window.setTimeout(ImagePulser.pulseUp, ImagePulser.pulseSpeed);
		}
	}

	this.pulseDown();
}

