// JavaScript Document
<!--
var zoom = 4;
var speed = 4;
var real = 0;
var intervalIn;
var divs;

window.onload=function()
{
	obtenirImatges();
}
function obtenirImatges()
{	
	// S'obté un array de tots els divs que contenen les img. de la galeria:
	divs = document.getElementsByTagName('div');
	// Bucle que recorre tot l'array anterior:
	for (var i=0; i<divs.length; i++)
	{
		// Es comprova que el div amb l'index especificat conté una miniatura i no un altra cosa:
		if (divs[i].id == 'divThumbs')
		{
			// S'obte la img que conté el div especificat:
			var myimg = divs[i].getElementsByTagName('img')[0];	
			myimg.smallSrc = myimg.src;
			myimg.smallWidth = parseInt(myimg.style.width);
			myimg.smallHeight = parseInt(myimg.style.height);
			// Es defineix l'event que ha d'ampliar la miniatura:
			divs[i].onmouseover = scaleIn;
			// Es defineix l'event que ha de restaurar el tamany original de la miniatura:
			divs[i].onmouseout = scaleOut;
			if (!myimg.smallWidth)
			{
				myimg.smallWidth = 100;
				myimg.smallHeight = 75;	     
				real = 0;
			}
			else
			{
			  	real = 1;
			}
		}
	}
}

// Funció que amplia les miniatures:
function scaleIn()
{
  var myimg = this.getElementsByTagName('img')[0];
  this.style.zIndex = 20;
  var count = 0;
  var real = 0;
  intervalIn = window.setInterval(scaleStepIn, 1);
  return false;
  
  function scaleStepIn()
  {
	var widthIn = parseInt(myimg.style.width);
	var heightIn = parseInt(myimg.style.height);
	var topIn = parseInt(myimg.style.top);
	var leftIn = parseInt(myimg.style.left);
	if(widthIn >= heightIn) {
	  widthIn += speed;
	  heightIn += Math.floor(speed * (3/4));
	  topIn -= (Math.floor(speed * (3/8)));
	  leftIn -= (speed/2);
	}
	else
	{
	  widthIn += Math.floor(speed * (3/4));
	  heightIn += speed;
	  topIn -= (speed/2);
	  leftIn -= (Math.floor(speed * (3/8)));
	}
	myimg.style.width = widthIn+"px";
	myimg.style.height = heightIn+"px";
	myimg.style.top = topIn+"px";
	myimg.style.left = leftIn+"px";
	count++;
	if (count >= zoom)
	  window.clearInterval(intervalIn);
  }			
}
// Funcio que redueix i restaura les miniatures:
function scaleOut()
{
  window.clearInterval(intervalIn);
  var myimg = this.getElementsByTagName('img')[0];
  myimg.src = myimg.smallSrc;
  this.style.zIndex = 10;
  var mydiv = this;
  var interval = window.setInterval(scaleStepOut, 1);
  return false;

  function scaleStepOut()
  {
	var width = parseInt(myimg.style.width);
	var height = parseInt(myimg.style.height);
	var top = parseInt(myimg.style.top);
	var left = parseInt(myimg.style.left);
	if(width >= height) {
	  width -= speed;
	  height -= Math.floor(speed * (3/4));
  	  if(width < myimg.smallWidth + 4) {
	    myimg.style.width = myimg.smallWidth+"px";
	    myimg.style.height = myimg.smallHeight+"px";
	    myimg.style.top = 0;
	    myimg.style.left = 0;
		mydiv.style.zIndex = 1;
		window.clearInterval(interval);
	  }
	  else{
	    myimg.style.width = width+"px";
	    myimg.style.height = height+"px";
	    myimg.style.top = (left + (speed/2))+"px";
	    myimg.style.left = top + (Math.floor(speed * (3/8)))+"px";
	  }
	}
	else
	{
	  width -= Math.floor(speed * (3/4));
	  height -= speed;
	  if(real==1)
	  {
	    if(width < myimg.smallWidth + 4)
	    {
	      myimg.style.width = myimg.smallWidth+"px";
	      myimg.style.height = myimg.smallHeight+"px";
		  myimg.style.top = 0;
	      myimg.style.left = 0;
		  mydiv.style.zIndex = 1;
	      window.clearInterval(interval);
		}
		else{
		  myimg.style.width = width+"px";
	      myimg.style.height = height+"px";
	      myimg.style.top = (top + (speed/2))+"px";
	      myimg.style.left = left + (Math.floor(speed * (3/8)))+"px";
		}
	  }
	  else
	  {
	  	if(height < myimg.smallWidth + 4)
	    {
	      myimg.style.width = myimg.smallHeight+"px";
	      myimg.style.height = myimg.smallWidth+"px";
		  myimg.style.top = 0;
	      myimg.style.left = 0;
		  mydiv.style.zIndex = 1;
	      window.clearInterval(interval);
		}
		else{
		  myimg.style.width = width+"px";
	      myimg.style.height = height+"px";
	      myimg.style.top = (top + (speed/2))+"px";
	      myimg.style.left = left + (Math.floor(speed * (3/8)))+"px";
		}
	  }
	}	  
  }
}
//-->