// JavaScript Document

/*-----------------------------------------------------
AUTHOR:	MIKE TWINING 5/2008
PURPOSE:	TO ROTATE IMAGES/TEXT FOR THE NEWS/EVENTS ROTATE-IMAGE
			RENDER-HANDLER (USED IN ATHLETICS)
-------------------------------------------------------*/

// GLOBALS
var headlineTimer;
var rotateIndex = 0;
var rotateIndexTimer;		
var currIndex = 0;
var prevIndex = numShow-1;
var timelineDiv = document.getElementById("timeline");
var playPauseDiv = document.getElementById("playPause");
var contentHolder = document.getElementById("contentHolder");
var timelineTimer;
var currW = 0;
var timelineW = 50; // in px
var doPlay = true;
var z = 100;
var didInit = false;
var fadeSpeed = 1; // SECS
var doFade = true;

// FADING IMAGES ARE VERY BUGGY ON A MAC SAFARI :-( SO JUST ROTATE	
if( (navigator.userAgent.indexOf('Mac') != -1) && (navigator.userAgent.indexOf('Safari') != -1)){
	doFade = false;
}
// FADING MAKES THE IMAGES INVISIBLE.. JUST ROTATE
if( navigator.appName == "Microsoft Internet Explorer"){
	var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
	if (re.exec(navigator.userAgent) != null){
		rv = parseFloat( RegExp.$1 );
		if( rv <= 6.0 ){
			doFade = false;	
		}
	}
}


// ROTATEHEADLINES = DOES THE ACTUAL SWITCHING OF CONTENT
function rotateHeadlines(){
	// GET ELEMENTS
	var curr = document.getElementById("headline_" + currIndex);
	var currThumb = document.getElementById("thumb_" + currIndex);
	var prev = document.getElementById("headline_" + prevIndex);
	var prevThumb = document.getElementById("thumb_" + prevIndex);
	
	if( doFade ){
		// do the fade	
		//if( didInit == true ){
			opacityHeadlines("headline_" + prevIndex,100,0,fadeSpeed * 1000);			
		//}
		
		didInit = true;	
		curr.style.zIndex = z;	
		opacityHeadlines("headline_" + currIndex,1,100,fadeSpeed * 1000);
		z++;
		curr.className = "main";
		//prev.className = "hide";
	}else{
		// ASSIGN CLASSES
		curr.className = "main";
		prev.className = "hide";
	}
	
	
	// SET VARIABLES
	prevIndex = currIndex;
	currIndex++;
	if( currIndex == numShow ){
		currIndex = 0;
	}
	
	// SET THUMBNAIL CLASSES
	currThumb.className = "shadowSel";
	prevThumb.className = "shadow";
}


/*------------------------------------------------*/


function opacityHeadlines(id, opacStart, opacEnd, millisec) { 
    //speed for each frame 
    var speed = Math.round(millisec / 100); 
    var timer = 0; 

    //determine the direction for the blending, if start and end are the same nothing happens 
    if(opacStart > opacEnd) { 
        for(i = opacStart; i >= opacEnd; i--) { 
            setTimeout("changeOpacHeadlines(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
		
    } else if(opacStart < opacEnd) { 
        for(i = opacStart; i <= opacEnd; i++){ 
            setTimeout("changeOpacHeadlines(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    }  
}

//change the opacity for different browsers 
function changeOpacHeadlines(opacity, id) { 
	var u = document.getElementById(id).style; 
    u.filter = "alpha(opacity=" + opacity + ")"; 
	u.opacity = (opacity / 100); 
    u.MozOpacity = (opacity / 100); 
    u.KhtmlOpacity = (opacity / 100);  
}

// INITIALIZE THE PHOTOS
if( doFade ){
	for(r=numShow-1;r>=0;r--){
		if( r == 0 ){
			opacityHeadlines("headline_" + r,99,100,100); // MAKE VISIBLE
		}else{
			opacityHeadlines("headline_" + r,1,0,100); // MAKE HIDDEN
		}
	}
}else{
	// SKIP #1
	for(r=0;r<numShow;r++){
		document.getElementById("headline_" + r).className = "hide";	
	}
}
	
/*-----------------------------------------------------*/


// ALLOWS AUTOMATIC SWITCHING OF CONTENT
function play(){
	doPlay = true;
	playPauseDiv.innerHTML = "<a href=\"javascript:pause();\" title=\"Pause\"><img src=\"/renderhandlers/newsevents/pause.gif\" alt=\"Pause\" border=\"0\" /></a>";
}

// TURNS OFF AUTOMATIC SWITCHING OF CONTENT
function pause(){
	doPlay = false;
	playPauseDiv.innerHTML = "<a href=\"javascript:play();\" title=\"Play\"><img src=\"/renderhandlers/newsevents/play.gif\" alt=\"Play\" border=\"0\" /></a>";
}

// MAIN TIMER FUNCTION - DISPLAYS THE HORIZONAL TIMELINE GRAPH
function doTimeline(){
	if( doPlay ){				
		if( currW >= timelineW ){
			currW = 0;						
		}
		if( currW == 0 ){
			rotateHeadlines();
		}
		currW+= 1;
		timelineDiv.style.width = currW + "px";
		timelineTimer = setTimeout("doTimeline()",110);
	}else{
		timelineTimer = setTimeout("doTimeline()",10);
	}
}

// WHEN A USER CLICKS ON A THUMBNAIL, THIS IS THE FUNCTION THAT IS CALLED - GO DIRECTLY TO REQUESTED CONTENT
function gotoIndex(index){
	if( prevIndex != index ){
		currIndex = index;
		currW = 1;
		rotateHeadlines();
	}
}

// INITIAL CALLER
function initTimeline(){
	play();
	doTimeline();
}	


// PRELOADER
function preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	var i,j=d.MM_p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
	if (a[i].indexOf("##")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
for(k=0;k<numShow;k++){
	preloadImages(document.getElementById("rotating_" + k).src);
}
preloadImages("/renderhandlers/newsevents/play.gif");

initTimeline();
