/*
www.soccerbot.com
*/
if(typeof sb_tablewidth=='undefined'){var sb_tablewidth=600;}
var srchData = getSearchAsArray();

//////////////////////////////////////////////

function showscorers(team){
var tnum;	
  tnum=teamNumber(team);  	  
  document.write("<table><tr>")
  document.write("<td>")
  //if(tnum==0) document.write((tnum==0)?"<td class=evenrow>":"<td>")
  
  document.write(scolist(tnum));
  document.write("</td></tr></table>")  
}	
/////////////////////////////////////////////
function showresults(team){
var i,num;
var rownum=0;
num=teamNumber(team);
document.write('<h3>Results for '+team+'</h3>');
document.write('<table width='+sb_tablewidth+'>');
showheader(1);
for(i=f2.length-1;i>0;i--){
  if((f2[i]==num)|(f3[i]==num)|(num==0)) 
    if(f14[i]==1){
      rownum++; 
      showfixture(rownum,i)
    }    
  }
document.write('</table>');
}

/////////////////////////////////////////////
function showfixtures(team){
var i,num;
var rownum=0;
num=teamNumber(team);
document.write('<h3>Remaining fixtures for '+team+'</h3>');
document.write('<table width='+sb_tablewidth+'>');
showheader(0);
for(i=1;i<f2.length;i++){
  if((f2[i]==num)|(f3[i]==num)|(num==0))
    if(f14[i]!=1) {
      rownum++;
      showfixture(rownum,i);    
    }
  }
document.write('</table>');
}

/////////////////////////////////////////////
function showheader(played){
  document.write("<thead><th><div class=th>Date</div></th><th>Home</th>");
  if(played==1){
    document.write("<th>FT</th><th>FT</th>");
    document.write("<th>Away</th><th>Venue</th><th>Ref</th><th>Att.</th>");  
  }else{
    document.write("<th>&nbsp</th><th>&nbsp</th>");
    document.write("<th>Away</th><th>Venue</th><th>Ref</th><th>Last</th>");
  }
  document.write("</thead>");    
}
/////////////////////////////////////////////
function showfixture(rownum,num){
 var i,sname,stime,stype;
 var tdstyle="<td class=evenrow>";
 var played=(f14[num]==1);
 var fth=(played)?"<b>"+f4[num]+"</b>":"&nbsp;"
 var fta=(played)?"<b>"+f5[num]+"</b>":"&nbsp;"
 var vnu=(f12[num]!=0)?n_v[f12[num]]:"&nbsp";
 var ref=(f13[num]!=0)?n_r[f13[num]]:"&nbsp";
 var att=(f15[num]!=0)?f15[num]:"&nbsp";
 var ls=(f16[num]!="")?f16[num]:"&nbsp";
 var attls=(played)?att:ls;
 if(!isEven(rownum)) tdstyle="<td class=oddrow>";

 document.write('<tr>');
 document.write(tdstyle+fdate(f1[num])+'</td>');

 document.write(tdstyle+"<b>"+n_t[f2[num]]+'</b>');
 if(played){
  document.write(fixscorers(num,0))
 }
 
 document.write("</td>");

 document.write(tdstyle+fth+'</td>');
 document.write(tdstyle+fta+'</td>');
 document.write(tdstyle+"<b>"+n_t[f3[num]] +'</b>');
 if(played){
  document.write(fixscorers(num,1)) }
 document.write("</td>");
 document.write(tdstyle+ vnu +'</td>');
 document.write(tdstyle+ ref +'</td>');
 document.write(tdstyle+ attls +'</td>');
 document.write("</tr>")
}

function fixscorers(num,away){
var i,j,sname,stime,stype,thisname;
var ret="";
if(away==0){
  sname=f6[num];
  stime=f8[num];
  stype=f10[num]}
else{
  sname=f7[num];
  stime=f9[num];
  stype=f11[num];
}

var schk=new Array(sname.length);
  for(i=1;i<sname.length;i++){
    if (schk[i]!=1){
      thisname=n_p[sname[i]];
      if (ret!="") ret=ret+"<br>";
      ret=ret+thisname+ " (" + stime[i] + scoreType(stype[i]);
      for(j=i+1;j<sname.length;j++){
        if(n_p[sname[j]]==thisname){
          ret=ret+","+stime[j] + scoreType(stype[j]);
          schk[j]=1;
        }
      } 

      ret=ret+ ")";
    }
  }
if (ret!="") ret="<div class=\"sbscorers\">"+ret+"</div>";
return ret;
}





