
var globalPos="today";
var fileNotFoundIterateFlag=0;
var displayDateFlag=1;
var todayDate=new Date();
var month;
var day;
var today_click=todayDate.getDay();
var today_date=todayDate.getDate();
var selYear=todayDate.getFullYear();
var thisweek_click=getWeek(todayDate.getDate(),todayDate.getMonth(),todayDate.getFullYear());
if( today_click == 0 ) {
	thisweek_click = thisweek_click+1;
}
var selectedDate=new Date();
function getWeek(day,month,year)
{
	var th=new Date(year,month,day);
	var onejan=new Date(th.getFullYear(),0,1);
	return Math.ceil((((th-onejan)/86400000)+onejan.getDay())/7);
}
function getDateFull(today_click2,thisweek_click2,selYear2)
{
	var onejan2=new Date(selYear2,0,1);
	var extday=today_click2+((thisweek_click2-1)*7)-2;
	onejan2.setDate(onejan2.getDate()+extday);
	return onejan2;
}
function clickday(dayno)
{
	for(var i=0;i<7;i++)
	{
		$getId('day'+i).className=' ';
	}
	$getId('day'+dayno).className='dateHover';
}
function showScheduleHome(pos)
{
	navigateTo('scheduleView','img/ico-schd-colr.png');
	globalPos=pos;
	if(!isNaN(pos))
	{
		today_click=pos;
	}
	else
	{
		if(pos=='next')
		{
			today_click=today_click+1;
		}
		else if(pos=='prv')
		{
			today_click=today_click-1;
		}
	}
	finalshow(today_click,thisweek_click,selYear);
}
function finalshow(today_click2,thisweek_click2,selYear2)
{
	var strDayArray=['Mon','Tue','Wed','Thurs','Fri','Sat','Sun'];
	var scoresHomeRow=$getId('scheduleHomeId');
	selectedDate=new Date(getDateFull(today_click2,thisweek_click2,selYear2));
	var strHour=(selectedDate.getHours()+1);
	var strAMPM="AM";
	if((selectedDate.getHours()+1)>12)
	{
		strHour=(selectedDate.getHours()+1)-12;
		strAMPM="PM";
	}
	var dateString="Game Schedule For : "+strMonthArray[selectedDate.getMonth()]+"&nbsp;"+selectedDate.getDate();
	if(displayDateFlag==0)
	{
		$getId('gameDateId').innerHTML=dateString;
	}
	else
	{
		$getId('gameDateId').innerHTML=dateString;
	}
	loadDaySchedule(selectedDate.getFullYear(),(selectedDate.getMonth()+1),selectedDate.getDate());
}
function loadDaySchedule(year,month,day)
{
	if(month<10){
	month="0"+month;
	}
	if(day<10){
	day="0"+day;
	}
	var sUrl=JSON_PATH+"jmlb_schedule_"+year+"_"+month+"_"+day+".json?math="+Math.random();
	var callback=
	{
		success:handleScheduleJsonSucess,
		failure:handleScheduleJsonFailure
	};
    PLUSMO_CALLAJAX.CALLAJAX_REAPONSE="";
	var callHomeJson=new PLUSMO_CALLAJAX()
	callHomeJson.asyncRequest(sUrl,callback,null);	
}


function handleScheduleJsonFailure(ids)
{	
	MLB_DAY_SCHEDULE=null;
	if(globalPos=="prv")
	{
		showScheduleHome('prv');
		displayDateFlag=0;
		fileNotFoundIterateFlag--;
	}
	else
	{
		fileNotFoundIterateFlag++;
		if(fileNotFoundIterateFlag<60)
		{
			displayDateFlag=0;
			showScheduleHome('next');
		}
		else if(fileNotFoundIterateFlag>=60)
		{
			showScheduleHome('prv');
		}
	}
}
function handleScheduleJsonSucess(ids)
{	
	var monthS;
	var dayS;
	displayScheduleFirstRow();
	var scheduleUpcomingGames=document.getElementById('scheduleUpcomingGames');
	scheduleUpcomingGames.innerHTML="";
	$getId('scheduleLiveGames').innerHTML=$getId('scheduleLiveGames').innerHTML+
	"<tr><td colSpan='6'><strong><center>Games Loading...</center></strong></td></tr>";

	displayDateFlag=1;
	if(fileNotFoundIterateFlag==1)
	{	
		monthS = (strMonthArray[selectedDate.getMonth()]);
		dayS = selectedDate.getDate();
		var dateString=monthS+"&nbsp;"+dayS;
		$getId('gameDateId').innerHTML="Game Schedule For "+dateString;
	}
	loadingIcon(false);
	MLB_DAY_SCHEDULE = PLUSMO_CALLAJAX.CALLAJAX_REAPONSE;
	getDaySchedule(MLB_DAY_SCHEDULE);
	getDayScheduleUpcoming(MLB_DAY_SCHEDULE);
}

