/**
 * Realiza el efecto de blink en imagenes
 */

/**
 * Prende y apaga las imagenes de blinkZone
 */
function blinkImagesOfZone (blinkZone, opts)
	{
	
	if(blinkZone.blinkImageIndex>=0)
		blinkZone.blinkImages[blinkZone.blinkImageIndex].removeClass('blink');

	blinkZone.blinkImageIndex++;

	if(blinkZone.blinkImageIndex>=blinkZone.blinkImages.length)
		blinkZone.blinkImageIndex = 0;
	
	if(opts.blinkWaiting>0)
		{
		setTimeout(function(){blinkZone.blinkImages[blinkZone.blinkImageIndex].addClass('blink'); setTimeout(function(){blinkImagesOfZone(blinkZone,opts);},opts.blinkTime);},opts.blinkWaiting);
		}
	else
		{
		blinkZone.blinkImages[blinkZone.blinkImageIndex].addClass('blink');
		setTimeout(function(){blinkImagesOfZone (blinkZone, opts);},opts.blinkTime);
		}
	}


/**
 * Inicia los efectos de imagenes con blink 
 * opts (opcional) es un objeto con...
 *		blinkTime = Tiempo que queda prendida una imagen
 *		blinkWaiting = Tiempo de espera para prender la sigueinte imagen (en este lapso ningua imagen tendra brillo)
 */
function initImagesBlinkFx (cssMatch, opts)
	{
	var defaultOptions = {blinkTime:2000, blinkWaiting:500};

	if(opts===undefined)
		{
		opts = defaultOptions;
		}
	else
		{
		if(opts.blinkTime===undefined)
			opts.blinkTime = defaultOptions.blinkTime;

		if(opts.blinkWaiting===undefined)
			opts.blinkWaiting = defaultOptions.blinkWaiting;
		
		}
	
	
	var blinkZones = $$(cssMatch);

	if(blinkZones===undefined||blinkZones==null||blinkZones.length<1)
		return;
		
	blinkZones.each
		(
		function (blinkZone)
			{
			blinkZone.blinkImages = blinkZone.getElements('img, .blinkElement');

			if((!(blinkZone.blinkImages===undefined))&&blinkZone.blinkImages!=null&&blinkZone.blinkImages.length>0)
				{
				if(opts.blinkWaiting<=0&&blinkZone.blinkImages.length==1)
					{
					blinkZone.blinkImages[0].addClass('blink');
					}
				else
					{
					blinkZone.blinkImageIndex = -1;

					if(opts.blinkWaiting>0)
						setTimeout(function(){blinkImagesOfZone(blinkZone,opts);},opts.blinkWaiting);
					else
						blinkImagesOfZone(blinkZone,opts);
					
					}
				}
			}
		);
	}

