var sport_abbrv = new Array();
sport_abbrv['football'] = "fb_";
sport_abbrv['boys soccer'] = "bsc_";
sport_abbrv['girls soccer'] = "gsc_";
sport_abbrv['tennis'] = "tn_";
sport_abbrv['field hockey'] = "fh_";
sport_abbrv['girls volleyball'] = "gvb_";

function hs_sport(mySport) {
	mySport = mySport.toLowerCase();

	this.from_date = Date.today().toString('yyyy-M-d');
	this.to_date = this.from_date;
	this.mode = 'match_summary';
	this.fname = '';
	this.fvalue ='';
	this.divHeaderTag = '';
	this.divBodyTag = '';
	this.divFooterTag = '';

	this.getSchema = function() {
		var mySchema = '';
		var sportYear = Date.parse(this.from_date).addMonths(-7).toString('yyyy');
		mySchema = sport_abbrv[mySport] + sportYear;
		return (mySchema);
	};

	this.getFullURL = function(myOrder) {
		var prefixURL	= 'http://aps1.philly.com/sports/high_school/school_sport.php';
		var myURL = prefixURL + '?schema=' + this.getSchema() + '&from_date=' + this.from_date + '&to_date=' + this.to_date;
		myURL += '&fname=' +this.fname+ '&fvalue=' +this.fvalue+ '&mode=' + this.mode;
		if(myOrder != ""){myURL += "&orderBy=" + myOrder;}
		myURL += '&format=json&callback=?';
		return(myURL);
	};

}

function parseMatches(mySport,myOrder) {
	var fullURL = mySport.getFullURL(myOrder);
	jQuery.getJSON(fullURL,
		function(json) {
			var myResultsCode = "";
			var resultsCounter = 0;
			if(json.total_count == 0){
				jQuery("#"+mySport.divBodyTag).html("no scheduled game");
			}else{
				if (typeof(json["items"]["match_summary"])=='object') {
					if (mySport.divHeaderTag!='') {
						jQuery("#"+mySport.divHeaderTag).html(json["items"]["match_summary"][0].sport_name + " Games");
					}
					for(currentMatch in json["items"]["match_summary"]) {
						var matchDetails = json.items.match_summary[currentMatch];

						if(Date.parse(json.items.match_summary[currentMatch].match_date_time)<Date.today().add(1).day()) {
							myResultsCode += showGameLineup(matchDetails,"show",resultsCounter);
						}else{
							myResultsCode += showGameLineup(matchDetails,"hide",resultsCounter);
						}
						resultsCounter++;
					}
					jQuery("#"+mySport.divBodyTag).html(myResultsCode);
				}
			}
		}
	);
}


