  var ResidentialImages=new Array(
    "photos/residential_rotate_1.jpg",
    "photos/residential_rotate_2.jpg",
    "photos/residential_rotate_3.jpg",
    "photos/residential_rotate_4.jpg"
  );

  var gblResidentialDivId;
  var gblResidentialImgId;
  var gblResPauseSeconds = 4;
  var gblResFadeSeconds = .5;
  var gblResRotations = 1;

  var gblResDeckSize = ResidentialImages.length;
  var gblResOpacity = 100;
  var gblResOnDeck = 0;
  var gblResStartImg;
  var gblResImageRotations = gblResDeckSize * (gblResRotations+1);

  ResidentialLaunch("residential_images", "residentialimg");
  
  function ResidentialLaunch(divId, imgId)
  {
        gblResidentialDivId = divId;
        gblResidentialImgId = imgId;
        document.write("<img border='0' id='" + imgId + "' name='" + imgId + "' src='"+ResidentialImages[gblResDeckSize - 1]+"'/>");

  	var theimg = document.getElementById(gblResidentialImgId);
        gblResStartImg = theimg.src; // save away to show as final image

	document.getElementById(gblResidentialDivId).style.backgroundImage='url(' + ResidentialImages[gblResOnDeck] + ')';
	setTimeout("ResidentialFade()",gblResPauseSeconds*1000);
  }

  function ResidentialFade()
  {
  	var theimg = document.getElementById(gblResidentialImgId);
	
  	// determine delta based on number of fade seconds
	// the slower the fade the more increments needed
        var fadeDelta = 100 / (30 * gblResFadeSeconds);

	// fade top out to reveal bottom image
	if (gblResOpacity < 2*fadeDelta ) 
	{
	  gblResOpacity = 100;
	  // stop the rotation if we're done
	  if (gblResImageRotations < 1) return;
	  ResidentialShuffle();
	  // pause before next fade
          setTimeout("ResidentialFade()",gblResPauseSeconds*1000);
	}
	else
	{
	  gblResOpacity -= fadeDelta;
	  setOpacity(theimg,gblResOpacity);
	  setTimeout("ResidentialFade()",30);  // 1/30th of a second
	}
  }

  function ResidentialShuffle()
  {
	var thediv = document.getElementById(gblResidentialDivId);
	var theimg = document.getElementById(gblResidentialImgId);
	
	// copy div background-image to img.src
	theimg.src = ResidentialImages[gblResOnDeck];
	// set img opacity to 100
	setOpacity(theimg,100);

        // shuffle the deck
	gblResOnDeck = ++gblResOnDeck % gblResDeckSize;
	// decrement rotation counter
	if (gblResImageRotations < 1)
	{
	  // insert start/final image if we're done
	  ResidentialImages[gblResOnDeck] = gblResStartImg;
	}

	// slide next image underneath
	thediv.style.backgroundImage='url(' + ResidentialImages[gblResOnDeck] + ')';
  }

