var globalPos = "today";
var fileNotFoundIterateFlag = 0;
//var next15DaysNotFoundFlag ;
var displayDateFlag = 1;
var todayDate=new Date();

var today_click=todayDate.getDay();
var today_date=todayDate.getDate();
var selYear=todayDate.getFullYear();
var thisweek_click=getWeek(todayDate.getDate(),todayDate.getMonth(),todayDate.getFullYear());
var strMonthArray = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sept','Oct','Nov','Dec'];
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=(thisweek_click2-getWeek(todayDate.getDate(),todayDate.getMonth(),todayDate.getFullYear()))*7;*/

	var extday=today_click2+((thisweek_click2-1)*7)-2;
	
	//alert("Year : " + selYear2 + ":  wextDay : " + extday);
	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)
{
	//alert("before : pos : " + pos + " : thisweek_click : " + thisweek_click);
	globalPos = pos;
	
	if (!isNaN(pos))
	{
		today_click=pos;
	}
	else
	{
		if(pos=='next')
		{
			/*Commented to accomplish days increment
			thisweek_click=thisweek_click+1;
			*/
			//Added
			today_click=today_click+1;			
		}
		else if(pos=='prv')
		{
			/*Commented to accomplish days increment
			thisweek_click=thisweek_click-1;
			*/
			//Added
			today_click=today_click-1;			
		}
	}
/*Commented to accomplish days increment
	if(thisweek_click<0)
	{
		////alert("3 : before : thisweek_click : " + thisweek_click);
		thisweek_click=53;
		selYear=selYear-1;
		//alert("4 : after : thisweek_click : " + thisweek_click);
	}

	if(thisweek_click>53)
	{
		thisweek_click=0;
		selYear=selYear+1;
	}
	clickday(today_click);
 */
	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));

	////alert("yyyy : " +  selectedDate.getFullYear() + " : mm : " + (selectedDate.getMonth()+1) + " : dd : " + (selectedDate.getDay()+1)); 
	
	
	var strHour = (selectedDate.getHours()+1);
	var strAMPM = "AM";
	
	
	if((selectedDate.getHours()+1)>12)
	{
		strHour = (selectedDate.getHours()+1) - 12;
		strAMPM = "PM";
	}
	
	
	/*
	var dateString = strDayArray[selectedDate.getDay()-1] + "&nbsp;" + (selectedDate.getMonth()+1) + "&nbsp;" 
				+ selectedDate.getFullYear(); */
	
	/* var dateString = selectedDate.getDate() + "&nbsp;" + (selectedDate.getMonth()+1) + "&nbsp;" 
				+ selectedDate.getFullYear(); */
	
	var dateString = strMonthArray[selectedDate.getMonth()]+ "&nbsp;" + selectedDate.getDate() ;// + ",&nbsp;" + selectedDate.getFullYear();
	
	//manju **************************************Start ********************/
	
	if(displayDateFlag == 0)
	{
		$getId('gameDateId').innerHTML="";
	}
	else
	{
		$getId('gameDateId').innerHTML="Game Schedule For " + dateString;
	}
	
	//manju **************************************End ********************/
	 
	loadDaySchedule(selectedDate.getFullYear(),(selectedDate.getMonth()+1),selectedDate.getDate());
	
	scheduleDaysSchedule(); // Starting the schedular
	
}


