var FadeDurationMS=1000;
function SetOpacity(object,opacityPct){
  // IE.
  object.style.filter = 'alpha(opacity=' + opacityPct + ')';
  // Old mozilla and firefox
  object.style.MozOpacity = opacityPct/100;
  // Everything else.
  object.style.opacity = opacityPct/100;
}

function ChangeOpacity(id,msDuration,msStart,fromO,toO) {
  var element=document.getElementById(id);
  var msNow = (new Date()).getTime();
  var opacity = fromO + (toO - fromO) * (msNow - msStart) / msDuration;
  if (opacity>=100) {
    SetOpacity(element,100);
    element.timer = undefined;
  } else if (opacity<=0)  {
    SetOpacity(element,0);
    element.timer = undefined;
  } else {
    SetOpacity(element,opacity);
    element.timer = window.setTimeout("ChangeOpacity('" + id + "'," + msDuration + "," + msStart + "," + fromO + "," + toO + ")",10);
  }
}

function FadeInImage(foregroundID,newImage,backgroundID,links) {
  var foreground=document.getElementById(foregroundID);
  if (foreground.timer) window.clearTimeout(foreground.timer);
  if (backgroundID) {
    var background=document.getElementById(backgroundID);
    if (background) {
      if (background.src) {
        foreground.src = background.src; 
        SetOpacity(foreground,100);
		if (links==1 ){
			var t_id = newImage.substring(newImage.indexOf("ft")+2,newImage.length);
			document.getElementById('a'+foreground.id).href='consulta.php?numm=' + t_id.substring(0,t_id.indexOf("."));
	  	}
      }
      background.src = newImage;
      background.style.backgroundImage = 'url(' + newImage + ')';
      background.style.backgroundRepeat = 'no-repeat';
      var startMS = (new Date()).getTime();
      foreground.timer = window.setTimeout("ChangeOpacity('" + foregroundID + "'," + FadeDurationMS + "," + startMS + ",100,0)",10);

    }
  } else {
    foreground.src = newImage;
  }
}

var slideCache = new Array();

function RunSlideShow(pictureID,backgroundID,imageFiles,displaySecs,links) {
  var imageSeparator = imageFiles.indexOf(";");
  var nextImage = imageFiles.substring(0,imageSeparator);
  if (slideCache[nextImage] && slideCache[nextImage].loaded) {
    FadeInImage(pictureID,nextImage,backgroundID,links);
    var futureImages = imageFiles.substring(imageSeparator+1,imageFiles.length)
      + ';' + nextImage;
    setTimeout("RunSlideShow('"+pictureID+"','"+backgroundID+"','"+futureImages+"',"+displaySecs+","+links+")",
      displaySecs*1000);
    // Identify the next image to cache.
    imageSeparator = futureImages.indexOf(";");
    nextImage = futureImages.substring(0,imageSeparator);
  } else {
    setTimeout("RunSlideShow('"+pictureID+"','"+backgroundID+"','"+imageFiles+"',"+displaySecs+","+links+")",
      250);
  }
  // Cache the next image to improve performance.
  if (slideCache[nextImage] == null) {
    slideCache[nextImage] = new Image;
    slideCache[nextImage].loaded = false;
    slideCache[nextImage].onload = function(){this.loaded=true};
    slideCache[nextImage].src = nextImage;
  }
}

