﻿var cycleCountNews = 0;	// Global var for tracking how many rotations have been done
var newsControllerHit = 0;
var initNewsDelayCase = 6;
var defaultDelayNews = 12;
var checkNewsWorking = 0;

function cycleNews() {
  if( newsControllerHit == 0 ) {  	
	if (!document.getElementById) {
		return;
	}
	var divToCycle = document.getElementById("cyclenews");
	var divs = divToCycle.getElementsByTagName("div");
	var validDivs = 0;
		  
	for (var i=0; i < divs.length; i++ ) {
		var div = divs[i];
		if ( (div.id != "") && (div.nodeType == 1) ) {
			div.style.display = "none";
			validDivs++;
		}
	}
	
	if (cycleCountNews > validDivs) {
		cycleCountNews = 1;
	}
	

	if (cycleCountNews > 0) {
			var divIdToReveal = cycleCountNews;
			var divToRevealObj = document.getElementById("cycnews"+divIdToReveal);
			divToRevealObj.style.display = "block";
     		fadeNewsDivOut(divToRevealObj);
			cycleCountNews++;
			newsTimeOut = setTimeout('cycleNews()',  defaultDelayNews*1000);
	} else {
			var randNewsDivId = Math.ceil( Math.random() * (validDivs) );
			var firstdivToRevealObj = document.getElementById("cycnews1");
			//Changed from 'document.getElementById("cycnews1"+randNewsDivId);' to make First news object always the displayed object on load
			firstdivToRevealObj.style.display = "block";
			cycleCountNews = randNewsDivId;
			cycleCountNews++;
		    newsTimeOut = setTimeout('cycleNews()', initNewsDelayCase*1000);
	}

  }
}

function nextNewsCycle() {
  if (!document.getElementById) {
    return;
  }
  var divToCycle = document.getElementById("cyclenews");
  var divs = divToCycle.getElementsByTagName("div");
  var validDivs = 0;
  for (var i=0; i < divs.length; i++ ) {
    var div = divs[i];
    if ( (div.id != "") && (div.nodeType == 1) ) {
        div.style.display = "none";		
        validDivs++;
    }
  }
  cycleCountNews++;
  if (cycleCountNews  > validDivs) {
        cycleCountNews  = 1;
  }
  if (cycleCountNews  > 0) {
    var divIdToReveal  = cycleCountNews;
    var divToRevealObj = document.getElementById("cycnews"+divIdToReveal);	   
	fadeNewsDivOut(divToRevealObj);
  } else {
    var randNewsDivId = Math.ceil( Math.random() * (validDivs) );
	var firstdivToRevealObj = document.getElementById("cycnews"+randNewsDivId);
	cycleCountNews = randNewsDivId;
  }
  newsControllerHit = 1;
}

function prevNewsCycle() {
  if (!document.getElementById) {
    return;
  }
  var divToCycle = document.getElementById("cyclenews");
  var divs = divToCycle.getElementsByTagName("div");
  var validDivs = 0;
  for (var i=0; i < divs.length; i++ ) {
    var div = divs[i];
    if ( (div.id != "") && (div.nodeType == 1) ) {
        div.style.display = "none";
        validDivs++;
    }
  }
  
  if(newsControllerHit == 0) {
	  cycleCountNews--;
  }
  cycleCountNews--;
  if (cycleCountNews < 1) {
        cycleCountNews = validDivs;
  }  
  if (cycleCountNews > 0) {
    	var divIdToReveal  = cycleCountNews;
    	var divToRevealObj = document.getElementById("cycnews"+divIdToReveal);
        fadeNewsDivOut(divToRevealObj);
  } else {
   		var randNewsDivId = Math.ceil( Math.random() * (validDivs) );
        var firstdivToRevealObj = document.getElementById("cycnews"+randNewsDivId);
        fadeNewsDivOut(divToRevealObj);
        cycleCountNews = randNewsDivId;
  }
  newsControllerHit = 1;
}

function fadeNewsDivOut(divToRevealObj) {
  setDivOpacity(divToRevealObj.id, 0);
  divToRevealObj.style.display = "block";
  fadeNewsDivIn(divToRevealObj.id, 0);
}

function fadeNewsDivIn(divId, opacity) {
  if (opacity <= 100) {
	setDivOpacity(divId, opacity);
	opacity += 25;
	newsFade = window.setTimeout("fadeNewsDivIn('"+divId+"',"+opacity+")", 100);
  }
}

function setDivOpacity(divId, opacity) {
  var div = document.getElementById(divId);
  opacity = (opacity == 100)?99.999:opacity; 

  <!-- div.style.filter = "alpha(opacity=" + div.style.opacity + ")";  IE -->  
  div.style.filter='alpha(opacity='+opacity+')';
  
  div.style.KHTMLOpacity = opacity/100; <!-- Safari -->
  div.style.MozOpacity = opacity/100; <!-- Gecko -->
  div.style.opacity = opacity/100; <!-- Opera -->
}

function stopNewsCycle(e) {
	if (!e) var e = window.event;
	var tg = (window.event) ? e.srcElement : e.target;
	var tmptg;
	while ((tg.id.indexOf("cycnews")!=-1 || tg.id=='' || tg.id=='undefined') && tg.nodeName != 'BODY'){
		tmptg = tg;
		tg = tg.parentNode;
	}	
	if (tg.id == "cyclenews"){
		clearTimeout(newsTimeOut);
		setDivOpacity(tmptg.id, 100);	
	}
}

function startNewsCycle(e) {
	if (!e) var e = window.event;	
	var tg = (window.event) ? e.srcElement : e.target;				
	var goTo = (e.relatedTarget) ? e.relatedTarget : e.toElement;
	var cycnum=0;
	try{
		while (tg.id.indexOf("cycnews")!=-1 || tg.id=='' || tg.id=='undefined'){
			tmptg = tg;
			tg = tg.parentNode;
		}		
		cycnum = parseInt(tmptg.id.substring(7));			
		if (goTo.id == "cyclenews" || goTo.id == "prevnext") throw ""
			while ((goTo.id != "cyclenews" || goTo.id=='' || goTo.id=='undefined') && goTo.nodeName != 'HTML'){	
			goTo = goTo.parentNode;			
		}
		if (goTo.id != "cyclenews"){
			cycleCountNews = cycnum + 1; // Global var for tracking how many rotations have been done
			newsControllerHit = 0;	
			cycleNews();
		}
	} catch(e){		
		cycleCountNews = cycnum + 1; // Global var for tracking how many rotations have been done
		newsControllerHit = 0;	
		cycleNews();
	}
}

function initNewsCycle() {
	var cycnews = document.getElementsByTagName("div");
	for (var i = 0; i < cycnews.length; i++){		
		if (cycnews[i].id.indexOf("cycnews")==-1)continue;		
		cycnews[i].onmouseover = stopNewsCycle;
		cycnews[i].onmouseout = startNewsCycle;
	}
}

function setupNews() {
	initNewsCycle();
	cycleNews();
}

function newsCycler() {
	var divToCycle = document.getElementById("cyclenews");
	if (checkNewsWorking < 300) {
		if (divToCycle==null||"") {
			checkNewsWorking++;
			check = setTimeout('newsCycler()', 1000);
		} else {
			  setupNews();
		}
	}  
}

