
	var fadeOutTimeout;
	var fadeInTimeout;
	var nextSlideTimeout;
	var currentSlideNumber = 0;
	
  //Rotate Title
  function rotateTitle(currentSpan, parentDiv){
    currentSlideNumber = currentSpan;
		var rotateSpeed = 9000 // rotation time in miliseconds
    var currentHeadSpans = document.getElementById( parentDiv ).getElementsByTagName( "div" );
    var spanCount = currentHeadSpans.length;
		
    // hide Headers
    for( j = 0; j < spanCount; j++){
      currentHeadSpans[j].style.display="none";			
    }
		
		//Act on External elements !!!
		// Remove CSS class from li banner link
		var liItems = document.getElementById( parentDiv ).getElementsByTagName( "li" );
		var liCount = liItems.length;
		for( j = 0; j < spanCount; j++){
      liItems[j].className = '';		
    }
		// Add class name .selected to current link
		document.getElementById( currentSpan ).className = 'selected';
		
		
		// Show Header
    currentHeadSpans[currentSpan].style.display="block";
    fadeElement( currentHeadSpans[currentSpan].id, 0, 1 );
		var previousSpan = currentSpan;
    currentSpan++;
		
		// Make infinite loop
		if( currentSpan == spanCount ){
			currentSpan = 0;
		}

    if ( currentSpan < spanCount ){ 
      var recur_call = "rotateTitle( '"+currentSpan+"', '"+parentDiv+"' )";
			
			// Fade Out
			//var fade_out_call = "fadeElement( '"+currentHeadSpans[previousSpan].id+"', 100, -1 )";
			//fadeOutTimeout = setTimeout( fade_out_call, ( rotateSpeed - 1000 ) );
      
			// Set call for next slide
			nextSlideTimeout = setTimeout( recur_call, ( rotateSpeed ) );
    }
  }

  function fadeElement( elementID, cOpacity, fadeDirection ){
    // Function Settings
    hideFlag = false;
		fadeTime = 1000;        // Total fade time in miliseconds
    fadeAccu = 20;        // Number of discrete opacity settings ("smoothness" of transition) evenly

    cOpacity = cOpacity + ( ( 100 / fadeAccu ) * fadeDirection );
		
		element = document.getElementById( elementID );

		if( element.style.display == 'none' ){
			element.style.display = 'block';
			cOpacity = 100;
			hideFlag = true;
		}
		
    // !!!!!! Required for IE Compatability - element some must have defined height ex: headers !!!!!! 
    element.style.height = document.getElementById( elementID ).clientHeight;

    // CSS3 standard
    element.style.opacity = cOpacity / 100 ;
    // Mozilla

    // IE
    element.style.filter = 'alpha(opacity=' + cOpacity + ')';
		
		// Recursive call to continue fade
    if ( hideFlag )
      document.getElementById( elementID ).style.display = 'none';
		else if( cOpacity > 0 && cOpacity < 100 ){
      var recur_call = "fadeElement('"+elementID+"', "+cOpacity+", "+fadeDirection+" )";
      fadeInTimeout = setTimeout( recur_call, ( fadeTime / fadeAccu ) );
    }
    else if ( fadeDirection > 0 )
      document.getElementById( elementID ).style.display = 'block';
    else if ( fadeDirection < 0 )
      document.getElementById( elementID ).style.display = 'none';
  }

