/**
 * Effects handler
 *
 * jQuery 1.6.2 expected
 */
var EffectsHandler = {
	
	infoBoxItem: '.info a',
	buttonInfoBox: '',
	addToCartItems: '.product-grid .to-cart a',
	buttonAddToCart: '',
		
	init: function()
	{
		this.infoBox();
		this.addToCart();
	},
	
	infoBox: function()
	{
		var root = this;
		var items = $(this.infoBoxItem);
		var speed = 300;
		var active = false;
		
		items.hover(function(){
			root.buttonInfoBox = $(this).parent().find('.infobox').get(0);
			$(root.buttonInfoBox).css('display', 'none');
			toInfoBox = setTimeout(show, 250);
			// $($(this).parent().find('.infobox').get(0)).css('display', 'none');
			// $($(this).parent().find('.infobox').get(0)).show(speed);
		}, function(){
			hide();
			// $($(this).parent().find('.infobox').get(0)).css('display', 'block');
			// $($(this).parent().find('.infobox').get(0)).hide(speed, function(){ $($(this).parent().find('.infobox').get(0)).clearQueue(); });
		});
		
		function show()
		{
			var speed = 300;
			active = true;
			$(root.buttonInfoBox).show(speed);
		}
		
		function hide()
		{
			clearTimeout(toInfoBox);
			if (active)
			{
				active = false;
				var speed = 300;
				$(root.buttonInfoBox).css('display', 'block');
				$(root.buttonInfoBox).hide(speed, function(){ $(root.buttonInfoBox).clearQueue(); });
			}
		}
	},
	
	addToCart: function()
	{
		var root = this;
		var items = $(this.addToCartItems);
		var speed = 250;
		var active = false;
		
		items.hover(function(){
			root.buttonAddToCart = $(this);
			$(root.buttonAddToCart).css({
				paddingLeft: '0px',
				width: '28px'
			});
			$(root.buttonAddToCart).find('span').css({
				width: '0px',
				fontSize: '0px'
			});
			toAddToCart = setTimeout(show, 250);
		}, function(){
			hide();
		});
		
		function show()
		{
			active = true;
			$(root.buttonAddToCart).css({
				paddingLeft: '8px'
			});
			$(root.buttonAddToCart).find('span').css({
				fontSize: '12px',
				textIndent: '0px'
			});
			$(root.buttonAddToCart).animate({
				width: '130px'
			}, speed, function(){  });
			$(root.buttonAddToCart).find('span').animate({
				width: '100px'
			}, speed, function(){  });
		}
		
		function hide()
		{
			clearTimeout(toAddToCart);
			if (active)
			{
				active = false;
				$(root.buttonAddToCart).clearQueue();
				$(root.buttonAddToCart).css({
					paddingLeft: '0px',
					width: '130px'
				});
				$(root.buttonAddToCart).animate({
					width: '28px'
				}, speed, function(){  });
				$(root.buttonAddToCart).find('span').clearQueue();
				$(root.buttonAddToCart).find('span').css({
					width: '100px',
					fontSize: '0px',
					textIndent: '-999px'
				});
				$(root.buttonAddToCart).find('span').animate({
					width: '0px'
				}, speed, function(){  });
			}
		}

	}

}

