window.calMonthObj 		= null;

function initializeCalendar()
{
	/*Generate the gameline month view calendar*/
	var errArry = getFilmStripJSON(); //JSON is stored in a global variable 'respJSONobj'
	if(errArry[0] == 0)
	{
		var mStart 	= null;
		var uStart 	= null;
			
		var currDate = new Date();
			currDate = stripOutTime(currDate)		
		
		errArry = isValidGameRang(currDate);
		if (errArry[0] == 0)
		{
			mStart = new Date(currDate);
			uStart = new Date(currDate);		
		}else{
			mStart = new Date(stripOutTime(errArry[1]));
			uStart = new Date(stripOutTime(errArry[1]));	
		}
		//Render month calendar
		calMonthObj = new nbaMonthPicker.MonthPickerObj();	
		calMonthObj.initializeCalDate(mStart, uStart, "nbaCalMonthList");
		calMonthObj.renderMultiMonth(6);
		
	}else{
		alert("Expected Error: Unable to determine season START and END dates!");	
	}
}
function isValidDate(oDateStr){
	var reg2 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;
	return (reg2.test(oDateStr));
}
function getDateFromURL() {
	var urlFldDate = String(window.location.pathname.match(/\/gameline\/([0-9_]+)(\/index.html){0,1}/)[1]);
	var oYear = urlFldDate.substring(0,4);
	var oMnth = urlFldDate.substring(4,6);
	var oDay  = urlFldDate.substring(6,8);
	var oDate = oMnth + "/" + oDay + "/" + oYear;
	return oDate;
}

function getBaseDomain(){
    var server = window.location.hostname;
    return "http://" + server;   
}
function getFilmStripJSON()
{
	var errArry = [0,"SUCCESS"];
	var JSONPath = getBaseDomain() + '/.element/json/auto/2.0/sasd/filmstrip.json';
	var ajaxObj = new nbaAjaxWrapper.AjaxRequester(JSONPath, {method: 'get', respCallBack:nbaAjaxWrapper.AjaxResponseHandler});
	if(!respJSONobj){
		errArry[0] = 1;
		errArry[1] = "Error retrieving filmstrip JSON";
	}
	return errArry;
}	
function isValidGameRang(oDate)
{
	var errArry = [0,"SUCCESS"]
	var gamesStart = new Date(respJSONobj.MetaData.gamesStart);
	var targetDate = new Date(oDate)
	var gamesEnd = new Date(respJSONobj.MetaData.gamesEnd)
	if (targetDate < gamesStart){
		errArry[0] = -1;
		errArry[1] = gamesStart;
	}else if (targetDate > gamesEnd){
		errArry[0] = -2;
		errArry[1] = gamesEnd;
	}
	return errArry
}

function resetCalendars()
{	
	//var currDate = nbaCurrTime;
	var currDate = new Date();
	var currHour = currDate.getHours();
	if (currHour < 12){
		currDate.setDate(currDate.getDate()-1);
	}
	currDate = stripOutTime(currDate)
	calDayOnClick(null, currDate, currDate);	
}

function calDayOnClick(aId, oSelectedDate, oMonthStartDate)
{
	var errArry	= isValidGameRang(oSelectedDate)
	if ( errArry[0] == 0 ){
		goLocation(new Date(oSelectedDate))
	}else{
		goLocation(errArry[1])
	}	
}

function goLocation(oDate)
{
	var navYear = oDate.getFullYear();
	var navDate = oDate.getDate();
		navDate	= (navDate < 10) ? ("0" + navDate) : navDate;
	var navMnth	= oDate.getMonth()+1;
		navMnth = (navMnth < 10) ? ("0" + navMnth) : navMnth;
	var navFlder = String(navYear) + String(navMnth) + String(navDate);
			
	var iURL = "/gameline/" + navFlder;
	document.location.href=iURL;
}

function stripOutTime(oDate){
	return ((oDate.getMonth()+1) + "/" + oDate.getDate() + "/" + oDate.getFullYear());
}

function showHideDiv(oDiv, isOff)
{	
	if(!isOff){
		$(oDiv).style.display = "block";
	}else{
		$(oDiv).style.display="none";
	}	
}