function showGameLineup(myOBJ,scoreVisibility,myIndex) { 
	var team1Link,team2Link;
	var team1Score = parseInt(myOBJ.match_team_1_score);
	var team2Score = parseInt(myOBJ.match_team_2_score);
	var mySchYear = myOBJ.sport_name.substr(0,4);
	switch(myOBJ.sport_name.substr(5,myOBJ.sport_name.length)) {
		case "Boys Soccer":var mySchSchema="bsc_"+mySchYear;break;
		case "Girls Soccer":var mySchSchema="gsc_"+mySchYear;break;
		case "Boys Tennis":var mySchSchema="tn_"+mySchYear;break;
		case "Girls Tennis":var mySchSchema="tn_"+mySchYear;break;
		case "Field Hockey":var mySchSchema="fh_"+mySchYear;break;
		case "Girls Volleyball":var mySchSchema="gvb_"+mySchYear;break;
		default:var mySchSchema="fb_"+mySchYear;break;
	}	
	var linkPrefix = 'http://www.philly.com/philly/sports/high_school/63947622.html?mode=match_detail&schema=' + mySchSchema + '&state=';
	var linkSuffix = '&fname=match_id&fvalue=' + myOBJ.match_id;
	var currentTimeStamp = new Date();
	var currentHour = currentTimeStamp.getHours();
	var currentMinute = currentTimeStamp.getMinutes();
	var isGameOver = Date.today().set({hour: currentHour, minute: currentMinute}).compareTo(Date.parse(myOBJ.match_date_time));

	if((myOBJ.match_team_1_name == "")||(myOBJ.match_team_2_name == "")){myLineupCode = "";}
	else {
		if(myOBJ.match_team_1_division_name == 'NJ'){team1Link = linkPrefix + '1002' + linkSuffix;}else{team1Link = linkPrefix + '1001' + linkSuffix;}
		if(myOBJ.match_team_2_division_name == 'NJ'){team2Link = linkPrefix + '1002' + linkSuffix;}else{team2Link = linkPrefix + '1001' + linkSuffix;}
		myLineupCode = "<div class=\"gameContainer ";
		if(myIndex % 2){myLineupCode += "evenTone";}else{myLineupCode += "oddTone";}
		myLineupCode += "\">";
		myLineupCode += "<div class=\"dateNsrContainer\">";
		if(Date.parse(myOBJ.match_date_time).toString('hh:mm') == "00:00"){myLineupCode += "<div class=\"gameDateTime\">" + Date.parse(myOBJ.match_date_time).toString('MM/dd/yy') + ' @ --:--:--' + "<\/div>";}
		else {myLineupCode += "<div class=\"gameDateTime\">" + Date.parse(myOBJ.match_date_time).toString('MM/dd/yy @ h:mm tt') + "<\/div>";}
		if((team1Score == 0)&&(team2Score == 0)&&(isGameOver != -1)&&(isGameOver != 0)){myLineupCode += "<div class=\"noScoreReported\"><a href=\"http://www.philly.com/philly/sports/high_school/59650477.html\">no score reported</a></div>";}
		else{myLineupCode += "<div class=\"noScoreReported\">&nbsp;</div>";}
		myLineupCode += "</div>";
		myLineupCode += "<div class=\"teamContainer\">";
		if((team1Score == 0)&&(team2Score == 0)&&(isGameOver != -1)&&(isGameOver != 0)){myLineupCode += "<div class=\"teamScore\">--</div>";}
		else{myLineupCode += "<div class=\"teamScore\">" + myOBJ.match_team_1_score + "</div>";}
		myLineupCode += "<div class=\"teamName\">";
		if(team1Score > team2Score){myLineupCode += "<span class=\"teamWinMark\">&#187;</span>";}
		else{myLineupCode += "<div class=\"teamWinMark\">&nbsp;</div>";}
		myLineupCode += "<a href=\"" + team1Link + "\">" + myOBJ.match_team_1_name + "</a></div>";
		myLineupCode += "</div>";
		myLineupCode += "<div class=\"teamContainer\">";
		if((team1Score == 0)&&(team2Score == 0)&&(isGameOver != -1)&&(isGameOver != 0)){myLineupCode += "<div class=\"teamScore\">--</div>";}
		else{myLineupCode += "<div class=\"teamScore\">" + myOBJ.match_team_2_score + "</div>";}
		myLineupCode += "<div class=\"teamName\">";
		if(team2Score > team1Score){myLineupCode += "<span class=\"teamWinMark\">&#187;</span>";}
		else{myLineupCode += "<div class=\"teamWinMark\">&nbsp;</div>";}
		myLineupCode +="<a href=\"" + team2Link + "\">" + myOBJ.match_team_2_name + "</a></div>";
		myLineupCode += "</div>";
		myLineupCode += "</div>";
	}
	return myLineupCode;
}