/////  Team Stats ////////////
function showstats(team){
var i,num,stat;
var rownum=0;
var tdstyle="<td class=evenrow>";
  num=teamNumber(team);
  if(num==0) return 0;
  document.write('<h3>Statistics for '+team+'</h3>');
  stat=stats(num);
  document.write('<table width='+sb_tablewidth+'>');
  for(i=0;i<stat.length;i++){
    if(!isEven(i)) {tdstyle="<td class=oddrow>"} else {tdstyle="<td class=evenrow>"};
    document.write('<tr>'+tdstyle+stat[i][0]+'</td>');
    document.write(tdstyle+stat[i][1]+'</td></tr>');
  }
  document.write('</tr></table>');
}
/////  Stats  //////
function stats(tnum){
var ret=new Array();
var i,tpld=0,thome=0,taway=0,ngame="",lgame=0;
var bw=0,bl=0,bhw=0,bhl=0,baw=0,bal=0;
var ibw=0,ibl=0,ibhw=0,ibhl=0,ibaw=0,ibal=0;
var batt=0,satt=99999;
var ibatt=0,isatt=0;
var ngo=0,ng=0;

var dif,hw,aw;

  //look at each fixture//
  for(i=0;i<f2.length;i++){
    if((f2[i]==tnum)|(f3[i]==tnum)|(tnum==0)) {
      if(f14[i]==1){  //played
        tpld++; 
        lgame=i;
        if(f15[i]>batt){batt=f15[i];ibatt=i}
        if((f15[i]<satt)&(f15[i]>0)){satt=f15[i];isatt=i}
        hw=false;aw=false
        if(f4[i]>f5[i]){dif=f4[i]-f5[i];hw=true}else{dif=f5[i]-f4[i];aw=true}
        
        if(f2[i]==tnum){  //Home game
          thome++
          if(hw){ //home win
            if(dif>bw){bw=dif;ibw=i}
            if(dif>bhw){bhw=dif;ibhw=i}
          }
          if(aw){ //away win
            if(dif>bl){bl=dif;ibl=i}
            if(dif>bhl){bhl=dif;ibhl=i}          
          }
        }
        if(f3[i]==tnum){ //Away game
          taway++
          if(hw){ //home win
            if(dif>bl){bl=dif;ibl=i}
            if(dif>bal){bal=dif;ibal=i}          
          }
          if(aw){ //away win
            if(dif>bw){bw=dif;ibw=i}
            if(dif>baw){baw=dif;ibaw=i}
          }          
        }        
      }else{  //Unplayed
        if(f14[i]==0){
          if(ngame=="") {
            ngame=fdate(f1[i])+ " v "
            if(f2[i]==tnum){ngame=ngame+n_t[f3[i]]+ " (Home)";ngo=f3[i];ng=i}
            if(f3[i]==tnum){ngame=ngame+n_t[f2[i]]+ " (Away)";ngo=f2[i];ng=i}
          }  
        }
      }    
    }
  }
  var inf='';  
  if(lgame!=0){
  	inf=fixdesc(lgame,tnum)
  }
  ret[0]=new Array("Club Home Page",linkw(t_h[tnum]));
  ret[1]=new Array("Address",t_a[tnum]);
  ret[2]=new Array("Phone",t_ph[tnum]);
  ret[3]=new Array("Secretary",t_s[tnum]);
  ret[4]=new Array("League Position","<b>"+t_p[tnum]+"<b>");
  ret[5]=new Array("Previous Position",t_l[tnum]);
  ret[6]=new Array("Current Form","<b>"+t_f[tnum]+"</b>");
  ret[7]=new Array("&nbsp","&nbsp");
  ret[8]=new Array("<b>Next Game</b>","<b>"+ngame+"</b>");
  ret[9]=new Array("Opponent's Web Site",linkw(t_h[ngo]));
  ret[10]=new Array("Last Season's Result",f16[ng]+"      "+f17[ng]);
  ret[11]=new Array("Opponent's League Position",t_p[ngo]);
  ret[12]=new Array("Opponent's Form",t_f[ngo]);
  ret[13]=new Array("Predicted Outcome",prtext(f19[ng]));      
  ret[14]=new Array("&nbsp","&nbsp");
  var sctxt=scolist(tnum);
  ret[15]=new Array("<b>Scorers</b>",sctxt);
  
  ret[16]=new Array("Total Games Played",(thome+taway)+ " ("+ thome + " home, "+taway+" away)");
  ret[17]=new Array("Biggest Win",fixdesc(ibw,tnum));
  ret[18]=new Array("Biggest Loss",fixdesc(ibl,tnum));
  ret[19]=new Array("Biggest Home Win",fixdesc(ibhw,tnum));
  ret[20]=new Array("Biggest Home Loss",fixdesc(ibhl,tnum));
  ret[21]=new Array("Biggest Away Win",fixdesc(ibaw,tnum));
  ret[22]=new Array("Biggest Away Loss",fixdesc(ibal,tnum));
  ret[23]=new Array("Highest Attendance","("+batt+") "+fixdesc(ibatt,tnum));
  ret[24]=new Array("Lowest Attendance","("+satt+") "+fixdesc(isatt,tnum));
  ret[25]=new Array("&nbsp","&nbsp");
  
  return ret;
}


