var fadeCounter;
var fadeCounter2;
var fadeCounterUp;
var images = new Array();
var arrayCounter;
var replay;
var t;
var s;
var IE;
var sleeping;
var numberOfImages;
var stop = false;
var transition_speed;
var sleep_time;


function prepareFade(element_id)
{

fadeCounter=100;
fadeCounter2=100;
fadeCounterUp=0;
arrayCounter=0;
replay = false;
sleeping = false;

numberOfImages = document.getElementById(element_id).getElementsByTagName('img');

if(navigator.appName == "Microsoft Internet Explorer")
{IE=true;}

for(i=0;i<numberOfImages.length;i++)
{
images[i] = numberOfImages[i].id;
}


for(i=1;i<images.length;i++)
{
  if(IE)
    {
	 
	 document.getElementById(images[i]).style.filter="alpha(opacity=0)";
	 document.getElementById(images[i]).style.display='block';
	}
   else
    {
	  document.getElementById(images[i]).style.opacity=0;
	  document.getElementById(images[i]).style.display='block';
	}	
}
}

function startFade(initialDelay){
stay(initialDelay);
fade();
}


function fadeLow()
    {
	   
	   if(!stop){
	  
	  if(fadeCounter2 > 0)
		{
		  fadeCounter2-=2;	  

		   if(IE)
			 {
			  document.getElementById(images[images.length-1]).style.filter="alpha(opacity="+fadeCounter2+")";
             }
	       else
			 {
			  document.getElementById(images[images.length-1]).style.opacity = fadeCounter2 / 100;
			 }
        sleep2(transition_speed);
		}
		
   
		else
		{
		  fadeCounter2=100;
		  clearTimeout(t);
	      clearTimeout(s);
		  fadeCounterUp=98;
		  
		  fade();
		}
	}
	}
	
	
function fade(){
  if(!stop){
  if(fadeCounterUp < 100 && arrayCounter < images.length-1 || replay)
    {
     
	  
	  
	  fadeCounterUp += 2;
      if(!replay)
        {
          if(IE)
		    {
			  document.getElementById(images[arrayCounter+1]).style.filter="alpha(opacity="+fadeCounterUp+")";
			}
		  else
			{
			  document.getElementById(images[arrayCounter+1]).style.opacity = fadeCounterUp / 100;
			}
		}

	  else if(replay)
	    {
	      if(IE)
		    {
			  document.getElementById(images[0]).style.filter="alpha(opacity="+fadeCounterUp+")";
		    }
	      else
		    {
		      document.getElementById(images[0]).style.opacity = fadeCounterUp / 100;
            }
        }
	}

  if(fadeCounter == 0 || fadeCounterUp==100)
	{
	  arrayCounter++;
	  fadeCounter=100;
	  fadeCounterUp=0;
	  replay=false;
	  //alert(arrayCounter);
	  if(quote && arrayCounter == 0){stay(6000);}
	  else{stay(sleep_time);}
    }

  if(arrayCounter==images.length-1)
    {
      for(i=1;i<images.length;i++)
	    {
	      if(IE)
		    {
			  document.getElementById(images[i]).style.filter="alpha(opacity=0)";
			}
	      else
		    {
			  document.getElementById(images[i]).style.opacity = 0.0;
			}
        }

	  arrayCounter=-1;
	  fadeCounter=100;
	  fadeCounterUp=100;
	  replay=true;
	  fadedown();
    }

  sleep(transition_speed);
  
  }
}


function sleep2(sleep2Delay){
t = setTimeout("fadeLow()",sleep2Delay);
}

function sleep(fadeDelay){
t = setTimeout("fade()",fadeDelay);
}


function stay(timeDelay){
sleeping=true;
oldCounter= arrayCounter;
counterStopped = arrayCounter;
arrayCounter = images.length;
clearTimeout(t);
s= setTimeout("sleepy()",timeDelay);
}

function sleepy(){
clearTimeout(s); 
refade();
sleeping=false;

}
function fadedown(){
 clearTimeout(t);
 clearTimeout(s);
 fadeLow();
}

function refade(){
arrayCounter = counterStopped;
fade(fadeCounter,fadeCounterUp);
}

function stopFade(element_id){
 
 clearTimeout(t);
 clearTimeout(s);
 fadeCounter=101;
 fadeCounter2=101;
 fadeCounterUp=101;
 stop=true;
 prepareFade(element_id);
}

function randomImage(randomNum, pageName){
var randomNumber = Math.round(Math.random()*randomNum);
var handle=document.getElementById(pageName);
handle.id=pageName+randomNumber;
}


function showHide(elementsParent,elementIdBtn,elementIdChange,visibility){

var numListElements = document.getElementById(elementsParent).getElementsByTagName('li').length;

for(var x=0;x<numListElements;x++)
  {
	if(document.getElementById(elementIdChange+x))
	  {
        document.getElementById(elementIdChange+x).style.display = 'none';
	  }
  }
if(document.getElementById(elementIdChange+elementIdBtn))
   {
    document.getElementById(elementIdChange+elementIdBtn).style.display = visibility;
	document.getElementById('jdBackTop').style.display=visibility;
   }
   
}
