/**
 * Increases the opacity of the given element by 1% every 4ms until the opacity is one.
 *@param {String} elem Contains the id of the element for which the opacity is being increased.
 *@param {Number} num The integer value signifying the percentage opacity of the element.
 */
function fadeIn(elem, num) {
  document.getElementById(elem).style.filter = "alpha(opacity=" + num + ")";
  document.getElementById(elem).style.opacity = num/100;
  if (num < 100) {
    window.setTimeout(function(){fadeIn(elem, num+1)},4);
  }
}

/**
 * Decreases the opacity of the given element by 1% every 4ms until the opacity is zero.
 *@param {String} elem Contains the id of the element for which the opacity is being decreased.
 *@param {Number} num The integer value signifying the percentage opacity of the element.
 */
function fadeOut(elem, num) {
  document.getElementById(elem).style.filter = "alpha(opacity=" + num + ")";
  document.getElementById(elem).style.opacity = num/100;
  if (num > 0) {
    window.setTimeout(function(){fadeOut(elem, num-1)},4);
  }
}

/**
 * Changes the info button text and style. Begins the fade sequence to hide the info div.
 */
function hideInfo() {
  document.getElementById("btnInfo").innerHTML = "?";
  fadeOut("infoContainer", 100);
  document.getElementById("btnInfo").className = document.getElementById("btnInfo").className.replace(/\bbtn-danger\b/, "btn-info");
}

/**
 * Changes the info button text and style. Begins the fade sequence to show the info div.
 */
function showInfo() {
  document.getElementById("btnInfo").innerHTML = "X";
  fadeIn("infoContainer", 0);
  document.getElementById("btnInfo").className = document.getElementById("btnInfo").className.replace(/\bbtn-info\b/, "btn-danger");
}

/**
 * Switches the opacity of the information div from 0 to 1 or from 1 to 0.
 */
function switchInfoVisibility() {
  if (document.getElementById("infoContainer").style.opacity == 0) {
    showInfo();
  }
  else {
    hideInfo();
  }
}
@@ -42,33 +42,33 @@
  element by 
-1
+2
 %25 every 
 4ms until th
@@ -47,33 +47,33 @@
 ent by 2%25 every 
-4
+1
 ms until the opa
@@ -425,34 +425,33 @@
 e.opacity = num/
-10
+5
 0;%0A  if (num %3C 1
@@ -449,18 +449,17 @@
  (num %3C 
-10
+5
 0) %7B%0A   
@@ -505,25 +505,25 @@
 em, num+1)%7D,
-4
+1
 );%0A  %7D%0A%7D%0A%0A/*
@@ -577,17 +577,17 @@
  by 
-1
+2
 %25 every 
 4ms 
@@ -582,17 +582,17 @@
 %25 every 
-4
+1
 ms until
@@ -962,18 +962,17 @@
 y = num/
-10
+5
 0;%0A  if 
@@ -1042,9 +1042,9 @@
 1)%7D,
-4
+1
 );%0A 
@@ -1254,10 +1254,9 @@
 r%22, 
-10
+5
 0);%0A

Decrease 'popup' transition time. #kentprojects-40