function loadDaySchedule(year,month,day)
{	
	var url = JSON_PATH + "jnba_schedule_" + year + "_" + month + "_" + day + ".json?math=" + Math.random();
	////alert("url : " + url);
	var xmlHttp;
	
	try
	{
		
		displayScheduleFirstRow();
		$getId('scheduleHomeId').innerHTML = $getId('scheduleHomeId').innerHTML + 
									      "<tr><td colSpan='6'><strong><center>Games Loading...</center></strong></td></tr>";
	
	
		xmlHttp=new XMLHttpRequest();

		////alert("xmlHttp : " + xmlHttp);

		xmlHttp.open("GET",url,true);
		xmlHttp.onreadystatechange = function getStandings()
		{
			if(xmlHttp.readyState==4 && xmlHttp.status==200)//
			{
				//manju****************************************************
				displayDateFlag = 1;
				if(fileNotFoundIterateFlag ==1)
				{
				  var dateString = strMonthArray[month-1]+ "&nbsp;" + day  ;// + ",&nbsp;" + year ;
 				  $getId('gameDateId').innerHTML="Final Held On "+dateString;
				}
				fileNotFoundIterateFlag=0;
				//manju****************************************************
				//alert("Got Standings Data : " + xmlHttp.responseText);
				loadingIcon(false);
				//$getId("ajaxMsgDiv").style.display = 'none';
				
				getDaySchedule(xmlHttp.responseText);

			}
			if(xmlHttp.readyState==4 && xmlHttp.status==404)
			{					
					
					if(globalPos == "prv")
					{
						showScheduleHome('prv');
						displayDateFlag = 0;
						fileNotFoundIterateFlag--;
									
					}
					else
					{
						fileNotFoundIterateFlag ++;
						
						if(fileNotFoundIterateFlag < 15)
						{
							displayDateFlag = 0;
							showScheduleHome('next');
							
						}
						else if(fileNotFoundIterateFlag >= 15)
						{
							
							showScheduleHome('prv');
								
						}			
					}
					
					//************************End*******************/
			}
		};
		xmlHttp.send(null);
		loadingIcon(true);
		//$getId("ajaxMsgDiv").style.display = 'block';
	}catch(err)
	{
		displayScheduleFirstRow();
		$getId('scheduleHomeId').innerHTML = $getId('scheduleHomeId').innerHTML + "<tr><td colSpan='6'><strong><center>No games today</center></strong></td></tr>";
		
	}
}


function displayScheduleFirstRow()
{
	var daytable = $getId('scheduleHomeId');
	$getId('scheduleHomeId').className = 'team_style';
	daytable.innerHTML = "";


	var firstRow = document.createElement("tr");
	firstRow.className="team_name";
	var td1,td2,td3,td4,td5,td6;
	td1 = firstRow.insertCell(0);
	td1.width = "20%";
	td1.innerHTML = "Time&nbsp;(ET)";

	td2 = firstRow.insertCell(1);
	td2.width = "25%";
	td2.innerHTML = "Away";

	td3 = firstRow.insertCell(2);
	td3.width = "25%";
	td3.innerHTML = "Home";

	td4 = firstRow.insertCell(3);
	td4.width = "20%";
	td4.innerHTML = "Score";

	td5 = firstRow.insertCell(4);
	td5.width = "5%";
	td5.innerHTML = "F/Qtr";

	td6 = firstRow.insertCell(5);
	td6.width = "5%";
	//td6.innerHTML = "Live";
	td6.innerHTML = "&nbsp;";

	daytable.appendChild(firstRow);
}
	