function scolist(tnum){
//return a html table containing top scorers list
  var ts=scorers(tnum);
  var sctxt="",sc1="",sc2="",sc3="";
  var gtxt;
  for(var i=0;i<ts.length;i++){
    //sctxt=sctxt+n_p[ts[i][2]]+" ("+ ts[i][0]   +") "+ts[i][3]+"   games since last score<br>";
    sc1=sc1+ "("+ ts[i][0]   +") "+n_p[ts[i][2]]+"  <br>";
    gtxt=(ts[i][3]==1)?"game":"games";
    sc2=sc2+ts[i][3]+"   "+gtxt+" since last score<br>";
    if(tnum==0) sc3=sc3+n_t[ts[i][1]]+"<br>";
  }
  return "<table><tr><td>"+sc1+"</td><td>"+sc3+"</td><td>"+sc2+"</td></tr></table>";
}	

///////// return an array of scorers 0=goals, 1=team, 2=player, 3=games since last goal
function scorers(tnum){
var ret=new Array();
var i;
for(i=1;i<f2.length;i++){
  if(f14[i]==1){  //played
    if((f2[i]==tnum)|(f3[i]==tnum)|(tnum==0)) {
  	  if((f2[i]==tnum) |(tnum==0)) addfixsc(i,tnum,0,ret);
  	  if((f3[i]==tnum) |(tnum==0)) addfixsc(i,tnum,1,ret);
    }
  }
}  	
ret.sort(compareSco);
ret.reverse();
return ret;
}

function testit(){
var i;

}
///add the scorers for this fixture to the scorers array ////////
function addfixsc(fnum,tnum,away,sc){
var sname,stime,stype;
var i,j,here,pnum,tn;
var nsc=sc.length;
  if(away==0){
    sname=f6[fnum];
    stime=f8[fnum];
    stype=f10[fnum]}
  else{
    sname=f7[fnum];
    stime=f9[fnum];
    stype=f11[fnum];
  }
  for(i=0;i<nsc;i++){
  	if((sc[i][1]==f2[fnum])|(sc[i][1]==f3[fnum])) sc[i][3]++;  //add a game to "since last goal"
  }	 

//return;
  for(i=1;i<sname.length;i++){ //for each scorer in fixture
    if(stype[i]!=2){  //dont want ogs
	    here=-1;pnum=sname[i];
	    for(j=0;j<nsc;j++){  //see is it already here	      
	    if(sc[j][2]==pnum) here=j;
	    
//	    if(((sc[j][2])-pnum)==0) here=j;
	    if((sc[j][2])==pnum) here=j;
	    // had to change above line cos comparison operator "==" doesnt seem to work in all cases  
	    //  alert(sc[j][2]+"="+pnum+" is "+(sc[j][2]==pnum) + " Sub=" +  (sc[j][2]-pnum)+ " Type=" +  typeof(sc[j][2]) +typeof(pnum))
	    //  alert("checking "+n_p[pnum]+"("+pnum+") against "+n_p[sc[j][2]]+"("+sc[j][2]+")")// ) //+ ((sc[j][2])==pnum)//+ " " + ((n_p[sc[j][2]]))==n_p[pnum])	      
	    }    
	    if(here==-1){ //add a new scorer
	      nsc++;
	      here=nsc-1	      
	      tn=tnum;
	      if(tn==0) tn=(away)?f3[fnum]:f2[fnum];
	      sc[here]=new Array(0,tn,pnum,0)  
	      //alert("Adding "+n_p[pnum]+" " +pnum+ " to "+here);          
	    }
	    sc[here][0]++;
	    sc[here][3]=0;    
	}    
  }	
}




