var sport_abbrv = new Array();
/*
// spring sports
sport_abbrv['baseball'] = "ba_";
sport_abbrv['softball'] = "sb_";
sport_abbrv['boys track'] = "btk_";
sport_abbrv['girls track'] = "gtk_";
sport_abbrv['boys tennis'] = "btn_";
sport_abbrv['girls lacrosse'] = "glx_";
sport_abbrv['boys lacrosse'] = "blx_";
sport_abbrv['girls soccer'] = "gsc_";
sport_abbrv['golf'] = "golf_";

sport_abbrv['boys volleyball'] = "bvb_"; sport_abbrv['badminton'] = "bdm_"; */ //sport_abbrv['girls soccer'] = "gscs_"; // winter sports //sport_abbrv['boys basketball'] = "bbk_"; //sport_abbrv['girls basketball'] = "gbk_"; //sport_abbrv['boys swimming'] = "bsw_"; //sport_abbrv['girls swimming'] = "gsw_"; // winter sports //sport_abbrv['football'] = "fb_"; //sport_abbrv['boys basketball'] = "bbk_"; //sport_abbrv['girls basketball'] = "gbk_"; //sport_abbrv['boys swimming'] = "bsw_"; //sport_abbrv['girls swimming'] = "gsw_"; //sport_abbrv['wrestling'] = "wrs_"; //sport_abbrv['girls volleyball winter'] = "gvbw_"; //sport_abbrv['boys bowling'] = "bbowl_"; //sport_abbrv['girls bowling'] = "gbowl_"; //sport_abbrv['ice hockey'] = "ih_";

// Fall sports
/*sport_abbrv['football'] = "fb_";
sport_abbrv['girls tennis'] = "gtnf_";
sport_abbrv['gymnastics'] = "gym_";
sport_abbrv['water polo'] = "wpo_";
sport_abbrv['boys soccer'] = "bsc_";
sport_abbrv['girls soccer'] = "gscf_";
sport_abbrv['field hockey'] = "fh_";
sport_abbrv['girls volleyball'] = "gvbf_"; 
sport_abbrv['boys cross country'] = "bxc_"; 
sport_abbrv['girls cross country'] = "gxc_";
sport_abbrv['golf'] = "golf_";*/

// Winter Sports
sport_abbrv['boys basketball'] = "bbk_";
sport_abbrv['girls basketball'] = "gbk_";
sport_abbrv['wrestling'] = "wrs_";
sport_abbrv['boys swimming'] = "bsw_";
sport_abbrv['girls swimming'] = "gsw_";
sport_abbrv['boys bowling'] = "bbowl_";
sport_abbrv['girls bowling'] = "gbwl_"; 
sport_abbrv['ice hockey'] = "ih_";


/*
Football - fb_2011
Girls Tennis - gtnf_2011
Gymnastics- gym_2011
Water Polo - wpo_2011
Field Hockey - fh_2011
Girls Volleyball - gvbf_2011
Boys Soccer - bsc_2011
Girls Soccer - gscf_2011
*/

function hs_sport(mySport) {
	//alert("building mySport");
	mySport = mySport.toLowerCase();
	this.from_date = Date.today().toString('yyyy-M-d');
	
	//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 = ''; //sportYear notes: fall=-7; spring=-2
		var sportYear = Date.parse(this.from_date).addMonths(-2).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 = 'http://aps1.philly.com/sports/high_school/school_sport.php?schema=golf_2010&from_date=2010-4-26&to_date=2010-5-14';
		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);
	};
	
	this.lowScoreWin = function() { //for golf & xcountry only
		var mySchema = this.getSchema();		
		var isLowScoreWin = (mySchema.indexOf('golf_', 0) != -1 || mySchema.indexOf('bxc_', 0) != -1 || mySchema.indexOf('gxc_', 0) != -1)? true : false ;
		return (isLowScoreWin);
	};

}

