if(habTabbedRosterRan==undefined)                var habTabbedRosterRan = false;
if(tabbedRosterDecimals==undefined)              var tabbedRosterDecimals = 1;
if(tabbedRosterTradeToggle==undefined)           var tabbedRosterTradeToggle = true;
if(franchise_id==undefined)                    { var franchise_id; tabbedRosterTradeToggle = false; }
   

document.write('<div id="tabbedRosterDropDown"></div>\n');
document.write('<div id="tabbedRosterReinitialize"></div>\n');
document.write('<div id="habTabbedRosterTabs"></div>\n');

document.write('<script type="text/javascript" src="http://www.habman.com/mfl/apps/js/habNewsBreakers.js?rand=' + Math.random() +'"></script>');


if(!habTabbedRosterRan) {

habTabbedRosterRan = true;


 /***********************************************
 * Fixed ToolTip script- © Dynamic Drive (www.dynamicdrive.com)
 * This notice MUST stay intact for legal use
 * Visit http://www.dynamicdrive.com/ for full source code
 ***********************************************/
		
 var tabbedRosterTip_tipwidth='450px' //default tooltip width
 var tabbedRosterTip_tipbgcolor='lightyellow'  //tooltip bgcolor
 var tabbedRosterTip_disappeardelay=250  //tooltip disappear speed onMouseout (in miliseconds)
 var tabbedRosterTip_vertical_offset="0px" //vertical offset of tooltip from anchor link
 var tabbedRosterTip_horizontal_offset="-3px" //horizontal offset of tooltip from anchor link

 /////No further editting needed

 var tabbedRosterTip_ie4=document.all
 var tabbedRosterTip_ns6=document.getElementById&&!document.all

 if (tabbedRosterTip_ie4||tabbedRosterTip_ns6)

 document.write('<div id="tabbedRosterTip_fixedtipdiv" style="position:absolute; padding: 2px; border: 1px solid black; color: black; font-size: 12px; line-height: 18px; z-index: 100; visibility:hidden; width:'+tabbedRosterTip_tipwidth+';background-color:'+tabbedRosterTip_tipbgcolor+'" ></div>')

 function tabbedRosterTip_getposOffset(what, offsettype){
   var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
   var parentEl=what.offsetParent;
   while (parentEl!=null){
    totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
    parentEl=parentEl.offsetParent;
   }
   return totaloffset;
 }


 function tabbedRosterTip_showhide(obj, e, visible, hidden, tabbedRosterTip_tipwidth){
   if (tabbedRosterTip_ie4||tabbedRosterTip_ns6)
    dropmenuobj.style.left=dropmenuobj.style.top=-500
   if (tabbedRosterTip_tipwidth!=""){
    dropmenuobj.widthobj=dropmenuobj.style
    dropmenuobj.widthobj.width=tabbedRosterTip_tipwidth
   }
   if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
    obj.visibility=visible
   else if (e.type=="click")
    obj.visibility=hidden
 }

 function tabbedRosterTip_iecompattest(){
   return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
 }

 function tabbedRosterTip_clearbrowseredge(obj, whichedge){
   var edgeoffset=(whichedge=="rightedge")? parseInt(tabbedRosterTip_horizontal_offset)*-1 : parseInt(tabbedRosterTip_vertical_offset)*-1
   if (whichedge=="rightedge"){
    var windowedge=tabbedRosterTip_ie4 && !window.opera? tabbedRosterTip_iecompattest().scrollLeft+tabbedRosterTip_iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
    dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
    if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
     edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
   } else {
    var windowedge=tabbedRosterTip_ie4 && !window.opera? tabbedRosterTip_iecompattest().scrollTop+tabbedRosterTip_iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
    dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
    if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)
     edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
   }
   return edgeoffset
 }

 function tabbedRosterTip_fixedtooltip(tipscores, obj, e, tabbedRosterTip_tipwidth){
   menucontents = tipscores.replace(/'/g,"’");
   if (window.event) event.cancelBubble=true
    else if (e.stopPropagation) e.stopPropagation()
   tabbedRosterTip_clearhidetip()
   dropmenuobj=document.getElementById? document.getElementById("tabbedRosterTip_fixedtipdiv") : tabbedRosterTip_fixedtipdiv
   dropmenuobj.innerHTML=menucontents

   if (tabbedRosterTip_ie4||tabbedRosterTip_ns6){
    tabbedRosterTip_showhide(dropmenuobj.style, e, "visible", "hidden", tabbedRosterTip_tipwidth)
    dropmenuobj.x=tabbedRosterTip_getposOffset(obj, "left")
    dropmenuobj.y=tabbedRosterTip_getposOffset(obj, "top")
    dropmenuobj.style.left=dropmenuobj.x-tabbedRosterTip_clearbrowseredge(obj, "rightedge")+"px"
    dropmenuobj.style.top=dropmenuobj.y-tabbedRosterTip_clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
   }
 }

 function tabbedRosterTip_hidetip(e){
   if (typeof dropmenuobj!="undefined"){
    if (tabbedRosterTip_ie4||tabbedRosterTip_ns6)
     dropmenuobj.style.visibility="hidden"
   }
 }

 function tabbedRosterTip_delayhidetip(){
   if (tabbedRosterTip_ie4||tabbedRosterTip_ns6)
    tabbedRosterTip_delayhide=setTimeout("tabbedRosterTip_hidetip()",tabbedRosterTip_disappeardelay)
 }

 function tabbedRosterTip_clearhidetip(){
   if (typeof tabbedRosterTip_delayhide!="undefined")
   clearTimeout(tabbedRosterTip_delayhide)
 }

 //== END DYNAMIC DRIVE SCRIPT=====================


//** Tab Content script- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com)
//** Last updated: June 29th, 06
//** Edited to add my own variables

var tabbedRosterEnableTabPersistence=0 //enable tab persistence via session only cookies, so selected tab is remembered?

////NO NEED TO EDIT BELOW////////////////////////
var tabbedRosterTabContentIDs=new Object()

function tabbedRosterExpandContent(linkobj){
  var ulid=linkobj.parentNode.parentNode.id //id of UL element
  var ullist=document.getElementById(ulid).getElementsByTagName("li") //get list of LIs corresponding to the tab contents
  for (var i=0; i<ullist.length; i++){
   ullist[i].className=""  //deselect all tabs
   if (typeof tabbedRosterTabContentIDs[ulid][i]!="undefined") //if tab content within this array index exists (exception: More tabs than there are tab contents)
    document.getElementById(tabbedRosterTabContentIDs[ulid][i]).style.display="none" //hide all tab contents
  }
  linkobj.parentNode.className="selected"  //highlight currently clicked on tab
  document.getElementById(linkobj.getAttribute("rel")).style.display="block" //expand corresponding tab content
  tabbedRosterSaveSelectedTabcontentID(ulid, linkobj.getAttribute("rel"))
}

function savetabbedRosterTabContentIDs(ulid, relattribute){// save ids of tab content divs
  if (typeof tabbedRosterTabContentIDs[ulid]=="undefined") //if this array doesn't exist yet
  tabbedRosterTabContentIDs[ulid]=new Array()
  tabbedRosterTabContentIDs[ulid][tabbedRosterTabContentIDs[ulid].length]=relattribute
}

function tabbedRosterSaveSelectedTabcontentID(ulid, selectedtabid){ //set id of clicked on tab as selected tab id & enter into cookie
  if (tabbedRosterEnableTabPersistence==1) //if persistence feature turned on
   tabbedRosterTabSetCookie(ulid, selectedtabid)
}

function tabbedRosterGetULListLinkById(ulid, tabcontentid){ //returns a tab link based on the ID of the associated tab content
  var ullist=document.getElementById(ulid).getElementsByTagName("li")
  for (var i=0; i<ullist.length; i++){
   if (ullist[i].getElementsByTagName("a")[0].getAttribute("rel")==tabcontentid){
    return ullist[i].getElementsByTagName("a")[0]
    break
   }
  }
}

function tabbedRosterInitializeTabContent(){
  for (var i=0; i<arguments.length; i++){ //loop through passed UL ids
   if (tabbedRosterEnableTabPersistence==0 && tabbedRosterTabGetCookie(arguments[i])!="") //clean up cookie if persist=off
    tabbedRosterTabSetCookie(arguments[i], "")
   var clickedontab=tabbedRosterTabGetCookie(arguments[i]) //retrieve ID of last clicked on tab from cookie, if any
   var ulobj=document.getElementById(arguments[i])
   var ulist=ulobj.getElementsByTagName("li") //array containing the LI elements within UL
   for (var x=0; x<ulist.length; x++){ //loop through each LI element
    var ulistlink=ulist[x].getElementsByTagName("a")[0]
    if (ulistlink.getAttribute("rel")){
     savetabbedRosterTabContentIDs(arguments[i], ulistlink.getAttribute("rel")) //save id of each tab content as loop runs
     ulistlink.onclick=function(){
      tabbedRosterExpandContent(this)
      return false
     }
     if (ulist[x].className=="selected" && clickedontab=="") //if a tab is set to be selected by default
      tabbedRosterExpandContent(ulistlink) //auto load currenly selected tab content
    }
   } //end inner for loop
   if (clickedontab!=""){ //if a tab has been previously clicked on per the cookie value
    var culistlink=tabbedRosterGetULListLinkById(arguments[i], clickedontab)
    if (typeof culistlink!="undefined") //if match found between tabcontent id and rel attribute value
     tabbedRosterExpandContent(culistlink) //auto load currenly selected tab content
    else //else if no match found between tabcontent id and rel attribute value (cookie mis-association)
     tabbedRosterExpandContent(ulist[0].getElementsByTagName("a")[0]) //just auto load first tab instead
   }
  } //end outer for loop
}


function tabbedRosterTabGetCookie(Name){ 
  var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
  if (document.cookie.match(re)) //if cookie found
   return document.cookie.match(re)[0].split("=")[1] //return its value
   return ""
}

function tabbedRosterTabSetCookie(name, value){
  document.cookie = name+"="+value //cookie value is domain wide (path=/)
}


//== END TABBED CONTENT DYNAMIC DRIVE SCRIPT=====================




var habTabbedRosterPlayerScores = new Array();
var habTabbedRosterStatus       = new Array();
var globalTabbedRosterTeam;
var currentTabbedRosterTeam    = ""; 
var currentTabbedRosterTab     = "";
var tabbedRosterTradeActive    = false;
var tabbedRosterTrader         = "";
var tabbedRosterTradee         = "";

var tabbedRosterWeek = completedWeek + 1;

if(displayTabbedRosterSalary) var tabbedRosterSalaryHeader = "<th style='text-align: center;'>&nbsp;</th>"; else var tabbedRosterSalaryHeader = "";
if(displayTabbedRosterStatus) var tabbedRosterStatusHeader = "<th style='text-align: center;'>Status</th>"; else var tabbedRosterStatusHeader = "";


function parseTabbedRosterPlayerScoresXML (resultsXML) {
   var scores = new Array();
   var players = resultsXML.getElementsByTagName("playerScore");
   for(var i=0; i<players.length; i++) {
    var pid = players[i].getAttribute("id");
    scores[pid] = parseFloat(players[i].getAttribute("score"),10);
   }
   return scores;
}

function parseTabbedRosterStarters (resultsXML) {
  var weeklyResults = resultsXML.getElementsByTagName("weeklyResults");
  try {
    var weekNum = weeklyResults[0].getAttribute("week");
    var franchise = resultsXML.getElementsByTagName("franchise");
    var fName = franchise[0].getAttribute("id");
    habXMLSuccess = true;
  } catch(er) {
    //Did not successfully grab XML data so return and re-try
    habXMLAttempt += 1;
    habXMLSuccess = false;
    return -1;
  }
  for (var i=0; i<franchise.length; i++) {
   var starters    = franchise[i].getAttribute("starters");
   var nonstarters = franchise[i].getAttribute("nonstarters");
   var tiebreaker  = franchise[i].getAttribute("tiebreaker");
   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 = "?";
    if(starters.indexOf(pid)!=-1)    status = "<b><i>Start</i></b>";
    if(nonstarters.indexOf(pid)!=-1) status = "bench";
    if(tiebreaker.indexOf(pid)!=-1)  status = "t/b";
    try {
     habTabbedRosterStatus[pid] = status;
    } catch(er) {
     // Do Nothing
    }
   }
  }
}

