 var shuffleTimeout = 0;
 var first_through = 0;
  function propertyShufflerLaunch()
  {
	var theimg = document.getElementById(gblPropertyShufflerImgId);
        gblPropertyStartImg = theimg.src; // save away to show as final image
  	if (document.getElementById(gblPropertyShufflerAnchorId)) {
  	var theanchor = document.getElementById(gblPropertyShufflerAnchorId);
        gblPropertyStartHref = theimg.href; // save away to show as final image
	}
	first_through = 1;
	document.getElementById(gblPropertyShufflerDivId).style.backgroundImage='url(' + gblPropertyImg[gblPropertyOnDeck] + ')';
	shuffleTimeout = setTimeout("propertyShufflerFade()",gblPropertyPauseSeconds*1000);
  }

  function propertyShufflerFade()
  {
		  		
	if (first_through == 1) {
		var fade_item = gblPropertyOnDeck + 1;
		var appear_item = gblPropertyOnDeck + 2;
		if (gblPropertyDeckSize - gblPropertyOnDeck == 1)
		{
		  // insert start/final image if we're done
		  var appear_item = 1;
		}		
		changeUnderline(fade_item,appear_item);
	}
	
  	var theimg = document.getElementById(gblPropertyShufflerImgId);
	
 	// determine delta based on number of fade seconds
	// the slower the fade the more increments needed
	var fadeDelta = 100 / (50 * gblPropertyFadeSeconds);
	
	// fade top out to reveal bottom image
	if (gblPropertyOpacity < 2*fadeDelta ) 
	{
		first_through = 1;
	  	gblPropertyOpacity = 100;
	  	
	  	// stop the rotation if we're done
	 	// if (gblPropertyRotations < 1) return;
	  	propertyShufflerShuffle();
	  	// pause before next fade
      	shuffleTimeout = setTimeout("propertyShufflerFade()",gblPropertyPauseSeconds*1500);
	}
	else
	{
		first_through = 0;
	  	gblPropertyOpacity -= fadeDelta;
	  	setPropertyOpacity(theimg,gblPropertyOpacity);
		shuffleTimeout = setTimeout("propertyShufflerFade()",31);  // 1/30th of a second
	}
  }

  function propertyShufflerShuffle()
  {
	var thediv = document.getElementById(gblPropertyShufflerDivId);
	var theimg = document.getElementById(gblPropertyShufflerImgId);
	
	var theanchor = document.getElementById(gblPropertyShufflerAnchorId);
	
	//copy div background-image to img.src
	//theimg.src = gblPropertyImg[gblPropertyOnDeck];
	//gblPropertyImg[gblPropertyOnDeck];
	//thediv.style.backgroundImage='url(' + gblPropertyImg[gblPropertyOnDeck] + ')';
	theimg.src = gblPropertyImg[gblPropertyOnDeck];	
	
	if (gblPropertyHref[gblPropertyOnDeck] != '') {
		
		thediv.innerHTML = '<a href="'+gblPropertyHref[gblPropertyOnDeck]+'"  id="'+gblPropertyShufflerAnchorId+'"><img id="'+gblPropertyShufflerImgId+'" src="'+gblPropertyImg[gblPropertyOnDeck]+'" alt="" border="0" /></a>';
		//theanchor.href = gblPropertyHref[gblPropertyOnDeck];
	}
	else {
		if (theanchor) {
			thediv.innerHTML = '<img id="'+gblPropertyShufflerImgId+'" src="'+gblPropertyImg[gblPropertyOnDeck]+'" alt="" border="0" />';
		}
	}
	//window.status = gblPropertyHref[gblPropertyOnDeck]; // updates status bar (optional)
	// set img opacity to 100
	setPropertyOpacity(theimg,100);

	// shuffle the deck
	gblPropertyOnDeck = ++gblPropertyOnDeck % gblPropertyDeckSize;
	// decrement rotation counter
	if (--gblPropertyRotations < 1)
	{
	  // insert start/final image if we're done
	  gblPropertyImg[gblPropertyOnDeck] = gblPropertyStartImg;
	  gblPropertyHref[gblPropertyOnDeck] = gblPropertyStartHref;
	}
	
	// slide next image underneath
	setTimeout('propertyieBackgroundFix();',100);
	
  }
function propertyieBackgroundFix() {
	var thediv = document.getElementById(gblPropertyShufflerDivId);
	thediv.style.backgroundImage='url(' + gblPropertyImg[gblPropertyOnDeck] + ')';
}

function setPropertyOpacity(obj, opacity) {
	
  opacity = (opacity == 100)?99.99: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;
}

function changeUnderline(appear_elementid, fade_elementid) {
	var fadeItem = 'property-image-underline-' + appear_elementid;
	var appearItem = 'property-image-underline-' + fade_elementid;
	new Effect.Fade(fadeItem);
	new Effect.Appear(appearItem);
}

function showNext() {
	
	clearTimeout(shuffleTimeout);
	var theimg = document.getElementById(gblPropertyShufflerImgId);
        gblPropertyStartImg = theimg.src; // save away to show as final image
  	if (document.getElementById(gblPropertyShufflerAnchorId)) {
  	var theanchor = document.getElementById(gblPropertyShufflerAnchorId);
        gblPropertyStartHref = theimg.href; // save away to show as final image
	}
	first_through = 1;
	document.getElementById(gblPropertyShufflerDivId).style.backgroundImage='url(' + gblPropertyImg[gblPropertyOnDeck] + ')';
	shuffleTimeout = setTimeout("propertyShufflerFade()",30);
}

function showimage(argimgnum) {
	var fade_item;
	var appear_item;
	var nextimageindx;
	
	//fade the previous image-underline
	for(var icntr=1;icntr<=gblPropertyDeckSize;icntr++) {
		if(argimgnum!=icntr) {
			var fadeItem = 'property-image-underline-' + icntr;
			new Effect.Fade(fadeItem);
		}
	}
	
	appearItem = 'property-image-underline-' + argimgnum;
	new Effect.Appear(appearItem);
	clearTimeout(shuffleTimeout);		

	//Check which Image Link is click and perform the action
	if(gblPropertyDeckSize==argimgnum) {
		gblPropertyOnDeck = 1;
		fade_item = gblPropertyOnDeck;
		appear_item = 1;
		nextimageindx = 1;
	}
	else {
		if(argimgnum==1) {
			gblPropertyOnDeck = 2;
			fade_item = 1;
			appear_item = 2;
			nextimageindx = 2;
		} 
		else {
			gblPropertyOnDeck = argimgnum - 2;
			fade_item = argimgnum;
			appear_item = argimgnum - 2;
			nextimageindx = gblPropertyOnDeck + 1;			
		}
	}
				
	var thediv = document.getElementById(gblPropertyShufflerDivId);
	var theimg = document.getElementById(gblPropertyShufflerImgId);

	//setPropertyOpacity(theimg,100);
	thediv.innerHTML = '<img id="'+gblPropertyShufflerImgId+'" src="'+gblPropertyImg[gblPropertyOnDeck]+'" alt="" border="0" />';
	gblPropertyOnDeck = nextimageindx;
}