function parseMatches(mySport,myOrder) {
	var fullURL = mySport.getFullURL(myOrder);
	
	//alert(fullURL);
	
	$j.getJSON(fullURL,
		function(json) {
		
			//alert("i am in json function: " + json.total_count);
			
			var myResultsCode = "";
			var resultsCounter = 0;
			
			if(json.total_count == 0){
				$j("#"+mySport.divBodyTag).html("no scheduled game");
			}else{
			
				//alert(json.dtschema + ": typeof=" + typeof(json["items"]["match_summary"]));
				
				if (typeof(json["items"]["match_summary"])=='object') {
				
					// alert("mySport.divHeaderTag=" + mySport.divHeaderTag);
				
					if (mySport.divHeaderTag!='') {
						$j("#"+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];
						
						try {
						
							if(Date.parse(json.items.match_summary[currentMatch].match_date_time)<Date.today().add(1).day()) {
								myResultsCode += showGameLineup(matchDetails,"show",resultsCounter,json.dtschema);
							}else{
								myResultsCode += showGameLineup(matchDetails,"hide",resultsCounter,json.dtschema);
							}
						
						} catch(err) {
							// alert("ERROR:" + err.description);
						}
						
						resultsCounter++;
					}
					
					$j("#"+mySport.divBodyTag).html(myResultsCode);
					
					
				}
			}
		}
	);
}


function showGameLineup(myOBJ,scoreVisibility,myIndex,mySchema) { 

	var myLineupCode;

	var team1Link,team2Link;
	var team1Score = parseInt(myOBJ.match_team_1_score);
	var team2Score = parseInt(myOBJ.match_team_2_score);
	
	var linkPrefix = 'http://www.philly.com/philly/sports/high_school/63947622.html?mode=match_detail&schema=' + mySchema + '&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));

	//hdao 5/5: reverseWin indicating for golf & cross country
	var isLowScoreWin = ((team1Score != 0)&&(team2Score != 0)&&(mySchema.indexOf('golf_', 0) != -1 || mySchema.indexOf('bxc_', 0) != -1 || mySchema.indexOf('gxc_', 0) != -1)) ? true : false ;
	if(myIndex<1){ /*alert(mySchema + ' ;DEBUG: ' + mySchema.indexOf('golf_') + ' ; ' + isLowScoreWin + ' vs ' + this.lowScoreWin);*/ }
	
	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>";}
		if(team1Score > team2Score){myLineupCode += (isLowScoreWin)?"<div class=\"teamWinMark\">&nbsp;</div>" : "<span class=\"teamWinMark\">&#187;</span>";}
		else{myLineupCode += (isLowScoreWin)?"<span class=\"teamWinMark\">&#187;</span>" : "<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>";}
		if(team2Score > team1Score){myLineupCode += (isLowScoreWin)?"<div class=\"teamWinMark\">&nbsp;</div>" : "<span class=\"teamWinMark\">&#187;</span>";}
		else{myLineupCode += (isLowScoreWin)?"<span class=\"teamWinMark\">&#187;</span>" : "<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("");

	$j.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
			}

			$j("#"+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;
	//alert("i am here");
	
	for(mySport in sport_abbrv) {

		try {
	
			if((sport_abbrv[mySport]).indexOf("_") > 1){ //unkown cause multi items in select box 9/24/2010
				sb.options[selNo] = new Option(initialCap(mySport), mySport);
				selNo++;
			}
		
		} catch(err) {
			// alert(err.description);
		}
	}
	
}

function returnGameResults(myState, mySport, myDIV, myRange) {
	//alert("trying to work on results");

	var myGameOBJ = new hs_sport(mySport);
	myGameOBJ.divBodyTag = myDIV;
	//9/10 add delay hour =8 hrs ; alert(new Date().getHours());
        var offsetDay=1;
        try{
            if(new Date().getHours() < 12)
                var offsetDay=0;
        }
        catch(err)
        {
        var offsetDay=1;
        }   

	if(myRange == "upcoming") {
		var tempPaDIV = "upcomingPA";
		var tempNjDIV = "upcomingNJ";
		var mySqlOrder = "ASC";
		myGameOBJ.from_date = Date.today().addDays(offsetDay).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(offsetDay).toString('yyyy-M-d');
		//myGameOBJ.to_date = Date.today().addDays(1).toString('yyyy-M-d');
		myGameOBJ.from_date = Date.parse(myGameOBJ.to_date).addDays(-8).toString('yyyy-M-d');
	}
	//alert("over gameOBJ");

	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';}
	}
	//alert ("working on return");
	parseMatches(myGameOBJ,mySqlOrder);
}

