var speed = 50;
var delay = 7000;
var numberOfDivs = 3;//Default, override with setNumDivs(x)
divBase = "hot";
var stopFading = "no";
var restartPoint=1;
var restartOpacity=1;
var mainTO;
var fadeinTO;
var nextFadeTO;
var earl = document.URL;

function blendDivs() {
   // Do it this way, so that the initially-displayed div stays put
   // initially, keep it like this so non-js-enabled browsers just see
   // the first div:
   mainTO = setTimeout(function() {setDisplay(1,"off"); 
                          startBlending(2); 
                         }, delay);
}

function aniControl() {
   if (stopFading == "no") {
     //animation is running:
     stopFading="yes";
     if (earl.indexOf(".es.html") == -1) {
       document.getElementById("anicontrol").innerHTML = "resume";
     } else {
       document.getElementById("anicontrol").innerHTML = "reanudar";
     }
   } else {
     //animation is stopped:
     stopFading="no";
     if (earl.indexOf(".es.html") == -1) {
       document.getElementById("anicontrol").innerHTML = "pause";
     } else {
       document.getElementById("anicontrol").innerHTML = "pausar";
     }
     fadeDiv(restartPoint,restartOpacity);   
   }
}

function clearTimeOuts() {
   clearTimeout(mainTO);
   clearTimeout(fadeinTO);
   clearTimeout(nextFadeTO);
}

function aniNext() {
   var nextDiv;
   if (restartPoint == numberOfDivs) {
     nextDiv = 1;
   } else {
     nextDiv = restartPoint + 1;
   }
   stopFading="no";
   if (earl.indexOf(".es.html") == -1) {
     document.getElementById("anicontrol").innerHTML = "pause";
   } else {
     document.getElementById("anicontrol").innerHTML = "pausar";
   }
   clearTimeOuts();
   setDisplay(restartPoint,"off")
   startBlending(nextDiv);
}

function aniPrev() {
   var prevDiv;
   if (restartPoint == 1) {
     prevDiv = numberOfDivs;
   } else {
     prevDiv = restartPoint - 1;
   }
   stopFading="no";
   if (earl.indexOf(".es.html") == -1) {
     document.getElementById("anicontrol").innerHTML = "pause";
   } else {
     document.getElementById("anicontrol").innerHTML = "pausar";
   }
   clearTimeOuts();
   setDisplay(restartPoint,"off")
   startBlending(prevDiv);
}

function setOpacity(div, o) {
    div.style.opacity = (o / 100);
    div.style.MozOpacity = (o / 100);
    div.style.KhtmlOpacity = (o / 100);
    div.style.filter = 'alpha(opacity=' + o + ')';
}

function startBlending(d) {
  if (stopFading == "no") {
    div = document.getElementById(divBase + d);
    setDisplay(d,"on");
    fadeDiv(d,0);
  }
}

function setDisplay(d,onoff) {
  if (stopFading == "no") {
    div = document.getElementById(divBase + d);
    if (onoff == "on") {
      div.style.display = 'block';
      div.style.visibility = 'visible';
    } else {
      div.style.display = 'none';
      div.style.visibility = 'hidden';
    }
  }
}

function continueFadeDiv(d, opacity) {
    if (stopFading == "no") {
      div = document.getElementById(divBase + d);
      opacity = opacity + 3;
      if (opacity < 103) {
        fadeinTO = setTimeout(function() {fadeDiv(d, opacity)}, speed);
      } else {
        var next = d + 1;
        if (next > numberOfDivs) {
          next = 1;
        }
        nextFadeTO = setTimeout(function() {setDisplay(d,"off"); 
                               startBlending(next); 
                               }, delay);
      }
    }
    restartPoint = d;
    restartOpacity = opacity;
}

function fadeDiv(d, opacity) {
    div = document.getElementById(divBase + d);
    setOpacity(div,opacity);
    continueFadeDiv(d, opacity);
}

function setNumDivs(newNum) {
    numberOfDivs = newNum;
}