/////////////////////////////////////////////
/////////////////////////////////////////////
function teamNumber(team){
var i;
for(i=0;i<=n_t.length;i++){
  if(n_t[i]==team) return i;
  }
return 0;
}

function fixdesc(fnum,tnum){ //return a text description
var inf;
  if(fnum==0){
  	inf= "None"
  }else{	
    inf=f4[fnum]+"-"+f5[fnum]+" " + fdate(f1[fnum]) + " v ";
    if(f2[fnum]==tnum){inf=inf+n_t[f3[fnum]]+" (Home)"}else{inf=inf+n_t[f2[fnum]]+" (Away)"}
  }  
  return inf
}	

function showteams(){ //write out the teams to the document
var i;
//  alert(self.location.pathname);
  document.write("<h2>");
  for(i=1;i<n_t.length;i++){
    document.write('<a href='+self.location.pathname+'?Team='+escape(n_t[i])+'>  ['+n_t[i]+']  </a>  ');
    if(i%6==0) document.write("<br>");
  }
  document.write("<a href="+self.location.pathname+"?Team="+escape("All Teams")+">  [All Teams]  </a>  ");
  document.write("</h2>");
}
function scoreType(s){
  if(s==0) return "";
  if(s==1) return " pen";
  if(s==2) return " og";
  if(s==5) return " try";
  if(s==6) return " conv";
  if(s==7) return " drop goal";
  if(s==8) return " pen";
  if(s==9) return " goal";
  if(s==10) return " point";
}

function currentteam(){
	return (typeof(srchData["Team"])=='undefined')?"All Teams":srchData["Team"];
}

function isEven(num){return (num%2==0);}
function getSearchAsArray() {
   // Browser-sniffing variables.
   var minNav3 = (navigator.appName == "Netscape" &&  parseInt(navigator.appVersion) >= 3)
   var minIE4 = (navigator.appName.indexOf("Microsoft") >= 0 && parseInt(navigator.appVersion) >= 4)
   var minDOM = minNav3 || minIE4   
// Baseline DOM required       for this function
   // Initialize array to be returned.
   var results = new Array()
   if (minDOM) {
      // Unescape and strip away leading question mark.
      var input = unescape(location.search.substring(1))
      if (input) {
         // Divide long string into array of name/value pairs.

         var srchArray = input.split("&")
         var tempArray = new Array()
         for (i = 0; i < srchArray.length; i++) {
            // Divide each name/value pair temporarily into a two-entry array.
            tempArray = srchArray[i].split("=")
            // Use temp array values as index identifier and value.
            results[tempArray[0]] = tempArray[1]

         }
      }
   }
   return results
}


function showteam(teamnum){
  alert(n_t[teamnum] + " " + teamnum + " of " + n_t.length);
}


function showplayer(num){
  alert(n_p[num] + " " + num + " of " + n_p.length);
}

function showreferee(num){
  alert(n_r[num] + " " + num + " of " + n_r.length);
}
function showdate(num){
  alert(f1[num]);
}


function fdate(d){
  if(f1[0]==0)
    return fdateo(d);
  else{
    return fdaten(d);
  }
}
function fdateo(d){
  if(d==null)
    return ""
  else{
    var yy = d.getYear();
    var year = (yy < 2000) ? yy:yy-2000;
    var tt = d.getHours();
    var mm = d.getMonth();
    if(mm==0) { mm=12;year=year-1;}
    var stt=(tt==0)?"":" " + zpad(tt) +":"+ zpad(d.getMinutes());
    return zpad(d.getDate()) + "/" + zpad(mm) + "/" + zpad(year) + " " + stt;
  }
}
function fdaten(d){
  if(d==null)
    return ""
  else{
    var yy = d.getYear();
    var year = (yy < 2000) ? yy:yy-2000;
    var tt = d.getHours();
    var mm = d.getMonth()+1;
    var stt=(tt==0)?"":" " + zpad(tt) +":"+ zpad(d.getMinutes());
    return zpad(d.getDate()) + "/" + zpad(mm) + "/" + zpad(year) + " " + stt;
  }
}

function zpad(num){
  return (num<10)?"0"+num:""+num;
}
function linkw(url){
  if(url==""){
    return ""}
  else{  
  return '<a href="'+url+'">' +url+'</a>'}
}
function prtext(r){
  switch(r){
    case "X": return "Draw";
    case "1": return "Home Win"
    case "2": return "Away Win"
    default:return "";
  }    
}

function compareSco(a, b) {
var ret=a[0]-b[0];

if(ret==0){
  ret= (a[2]<b[2])}
return ret;
}


