if(marqueeClickToStart==undefined) var marqueeClickToStart = false;
if(marqueeNews==undefined) var marqueeNews = 5;
if(marqueeLiveLeaders==undefined) var marqueeLiveLeaders = 10;
if(marqueeOffset==undefined) var marqueeOffset = 0;
if(marqueeHeaderOffset==undefined) var marqueeHeaderOffset = 0;
if(marqueeHeaderHeight==undefined) var marqueeHeaderHeight = marqueeHeight;

//==HOME PAGE ONLY SCRIPT=================================
var currentURL = unescape(location.href)
if (currentURL.indexOf("home")!=-1||currentURL.indexOf("message")!=-1) {
  var marqueeHomePageCheck = true;
} else {
  var marqueeHomePageCheck = false;
}
if(!marqueeHomeOnly) marqueeHomePageCheck = true;

if(marqueeHomePageCheck) { // ONLY RUN ENTIRE SCRIPT BELOW IF ON THE HOME PAGE

//========================================================
document.write("<div id='marqueeIframe' style='position: absolute; top: 2px; left: 2px;'></div>");

var marqueeMode;
var marqueeCount             = 0;
var marqueeScoreboard        = new Array();
var marqueeDraftUnitTitle    = new Array();
var marqueeRosterPlayers     = new Object();
var marqueeMaxLoops          = 0;  
var marqueeLiveStats         = false;


//======================================================================
// Cross browser Marquee script- © Dynamic Drive (www.dynamicdrive.com)
// For full source code, 100's more DHTML scripts, and Terms Of Use, visit http://www.dynamicdrive.com
//Credit MUST stay intact
//======================================================================


//Pause marquee onMousever
  var pauseMarquee=true

//Specify the marquee's content (don't delete <nobr> tag)
//Keep all content on ONE line, and backslash any single quotations (ie: that\'s great):

var marqueecontent=new Array();
var marqueeheader=new Array();

var marqueeIndex = 0;

////NO NEED TO EDIT BELOW THIS LINE////////////
marqueeSpeed=(document.all)? marqueeSpeed : Math.max(1, marqueeSpeed-1) //slow speed down by 1 for NS
var copySpeed=marqueeSpeed
var pauseSpeed=(!pauseMarquee)? copySpeed: 0
var iedom=document.all||document.getElementById
var marqueePausedForNewMessage=false;
var marqueeCount = pauseTimeOnNewMessage;
var mouseOverMarquee = false;
var mouseOverSpeedUpMarquee = false;
var marqueeGoToNextMessage = false;

if (iedom) document.write('<span id="marqueedata" style="visibility:hidden;position:absolute;top:-100px;left:-9000px">'+marqueecontent[marqueeIndex]+'</span>')
var actualContentWidth=''
var crossBrowserMarquee, nsMarquee

function pauseThisMarquee() {
  if(marqueeCount>0) {
   var testing = setTimeout("pauseThisMarquee()",1000);
   marqueeCount--;
   marqueePausedForNewMessage=true
  } else {
   marqueePausedForNewMessage=false
   clearTimeout(testing)
  }
}

function populate(){
  try {
   if(marqueeIndex==marqueecontent.length) { 
    marqueeIndex = 0; 
    getMarqueeModules(); // CALL FOR RE-START
   } else {
    if (iedom){
     crossBrowserMarquee=document.getElementById? document.getElementById("iemarquee") : document.all.iemarquee
     var actualBrowserWidth=document.getElementById("marqueebody").offsetWidth
     crossBrowserMarquee.style.left=parseInt(actualBrowserWidth)-parseInt(actualBrowserWidth*0.9)+"px"
     crossBrowserMarquee.innerHTML=marqueecontent[marqueeIndex]
     crossBrowserMarquee.style.top=parseInt(marqueeHeight)/2-crossBrowserMarquee.offsetHeight/2+'px';
     actualContentWidth = document.getElementById("iemarquee").offsetWidth;
    } else 
     if (document.layers){
      nsMarquee=document.nsMarquee.document.nsMarquee2
      nsMarquee.left=parseInt(marqueeWidth)+8
      nsMarquee.document.write(marqueecontent[marqueeIndex])
      nsMarquee.document.close()
      actualContentWidth = nsMarquee.document.width
     }
    if(separateMarqueeHeader) document.getElementById("marqueeheader").innerHTML = "<img src='http://www.habman.com/mfl/apps/js/images/advance.gif' height='11' width='11' border='0' alt='Speed up' style='vertical-align: top;' onMouseover='mouseOverSpeedUpMarquee=true;' onMouseout='mouseOverSpeedUpMarquee=false;' /><img src='http://www.habman.com/mfl/apps/js/images/rightarrow.gif' height='11' width='11' border='0' alt='Click for next item' style='vertical-align: top;' onClick='marqueeGoToNextMessage=true;' />&nbsp;"+marqueeheader[marqueeIndex];
    marqueeInterval=setInterval("scrollmarquee()",20)
       marqueeCount = pauseTimeOnNewMessage;
       copySpeed = 0;
       pauseThisMarquee();
   } // END ELSE IF NO RESTART
  } catch (er) {
   // do nothing
  }
}

function scrollmarquee(){
  if(mouseOverMarquee){
   copySpeed = 0;
   marqueeCount = 0;
   marqueePausedForNewMessage = false;
  } else { 
   if(mouseOverSpeedUpMarquee) {
    copySpeed = marqueeSpeed + 3;
   } else {
    if(marqueePausedForNewMessage) 
     copySpeed=0; 
    else
     copySpeed=marqueeSpeed;
   }
  }

  if(marqueeGoToNextMessage) {
   clearInterval(marqueeInterval);
   marqueeGoToNextMessage = false;
   marqueeIndex++;
   populate();
  } else {
   if (iedom){
    if (parseInt(crossBrowserMarquee.style.left)>(actualContentWidth*(-1)+8)) {
     crossBrowserMarquee.style.left=parseInt(crossBrowserMarquee.style.left)-copySpeed+"px"
    } else {
     clearInterval(marqueeInterval);
     marqueeIndex++;
     populate();
    }
   } else 
    if (document.layers){
     if (nsMarquee.left>(actualContentWidth*(-1)+8)) {
      nsMarquee.left-=copySpeed
     } else {
      clearInterval(marqueeInterval);
      marqueeIndex++;
      populate();
     }
    }
  } // END ELSE marqueeGoToNextMessage
}

if (iedom||document.layers){
  with (document){
    document.write('<table border="0" cellspacing="0" width="'+marqueeWidth+'" cellpadding="0" align="center" id="marqueetable"><tr><td style="text-align: left;">')
   if (iedom){
    if(separateMarqueeHeader) {
     if(marqueeHeaderOffset>0) {  write('<div id="marqueeHeaderOffset" style="padding-left:' + marqueeHeaderOffset + 'px;">'); }
     write('<div id="marqueeheader" style="width:100%;height:'+marqueeHeaderHeight+';"></div>')
     if(marqueeHeaderOffset>0) { write('</div>'); }
    }
    if(marqueeOffset>0) { write('<div id="marqueeOffset" style="padding-left:' + marqueeOffset + 'px;">');  }
    write('<div style="position:relative;width:100%;height:'+marqueeHeight+';overflow:hidden">')
    write('<div id="marqueebody" style="position:absolute;width:100%;height:'+marqueeHeight+';" onMouseover="mouseOverMarquee=true;" onMouseout="mouseOverMarquee=false;">')
    write('<div id="iemarquee" style="position:absolute;left:0px;top:0px;"></div>')
    write('</div></div>')
    if(marqueeOffset>0) { write('</div>'); }
   } else 
    if (document.layers){
     if(separateMarqueeHeader)
      write('<div id="marqueeheader" style="width:'+marqueeWidth+';height:'+marqueeHeaderHeight+';"></div>')
     write('<ilayer width='+marqueeWidth+' height='+marqueeHeight+' name="nsMarquee" bgColor='+marqueeBgColor+' fontColor='+marqueeTextColor+'>')
     write('<layer name="nsMarquee2" left=0 top=0 onMouseover="mouseOverMarquee=true" onMouseout="mouseOverMarquee=false"></layer>')
     write('</ilayer>')
    }
   document.write('</td></tr></table>')
  }
}


//== END MARQUEE SCRIPT ============================
document.write('<script type="text/javascript" src="http://www.habman.com/mfl/apps/js/habWeeklyLeaders.js?rand=' + Math.random() +'"></script>');
document.write('<script type="text/javascript" src="http://www.habman.com/mfl/apps/js/news.js?rand=' + Math.random() +'"></script>');

function parseMarqueeLeagueXML (resultsXML) {
   var data = resultsXML.getElementsByTagName("league");
   //This will set up my Draft Results Module
   var playerLimitUnit = data[0].getAttribute("playerLimitUnit");
   playerLimitUnit = playerLimitUnit.toLowerCase();
   var unit = resultsXML.getElementsByTagName(playerLimitUnit);
   if(playerLimitUnit=="league") {
    marqueeDraftUnitTitle[0] = unit[0].getAttribute("name");
   } else {
    for (var i = 0; i < unit.length; i++) {
     marqueeDraftUnitTitle[i] = unit[i].getAttribute("name");
    }
   }
}

function doMarqueeContent(dataArray,weekNum,mode){
   marqueecontent[marqueeCount] = "";
   switch (mode) {
    case 4: { // WEEKLY RESULTS GAMES NOT SCHEDULED HENCE dataArray.length == 0 SO WE NEED TO ACCOUNT FOR TABLE
              marqueecontent[marqueeCount] = "No Games Scheduled";
              break; }
    case 5: { // NEXT WEEKS GAMES NOT SCHEDULED HENCE dataArray.length == 0 SO WE NEED TO ACCOUNT FOR TABLE
              marqueecontent[marqueeCount] = "No Games Scheduled";
              break; }
    case 6: { // LIVE SCORING GAMES NOT SCHEDULED HENCE dataArray.length == 0 SO WE NEED TO ACCOUNT FOR TABLE
              marqueecontent[marqueeCount] = "No Games Scheduled";
              break; }
    case 8: { // WEEKLY LEADERS HAVE NOT BEEN UPDATED AS OF YET
              // NOTE: IF WEEKLY LEADERS ARE UNAVAILABLE I AM NO LONGER CALLING doMarqueeContent
              marqueecontent[marqueeCount] = "Weekly leaders are unavailable";
              break; }
    default: break; 
   }
   for (var i=0; i<dataArray.length; i++) {
    try {
     var roadID = dataArray[i]['road'][0];
     var homeID = dataArray[i]['home'][0];
    } catch(er) {
     var roadID = "BYE";
     var homeID = "BYE";
    }
    if(roadID!="BYE"&&homeID!="BYE") {
     switch (mode) {
      case 1: { // LIVESCORING
               var clock = getHabTime(parseInt(dataArray[i]['road'][1],10),parseInt(dataArray[i]['home'][1],10),dataArray[i]['gameSecondsRemaining']);
               var link = "<a href='" + baseURLDynamic + "/" + year + "/live_scoring?L=" + league_id + "&FRANCHISES=" + dataArray[i]['road'][0] + "_" + dataArray[i]['home'][0] + "' target='livescoring'>"; 
               if(roadID=="AVG") var roadName = "Average"; else var roadName = franchiseDatabase['fid_' + roadID].name;
               if(homeID=="AVG") var homeName = "Average"; else var homeName = franchiseDatabase['fid_' + homeID].name;
               var roadScore = (parseFloat(dataArray[i]['road'][1],10));
               var homeScore = (parseFloat(dataArray[i]['home'][1],10) + homeFieldAdvantage);
               roadScore =  roadScore.toFixed(marqueeDecimals);
               homeScore =  homeScore.toFixed(marqueeDecimals);
               if(roadName=="Average") roadScore =  getHabAverageScore(dataArray).toFixed(marqueeDecimals);
               if(homeName=="Average") homeScore =  getHabAverageScore(dataArray).toFixed(marqueeDecimals);
               var tempContents = roadName+" "+roadScore+" vs. "+homeName+" "+homeScore+" "+clock;
               tempContents = tempContents.replace(/'/g,"");
               marqueecontent[marqueeCount] += "&nbsp;"+link+tempContents+"</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               break; }
      case 2: { // WEEKLY RESULTS
               var link = "<a href='" + baseURLDynamic + "/" + year + "/options?L=" + league_id + "&O=22' target='weeklyresults'>"; 
               if(roadID=="AVG") var roadName = "Average"; else var roadName = franchiseDatabase['fid_' + roadID].name;
               if(homeID=="AVG") var homeName = "Average"; else var homeName = franchiseDatabase['fid_' + homeID].name;
               var roadScore = (parseFloat(dataArray[i]['road'][1],10));
               var homeScore = (parseFloat(dataArray[i]['home'][1],10) + homeFieldAdvantage);
               roadScore =  roadScore.toFixed(marqueeDecimals);
               homeScore =  homeScore.toFixed(marqueeDecimals);
               if(roadName=="Average") roadScore =  getHabAverageScore(dataArray).toFixed(marqueeDecimals);
               if(homeName=="Average") homeScore =  getHabAverageScore(dataArray).toFixed(marqueeDecimals);
               var tempContents = roadName+" "+roadScore+" vs. "+homeName+" "+homeScore+" Final";
               tempContents = tempContents.replace(/'/g,"");
               marqueecontent[marqueeCount] += "&nbsp;"+link+tempContents+"</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               break; }
      case 3: { // NEXT WEEKS GAMES
               var link = "<a href='" + baseURLDynamic + "/" + year + "/live_scoring?L=" + league_id + "&FRANCHISES=" + dataArray[i]['road'][0] + "_" + dataArray[i]['home'][0] + "' target='livescoring' class='marqueeclock'>"; 
               if(roadID=="AVG") var roadName = "Average"; else var roadName = franchiseDatabase['fid_' + roadID].name;
               if(homeID=="AVG") var homeName = "Average"; else var homeName = franchiseDatabase['fid_' + homeID].name;
               var roadScore = habGlobalFranchiseRecord[dataArray[i]['road'][0]];
               var homeScore = habGlobalFranchiseRecord[dataArray[i]['home'][0]];
               var roadSpread = dataArray[i]['road'][3];
               var homeSpread = dataArray[i]['home'][3];
               if(roadSpread==null) roadSpread = ""; else roadSpread = "<span class='marqueespread'>" + roadSpread + "</span>";
               if(homeSpread==null) homeSpread = ""; else homeSpread = "<span class='marqueespread'>" + homeSpread + "</span>";
               if(hideMarqueeSpread) {roadSpread = ""; homeSpread = ""; }
               var tempContents = roadName+roadSpread+" "+roadScore+" vs. "+homeName+homeSpread+" "+homeScore;
               tempContents = tempContents.replace(/'/g,"");
               marqueecontent[marqueeCount] += "&nbsp;"+link+tempContents+"</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
               break; }
     }
    } //END IF
   }  //END LOOP
   if(mode==7) {
    dataArray.sort (function (a, b) {return a.score == b.score ? 0 : (a.score > b.score ? -1 : 1)})
    if(dataArray.length<marqueeWeeklyTopPlayers) 
     var playersToSort = dataArray.length;
    else
     var playersToSort = marqueeWeeklyTopPlayers;
    for (var i=0; i<playersToSort; i++) {
     var link = "<a href='" + baseURLDynamic + "/" + year + "/player?L="+league_id+"&P="+dataArray[i]['id']+"' target='_blank'>";
     marqueecontent[marqueeCount] += (i+1) + ". " + link + dataArray[i]['name'] + " " + dataArray[i]['score'].toFixed(marqueeDecimals) + "</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; 
    }
   }
   if(mode==9) {
    var counter = 0;
    for (var i=0; i<dataArray.length; i++) {
//     var link = "<a href='" + baseURLDynamic + "/" + year + "/player?L="+league_id+"&P="+dataArray[i]['id']+"' target='_blank'>";
     switch(marqueeDraftFilter) {
      case 0 : { // Show all
       marqueecontent[marqueeCount] += parseInt(dataArray[i]['round'],10) + "." + dataArray[i]['pick'] + " " + dataArray[i]['name'] + " (" + dataArray[i]['team'] + ")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; 
       break; }
      case 1 : { // Show upto last pick
       if(dataArray[i]['name']!="") marqueecontent[marqueeCount] += parseInt(dataArray[i]['round'],10) + "." + dataArray[i]['pick'] + " " + dataArray[i]['name'] + " (" + dataArray[i]['team'] + ")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; 
       break; }
      case 2 : { // Show upto last pick + 1
       if(dataArray[i]['name']!="") marqueecontent[marqueeCount] += parseInt(dataArray[i]['round'],10) + "." + dataArray[i]['pick'] + " " + dataArray[i]['name'] + " (" + dataArray[i]['team'] + ")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; 
       if(dataArray[i]['name']==""&&counter<1) { marqueecontent[marqueeCount] += parseInt(dataArray[i]['round'],10) + "." + dataArray[i]['pick'] + " " + dataArray[i]['name'] + " (" + dataArray[i]['team'] + ")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; counter++; }
       break; }
      case 3 : { // Show upto last pick + 2
       if(dataArray[i]['name']!="") marqueecontent[marqueeCount] += parseInt(dataArray[i]['round'],10) + "." + dataArray[i]['pick'] + " " + dataArray[i]['name'] + " (" + dataArray[i]['team'] + ")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; 
       if(dataArray[i]['name']==""&&counter<2) { marqueecontent[marqueeCount] += parseInt(dataArray[i]['round'],10) + "." + dataArray[i]['pick'] + " " + dataArray[i]['name'] + " (" + dataArray[i]['team'] + ")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; counter++; }
       break; }
      case 4 : { 
       if((parseInt(dataArray[i]['round'],10)>=marqueeDraftStart)&&(parseInt(dataArray[i]['round'],10)<=marqueeDraftEnd)) marqueecontent[marqueeCount] += parseInt(dataArray[i]['round'],10) + "." + dataArray[i]['pick'] + " " + dataArray[i]['name'] + " (" + dataArray[i]['team'] + ")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; 
       break; }
      default : break;
     }
    }
   }
   if(separateMarqueeHeader) {
    marqueecontent[marqueeCount] = "<nobr>" + marqueecontent[marqueeCount] + "</nobr>";
   } else {
    marqueecontent[marqueeCount] = marqueeheader[marqueeCount] + " " + marqueecontent[marqueeCount];
    marqueecontent[marqueeCount] = "<nobr>" + marqueecontent[marqueeCount] + "</nobr>";
   }
   marqueeCount++;
   
}


function getMarqueeMode() {
  if(completedWeek==liveScoringWeek) marqueeMode = 'betweenWeeks'; else marqueeMode = 'live';
  if(marqueeMode=='live') doLiveMarqueeFunctions(); else doBetweenGameMarqueeFunctions();
}

function doLiveMarqueeFunctions() {
  document.getElementById("marqueeIframe").innerHTML = "<iframe src='" + habBaseURL + "/" + year + "/live_scoring_summary?L=" + league_id +  "&App=mar' style='width: 0; height: 0; border: 0px;'></iframe>";
  var marqueeLiveScoring = new Array();
  var thisWeek = liveScoringWeek;

  marqueeLiveScoring = makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=liveScoring&L="+league_id+"&W="+thisWeek+"&prg=marquee&rand=" + Math.random() , 'parseHabLiveScoringXML','liveScoring',true);
  if(marqueeLiveScoring.length==0) marqueeLiveScoring = makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=liveScoring&L="+league_id+"&W="+thisWeek+"&prg=marquee&rand=" + Math.random() , 'parseHabLiveScoringXML','liveScoring',true);

  marqueeheader[marqueeCount] = "Weekly Live Scoring";
  if(marqueeLiveScoring.length==0) {
   doMarqueeContent(marqueeLiveScoring,thisWeek,6);  
  } else {
   doMarqueeContent(marqueeLiveScoring,thisWeek,1);     
  }    
 document.getElementById("marqueeIframe").innerHTML = "";
}

function doBetweenGameMarqueeFunctions() {
  var thisWeek = completedWeek;
  var marqueeWeeklyResults = new Array();

  marqueeWeeklyResults = makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=weeklyResults&L="+league_id+"&W=" +thisWeek+"&prg=marquee&rand=" + Math.random() , 'parseHabWeeklyResultsXML','weeklyResults',true);
  if(marqueeWeeklyResults.length==0) marqueeWeeklyResults = makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=weeklyResults&L="+league_id+"&W=" +thisWeek+"&prg=marquee&rand=" + Math.random() , 'parseHabWeeklyResultsXML','weeklyResults',true);

  marqueeheader[marqueeCount] = "Last Weeks Results";
  if(marqueeWeeklyResults.length==0) {
   doMarqueeContent(marqueeWeeklyResults,thisWeek,4);  
  } else {
   doMarqueeContent(marqueeWeeklyResults,thisWeek,2);     
  } 
  var nextWeek = thisWeek + 1;
  makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=standings&L="+league_id+"&prg=marquee&rand=" + Math.random(), 'parseHabFranchiseRecordsXML','standings',false);

  marqueeWeeklyResults = makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=weeklyResults&L="+league_id+"&W="+nextWeek+"&prg=marquee&rand=" + Math.random(), 'parseHabWeeklyResultsXML','weeklyResults',true);
  if(marqueeWeeklyResults.length==0) marqueeWeeklyResults = makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=weeklyResults&L="+league_id+"&W="+nextWeek+"&prg=marquee&rand=" + Math.random(), 'parseHabWeeklyResultsXML','weeklyResults',true);

  marqueeheader[marqueeCount] = "Next Weeks Games";
  if(marqueeWeeklyResults.length==0) {
   doMarqueeContent(marqueeWeeklyResults,nextWeek,5);  
  } else {
   doMarqueeContent(marqueeWeeklyResults,nextWeek,3);     
  }
}

//==========================================================================

function parseMarqueeRostersXML (resultsXML) {
  var franchise = resultsXML.getElementsByTagName("franchise");
  try {
    var fName = franchise[0].getAttribute("id");
  } catch(er) {
    //Did not successfully grab XML data so return and re-try
    return -1;
  }
  for (var i=0; i<franchise.length; i++) {
   var fid    = franchise[i].getAttribute("id");
   var player = franchise[i].getElementsByTagName("player");
   for (var j=0; j<player.length; j++) {
    var pid = player[j].getAttribute("id");
    marqueeRosterPlayers[pid] = [fid,"x"];
   }
  }
}

function parseMarqueeStartersXML (resultsXML) {
  var franchise = resultsXML.getElementsByTagName("franchise");
  try {
    var fName = franchise[0].getAttribute("id");
  } catch(er) {
    //Did not successfully grab XML data so return and re-try
    return -1;
  }
  for (var i=0; i<franchise.length; i++) {
   var fid    = franchise[i].getAttribute("id");
   var player = franchise[i].getElementsByTagName("player");
   for (var j=0; j<player.length; j++) {
    var pid = player[j].getAttribute("id");
    var status = player[j].getAttribute("status");
    try {
     marqueeRosterPlayers[pid][1] = status;
    } catch(er) {
     // Do Nothing
    }
   }
  }
}

function getMarqueeStarters() {
  makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=weeklyResults&L=" + league_id + "&W=" + liveScoringWeek + "&prg=marquee&rand=" + Math.random() , 'parseMarqueeStartersXML','weeklyResults',false);
  if(marqueeRosterPlayers.length==0) makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=weeklyResults&L=" + league_id + "&W=" + liveScoringWeek + "&prg=marquee&rand=" + Math.random() , 'parseMarqueeStartersXML','weeklyResults',false);
}

function getMarqueeRosters() {
  makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=rosters&L=" + league_id + "&prg=marquee&rand=" + Math.random() , 'parseMarqueeRostersXML','rosters',false);
  if(marqueeRosterPlayers.length==0) makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=rosters&L=" + league_id + "&prg=marquee&rand=" + Math.random() , 'parseMarqueeRostersXML','rosters',false);
}

//==========================================================================
function parseMarqueePlayerScoresXML (resultsXML) {
   var playerScore = new Array();
   var dataCheck = resultsXML.getElementsByTagName("playerScore");
   if(dataCheck.length<2) {
    playerScore[0] = ["no data","",""];
   } else {
    var playerScores = resultsXML.getElementsByTagName("playerScore");
    for(var i=0; i<playerScores.length; i++) {  // Get Player Information
     var pid   = playerScores[i].getAttribute("id");
     var score = parseFloat(playerScores[i].getAttribute("score"),10);
     var playerCheck = marqueeRosterPlayers[pid];
     if (playerCheck==undefined) var playerFound = false; else var playerFound = true; 
     var status = "fa";
     if(playerFound&&marqueeRosterPlayers[pid][1]=="starter") status = "starter"; 
     if(playerFound&&marqueeRosterPlayers[pid][1]!="starter") status = "bench"; 
     playerScore[i] = [pid,score,status];
    }
   }
   return playerScore;
}
 
function doMarqueeLeaders (players,title,which,mode) {
    QBArray  = new Array();
    RBArray  = new Array(); 
    WRArray  = new Array();
    TEArray  = new Array();   
    PKArray  = new Array();
    DefArray = new Array();
    DLArray  = new Array(); // includes DT & DE
    LBArray  = new Array(); 
    DBArray  = new Array(); // includes CB & S
    
    switch (which) {
     case 0 : { var extraTitle = ""; break; }
     case 2 : { var extraTitle = "Rostered "; break; }
     case 3 : { var extraTitle = "Free Agent "; break; }
     case 4 : { var extraTitle = "Starting "; break; }
     case 5 : { var extraTitle = "Benched "; break; }
    }
    
    for(var i=0; i<players.length; i++) { 
     var pid    = players[i][0];
     var status = players[i][2]; 
     var doIt   = false;
     switch (mode) {
      case 0 : { doIt = true; break; }
      case 1 : { if((which==2&&status!="fa")||(which==3&&status=="fa")) doIt = true; break; }
      case 2 : { if(which==2&&status!="fa") doIt = true; break; }
      case 3 : { if(which==3&&status=="fa") doIt = true; break; }
      case 4 : { if((which==4&&status=="starter")||(which==5&&status=="bench")) doIt = true; break; }
      case 5 : { if((which==4&&status=="starter")||(which==5&&status=="bench")||(which==3&&status=="fa")) doIt = true; break; }
     }
     if(doIt) {
      try { //catching any errors where player has been added manually for a league
       var score_ = players[i][1];
       var name_ = formatName(playerDatabase['pid_' + pid].name);
       var pos   = playerDatabase['pid_' + pid].position;
       switch (pos) {
        case 'QB'  : { var tid = QBArray.length;  QBArray[tid]  = {name:name_, score:score_, id:pid}; break; }
        case 'RB'  : { var tid = RBArray.length;  RBArray[tid]  = {name:name_, score:score_, id:pid}; break; }
        case 'WR'  : { var tid = WRArray.length;  WRArray[tid]  = {name:name_, score:score_, id:pid}; break; }
        case 'TE'  : { var tid = TEArray.length;  TEArray[tid]  = {name:name_, score:score_, id:pid}; break; }
        case 'PK'  : { var tid = PKArray.length;  PKArray[tid]  = {name:name_, score:score_, id:pid}; break; }
        case 'Def' : { var tid = DefArray.length; DefArray[tid] = {name:name_, score:score_, id:pid}; break; }
        case 'DT'  : { var tid = DLArray.length;  DLArray[tid]  = {name:name_, score:score_, id:pid}; break; }
        case 'DE'  : { var tid = DLArray.length;  DLArray[tid]  = {name:name_, score:score_, id:pid}; break; }
        case 'LB'  : { var tid = LBArray.length;  LBArray[tid]  = {name:name_, score:score_, id:pid}; break; }
        case 'CB'  : { var tid = DBArray.length;  DBArray[tid]  = {name:name_, score:score_, id:pid}; break; }
        case 'S'   : { var tid = DBArray.length;  DBArray[tid]  = {name:name_, score:score_, id:pid}; break; }
        default    : break;
       }
      } catch(er) {
       // Do nothing
      }
     }
    }
    if(QBArray.length>0)  { marqueeheader[marqueeCount] = title + extraTitle + "Quarterbacks";      doMarqueeContent(QBArray,0,7);  }
    if(RBArray.length>0)  { marqueeheader[marqueeCount] = title + extraTitle + "Running Backs";     doMarqueeContent(RBArray,0,7);  }
    if(WRArray.length>0)  { marqueeheader[marqueeCount] = title + extraTitle + "Wide Receivers";    doMarqueeContent(WRArray,0,7);  }
    if(TEArray.length>0)  { marqueeheader[marqueeCount] = title + extraTitle + "Tightends";         doMarqueeContent(TEArray,0,7);  }
    if(PKArray.length>0)  { marqueeheader[marqueeCount] = title + extraTitle + "Place Kickers";     doMarqueeContent(PKArray,0,7);  }
    if(DefArray.length>0) { marqueeheader[marqueeCount] = title + extraTitle + "Defenses";          doMarqueeContent(DefArray,0,7); }
    if(DLArray.length>0)  { marqueeheader[marqueeCount] = title + extraTitle + "Defensive Linemen"; doMarqueeContent(DLArray,0,7);  }
    if(LBArray.length>0)  { marqueeheader[marqueeCount] = title + extraTitle + "Linebackers";       doMarqueeContent(LBArray,0,7);  }
    if(DBArray.length>0)  { marqueeheader[marqueeCount] = title + extraTitle + "Defensive Backs";   doMarqueeContent(DBArray,0,7);  }
}


function getMarqueeWeeklyLeaders() {
  var weeklyLeaders = makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=playerScores&L="+league_id+"&W=" + liveScoringWeek + "&prg=marquee&rand=" + Math.random(), 'parseMarqueePlayerScoresXML','playerScores',true);
  if(weeklyLeaders.length<=1) {
    // I have changed this to not call doMarqueeContent if Weekly Leaders are unavailable
    // marqueeheader[marqueeCount] = "Week #" + liveScoringWeek + " Leaders: ";
    // doMarqueeContent(0,0,8);  
  } else {

   var title = "Week #" + liveScoringWeek + " Leaders:  ";
   switch (marqueeTopWeeklyMode) {
    case 0 : { doMarqueeLeaders(weeklyLeaders,title,0,0); break; }
    case 1 : { doMarqueeLeaders(weeklyLeaders,title,2,1); doMarqueeLeaders(weeklyLeaders,title,3,1); break; }
    case 2 : { doMarqueeLeaders(weeklyLeaders,title,2,2); break; } 
    case 3 : { doMarqueeLeaders(weeklyLeaders,title,3,3); break; } 
    case 4 : { doMarqueeLeaders(weeklyLeaders,title,4,4); doMarqueeLeaders(weeklyLeaders,title,5,4); break; }
    case 5 : { doMarqueeLeaders(weeklyLeaders,title,4,5); doMarqueeLeaders(weeklyLeaders,title,5,5); doMarqueeLeaders(weeklyLeaders,title,3,5); break; }
   }
  } 
}

function getMarqueeSeasonLeaders() {
  var seasonLeaders = makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=playerScores&L="+league_id+"&W=YTD&prg=marquee&rand=" + Math.random(), 'parseMarqueePlayerScoresXML','playerScores',true);
  if(seasonLeaders.length<=1) {
    marqueeheader[marqueeCount] = "Season Leaders: ";
    doMarqueeContent(0,0,8);  
  } else {
   var title = "Season Leaders:  ";
   switch (marqueeTopSeasonMode) {
    case 0 : { doMarqueeLeaders(seasonLeaders,title,0,0); break; }
    case 1 : { doMarqueeLeaders(seasonLeaders,title,2,1); doMarqueeLeaders(seasonLeaders,title,3,1); break; }
    case 2 : { doMarqueeLeaders(seasonLeaders,title,2,2); break; } 
    case 3 : { doMarqueeLeaders(seasonLeaders,title,3,3); break; } 
    case 4 : { doMarqueeLeaders(seasonLeaders,title,4,4); doMarqueeLeaders(seasonLeaders,title,5,4); break; }
    case 5 : { doMarqueeLeaders(seasonLeaders,title,4,5); doMarqueeLeaders(seasonLeaders,title,5,5); doMarqueeLeaders(seasonLeaders,title,3,5); break; }
   }
  } 
}

//===========================================================================

//===========================================================================
function parseMarqueeDraftResultsXML (resultsXML) {
   var draftUnits = resultsXML.getElementsByTagName("draftUnit");
   var draftArray = new Array();
   for (var i=0; i<draftUnits.length; i++) {
    var draftPicks = draftUnits[i].getElementsByTagName("draftPick");
    draftArray[i] = new Array();
    for (var j=0; j<draftPicks.length; j++) {
     var round  = draftPicks[j].getAttribute("round");
     var pick   = draftPicks[j].getAttribute("pick");
     var fid    = draftPicks[j].getAttribute("franchise");
     var pid    = draftPicks[j].getAttribute("player");
     if(pid=="") { 
      var name = "";
      var pos  = "";
     } else {
      try {
       var name = formatName(playerDatabase['pid_' + pid].name);
       var pos  = playerDatabase['pid_' + pid].position;
      } catch(er) {
       var name   = "xxx";
       var pos    = "xxx";
      }
     }
     var team   = franchiseDatabase['fid_' + fid].name;
     draftArray[i][j] = {name:name, position:pos, id:pid, round:round, pick:pick, team:team };
    }
   }
   for(var i=0; i<marqueeDraftUnitTitle.length; i++) {
    marqueeheader[marqueeCount] = "Draft Results: "+marqueeDraftUnitTitle[i]; 
    switch(marqueeDraftFilter) {
     case 0 : break;
     case 1 : {marqueeheader[marqueeCount] += " (displaying upto last pick)";  
               break; }
     case 2 : {marqueeheader[marqueeCount] += " (displaying upto current selection)";  
               break; }
     case 3 : {marqueeheader[marqueeCount] += " (displaying upto next two selections)";  
               break; }
     case 4 : {marqueeheader[marqueeCount] += " (round "+marqueeDraftStart+" thru to round "+marqueeDraftEnd+")";  
               break; }
     default : break;
    }
    doMarqueeContent(draftArray[i],0,9);
   }
}

function getMarqueeDraftResults() {
  makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=league&L="+league_id+"&prg=marquee&rand=" + Math.random(), 'parseMarqueeLeagueXML','league',false);
  makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=draftResults&L="+league_id+"&prg=marquee&rand=" + Math.random() , 'parseMarqueeDraftResultsXML','draftResults',false);
}

//===========================================================================
function getMarqueeMessage1() {
   marqueeTitle1   = marqueeTitle1.replace(/'/g,"");
   marqueeTitle1   = marqueeTitle1.replace(/~/g,"&nbsp;");
   marqueeMessage1 = marqueeMessage1.replace(/'/g,"");
   marqueeMessage1 = marqueeMessage1.replace(/~/g,"&nbsp;");
   marqueeheader[marqueeCount]  = marqueeTitle1;
   marqueecontent[marqueeCount] = "<nobr>" + marqueeMessage1 + "</nobr>";
   marqueeCount++;
}

function getMarqueeMessage1a() {
   marqueeTitle1a   = marqueeTitle1a.replace(/'/g,"");
   marqueeTitle1a   = marqueeTitle1a.replace(/~/g,"&nbsp;");
   marqueeMessage1a = marqueeMessage1a.replace(/'/g,"");
   marqueeMessage1a = marqueeMessage1a.replace(/~/g,"&nbsp;");
   marqueeheader[marqueeCount]  = marqueeTitle1a;
   marqueecontent[marqueeCount] = "<nobr>" + marqueeMessage1a + "</nobr>";
   marqueeCount++;
}

function getMarqueeMessage1b() {
   marqueeTitle1b   = marqueeTitle1b.replace(/'/g,"");
   marqueeTitle1b   = marqueeTitle1b.replace(/~/g,"&nbsp;");
   marqueeMessage1b = marqueeMessage1b.replace(/'/g,"");
   marqueeMessage1b = marqueeMessage1b.replace(/~/g,"&nbsp;");
   marqueeheader[marqueeCount]  = marqueeTitle1b;
   marqueecontent[marqueeCount] = "<nobr>" + marqueeMessage1b + "</nobr>";
   marqueeCount++;
}

function getMarqueeMessage1c() {
   marqueeTitle1c   = marqueeTitle1c.replace(/'/g,"");
   marqueeTitle1c   = marqueeTitle1c.replace(/~/g,"&nbsp;");
   marqueeMessage1c = marqueeMessage1c.replace(/'/g,"");
   marqueeMessage1c = marqueeMessage1c.replace(/~/g,"&nbsp;");
   marqueeheader[marqueeCount]  = marqueeTitle1c;
   marqueecontent[marqueeCount] = "<nobr>" + marqueeMessage1c + "</nobr>";
   marqueeCount++;
}

function getMarqueeMessage2() {
   marqueeTitle2   = marqueeTitle2.replace(/'/g,"");
   marqueeTitle2   = marqueeTitle2.replace(/~/g,"&nbsp;");
   marqueeMessage2 = marqueeMessage2.replace(/'/g,"");
   marqueeMessage2 = marqueeMessage2.replace(/~/g,"&nbsp;");
   marqueeheader[marqueeCount]  = marqueeTitle2;
   marqueecontent[marqueeCount] = "<nobr>" + marqueeMessage2 + "</nobr>";
   marqueeCount++;
}

function getMarqueeMessage2a() {
   marqueeTitle2a   = marqueeTitle2a.replace(/'/g,"");
   marqueeTitle2a   = marqueeTitle2a.replace(/~/g,"&nbsp;");
   marqueeMessage2a = marqueeMessage2a.replace(/'/g,"");
   marqueeMessage2a = marqueeMessage2a.replace(/~/g,"&nbsp;");
   marqueeheader[marqueeCount]  = marqueeTitle2a;
   marqueecontent[marqueeCount] = "<nobr>" + marqueeMessage2a + "</nobr>";
   marqueeCount++;
}

function getMarqueeNews() {
   try {
    for(var i=0; i<habNewsArray.length; i++) {
     if(i<=marqueeNews-1||marqueeNews==0) {
      marqueeheader[marqueeCount]  = 'Players in the News';
      var tempMessage = '<a href="' + habNewsArray[i][1] + '" target="_blank">' + habNewsArray[i][0] + '</a>';
      marqueecontent[marqueeCount] = "<nobr>" + tempMessage + "</nobr>";
      marqueeCount++;
     }
    }
   } catch(er) {
    //Do nothing
   }
}

function getMarqueeLiveLeaders() {
   try {
    var tempMessage = '';
    for(var i=0; i<habPassingLeaders.length; i++) {
     if(i<=marqueeLiveLeaders-1||marqueeLiveLeaders==0) {
      tempMessage += i + 1 + '. ' + habPassingLeaders[i][0] + '&nbsp;&nbsp;<i>' + habPassingLeaders[i][4] + ' yds&nbsp;&nbsp;'+ habPassingLeaders[i][5] + ' tds&nbsp;&nbsp;'+ habPassingLeaders[i][6] + ' ints</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
      marqueeLiveStats = true;  // USE THIS TO TURN OFF SEASON LEADERS
     }
    }
    if(tempMessage!='') {
     tempMessage = '<a href="http://www.sportsline.com/nfl/stats/leaders/live/all/Passers/" target="habLeaders">' + tempMessage + '</a>';
     marqueeheader[marqueeCount]  = "Week #" + liveScoringWeek + " Passing Leaders: ";
     marqueecontent[marqueeCount] = "<nobr>" + tempMessage + "</nobr>";
     marqueeCount++;
    }
   } catch(er) {
    //Do nothing
   }
   try {
    var tempMessage = '';
    for(var i=0; i<habRushingLeaders.length; i++) {
     if(i<=marqueeLiveLeaders-1||marqueeLiveLeaders==0) {
      tempMessage += i + 1 + '. ' + habRushingLeaders[i][0] + '&nbsp;&nbsp;<i>' + habRushingLeaders[i][3] + ' yds&nbsp;&nbsp;'+ habRushingLeaders[i][4] + ' tds&nbsp;&nbsp;'+ habRushingLeaders[i][5] + ' fumbles</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
      marqueeLiveStats = true;  // USE THIS TO TURN OFF SEASON LEADERS
     }
    }
    if(tempMessage!='') {
     tempMessage = '<a href="http://www.sportsline.com/nfl/stats/leaders/live/all/Rushers/" target="habLeaders">' + tempMessage + '</a>';
     marqueeheader[marqueeCount]  = "Week #" + liveScoringWeek + " Rushing Leaders: ";
     marqueecontent[marqueeCount] = "<nobr>" + tempMessage + "</nobr>";
     marqueeCount++;
    }
   } catch(er) {
    //Do nothing
   }
   try {
    var tempMessage = '';
    for(var i=0; i<habReceivingLeaders.length; i++) {
     if(i<=marqueeLiveLeaders-1||marqueeLiveLeaders==0) {
      tempMessage += i + 1 + '. ' + habReceivingLeaders[i][0] + '&nbsp;&nbsp;<i>' + habReceivingLeaders[i][3] + ' yds&nbsp;&nbsp;'+ habReceivingLeaders[i][4] + ' tds&nbsp;&nbsp;'+ habReceivingLeaders[i][5] + ' fumbles</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
      marqueeLiveStats = true;  // USE THIS TO TURN OFF SEASON LEADERS
     }
    }
    if(tempMessage!='') {
     tempMessage = '<a href="http://www.sportsline.com/nfl/stats/leaders/live/all/Receivers/" target="habLeaders">' + tempMessage + '</a>';
     marqueeheader[marqueeCount]  = "Week #" + liveScoringWeek + " Receiving Leaders: ";
     marqueecontent[marqueeCount] = "<nobr>" + tempMessage + "</nobr>";
     marqueeCount++;
    }
   } catch(er) {
    //Do nothing
   }
}

//===========================================================================


function getMarqueeModules() {
  marqueeCount = 0;
  marqueeMaxLoops++;
  if(marqueeMaxLoops<31) {
   if(marqueeMessage1!=""||marqueeTitle1!="")   { getMarqueeMessage1(); }
   if(marqueeMessage1a!=""||marqueeTitle1a!="") { getMarqueeMessage1a(); }
   if(marqueeMessage1b!=""||marqueeTitle1b!="") { getMarqueeMessage1b(); }
   if(marqueeMessage1c!=""||marqueeTitle1c!="") { getMarqueeMessage1c(); }
   if(marqueeNews!=-1)                          { getMarqueeNews(); }
   if(marqueeScoreboardModule)                  { getMarqueeMode(); }
   if(marqueeLiveLeaders!=-1)                   { getMarqueeLiveLeaders(); }
   if(marqueeWeeklyLeadersModule)               { getMarqueeWeeklyLeaders(); }
   if(marqueeLiveStats==false||liveScoringWeek==completedWeek) {
    if(marqueeSeasonLeadersModule)               { getMarqueeSeasonLeaders(); }
   }
   if(marqueeDraftResultsModule)                { getMarqueeDraftResults(); }
   if(marqueeMessage2!=""||marqueeTitle2!="")   { getMarqueeMessage2(); } 
   if(marqueeMessage2a!=""||marqueeTitle2a!="") { getMarqueeMessage2a(); }
   
   populate();
  } else {
   var refreshData = "<a href='#MarqueeRestart' onclick='marqueeMaxLoops=0; getMarqueeModules();' id='marqueeClick'>Restart Marquee</a>";
   document.getElementById("marqueeheader").innerHTML = refreshData;
  }
}

function getOneTimeMarqueeModules() {
  if(marqueeTopSeasonMode!=0&&marqueeTopWeeklyMode!=0) { getMarqueeRosters(); } // I need rosters if we are separating or omitting free agent leaders
  if(marqueeTopSeasonMode==4||marqueeTopSeasonMode==5||marqueeTopWeeklyMode==4||marqueeTopWeeklyMode==5) { getMarqueeStarters(); }
  getMarqueeModules();
}

if(marqueeClickToStart.length>0) {
 var habNow = new Date();
 var _marqueeClickToStart = marqueeClickToStart[habNow.getDay()];
} else {
 var _marqueeClickToStart = marqueeClickToStart;
}

if(!_marqueeClickToStart) {
 setTimeout("getOneTimeMarqueeModules()",500);
} else {
 document.getElementById("marqueeheader").innerHTML = "<a href='#1' onclick='getOneTimeMarqueeModules();'><span class='habClickToStart'>Click to activate Marquee</span></a>";
}


} // END IF MARQUEE HOME PAGE CHECK