if(habTabbedRosterRan==undefined)                var habTabbedRosterRan = false;
if(tabbedRosterDecimals==undefined)              var tabbedRosterDecimals = 1;
if(tabbedRosterTradeToggle==undefined)           var tabbedRosterTradeToggle = true;
if(tabbedRosterTradeModeOnly==undefined)         var tabbedRosterTradeModeOnly = false;
if(franchise_id==undefined)                    { var franchise_id; tabbedRosterTradeToggle = false; tabbedRosterTradeModeOnly = 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,"&rsquo;");
		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,"&rsquo;");
			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;"; }
	}

	function tabbedRosterMinimizeApp() {
		document.getElementById("tabbedRosterDropDown").innerHTML = "";
		document.getElementById("habTabbedRosterTabs").innerHTML = "<a href='#1' onclick='tabbedRosterLoading();'><span class='habClickToStart'>Click to Populate Roster Application</span></a>";
	}

	//======================================================================================================
	//==
	//==                                      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: auto'><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 width='100%' border='0' cellspacing='0' class='homepagemodule report habTabbedRoster' id='habTabbedRoster'>" + 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) {
		//set trade deadline to one week from now
		var oneWeek = currentServerTime * 1000 + 60*60*24*7*1000;
		var d = new Date(oneWeek);
		
		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="' + d.getMonth() + '" /><input type="hidden" name="TRADE_EXPIRES_DAY" value="' + d.getDate() + '" /><input type="hidden" name="TRADE_EXPIRES_TIME" value="01" /><input type="hidden" name="TRADE_EXPIRES_YEAR" value="' + d.getFullYear() + '" /><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 TRADE APPLICATION ALWAYS ON
	function tabbedRosterTradeModeAlwaysOn() {
		tabbedRosterTradeActive = true;
		document.getElementById("habTradeActivateButton").innerHTML = '';
		document.getElementById("habTradeProposeButton").innerHTML  = '<input type="hidden" name="TRADE_EXPIRES_MONTH" value="' + d.getMonth() + '" /><input type="hidden" name="TRADE_EXPIRES_DAY" value="' + d.getDate() + '" /><input type="hidden" name="TRADE_EXPIRES_TIME" value="01" /><input type="hidden" name="TRADE_EXPIRES_YEAR" value="' + d.getFullYear() + '" /><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';
		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);

		if(tabbedRosterTradeModeOnly) setTimeout("tabbedRosterTradeModeAlwaysOn()",100);
	}

	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 Populate Roster Application</span></a>";
	}

} // end if habTabbedRosterRan Check