function parseSchoolMatches(mySport) {
	var fullURL = mySport.getFullURL("");

	jQuery.getJSON(fullURL,
		function(json) {
			var otherTeam;
			var otherTeamID;
			var otherTeamUrl = 'otherteamurl?';
			var matchDateTime;
			var matchSite;
			var matchScore;
			var thisTeamScore;
			var otherTeamScore;
			var s = "" ;
			if(json.total_count == 0){
				//alert('NO Record json.total_count =  ' + json.total_count) ;
				s = "<br>This school does not have any data for this sport.  Please choose another sport from the drop down menu.";
			}else{
				s = '<div class="team_summary_title">';
				s += '<div class="ts_match_date">Date</div>';
				s += '<div class="ts_match_team_a">Opponent</div>';
				s += '<div class="ts_match_site">Site</div>';
				s += '<div class="ts_match_score">Score</div>';
				//s += '<div class="ts_boxscore"> </div>';
				s += '</div>';

				if (typeof(json.items)=='object') {
				for (i = 0; i < json.items.length; i++) {
					matchDateTime = Date.parse(json.items[i].match_date_time).toString('M/d @ h:mm tt');
					//matchDateTime = Date.parse(json.items[i].match_date_time).toString('MMM dS @ HH:mm tt');

					otherTeam = json.items[i].match_team_1_name ;
					otherTeamID = json.items[i].match_team_1_id ;
					otherTeamScore = json.items[i].match_team_1_score ;
					thisTeamName = json.items[i].match_team_2_name ;
					thisTeamScore = json.items[i].match_team_2_score ;
					if(json.items[i].school_team_id == json.items[i].match_team_1_id ){
						otherTeam = json.items[i].match_team_2_name ;
						otherTeamID = json.items[i].match_team_2_id ;
						otherTeamScore = json.items[i].match_team_2_score ;
						thisTeamName = json.items[i].match_team_1_name ;
						thisTeamScore = json.items[i].match_team_1_score ;
					}

					matchSite = json.items[i].match_site;
					//if (matchSite==thisTeamName) { matchSite=""; }

					matchScore = ''; matchScoreClass = 'match_score';
					if (Date.today()>Date.parse(json.items[i].match_date_time)) {
						matchScore = thisTeamScore +"-"+ otherTeamScore;
						if (parseInt(thisTeamScore)>parseInt(otherTeamScore)) { matchScoreClass = 'ts_match_score_win'; matchScore += "&nbsp;(W)"; }
						if (parseInt(thisTeamScore)<parseInt(otherTeamScore)) { matchScoreClass = 'ts_match_score_lose'; matchScore += "&nbsp;(L)"; }
					}

					var teamSummaryClass = 'team_summary';
					if (i%2) { teamSummaryClass = 'team_summary_odd'; }
					s += "<div class=\""+teamSummaryClass+"\">";
					s += "<div class=\"ts_match_date\">" + matchDateTime + "<\/div>";
					s += "<div class=\"ts_match_team_a\">" + otherTeam + "<\/div>";
					s += "<div class=\"ts_match_site\">" + matchSite + "<\/div>";
					s += "<div class=\""+matchScoreClass+"\">" + matchScore + "<\/div>";
					s += "</div>";

				}} // end of typeof
			}

			jQuery("#"+mySport.divBodyTag).html(s);
		}
	);

}


function initialCap(iStr) {
   var oStr = iStr.substr(0, 1).toUpperCase() + iStr.substr(1);
   return(oStr);
}

function buildSportTypeSelectList(selBox) {
	var sb = document.getElementById(selBox);
	var selNo = 0;
	for(mySport in sport_abbrv) {
		sb.options[selNo] = new Option(initialCap(mySport), mySport);
		selNo++;
	}
}

function returnGameResults(myState, mySport, myDIV, myRange) {
	var myGameOBJ = new hs_sport(mySport);
	myGameOBJ.divBodyTag = myDIV;
		
	if(myRange == "upcoming") {
		var tempPaDIV = "upcomingPA";
		var tempNjDIV = "upcomingNJ";
		var mySqlOrder = "ASC";
		myGameOBJ.from_date = Date.today().addDays(1).toString('yyyy-M-d');
		myGameOBJ.to_date = Date.parse(myGameOBJ.from_date).addWeeks(1).toString('yyyy-M-d');
	}
	else {
		var tempPaDIV = "currentPA";
		var tempNjDIV = "currentNJ";
		var mySqlOrder = "DESC";
		myGameOBJ.to_date = Date.today().addDays(1).toString('yyyy-M-d');
		myGameOBJ.from_date = Date.parse(myGameOBJ.to_date).addDays(-6).toString('yyyy-M-d');
	}
		
	var paClass = document.getElementById(tempPaDIV).getAttribute("class");
	var njClass = document.getElementById(tempNjDIV).getAttribute("class");
		
	switch(myState) {
		case 'PA':
			myGameOBJ.fname = 'division';
			myGameOBJ.fvalue = '1001';
			document.getElementById(tempPaDIV).setAttribute("class", "stateSelected");
			document.getElementById(tempNjDIV).setAttribute("class", "");
			break;
		case 'NJ':
			myGameOBJ.fname = 'division';
			myGameOBJ.fvalue = '1002';
			document.getElementById(tempNjDIV).setAttribute("class", "stateSelected");
			document.getElementById(tempPaDIV).setAttribute("class", "");
			break;
		default:
			if(njClass == "stateSelected"){myGameOBJ.fname = 'division';myGameOBJ.fvalue = '1002';}
			else if(paClass == "stateSelected"){myGameOBJ.fname = 'division';myGameOBJ.fvalue = '1001';}
	}
	parseMatches(myGameOBJ,mySqlOrder);
}