function getDaySchedule(NBA_DAY_SCHEDULE)
{
	var daySchedule;
	
	daySchedule= NBA_DAY_SCHEDULE.parseJSON();							
   
	if(daySchedule!=null || daySchedule!="")
	{
		
		var daytable = $getId('scheduleHomeId');
		
		displayScheduleFirstRow();
		
		for(var i=0;i<daySchedule.matches.length;i++)
		{
			if(daySchedule.matches[i].match_status=='NA--')
			{
				continue;
			}

			var dataTR = document.createElement("tr");
			dataTR.className = 'cursor_pointer';

			if(i%2==0)
			{
					dataTR.className = 'evenRow';
			}
			else
			{
					dataTR.className = 'oddRow';
			}

			//========== Match Time =============
			td1 = dataTR.insertCell(0);
			td1.className = 'past_away';
			if(!(daySchedule.matches[i].match_time.indexOf("None") >= 0))
			{
			td1.innerHTML = daySchedule.matches[i].match_time.replace("-",":");
			}

			//========== Away Team Name ===================
			td2 = dataTR.insertCell(1);
			td2.className = 'past_away';				
			td2.setAttribute("onclick","getTeamHomePage('" + daySchedule.matches[i].away_name + "','scheduleView')");

			if(daySchedule.matches[i].match_status=="end" && daySchedule.matches[i].winner=="away")
				td2.innerHTML = '<strong>' + daySchedule.matches[i].away_alias + '</strong>';
			else
				td2.innerHTML = daySchedule.matches[i].away_alias;

			// ============== Home Team Name ===========
			td3 = dataTR.insertCell(2);
			td3.className = 'past_home';
			td3.setAttribute("onclick","getTeamHomePage('" + daySchedule.matches[i].home_name + "','scheduleView')");

			if(daySchedule.matches[i].match_status=="end" && daySchedule.matches[i].winner=="home")
				td3.innerHTML = '<strong>' + daySchedule.matches[i].home_alias + '</strong>';
			else
				td3.innerHTML = daySchedule.matches[i].home_alias;

			//========== Box Score ==================
			td4 = dataTR.insertCell(3);
			td4.className = 'past_boxscore';
			
			var funcName = "gotoGamesBoxScore('scheduleView','" + daySchedule.matches[i].game_id + "','" +
					      daySchedule.matches[i].home_name + "','" + daySchedule.matches[i].away_name + "','" +  
					      daySchedule.matches[i].match_time + "','" + daySchedule.schedule_date +"')";
			
			
			
			var awayScore,homeScore;
			
			if(isNaN(daySchedule.matches[i].away_score))
				awayScore = "-";
			else			
				awayScore = parseInt(daySchedule.matches[i].away_score);
			
			if(isNaN(daySchedule.matches[i].home_score))
				homeScore = "-";
			else
				homeScore = parseInt(daySchedule.matches[i].home_score);
			
			td4.setAttribute("onclick",funcName);	// Going to Boxscore of the game
			
			
			if(daySchedule.matches[i].match_status=="end" && daySchedule.matches[i].winner=="away")
				td4.innerHTML = '<strong>' +awayScore + '</strong>-' + homeScore;
			else if(daySchedule.matches[i].match_status=="end" && daySchedule.matches[i].winner=="home")
				td4.innerHTML = awayScore + '-<strong>' + homeScore + '</strong>';
			else
				td4.innerHTML =  awayScore + '-' + homeScore;

			// ============== Final / Qtr ================
			td5 = dataTR.insertCell(4);
			if(daySchedule.matches[i].match_status=="end")
				td5.innerHTML = 'F';
			else if(daySchedule.matches[i].match_status=="yettobe")
				td5.innerHTML = '';
			else
				td5.innerHTML = daySchedule.matches[i].qtr_no;

			//============= Live Img ==============
			td6 = dataTR.insertCell(5);
			var liveImg = document.createElement("img");
			liveImg.setAttribute("onclick",funcName);
			liveImg.src = "./img/live.gif";
			liveImg.alt = 'LIVE';
			liveImg.align = 'absmiddle';
			liveImg.title="LIVE";
			td6.appendChild(liveImg);

			if(daySchedule.matches[i].match_status!="end" && daySchedule.matches[i].match_status!="yettobe")				
			{
				if(selectedDate>todayDate || selectedDate<todayDate)
				{
					liveImg.style.display = 'none';
				}
                else
				{
                      liveImg.style.display = 'block';
				}
				
			}
			else
				liveImg.style.display = 'none';


			daytable.appendChild(dataTR);
		}
		
		////alert("got day's schedule");
		//scheduleDaysSchedule(); // Starting the schedular
	}
	else
	{
		displayScheduleFirstRow();
		$getId('scheduleHomeId').innerHTML = $getId('scheduleHomeId').innerHTML + 
									      "<tr><td colSpan='6'><strong><center>No games today</center></strong></td></tr>";
	}
}