if(tickerRunning==undefined)      var tickerRunning = false; 
if(tickerClickToStart==undefined) var tickerClickToStart = false;


//==HOME PAGE ONLY SCRIPT=================================
var currentURL = unescape(location.href)
if (currentURL.indexOf("home")!=-1||currentURL.indexOf("message")!=-1) {
  var tickerHomePageCheck = true;
} else {
  var tickerHomePageCheck = false;
}
if(!tickerHomeOnly) tickerHomePageCheck = true;

if(tickerHomePageCheck) { // ONLY RUN ENTIRE SCRIPT BELOW IF ON THE HOME PAGE


if(!tickerRunning){


//DO NOT EDIT BELOW =======================================

var tickerMode;
var tickerCount = 0;
var tickerScoreboard = new Array();
var tickerLoops = 3;
var tickerIndexAdjustment = 0;
var tickerRunning = true;
var tickerMondayNightCheck = false;
var tickerMaxLoops = 0;                   

function doTickerTables(matchupArray,weekNum,mode){
   switch (mode) {
    case 1: { // LIVESCORING
              var title = "<a href='" + baseURLDynamic + "/" + year + "/live_scoring_summary?L=" + league_id + "' target='livescoring' class='tickerheader'>Scoreboard - Week #" + weekNum + "</a>";
              tickerIndexAdjustment = 0; 
              break;  }
    case 2: { // WEEKLY RESULTS
              var title = "<a href='" + baseURLDynamic + "/" + year + "/weekly?L=" + league_id + "&W=" + weekNum + "' target='weeklyresults' class='tickerheader'>Week #" + weekNum + " Final Scores</a>";
              tickerIndexAdjustment = matchupArray.length; 
              break; }
    case 3: { // NEXT WEEKS GAMES
              var title = "<a href='" + baseURLDynamic + "/" + year + "/weekly?L=" + league_id + "&W=" + weekNum + "' target='weeklyresults' class='tickerheader'>Week #" + weekNum + " Games</a>";
              break; }
    case 4: { // WEEKLY RESULTS GAMES NOT SCHEDULED HENCE matchupArray.length == 0 SO WE NEED TO ACCOUNT FOR TABLE
              var title = "<a href='" + baseURLDynamic + "/" + year + "/options?L=" + league_id + "&O=22' target='weeklyresults' class='tickerheader'>Week #" + weekNum + " Games</a>";
              tickerScoreboard[0] =  "<table align='center' border='0' class='tickerinnertable' style='border-collapse: collapse;'>";
              tickerScoreboard[0] += "<tr><th colspan='2' class='tickerheader'>" + title + "</th></tr>";
              tickerScoreboard[0] += "<tr><td colspan='2' class='tickerteam'>No Games Scheduled</td></tr>";
              tickerScoreboard[0] += "<tr><td colspan='2' class='tickerteam'>&nbsp;</td></tr>";
              tickerScoreboard[0] += "<tr><td colspan='2' class='tickerteam'>&nbsp;</td></tr>";
              tickerScoreboard[0] += "</table>";
              tickerIndexAdjustment = 1;
              break; }
    case 5: { // NEXT WEEKS GAMES NOT SCHEDULED HENCE matchupArray.length == 0 SO WE NEED TO ACCOUNT FOR TABLE
              var title = "<a href='" + baseURLDynamic + "/" + year + "/options?L=" + league_id + "&O=22' target='weeklyresults' class='tickerheader'>Week #" + weekNum + " Games</a>";
              tickerScoreboard[tickerIndexAdjustment] =  "<table align='center' border='0' class='tickerinnertable' style='border-collapse: collapse;'>";
              tickerScoreboard[tickerIndexAdjustment] += "<tr><th colspan='2' class='tickerheader'>" + title + "</th></tr>";
              tickerScoreboard[tickerIndexAdjustment] += "<tr><td colspan='2' class='tickerteam'>No Games Scheduled</td></tr>";
              tickerScoreboard[tickerIndexAdjustment] += "<tr><td colspan='2' class='tickerteam'>&nbsp;</td></tr>";
              tickerScoreboard[tickerIndexAdjustment] += "<tr><td colspan='2' class='tickerteam'>&nbsp;</td></tr>";
              tickerScoreboard[tickerIndexAdjustment] += "</table>";
              break; }

    case 6: { // LIVE SCORING GAMES NOT SCHEDULED HENCE matchupArray.length == 0 SO WE NEED TO ACCOUNT FOR TABLE
              var title = "<a href='" + baseURLDynamic + "/" + year + "/options?L=" + league_id + "&O=22' target='weeklyresults' class='tickerheader'>Week #" + weekNum + " Games</a>";
              tickerScoreboard[tickerIndexAdjustment] =  "<table align='center' border='0' class='tickerinnertable' style='border-collapse: collapse;'>";
              tickerScoreboard[tickerIndexAdjustment] += "<tr><th colspan='2' class='tickerheader'>" + title + "</th></tr>";
              tickerScoreboard[tickerIndexAdjustment] += "<tr><td colspan='2' class='tickerteam'>No Games Scheduled</td></tr>";
              tickerScoreboard[tickerIndexAdjustment] += "<tr><td colspan='2' class='tickerteam'>&nbsp;</td></tr>";
              tickerScoreboard[tickerIndexAdjustment] += "<tr><td colspan='2' class='tickerteam'>&nbsp;</td></tr>";
              tickerScoreboard[tickerIndexAdjustment] += "</table>";
              break; }
   }
   for (var i=0; i<matchupArray.length; i++) {
    var roadID = matchupArray[i]['road'][0];
    var homeID = matchupArray[i]['home'][0];
    if(roadID!="BYE"&&homeID!="BYE") {
     if(roadID=="AVG") var altRoadName = "Average"; else var altRoadName = franchiseDatabase['fid_' + roadID].name;
     if(homeID=="AVG") var altHomeName = "Average"; else var altHomeName = franchiseDatabase['fid_' + homeID].name;
     altRoadName = altRoadName.replace(/'/g,"’");
     altHomeName = altHomeName.replace(/'/g,"’");
     if(altRoadName=="Average"||altHomeName=="Average") var averageScore = getHabAverageScore(matchupArray);
     var roadLink = "<a href='" + baseURLDynamic + "/" + year + "/options?L=" + league_id + "&F=" + roadID + "&O=07' target='franchisepage' border='0' class='tickerteam' title='" + altRoadName + "' style='text-decoration: none;'>";
     var homeLink = "<a href='" + baseURLDynamic + "/" + year + "/options?L=" + league_id + "&F=" + homeID + "&O=07' target='franchisepage' border='0' class='tickerteam' title='" + altHomeName + "' style='text-decoration: none;'>";
     var roadIcon = getHabTeamIcon(iconTickerLeagueDefault,logoTickerLeagueDefault,tickerIconURL,tickerIconExt,"tickericon",roadID,useOldIconMethod);
     var homeIcon = getHabTeamIcon(iconTickerLeagueDefault,logoTickerLeagueDefault,tickerIconURL,tickerIconExt,"tickericon",homeID,useOldIconMethod);
     switch (mode) {
      case 1: { // LIVESCORING
               var clock = getHabTime(parseInt(matchupArray[i]['road'][1],10),parseInt(matchupArray[i]['home'][1],10),matchupArray[i]['gameSecondsRemaining']);
               var footer = "<a href='" + baseURLDynamic + "/" + year + "/live_scoring?L=" + league_id + "&FRANCHISES=" + matchupArray[i]['road'][0] + "_" + matchupArray[i]['home'][0] + "' target='livescoring' class='tickerclock'>" + clock + "</a>"; 
               var roadScore = (parseFloat(matchupArray[i]['road'][1],10));
               var homeScore = (parseFloat(matchupArray[i]['home'][1],10));
               roadScore =  roadScore.toFixed(tickerDecimals);
               homeScore =  homeScore.toFixed(tickerDecimals);
               if(altRoadName=="Average") roadScore =  averageScore.toFixed(tickerDecimals);
               if(altHomeName=="Average") homeScore =  averageScore.toFixed(tickerDecimals);
               var roadSpread = "";
               var homeSpread = "";
               var thisIndex = i; break; }
      case 2: { // WEEKLY RESULTS
               var footer = "<a href='" + baseURLDynamic + "/" + year + "/options?L=" + league_id + "&O=22' target='weeklyresults' class='tickerclock'>Final</a>"; 
               var roadScore = (parseFloat(matchupArray[i]['road'][1],10));
               var homeScore = (parseFloat(matchupArray[i]['home'][1],10));
               roadScore =  roadScore.toFixed(tickerDecimals);
               homeScore =  homeScore.toFixed(tickerDecimals);
               if(altRoadName=="Average") roadScore =  averageScore.toFixed(tickerDecimals);
               if(altHomeName=="Average") homeScore =  averageScore.toFixed(tickerDecimals);
               var roadSpread = "";
               var homeSpread = "";
               var thisIndex = i; break; }
      case 3: { // NEXT WEEKS GAMES
               var footer = "<a href='" + baseURLDynamic + "/" + year + "/live_scoring?L=" + league_id + "&W=" + weekNum + "&FRANCHISES=" + matchupArray[i]['road'][0] + "_" + matchupArray[i]['home'][0] + "' target='livescoring' class='tickerclock'>Preview</a>"; 
               var roadScore = habGlobalFranchiseRecord[matchupArray[i]['road'][0]];
               var homeScore = habGlobalFranchiseRecord[matchupArray[i]['home'][0]];
               if(roadScore == undefined) roadScore = "n/a";
               if(homeScore == undefined) homeScore = "n/a";
               var roadSpread = matchupArray[i]['road'][3];
               var homeSpread = matchupArray[i]['home'][3];
               if(roadSpread==null) roadSpread = ""; else roadSpread = "<span class='tickerspread'>" + parseFloat(roadSpread,10).toFixed(tickerDecimals) + "</span>";
               if(homeSpread==null) homeSpread = ""; else homeSpread = "<span class='tickerspread'>" + parseFloat(homeSpread,10).toFixed(tickerDecimals) + "</span>";
               if(hideTickerSpread) {roadSpread = ""; homeSpread = ""; }
               var thisIndex = i + tickerIndexAdjustment; break; }
     } 
     var roadName = getHabTeamName(hideTickerName,useTickerNickNames,franchiseNickNames,roadID);
     var homeName = getHabTeamName(hideTickerName,useTickerNickNames,franchiseNickNames,homeID);
     
     tickerScoreboard[thisIndex] =  "<table align='center' cellspacing='0' class='tickerinnertable' style='border-collapse: collapse;'>";
     tickerScoreboard[thisIndex] += "<tbody><tr><th colspan='2' class='tickerheader'>" + title + "</th></tr>";
     
     tickerScoreboard[thisIndex] += "<tr><td align='left' class='tickerteam'>" + roadLink + roadIcon + "&nbsp;" + roadName + "</a>&nbsp;" + roadSpread + "</td><td align='right' class='tickerscore'>" + roadScore + "&nbsp;</td></tr>";
     tickerScoreboard[thisIndex] += "<tr><td align='left' class='tickerteam'>" + homeLink + homeIcon + "&nbsp;" + homeName + "</a>&nbsp;" + homeSpread + "</td><td align='right' class='tickerscore'>" + homeScore + "&nbsp;</td></tr>";
     
     tickerScoreboard[thisIndex] += "<tr><td colspan='2' align='center' class='tickerclock'>" + footer + "</td></tr>";
     tickerScoreboard[thisIndex] += "</tbody></table>";
    } //END IF     
   }  //END LOOP
   if(mode!=2) {
    tickerLoops = parseInt(120/tickerScoreboard.length/tickerDelay,10)+1;  // Reload after 90 seconds rounded-up for one full loop
    displayTicker();
   }
}

function displayTicker() {
  try {
   //Need to run this check in case there was bad data passed to the ticker module; if there was then just skip over it
   while( (tickerScoreboard[tickerCount]==undefined) && (tickerCount<(tickerScoreboard.length-1)) ) {
     tickerCount++;
   }
   if(tickerScoreboard[tickerCount]!=undefined) document.getElementById("ticker").innerHTML = tickerScoreboard[tickerCount];
   if(tickerCount<(tickerScoreboard.length-1)) 
    tickerCount++; 
   else { 
    tickerCount = 0; tickerLoops = tickerLoops - 1; 
   }
   if(tickerLoops>0) 
    setTimeout("displayTicker()",tickerDelay*1000); 
   else { 
    getTickerMode();  //getTickerMode restarts everything
   }
  } catch (er) {
   // do nothing
  }
}

function getTickerMode() {
  tickerCount = 0;
  tickerMaxLoops++;
  if(tickerMaxLoops<31) {
   if(completedWeek==liveScoringWeek) tickerMode = 'betweenWeeks'; else tickerMode = 'live';
   if(tickerMode=='live') doLiveTickerFunctions(); else doBetweenGameTickerFunctions();
  } else {
   var refreshData = "<table align='center' cellspacing='0' class='tickerinnertable' style='position: relative; z-index: 1000;'><tr><td class='tickerteam' style='text-align: center;'>Ticker halted due to inactivity<br /><a href='#TickerRestart' onclick='tickerMaxLoops=0; getTickerMode();' style='text-decoration: underline;'>Click to Restart</a></td></tr></table>";
   document.getElementById("ticker").innerHTML += refreshData;
  }
}

function doLiveTickerFunctions() {
  var tickerLiveScoring = new Array();
  document.getElementById("tickerIframe").innerHTML = "<iframe src='" + habBaseURL + "/" + year + "/live_scoring_summary?L=" + league_id +  "&App=tic' style='width: 0; height: 0; border: 0px;'></iframe>";
  document.getElementById("tickerIframe").innerHTML = "";
  var thisWeek = liveScoringWeek;

  tickerLiveScoring = makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=liveScoring&L="+league_id+"&W="+thisWeek+"&prg=ticker&rand=" + Math.random() , 'parseHabLiveScoringXML','liveScoring',true);
  if(tickerLiveScoring.length==0) tickerLiveScoring = makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=liveScoring&L="+league_id+"&W="+thisWeek+"&prg=ticker&rand=" + Math.random() , 'parseHabLiveScoringXML','liveScoring',true);

  if(tickerLiveScoring.length==0) {
   doTickerTables(tickerLiveScoring,thisWeek,6);  
  } else {
   doTickerTables(tickerLiveScoring,thisWeek,1);     
  }  
}

function doBetweenGameTickerFunctions() {
  var thisWeek = completedWeek;
  var tickerWeeklyResults = new Array();

  tickerWeeklyResults = makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=weeklyResults&L="+league_id+"&W=" +thisWeek+"&prg=ticker&rand=" + Math.random() , 'parseHabWeeklyResultsXML','weeklyResults',true);
  if(tickerWeeklyResults.length==0) tickerWeeklyResults = makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=weeklyResults&L="+league_id+"&W=" +thisWeek+"&prg=ticker&rand=" + Math.random() , 'parseHabWeeklyResultsXML','weeklyResults',true);

  if(tickerWeeklyResults.length==0) {
   doTickerTables(tickerWeeklyResults,thisWeek,4);  
  } else {
   if(habGlobalScoreCheck!=0) {
    doTickerTables(tickerWeeklyResults,thisWeek,2);     
   } else {
    tickerMondayNightCheck = true;
    doLiveTickerFunctions(); 
   }
  } 
  if(!tickerMondayNightCheck) {
   var nextWeek = thisWeek + 1;
   makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=standings&L="+league_id+"&prg=ticker&rand=" + Math.random() , 'parseHabFranchiseRecordsXML','standings',false);

   tickerWeeklyResults = makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=weeklyResults&L="+league_id+"&W="+nextWeek+"&prg=ticker&rand=" + Math.random() , 'parseHabWeeklyResultsXML','weeklyResults',true);
   if(tickerWeeklyResults.length==0) tickerWeeklyResults = makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=weeklyResults&L="+league_id+"&W="+nextWeek+"&prg=ticker&rand=" + Math.random() , 'parseHabWeeklyResultsXML','weeklyResults',true);

   if(tickerWeeklyResults.length==0) {
    doTickerTables(tickerWeeklyResults,nextWeek,5);  
   } else {
    doTickerTables(tickerWeeklyResults,nextWeek,3);     
   }
  }
}

if(!tickerClickToStart) {
 if(useLiveScoringCaption) 
  document.write("<table align='center' cellspacing='1' class='homepagemodule report' id='livescoring_summary'><caption><span>Fantasy Ticker</span></caption><tbody><tr class='oddtablerow'><td style='margin: 0px; padding: 0px;'><div id='ticker'></div></td></tr></tbody></table>"); 
 else 
  document.write("<div id='ticker'></div>"); 
 document.write("<div id='tickerIframe' style='postion: absolute; top: 2px; left: 2px;'></div>");
 setTimeout("getTickerMode()",500);
} else {
 if(useLiveScoringCaption) 
  document.write("<table align='center' cellspacing='1' class='homepagemodule report' id='livescoring_summary'><caption><span>Fantasy Ticker</span></caption><tbody><tr class='oddtablerow'><td style='margin: 0px; padding: 0px;'><div id='ticker'><center><a href='#' onclick='getTickerMode();'>Click to activate Ticker</a><br /><br /></center></div></td></tr></tbody></table>"); 
 else 
  document.write("<div id='ticker'><a href='#1' onclick='getTickerMode();' id='tickerClick'><span class='habClickToStart'>Click to activate Ticker</span></a><br /><br /></center></div>"); 
 document.write("<div id='tickerIframe' style='postion: absolute; top: 2px; left: 2px;'></div>");
}




} else { 
document.write('Code Duplication Error<br />Only one ticker per site');
}


}  // END IF TICKER HOME PAGE CHECK