function displayScheduleFirstRow()
{
	var scheduleLiveGames=document.getElementById('scheduleLiveGames');
	scheduleLiveGames.innerHTML="";
	var tr=document.createElement("TR");
	var th1=document.createElement("TH");
	//th1.width="30%";
	th1.align="left";
	th1.innerHTML="Teams";
	tr.appendChild(th1);
	var th2=document.createElement("TH");
	//th2.width="10%";
	th2.align="left";
	th2.innerHTML=" Result";
	tr.appendChild(th2);
	var th3=document.createElement("TH");
	//th3.width="30%";
	th3.align="left";
	th3.innerHTML="W Pitcher";
	tr.appendChild(th3);
	var th4=document.createElement("TH");
	//th4.width="30%";
	th4.align="left";
	th4.innerHTML="L Pitcher";
	tr.appendChild(th4);
	scheduleLiveGames.appendChild(tr);
}
function getDaySchedule(MLB_DAY_SCHEDULE)
{
	var daySchedule;
	var noOfGames=0;
	daySchedule=MLB_DAY_SCHEDULE.parseJSON();
	if(daySchedule!=null||daySchedule!="")
	{
		var scheduleLiveGames=$getId('scheduleLiveGames');
		displayScheduleFirstRow();
		
		if(daySchedule.games.length>0)
		{ 
			var dayGames=daySchedule.games;
			var gamesLength=dayGames.length;
			var rowColor=100;
			for(var i=0;i<gamesLength;i++)
			{
				if((dayGames[i].game_status.indexOf('PROGRESS')>=0)||(dayGames[i].game_status.indexOf('FINAL')>=0)||(dayGames[i].game_status.indexOf('POST')>=0)||(dayGames[i].game_status.indexOf('SUSP')>=0))
				{
					noOfGames++;
					rowColor++;
					var tr=document.createElement("TR");
					if(rowColor%2==0){tr.className="evenRow";}
					else{tr.className="oddRow";}
					var td1=document.createElement("TD");
					var anchor=document.createElement("A");
					anchor.innerHTML=dayGames[i].home_alias;
					var homeTeamName=dayGames[i].home_team_code.replace(" ","");
					anchor.setAttribute("onclick","getTeamHomePage('"+dayGames[i].home_team_code+"','scheduleView','"+homeTeamName+"')");
					anchor.href="#";
					var span=document.createElement("SPAN");
					span.innerHTML=" @ ";
					var anchor2=document.createElement("A");
					anchor2.innerHTML=dayGames[i].away_alias;
					var homeTeamName=dayGames[i].away_team_code.replace(" ","");
					anchor2.setAttribute("onclick","getTeamHomePage('"+dayGames[i].away_team_code+"','scheduleView','"+homeTeamName+"')");
					anchor2.href="#";
					td1.appendChild(anchor2);
					td1.appendChild(span);
					td1.appendChild(anchor);
					tr.appendChild(td1);
					var td2=document.createElement("TD");
					var homeScore;
					var awayScore;
					if(isNaN(dayGames[i].home_score))
					{
						homeScore="-";
					}
					else
					{
						homeScore=parseInt(dayGames[i].home_score,10);
					}
					if(isNaN(dayGames[i].away_score))
					{
						awayScore="-";
					}
					else
					{
						awayScore=parseInt(dayGames[i].away_score,10);
					}
					var span=document.createElement("SPAN");
					//if(!((isNaN(dayGames[i].home_score))&&(isNaN(dayGames[i].away_score))))
					//{
						
						span.innerHTML=awayScore+" - "+homeScore;
					//}
						var funName="loadBoxScore('scheduleView','"+dayGames[i].game_id+"')";
						
						if(dayGames[i].game_status.indexOf('PROGRESS')>=0)
						{
							if(dayGames[i].bxsc_gen == '1')
							{
							td2.setAttribute("onclick",funName);
							}
							span.style.cursor="pointer";
							td2.appendChild(span);
							var br=document.createElement("BR");
							var liveImage=document.createElement("IMG");
							liveImage.src="img/live.png";
							
							td2.appendChild(span);
							td2.appendChild(br);
							td2.appendChild(liveImage);
						}
						else if( dayGames[i].game_status.indexOf('FINAL')>=0 )
						{
							if(dayGames[i].bxsc_gen == '1')
							{
							span.setAttribute("onclick",funName);
							}
							span.style.cursor="pointer";
							td2.appendChild(span);
						}
						else
						{
							td2.appendChild(span);
						}
					//}
					//manju
					tr.appendChild(td2);
					var td3=document.createElement("TD");
					var winnerPlayerId=dayGames[i].win.player_id;
					var winnerPlayerName=dayGames[i].win.player_name;
					var winnerPlayerScore=dayGames[i].win.score;
					var loserPlayerId=dayGames[i].loss.player_id;
					var loserPlayerName=dayGames[i].loss.player_name;
					var loserPlayerScore=dayGames[i].loss.score;
					td3.innerHTML=winnerPlayerName+"<br>"+winnerPlayerScore;
					tr.appendChild(td3);
					var td4=document.createElement("TD");
					td4.innerHTML=loserPlayerName+"<br>"+loserPlayerScore;
					tr.appendChild(td4);
					scheduleLiveGames.appendChild(tr);
				}
			}
			if(noOfGames==0)
			{ 
				var scheduleLiveGames=document.getElementById('scheduleLiveGames');
				scheduleLiveGames.innerHTML="";
			}
		}
		else
		{ 
			if(fileNotFoundIterateFlag==1)
			{
				var dateString=strMonthArray[month-1]+"&nbsp;"+day;
				$getId('gameDateId').innerHTML="Final Held On "+dateString;
			}
			if(globalPos=="prv")
			{
				showScheduleHome('prv');
				displayDateFlag=0;
				fileNotFoundIterateFlag--;
			}
			else
			{
				fileNotFoundIterateFlag++;
				if(fileNotFoundIterateFlag<15)
				{
					displayDateFlag=0;
					showScheduleHome('next');
				}
				else if(fileNotFoundIterateFlag>=15)
				{
					showScheduleHome('prv');
				}
			}
		}
	}
	else
	{
		displayScheduleFirstRow();
	}
}
function getDayScheduleUpcoming(MLB_DAY_SCHEDULE)
{
	var daySchedule;
	var upcomingGames=0;
	daySchedule=MLB_DAY_SCHEDULE.parseJSON();
	if(daySchedule!=null||daySchedule!="")
	{
		var scheduleUpcomingGames=$getId('scheduleUpcomingGames');
		if(daySchedule.games.length>0)
		{
			displayScheduleSecondRow();
			var dayGames=daySchedule.games;
			var gamesLength=dayGames.length;
			var rowColor=0;
			for(var i=0;i<gamesLength;i++)
			{
				if(dayGames[i].game_status.indexOf('yettobe')>=0)
				{
					rowColor++;
					upcomingGames=upcomingGames+1;
					var tr=document.createElement("TR");
					if(rowColor%2==0)
						{tr.className="evenRow";}
					else
						{tr.className="oddRow";}
					var td1=document.createElement("TD");
					var anchor=document.createElement("A");
					anchor.innerHTML=dayGames[i].home_alias;
					var homeTeamName=dayGames[i].home_team_code.replace(" ","");
					anchor.setAttribute("onclick","getTeamHomePage('"+dayGames[i].home_team_code+"','scheduleView','"+homeTeamName+"')");
					anchor.href="#";
					var span=document.createElement("SPAN");
					span.innerHTML=" @ ";
					var anchor2=document.createElement("A");
					anchor2.innerHTML=dayGames[i].away_alias;
					var homeTeamName=dayGames[i].away_team_code.replace(" ","");
					anchor2.setAttribute("onclick","getTeamHomePage('"+dayGames[i].away_team_code+"','scheduleView','"+homeTeamName+"')");
					anchor2.href="#";
					td1.appendChild(anchor2);
					td1.appendChild(span);
					td1.appendChild(anchor);
					tr.appendChild(td1);
					var td2=document.createElement("TD");
					td2.width="30%";
					td2.innerHTML=dayGames[i].game_time.replace("-",":");
					tr.appendChild(td2);
					var td3=document.createElement("TD");
					td3.width="40%";
					if(dayGames[i].home_pitcher.player.first_name!="-"){
					var homePitcher=dayGames[i].home_pitcher.player;
					var awayPitcher=dayGames[i].away_pitcher.player;
					td3.innerHTML=homePitcher.first_name+" "+homePitcher.last_name+"<font color='green'> vs </font>"+awayPitcher.first_name+" "+awayPitcher.last_name;
					}else{
						td3.innerHTML="-";
					}
					tr.appendChild(td3);
					scheduleUpcomingGames.appendChild(tr);
				}
			}
			if(upcomingGames==0){
				var scheduleUpcomingGames=document.getElementById('scheduleUpcomingGames');
				scheduleUpcomingGames.innerHTML="";
			}
		}
	}
}
function displayScheduleSecondRow()
{
	var scheduleUpcomingGames=document.getElementById('scheduleUpcomingGames');
	scheduleUpcomingGames.innerHTML="";
	var tr=document.createElement("TR");
	var th1=document.createElement("TH");
	th1.width="40%";
	th1.align="left";
	th1.innerHTML="Teams";
	tr.appendChild(th1);
	var th2=document.createElement("TH");
	th2.width="20%";
	th2.align="left";
	th2.innerHTML=" Time&nbsp;(ET) ";
	tr.appendChild(th2);
	var th3=document.createElement("TH");
	th3.width="20%";
	th3.align="left";
	th3.innerHTML="Pitchers";
	tr.appendChild(th3);
	scheduleUpcomingGames.appendChild(tr);
}