//boolean: whether or not we are fading
var doingFade = true;   

//use as a handle on the timeout loop  
var timeout;   

//variable to hold global opactiy          
var globalOpacity = 0;  

var imageNames_male = strProductsImageMale.split("*");
var imageNames_female = strProductsImageFemale.split("*");

//next image index to be faded
var indexValue_male = Math.floor(Math.random()*imageNames_male.length-1)+1;
var indexValue_female = Math.floor(Math.random()*imageNames_female.length-1)+1;

//variables for container/controller/target
var containerMaleID = 'container_male';
var targetMaleID    = 'target_male';
var containerFemaleID = 'container_female';
var targetFemaleID    = 'target_female';
//var linkTargetID    = 'link_target';
//var controlID   = 'control';
var container_male   = null;
var target_male      = null;
var container_female   = null;
var target_female      = null;
//var control     = null;
//var linkTraget = null;


function startPhoto()
{
	if (!document.getElementById) return;
	
	//set references to container && target ** a href    
	container_male = document.getElementById(containerMaleID);
	target_male = document.getElementById(targetMaleID);
	container_female = document.getElementById(containerFemaleID);
	target_female = document.getElementById(targetFemaleID);
	//control = document.getElementById(controlID);
	//linkTraget = document.getElementById(linkTargetID);
	setalpha(0) ;
	timeout = window.setTimeout("nextPhoto()", 2000);
}

function nextPhoto() 
{	
	if (!document.getElementById) return; 
	
	// only one transition at a time, please
	clearTimeout(timeout); 

	setalpha(0) ;
	
	//flip image and container
	switchContainer();

	//load next image   
	target_male.src = imageNames_male[indexValue_male];
	target_female.src = imageNames_female[indexValue_female];

	//get new index differnet from current
	var newvalue_male = indexValue_male;
	if(imageNames_male.length > 1){
		while(newvalue_male == indexValue_male)
		{
			newvalue_male = Math.floor(Math.random()*imageNames_male.length);
		}
	}

	
	indexValue_male = newvalue_male;
	
	var newvalue_female = indexValue_female;
	if(imageNames_female.length > 1){
		while(newvalue_female == indexValue_female)
		{
			newvalue_female = Math.floor(Math.random()*imageNames_female.length);
		}
	}
	indexValue_female = newvalue_female;

	//fade image in
	timeout = window.setTimeout("reveal('0')", 500);
}


function switchContainer()
{
	if (!document.getElementById) return;
	
	//alert(target.src);
	//make container background current image
	//container.style.backgroundImage = 'url(' + target.src + ')';    
	
	//make image 0
	//setalpha(0) ;
}


function reveal(opacity) 
{
  if (!document.getElementById) return;
  
  if (document.getElementById && opacity <= 100 ) 
  {
	setalpha(opacity); 
	
	//numero = document.getElementById('numero');
	//numero.innerHTML = opacity + '%';
	
	opacity += 5;
	
	//store globally fo restart
	globalOpacity = opacity;
	
	//fade next step
	timeout = window.setTimeout("reveal("+opacity+")", 100);
  }
  else
  {
	//we are done .. load next photo in 5 seconds
	timeout = window.setTimeout("nextPhoto()", 2000);
	
	switchContainer();
  }
}


function stopPhoto()
{
	if (!document.getElementById) return;
	
	if(doingFade)
	{
		//stopfade
		control.innerHTML = "start fade";
		clearTimeout(timeout);
	}
	else
	{
		//start fade from where we left off
		control.innerHTML = "stop fade";
		timeout = window.setTimeout("reveal("+globalOpacity+")", 100);
	}
	//invert variable
	doingFade = !doingFade;
}

/** a derivation (or mangling) of a script from Scott Andrew (www.scottandrew.com) **/
function addEvent(obj, evType, fn)
{ 
	if (obj.addEventListener)
	{ 
		obj.addEventListener(evType, fn, true); 
		return true; 
	} 
	else if (obj.attachEvent)
	{ 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	} 
	else 
	{ 
		return false; 
	} 
}  


function setalpha(opacity) 
{
  if (document.getElementById ) 
  {    
	//fade next step based onbrowser compatibility
	if (target_male.style.MozOpacity!=null) {
	   target_male.style.MozOpacity = (opacity/100) - 0.001; //patrick h. lauke (http://www.splintered.co.uk/) workaround for Mozilla 'flash' bug - I _never_ would have caught that
	} else if (target_male.style.opacity!=null) {
	   target_male.style.opacity = opacity/100;
	} else if (target_male.style.filter!=null) {
	   target_male.style.filter = "alpha(opacity=" + opacity + ")";
	} else if (target_male.style.KhtmlOpacity!=null) {
	   target_male.style.KhtmlOpacity = opacity/100;
	}

	if (target_female.style.MozOpacity!=null) {
	   target_female.style.MozOpacity = (opacity/100) - 0.001; //patrick h. lauke (http://www.splintered.co.uk/) workaround for Mozilla 'flash' bug - I _never_ would have caught that
	} else if (target_female.style.opacity!=null) {
	   target_female.style.opacity = opacity/100;
	} else if (target_female.style.filter!=null) {
	   target_female.style.filter = "alpha(opacity=" + opacity + ")";
	} else if (target_female.style.KhtmlOpacity!=null) {
	   target_female.style.KhtmlOpacity = opacity/100;
	}
  }
}    