
/* Optional: Temporarily hide the "tabber" class so it does not "flash"
   on the page as plain HTML. After tabber runs, the class is changed
   to "tabberlive" and it will appear. */

document.write('<style type="text/css">.tabber{display:none;}<\/style>');
var MatchID = -1;
var SFCAUser = '';
var SFCADivision = -1;
var SFCATeam = -1;
var CurrentIndex = 0;
var CurrentTabber = null;
var CurrentDiv = null;
var tabberOptions = {

  'onClick': function(argsObj) {

    if (SFCAUser.length == 0) {
      return;
    }

    var t = argsObj.tabber; /* Tabber object */
    var i = argsObj.index; /* Which tab was clicked (0..n) */

    CurrentDiv = this.tabs[i].div; /* The tab content div */

    /* Display a loading message */
    CurrentDiv.innerHTML = "<p>Please wait...<\/p>";

    /* Save current Tab. */
    CurrentIndex = i;
    CurrentTabber = t;

    if ((i < 4) && (MatchID == -1)) {
      CurrentDiv.innerHTML = "<p>Select a match from the My Matches tab.<\/p>";
      
      return;
    }

    /* Fetch some html depending on which tab was clicked */
    var url;
    var pars = 'mid=' + MatchID;
    
    switch (i) {
    case 0:
      url = '/cgi/summary.cgi';
      break;
    case 1:
    case 2:
      url = '/cgi/innings.cgi';
      pars = pars + '&innings=' + i;
      break;
    case 3:
      url = '/cgi/scorecard.cgi';
      pars = pars + '&tab=' + i + '&team=' + SFCATeam;
      break;
    case 4:
      url = '/cgi/schedule.cgi';
      pars = 'team=' + SFCATeam;
      break;
    case 5:
      url = '/cgi/statistics.cgi';
      pars = 'team=' + SFCATeam;
      break;
    case 6:
      url = '/cgi/add-match.cgi';
      pars = 'mid=-1';
      break;
    case 7:
      url = '/cgi/schedule.cgi';
      break;
    case 8:
      url = '/cgi/add-player.cgi';
      pars = pars + '&division=' + SFCADivision + '&team=' + SFCATeam;
      break;
    case 9:
      url = '/cgi/add-match.cgi';
      var m = prompt('Enter Match ID:', MatchID);
      if (m == null) {
	return;
      }
      MatchID = m;
      pars = 'mid=' + MatchID;
      break;
    case 10:
      url = '/cgi/register.cgi';
      break;
    case 11:
      url = '/cgi/points.cgi';
      pars = 'year=2010&division=8';
      break;
    }

    var myAjax = new Ajax.Updater(CurrentDiv, url,
				  {method:'get',parameters:pars});
  },

  'onLoad': function(argsObj) {
    /* Load the current tab */
    argsObj.index = CurrentIndex;
    this.onClick(argsObj);
  },

  'onRefresh': function(argsObj) {
    /* Refresh current tab. */
    argsObj.index = CurrentIndex;
    this.onClick(argsObj);
  }
}

  function ajaxPost(fm, name)
{
  var cgi = '/cgi/save-form.cgi';
  var tobj = {'tabber':CurrentTabber,
	      'index':CurrentIndex,
	      'event':window.event};
  var pars = $(fm).serialize() + '&form=' + fm.name;

  var savedInnerHTML = CurrentDiv.innerHTML = '';
  var optobj =  {
    'method': 'post',
    'parameters': pars,
    'onSuccess': function(transport) {
      alert(name + ' saved.');
      CurrentTabber.onRefresh(tobj);
    },
    'onFailure': function() {
      alert(fm.name + ' not saved.');
      CurrentDiv.innerHTML = savedInnerHTML;
    }
  };

  CurrentDiv.innerHTML = '';

  var myAjax = new Ajax.Request(cgi, optobj);
}

function ajaxUpdate(fm, dname, cgi)
{
  var pars = $(fm).serialize() + '&form=' + fm.name;

  var optobj = {
    'method' : 'post',
    'parameters' : pars
  };
  var div = $(dname);

  if (cgi == null) {
    cgi = '/cgi/save-form.cgi';
  }

  var myAjax = new Ajax.Updater(div, cgi, optobj);
}

function setMatchID(mid)
{
  MatchID = mid;
}

function setUser(user, team)
{
  SFCAUser = user;
  SFCATeam = team;
}

function getPlayers(tm, div)
{
  var team = tm.value;

  if (team == -1) {
    CurrentDiv.innerHTML = '';

    return true;
  }

  var division = div.value;

  if (division == -1) {
    CurrentDiv.innerHTML = '';

    return true;
  }

  SFCATeam = team;
  SFCADivision = division;

  var optobj = {
    'method' : 'post',
    'parameters' : 'team=' + team + '&division=' + division
  };

  var myAjax = new Ajax.Updater(CurrentDiv, '/cgi/add-player.cgi', optobj);

  return true;
}

function setDivision(div)
{
  var division = div.value;

  if (division == -1) {
    return true;
  }
 
  SFCADivision = division;

  var optobj = {
    'method' : 'post',
    'parameters' : 'division=' + division
  };

  if (div.name == 'player_div') {
    var myAjax = new Ajax.Updater(CurrentDiv, '/cgi/add-player.cgi', optobj);
  } else {
    var myAjax = new Ajax.Updater(CurrentDiv, '/cgi/add-match.cgi', optobj);
  }
  return true;
}