function getTabbedRosterInjuryStatus(pid) {
   var status = "";
   try { 
    var temp = habGlobalInjuriesArray[pid].details;
    temp = temp.replace(/'/g,"’");
    status = " (<span class='warning' title='" + temp + "'>" + habGlobalInjuriesArray[pid].code + "</span>)";
   } catch(er) {
    // do Nothing
   }
   return status;
}

function getTabbedRosterNewsIcon(pid) {
   var newsIcon = "";
   var newsData = "&nbsp;";
   try {
    if(habNewsBreakers[pid]==undefined) {
     newsIcon = "http://www.habman.com/mfl/apps/js/images/note_1.gif";
     newsData = "<a href='#1' title='news' onClick=\"ajaxwin=dhtmlwindow.open('playernewsbox', 'iframe', 'http://www.habman.com/mfl/apps/PlayerNews.php?leagueid=" + league_id + "&baseurl=" + baseURLDynamic + "&year=" + year + "&playerid=" + pid + "', '" + formatName(playerDatabase['pid_' + pid].name) + "', 'width=550px,height=400px,left=300px,top=100px,resize=1,scrolling=0'); return false\"><img src='" + newsIcon + "' alt='news' border='0' /></a>";
    }
    if(habNewsBreakers[pid]=='new') {
     newsIcon = "http://www.habman.com/mfl/apps/js/images/note_new.gif";
     newsData = "<a href='#1' title='news update' onClick=\"ajaxwin=dhtmlwindow.open('playernewsbox', 'iframe', 'http://www.habman.com/mfl/apps/PlayerNews.php?leagueid=" + league_id + "&baseurl=" + baseURLDynamic + "&year=" + year + "&playerid=" + pid + "', '" + formatName(playerDatabase['pid_' + pid].name) + "', 'width=550px,height=400px,left=300px,top=100px,resize=1,scrolling=0'); return false\"><img src='" + newsIcon + "' alt='news update' border='0' /></a>";
    }
    if(habNewsBreakers[pid]=='old') {
     newsIcon = "http://www.habman.com/mfl/apps/js/images/note_2.gif";
     newsData = "<a href='#1' title='recent news' onClick=\"ajaxwin=dhtmlwindow.open('playernewsbox', 'iframe', 'http://www.habman.com/mfl/apps/PlayerNews.php?leagueid=" + league_id + "&baseurl=" + baseURLDynamic + "&year=" + year + "&playerid=" + pid + "', '" + formatName(playerDatabase['pid_' + pid].name) + "', 'width=550px,height=400px,left=300px,top=100px,resize=1,scrolling=0'); return false\"><img src='" + newsIcon + "' alt='recent news' border='0' /></a>";
    }    
   } catch(er) {
     // Do nothing
   }
   return newsData;
}

function getTabbedRosterSalary(teamid,pid) {
   var dataFound = false;
   var playerid = habGlobalRostersArray[teamid][pid];
   var playername = formatName(playerDatabase['pid_' + playerid].name);
   var c_title  = "<b>Contract details for " + playername + "</b><br />";
   if(habGlobalSalaryArray[teamid][pid]!=null&&habGlobalSalaryArray[teamid][pid]!="") {
    var salary   = "&nbsp;<b>Salary:</b> " + habGlobalSalaryArray[teamid][pid] + "<br />";
    dataFound = true;
   } else { var salary = ""; }
   if(habGlobalContractInfoArray[teamid][pid]!=null&&habGlobalContractInfoArray[teamid][pid]!="") {
    var c_info   = "&nbsp;<b>Info:</b> "   + habGlobalContractInfoArray[teamid][pid] + "<br />";
    dataFound = true;
   } else { var c_info = ""; }
   if(habGlobalContractStatusArray[teamid][pid]!=null&&habGlobalContractStatusArray[teamid][pid]!="") {
    var c_status = "&nbsp;<b>Status:</b> " + habGlobalContractStatusArray[teamid][pid] + "<br />";
    dataFound = true;
   } else { var c_status = ""; }
   if(habGlobalContractYearArray[teamid][pid]!=null&&habGlobalContractYearArray[teamid][pid]!="") {
    var c_year   = "&nbsp;<b>Year:</b> "   + habGlobalContractYearArray[teamid][pid] + "<br />";
    dataFound = true;
   } else { var c_year = ""; }

   if(dataFound) 
    var image = "<img src=\"http://www.habman.com/mfl/apps/js/images/con1.gif\" alt=\"\" onmouseover=\"tabbedRosterTip_fixedtooltip('" + c_title + salary + c_info + c_status + c_year + "',this,event,'325px');\" onmouseout=\"tabbedRosterTip_delayhidetip();\" />";
   else
    var image = "&nbsp;";

   return image;
}

function getTabbedRosterStarter(starterArray,pid) {
 try {var temp = starterArray[pid]; return temp; } catch(er) { return "&nbsp;"; }
}



//======================================================================================================
//==
//==                                      TABBED ROSTER TABLE CODE
//==
//======================================================================================================

function doTabbedRoster(teamcount,thisDiv) {

   var br_tar    = " style='white-space: nowrap; padding-right: 5px; padding-left: 5px; text-align: right;  border-right: 1px solid black;'";
   var br_tal    = " style='white-space: nowrap; padding-right: 5px; padding-left: 5px; text-align: left;   border-right: 1px solid black;'";
   var br_tac    = " style='white-space: nowrap; padding-right: 5px; padding-left: 5px; text-align: center; border-right: 1px solid black;'";
   var tar       = " style='white-space: nowrap; padding-right: 5px; padding-left: 5px; text-align: right;'";
   var tac       = " style='white-space: nowrap; padding-right: 5px; padding-left: 5px; text-align: center;'";
   var tal       = " style='white-space: nowrap; padding-right: 5px; padding-left: 5px; text-align: left;'";
   var prl       = " style='white-space: nowrap; padding-right: 5px; padding-left: 5px;'";

   var team = habGlobalFranchiseKey[teamcount];

   if(thisDiv=="RosterTabbedRosterBaseTeam") tabbedRosterTrader = team; else tabbedRosterTradee = team;

   try {  // We need to reset the Tradee team just in case we are flipping through various franchises
     document.getElementById("habTradingTeams").innerHTML = '<input type="hidden" name="FRANCHISE_ID" value="' + tabbedRosterTrader + ',' + tabbedRosterTradee +'" />\n';
   } catch(er) {
    // Do Nothing
   }

   var teamCaption = " <caption style='text-align: left; padding-left: 15px; width: 100%;'><span>" + franchiseDatabase['fid_' + team].name + "</span></caption>";
   var rosterArray = habGlobalRostersArray[team];

   var htmlTable1 = ""; var playerCount1 = 0; var rowCount1 = 1; var tempTable1 = ""; var tempRows1 = ""; var doTopLine1 = true;
   var htmlTable2 = ""; var playerCount2 = 0; var rowCount2 = 1; var tempTable2 = ""; var tempRows2 = ""; var doTopLine2 = true;
   var htmlTable3 = ""; var playerCount3 = 0; var rowCount3 = 1; var tempTable3 = ""; var tempRows3 = ""; var doTopLine3 = true;
   var htmlTable4 = ""; var playerCount4 = 0; var rowCount4 = 1; var tempTable4 = ""; var tempRows4 = ""; var doTopLine4 = true;

   tempTable1 += "<table border='0' cellspacing='0' class='homepagemodule report habTabbedRoster' id='habTabbedRoster' style='width: 100%;'>" + teamCaption + "<tbody>";
   tempTable1 += " <tr><th"+tal+">Player</th><th"+tac+">&nbsp;</th>" + tabbedRosterSalaryHeader + "<th"+tac+">Pos</th><th"+tac+">NFL</th><th" + tac + ">Bye</th>" + tabbedRosterStatusHeader + "<th" + tac + ">Pts</th></tr>";

   tempTable2 += "<table width='100%' border='0' cellspacing='0' class='homepagemodule report habTabbedRoster' id='habTabbedRoster'><tbody>";
   tempTable2 += " <tr><th"+tal+">Player</th><th"+tac+">&nbsp;</th>" + tabbedRosterSalaryHeader + "<th"+tac+">Pos</th><th"+tac+">NFL</th><th" + tac + ">Bye</th>" + tabbedRosterStatusHeader + "<th" + tac + ">Pts</th></tr>";

   tempTable3 = tempTable2;
   tempTable4 = tempTable2;

   for(var p=0; p<18; p++) {
    var doTopLine1 = true;
    var doTopline2 = true;
    var doTopline3 = true;
    var doTopline4 = true;
    for(var i=0; i<rosterArray.length; i++) {
      var pid    = rosterArray[i];
      var doIt1 = false;
      var doIt2 = false;
      var doIt3 = false;
      var doIt4 = false;
      switch(p) {
       case 0 : { if(playerDatabase['pid_' + pid].position=="QB")   doIt1=true; break; }
       case 1 : { if(playerDatabase['pid_' + pid].position=="TMQB") doIt1=true; break; }
       case 2 : { if(playerDatabase['pid_' + pid].position=="RB")   doIt1=true; break; }
       case 3 : { if(playerDatabase['pid_' + pid].position=="WR")   doIt1=true; break; }
       case 4 : { if(playerDatabase['pid_' + pid].position=="TE")   doIt1=true; break; }
       case 5 : { if(playerDatabase['pid_' + pid].position=="TMTE") doIt1=true; break; }
       case 6 : { if(playerDatabase['pid_' + pid].position=="PK")   doIt1=true; break; }
       case 7 : { if(playerDatabase['pid_' + pid].position=="TMPK") doIt1=true; break; }
       case 8 : { if(playerDatabase['pid_' + pid].position=="Def")  doIt2=true; break; }
       case 9:  { if(playerDatabase['pid_' + pid].position=="DE")   doIt3=true; break; }
       case 10: { if(playerDatabase['pid_' + pid].position=="DT")   doIt3=true; break; }
       case 11: { if(playerDatabase['pid_' + pid].position=="TMDL") doIt3=true; break; }
       case 12: { if(playerDatabase['pid_' + pid].position=="LB")   doIt3=true; break; }
       case 13: { if(playerDatabase['pid_' + pid].position=="TMLB") doIt3=true; break; }
       case 14: { if(playerDatabase['pid_' + pid].position=="CB")   doIt3=true; break; }
       case 15: { if(playerDatabase['pid_' + pid].position=="S")    doIt3=true; break; }
       case 16: { if(playerDatabase['pid_' + pid].position=="TMDB") doIt3=true; break; }
       case 17: { if(playerDatabase['pid_' + pid].position=="ST")   doIt4=true; break; }
      }

      var salary       = getTabbedRosterSalary(team,i);
      var starter      = getTabbedRosterStarter(habTabbedRosterStatus,pid);
      if(starter==undefined) starter = "inactive";

      var injuryStatus = getTabbedRosterInjuryStatus(pid);
      var newsIcon     = getTabbedRosterNewsIcon(pid);
      var standardColumns = "";

      //THIS IS MY STANDARD COLUMNS FOR EACH TABLE
      if(tabbedRosterTradeActive) var tradeCheckBox = "<input type='checkbox' name='drop" + team + "' value='" + pid + "' />&nbsp;"; else var tradeCheckBox = "";
      standardColumns += "  <td" + tal + ">" + tradeCheckBox + "<a href='" + baseURLDynamic + "/" + year + "/player?L=" + league_id + "&P=" + pid + "' target='" + getHabTarget() + "'>" + formatName(playerDatabase['pid_' + pid].name) + "</a>" + injuryStatus + "</td>"; //Name
      standardColumns += "  <td>" + newsIcon + "</td>";  //New icon
      if(displayTabbedRosterSalary) standardColumns += "  <td" + tar + ">" + salary + "</td>";  //Salary
      standardColumns += "  <td" + tac + ">" + playerDatabase['pid_' + pid].position + "</td>"; //Pos
      standardColumns += "  <td" + tac + ">" + playerDatabase['pid_' + pid].team     + "</td>"; //NFL
      standardColumns += "  <td" + tac + ">" + playerDatabase['pid_' + pid].bye_week + "</td>"; //Bye
      if(displayTabbedRosterStatus) standardColumns += "  <td" + tac + ">" + starter + "</td>"; // Starter
      try {
       standardColumns += "  <td" + prl + ">" + habTabbedRosterPlayerScores[0][pid].toFixed(tabbedRosterDecimals) + "</td>"; //Fantasy Pts;
      } catch(er) {
       standardColumns += "  <td" + prl + ">n/a</td>";
      } 

    //===========================================================================================
    //======================================OFFENSIVE PLAYERS====================================
    //===========================================================================================  
      if(doIt1) {  
       playerCount1++;
       if(doTopLine1) var topLine1 = " newposition"; else var topLine1 = "";
       if(rowCount1%2)
        tempRows1 += " <tr class='oddtablerow"  + topLine1 + "'" + tar + ">";
       else
        tempRows1 += " <tr class='eventablerow" + topLine1 + "'" + tar + ">";
       rowCount1++;
       
       tempRows1 += standardColumns;

       doTopLine1 = false;
       tempRows1 += " </tr>";
      } // END DOIT1

    //===========================================================================================
    //=========================================TEAM DEFENSE======================================
    //===========================================================================================  
      if(doIt2) { 
       playerCount2++;
       if(doTopLine2) var topLine2 = " newposition"; else var topLine2 = "";
       if(rowCount2%2)
        tempRows2 += " <tr class='oddtablerow"  + topLine2 + "'" + tar + ">";
       else
        tempRows2 += " <tr class='eventablerow" + topLine2 + "'" + tar + ">";
       rowCount2++;

       tempRows2 += standardColumns;

       doTopLine2 = false;
       tempRows2 += " </tr>";
      } // END DOIT2

    //===========================================================================================
    //=============================================IDP===========================================
    //=========================================================================================== 
      if(doIt3) {
       playerCount3++;
       if(doTopLine3) var topLine3 = " newposition"; else var topLine3 = "";
       if(rowCount3%2)
        tempRows3 += " <tr class='oddtablerow"  + topLine3 + "'" + tar + ">";
       else
        tempRows3 += " <tr class='eventablerow" + topLine3 + "'" + tar + ">";
       rowCount3++;
       
       tempRows3 += standardColumns;

       doTopLine3 = false;
       tempRows3 += " </tr>";
      } // END DOIT3

    //===========================================================================================
    //==========================================SPECIAL TEAM=====================================  
    //===========================================================================================
      if(doIt4) {
       playerCount4++;
       if(doTopLine4) var topLine4 = " newposition"; else var topLine4 = "";
       if(rowCount4%2)
        tempRows4 += " <tr class='oddtablerow"  + topLine4 + "'" + tar + ">";
       else
        tempRows4 += " <tr class='eventablerow" + topLine4 + "'" + tar + ">";
       rowCount4++;

       tempRows4 += standardColumns;

       doTopLine4 = false;
       tempRows4 += " </tr>";
      } // END DOIT4


    }  // END LOOP FOR I
   }   // END LOOP FOR P


    //===========================================================================================
    //====================================FINISH OFF THE TABLES==================================
    //=========================================================================================== 

   if(tempRows1!="") {
    htmlTable1 += tempTable1;
    htmlTable1 += tempRows1;
    htmlTable1 += "</tbody></table>\n";
   }

   if(tempRows2!="") {
    htmlTable2 += tempTable2;
    htmlTable2 += tempRows2;
    htmlTable2 += "</tbody></table>\n";
   } 

   if(tempRows3!="") {
    htmlTable3 += tempTable3;
    htmlTable3 += tempRows3;
    htmlTable3 += "</tbody></table>\n";
   } 

   if(tempRows4!="") {
    htmlTable4 += tempTable4;
    htmlTable4 += tempRows4;
    htmlTable4 += "</tbody></table>\n";
   } 

   var htmlTable5 = "";

   document.getElementById(thisDiv).innerHTML = htmlTable1 + htmlTable2 + htmlTable3 + htmlTable4 + htmlTable5;
}




function tabbedRosterBaseTeam(secondaryTeam) {
 if(franchise_id==undefined||franchise_id=='0000') {
  var thisTeam = tabbedRosterDefaultTeam;
 } else {
  var thisTeam = franchise_id;
 }
 var teamcount = 1;
 for (var i=1;i<habGlobalFranchiseKey.length; i++) {
  if(habGlobalFranchiseKey[i] == thisTeam) teamcount = i;
 }
 doTabbedRoster(teamcount,"RosterTabbedRosterBaseTeam"); 
 if(secondaryTeam==1) {
  if(teamcount==1) globalTabbedRosterTeam = 2; else globalTabbedRosterTeam = 1;
  if(tabbedRosterTabDisplay) doTabbedRoster(globalTabbedRosterTeam,"TabbedRosterContent"+globalTabbedRosterTeam); else doTabbedRoster(globalTabbedRosterTeam,"TabbedRosterContentDrop");
 }
}




// FUNCTIONS USED FOR TRADE APPLICATION

function tabbedRosterTradeActivation(activate) {
  if(activate) {
   tabbedRosterTradeActive = true; 
   document.getElementById("habTradeActivateButton").innerHTML = '<input type="submit" onclick="tabbedRosterTradeActivation(false)" value="Disable Trade View" />\n';
   document.getElementById("habTradeProposeButton").innerHTML  = '<input type="hidden" name="TRADE_EXPIRES_MONTH" value="11" /><input type="hidden" name="TRADE_EXPIRES_DAY" value="30" /><input type="hidden" name="TRADE_EXPIRES_TIME" value="01" /><input type="hidden" name="TRADE_EXPIRES_YEAR" value="2009" /><table align="center"><tr><th>Optional Message to Include With Trade Offer Email:</th></tr><tr><td><textarea name="msg" rows="5" cols="70"></textarea></td></tr></table><p><input type="submit" name="Propose" value="Propose Trade" /></p>\n';
   document.getElementById("habTradingTeams").innerHTML = '<input type="hidden" name="FRANCHISE_ID" value="' + tabbedRosterTrader + ',' + tabbedRosterTradee +'" />\n';
  } else {
   tabbedRosterTradeActive = false;
   document.getElementById("habTradeActivateButton").innerHTML = '<input type="submit" onclick="tabbedRosterTradeActivation(true)" value="Enable Trade View" />\n';
   document.getElementById("habTradeProposeButton").innerHTML  = '';
  }
  tabbedRosterBaseTeam(false);
  if(tabbedRosterTabDisplay) doTabbedRoster(globalTabbedRosterTeam,"TabbedRosterContent"+globalTabbedRosterTeam); else doTabbedRoster(globalTabbedRosterTeam,"TabbedRosterContentDrop");
}



// FUNCTIONS USED FOR DROP DOWN

function setupDropDownRoster(thisTeam) {
  currentTabbedRosterTab = thisTeam;
  if(thisTeam==undefined) globalTabbedRosterTeam = currentTabbedRosterTeam; else globalTabbedRosterTeam = thisTeam;
  currentTabbedRosterTeam = globalTabbedRosterTeam;
  document.getElementById("TabbedRosterContentDrop").innerHTML = "<center>Loading Data . . . Please wait.</center>";
  var waitTime = 0;
  setTimeout("doTabbedRoster(globalTabbedRosterTeam,'TabbedRosterContentDrop')",waitTime);
}

function tabbedRosterDropDown() {
  if(franchise_id==undefined||franchise_id=='0000') var baseTeam = tabbedRosterDefaultTeam; else var baseTeam = franchise_id;
  var htmlCode = "<b>Select a Franchise:</b>&nbsp;<select onchange='setupDropDownRoster(this.options[this.selectedIndex].value)' id='habTabbedRosterSelect'>";
  htmlCode+="<option>&nbsp;</option>";
  for(var i=1; i<habGlobalFranchiseKey.length; i++) {
   if(habGlobalFranchiseKey[i]!=baseTeam) {
    htmlCode+="<option value='" + i + "'>" + franchiseDatabase['fid_' + habGlobalFranchiseKey[i]].name + "</option>";
   }
  }
  htmlCode+= "</select><br /><br />";
  document.getElementById("tabbedRosterDropDown").innerHTML = htmlCode

  htmlCode = '<div class="habTabbedRosterTabContentStyle">\n';
  htmlCode += '<br /><br /><table border="0" align="center"><tr><td style="vertical-align:top; width: 47%;"><div id="RosterTabbedRosterBaseTeam"></div></td><td style="width: 6%;">&nbsp;</td><td style="vertical-align: top; width: 47%;">\n';
  htmlCode += '<div id="TabbedRosterContentDrop" class="habTabbedRosterTabContent"></div>\n';
  htmlCode += '</td></tr></table>\n';
  htmlCode += '</div>\n';
  document.getElementById("habTabbedRosterTabs").innerHTML = htmlCode;

  tabbedRosterBaseTeam(true);
}



//FUNCTIONS USED FOR TABBED SETUP

function getTabbedRosterLink(teamcount) {
  if(tabbedRosterIconURL!="") {
    var teamid = teamcount-1;
    return '<img src="' + tabbedRosterIconURL + teamid + '.' + tabbedRosterIconExt + '" style="border: 0px;" />';
  }
  if(tabbedRosterNames[teamcount]!=undefined&&tabbedRosterNames[teamcount]!="") {
    return tabbedRosterNames[teamcount];
  }
  return 'Team ' + teamcount;
}


function setupTabbedRoster(thisTeam) {
  currentTabbedRosterTab = thisTeam;
  if(thisTeam==undefined) globalTabbedRosterTeam = currentTabbedRosterTeam; else globalTabbedRosterTeam = thisTeam;
  currentTabbedRosterTeam = globalTabbedRosterTeam;
  document.getElementById("TabbedRosterContent"+globalTabbedRosterTeam).innerHTML = "<center>Loading Data . . . Please wait.</center>";
  var waitTime = 0;
  setTimeout("doTabbedRoster(globalTabbedRosterTeam,'TabbedRosterContent"+globalTabbedRosterTeam+"')",waitTime);
}

function tabbedRosterInitializeTab() {
  try {
   tabbedRosterInitializeTabContent("HAB_TABBED_ROSTER");
  } catch(er) {
   document.getElementById("tabbedRosterReinitialize").innerHTML = "<a href='#1' onClick='tabbedRosterInitializeTabContent(\"HAB_TABBED_ROSTER\");'>Click here to initialize app</a><br /><br />";
  }
}

function tabbedRosterTabs() {
  var htmlCode = "";
  htmlCode += '<form  action="' + baseURLDynamic + '/' + year + '/trades" method="post">\n';
  htmlCode += '<input type="hidden" name="LEAGUE_ID" value="' + league_id + '" />\n';
  htmlCode += '<div id="habTradingTeams"></div>\n';
  var selected =' class="selected"';
  if(franchise_id==undefined||franchise_id=='0000') var baseTeam = tabbedRosterDefaultTeam; else var baseTeam = franchise_id;
  if(tabbedRosterTabHeight!=0&&tabbedRosterTabHeight!=undefined) var tabbedFontStyle = ' style="font-size: ' + tabbedRosterTabHeight + 'px;"'; else var tabbedFontStyle='';
  htmlCode += '<ul id="HAB_TABBED_ROSTER" class="habTabbedRosterTabs"'+tabbedFontStyle+'>&nbsp;&nbsp;\n';
  for(var i=1; i<habGlobalFranchiseKey.length; i++) {
   if(habGlobalFranchiseKey[i]!=baseTeam) {
    htmlCode += '<li onClick="setupTabbedRoster('+i+');"'+selected+'>&nbsp;<a href="#1" rel="TabbedRosterContent'+i+'">'+getTabbedRosterLink(i)+'</a>&nbsp;</li>\n';
    selected = "";
   }
  }
  htmlCode += '</ul>\n';
  htmlCode += '<div class="habTabbedRosterTabContentStyle">\n';
  htmlCode += '<br /><div id="habTradeActivateButton" style="text-align: right"></div>\n';
  htmlCode += '<br /><table border="0" align="center"><tr><td style="vertical-align:top; width: 47%;"><div id="RosterTabbedRosterBaseTeam"></div></td><td style="width: 6%;">&nbsp;</td><td style="vertical-align: top; width: 47%;">\n';
  for(var i=1; i<habGlobalFranchiseKey.length; i++) {
   if(habGlobalFranchiseKey[i]!=baseTeam) {
    htmlCode += '<div id="TabbedRosterContent'+i+'" class="habTabbedRosterTabContent"></div>\n';
   }
  }
  htmlCode += '</td></tr></table>\n';
  htmlCode += '<div id="habTradeProposeButton" style="text-align: center;"></div>\n';
  htmlCode += '</div>\n';
  htmlCode += '</form>\n';

  document.getElementById("habTabbedRosterTabs").innerHTML = htmlCode;

  try {  // IN IE THERE SOMETIMES IS AN ERROR WHEN THIS FUNCTION IS CALLED IMMEDIATELY THEREFORE DELAY IT ON ERROR
   tabbedRosterInitializeTabContent("HAB_TABBED_ROSTER");
   setTimeout("tabbedRosterBaseTeam(true)",1);
   if(tabbedRosterTradeToggle) setTimeout("tabbedRosterTradeActivation(false)",1);
  } catch(er) {
   setTimeout("tabbedRosterInitializeTab()",500);  
   setTimeout("tabbedRosterBaseTeam(true)",501);
   if(tabbedRosterTradeToggle) setTimeout("tabbedRosterTradeActivation(false)",501);
  }
}


//START UP FUNCTIONS

function getOneTimeTabbedRosterModules() {
  makeHttpRequest(habBaseURL+"/"+year+"/export?TYPE=injuries&L="+league_id+"&rand=" + Math.random(), 'parseHabInjuryXML',1);
  makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=rosters&L="+league_id, 'parseHabRosterXML','rosters',false);

  habXMLAttempt = 0;
  habXMLSuccess = false;
  while (!habXMLSuccess&&habXMLAttempt<2) { // Two attempts at grabbing XML data
   makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=weeklyResults&L="+league_id+"&W="+tabbedRosterWeek+"&rand=" + Math.random(), 'parseTabbedRosterStarters','weeklyResults',false);
  }

  var weeklyScores = makeSyncHttpRequest(habBaseURL+"/"+year+"/export?TYPE=playerScores&L="+league_id+"&W=YTD", 'parseTabbedRosterPlayerScoresXML','playerScores',true);
  habTabbedRosterPlayerScores[0] = new Array();
  habTabbedRosterPlayerScores[0] = weeklyScores;

  if(tabbedRosterClickToStart) var waitTime=0; else var waitTime=500;

  if(tabbedRosterTabDisplay) setTimeout("tabbedRosterTabs()",waitTime); else setTimeout("tabbedRosterDropDown()",waitTime);
}

function tabbedRosterLoading() {
  document.getElementById("habTabbedRosterTabs").innerHTML = '<b>Loading . . . . Please Wait</b>';
  setTimeout("getOneTimeTabbedRosterModules()",50);
}

if(!tabbedRosterClickToStart) {
 //To give the js files an opportunity to load we will delay the call by 750 milliseconds
 setTimeout("getOneTimeTabbedRosterModules()",750);
} else {
 document.getElementById("habTabbedRosterTabs").innerHTML = "<a href='#1' onclick='tabbedRosterLoading();'><span class='habClickToStart'>Click to activate Roster Application</span></a>";
}

} // end if habTabbedRosterRan Check

