
  var gblFadeSeconds = .75;


  var gblOpacity = new Array();
  var gblFadingIn = new Array();
  var gblImgList = new Array();
  var gblNowFading = null;
  var gblFadeDelta = 100 / (30 * gblFadeSeconds);

  window.onload = photoCompareLaunch;


  		
  
  function photoCompareLaunch()
  {
     var olnodes = document.getElementsByTagName("ol");
     for (var i = 0; i < olnodes.length; i++)
     {
       var node = olnodes[i];
       
       if (node.className && node.className.toLowerCase() == "photocompare")
       {
           photoComparePrepOrderedList(node,gblImgList.length);
       }
     }
  }

  function photoComparePrepOrderedList(ol, idx)
  {
    gblOpacity[idx] = 0;
    gblFadingIn[idx] = false;
    
    for (var i = 0; i < ol.childNodes.length; i++)
    {
       var node = ol.childNodes[i];
       if (node.tagName && node.style && node.tagName.toLowerCase() == "li")
       {
         // set both li nodes to absolute positioning
         node.style.position = "absolute";
       }
       if (node.className && node.className.toLowerCase() == "after")
       {
          // attach mouse methods to the image inside the 'class=after' li
          var li = node;
          for (var j = 0; j < li.childNodes.length; j++)
          {
            if (li.childNodes[j].tagName && li.childNodes[j].tagName.toLowerCase() == "img")
            {
              var afterimg = li.childNodes[j];
              afterimg.onmouseover = function() { photoCompareLaunchFadeIn(idx); };
              afterimg.onmouseout = function() { photoCompareLaunchFadeOut(idx); };
	      // now that the images are positioned absolutely, the
              // ol collapses to nothing.  set a height to the ol 
              // to expand it past the images.
    	      ol.style.height = afterimg.height + "px";
    	      // hide the after image and store it in the img array
              setOpacity(afterimg, 0);
              gblImgList[idx] = afterimg;
            }
          }
       }
    }
    
  }


  function photoCompareLaunchFadeIn(idx)
  {
        // turn mouseover calls away after first call
	if (!gblFadingIn[idx]) 
	{
		gblFadingIn[idx] = true;
		gblNowFading = idx;
		photoCompareFadeIn();
	}
  }

  function photoCompareLaunchFadeOut(idx)
  {
	gblFadingIn[idx] = false;
	photoCompareFadeOut();
  }


  function photoCompareFadeIn()
  {
     var idx = gblNowFading;
     
	if (gblFadingIn[idx])
	{
		// continue to fade out any other images	
		for (var i = 0; i < gblImgList.length; i++)
		{
		   if (i != idx)
		   {
		     if (gblOpacity[i] > 0)
		     {
   		        setOpacity(gblImgList[i],gblOpacity[i]-=gblFadeDelta);
		     }
		     else
		     {
		        gblOpacity[i] = 0;
		     }
		   }
		}

	        setOpacity(gblImgList[idx], gblOpacity[idx]+=gblFadeDelta);
	        if (gblOpacity[idx] < 101 && gblFadingIn[idx])
	        {
	        	setTimeout("photoCompareFadeIn()",33);  // 1/30th of a second
	        }
  	}
  }

  function photoCompareFadeOut()
  {
	idx = gblNowFading;

	if (! gblFadingIn[idx])
	{
	        setOpacity(gblImgList[idx], gblOpacity[idx]-=gblFadeDelta);
	        if (gblOpacity[idx] > 0)
	        {
	        	setTimeout("photoCompareFadeOut()",33);  // 1/30th of a second
	        }
	}
  }

  


function setOpacity(obj, opacity) {
  opacity = (opacity >= 100)?99.999:opacity;
  
  // IE/Win
  obj.style.filter = "alpha(opacity:"+opacity+")";
  
  // Safari<1.2, Konqueror
  obj.style.KHTMLOpacity = opacity/100;

  // Older Mozilla and Firefox
  obj.style.MozOpacity = opacity/100;

  // Safari 1.2, newer Firefox and Mozilla, CSS3
  obj.style.opacity = opacity/100;
}


