if (typeof XMLHttpRequest == "undefined")
  XMLHttpRequest = function () {
    try { return new ActiveXObject ("Msxml2.XMLHTTP.6.0"); } catch (e) {}
    try { return new ActiveXObject ("Msxml2.XMLHTTP.3.0"); } catch (e) {}
    try { return new ActiveXObject ("Microsoft.XMLHTTP"); } catch (e) {}
    throw new Error ("This browser does not support XMLHttpRequest.");
  };

function AJAXCheckLeagueName (sport, action, p0) {
  var http = new XMLHttpRequest;
  var url = sport + "_get.php?a=leagueexists&p0=" + p0;

  http.open ("get", url, true);
  http.onreadystatechange = function () {
    if (http.readyState == 4 && http.status == 200) {
//      el.innerHTML = http.responseText;
    }
  }
  http.send (null);
  delete http;
}

function FSLActInvite (sport, league, choice) {
  var url = sport + '_post.php';
  var http = new XMLHttpRequest;
  var params = 'a=actinvite&l=' + league + '&choice=' + choice;
  http.open ('post', url, true);
  http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
//  http.setRequestHeader('Content-length', params.length);
//  http.setRequestHeader('Connection', 'close');
  http.onreadystatechange = function () {
    if (http.readyState == 4 && http.status == 200) {
      SimpleGet ("football", "invites", "fslinvites");
      SimpleGet ("football", "memberleagues", "fslmemberleagues");
      if (http.responseText.length) { alert (http.responseText); }
    }
  };
  http.send (params);
  delete http;
}

function FSLChangeConferences (sport, league, universe) {
  var url = sport + '_post.php';
  var http = new XMLHttpRequest;
  var newconf = document.getElementById ('selectchangeconferences').value;
  var params = 'a=changeconferences&l=' + league + '&u=' + universe + '&c=' + newconf;
  http.open ('post', url, true);
  http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  http.onreadystatechange = function () {
    if (http.readyState == 4 && http.status == 200) {
      SimpleGet ("football", "universedetails", "fsluniversedetails", league, universe);
      if (http.responseText.length) { alert (http.responseText); }
    }
    else if (http.readyState == 4) {
      alert ('Error: ' + http.status);
    }
  };
  http.send (params);
  delete http;
}

function FSLChangeUniverse (sport, league, division) {
  var url = sport + '_post.php';
  var http = new XMLHttpRequest;
  var newuni = document.getElementById ('selectchangeuniverse').value;
  var params = 'a=changeuniverse&l=' + league + '&d=' + division + '&u=' + newuni;
  http.open ('post', url, true);
  http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  http.onreadystatechange = function () {
    if (http.readyState == 4 && http.status == 200) {
      SimpleGet ("football", "divisiondetails", "fsldivisiondetails", league, division);
      if (http.responseText.length) { alert (http.responseText); }
    }
    else if (http.readyState == 4) {
      alert ('Error: ' + http.status);
    }
  };
  http.send (params);
  delete http;
}

function FSLEditUniverseName (sport, league, universe) {
  var url = sport + '_post.php';
  var http = new XMLHttpRequest;
  var name = document.getElementById ('inputeditname').value;
  var params = 'a=edituniversename&l=' + league + '&u=' + universe + '&n=' + escape (name);
  http.open ('post', url, true);
  http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  http.onreadystatechange = function () {
    if (http.readyState == 4 && http.status == 200) {
      SimpleGet ("football", "universedetails", "fsluniversedetails", league, universe);
      if (http.responseText.length) { alert (http.responseText); }
    }
    else if (http.readyState == 4) {
      alert ('Error: ' + http.status);
    }
  };
  http.send (params);
  delete http;
}

function FSLEditDivisionName (sport, league, division) {
  var url = sport + '_post.php';
  var http = new XMLHttpRequest;
  var name = document.getElementById ('inputeditname').value;
  var params = 'a=editdivisionname&l=' + league + '&d=' + division + '&n=' + escape (name);
  http.open ('post', url, true);
  http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  http.onreadystatechange = function () {
    if (http.readyState == 4 && http.status == 200) {
      SimpleGet ("football", "divisiondetails", "fsldivisiondetails", league, division);
      if (http.responseText.length) { alert (http.responseText); }
    }
    else if (http.readyState == 4) {
      alert ('Error: ' + http.status);
    }
  };
  http.send (params);
  delete http;
}

function FSLEditTeamName (sport, league, team) {
  var url = sport + '_post.php';
  var http = new XMLHttpRequest;
  var name = document.getElementById ('inputeditname').value;
  var params = 'a=editteamname&l=' + league + '&t=' + team + '&n=' + escape (name);
  http.open ('post', url, true);
  http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  http.onreadystatechange = function () {
    if (http.readyState == 4 && http.status == 200) {
      SimpleGet ("football", "teamdetails", "fslteamdetails", league, team);
      if (http.responseText.length) { alert (http.responseText); }
    }
    else if (http.readyState == 4) {
      alert ('Error: ' + http.status);
    }
  };
  http.send (params);
  delete http;
}

function FSLDelManager (sport, league, team, manager) {
  var url = sport + '_post.php';
  var http = new XMLHttpRequest;
  var params = 'a=delmanager&l=' + league + '&t=' + team + '&m=' + manager;
  http.open ('post', url, true);
  http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  http.onreadystatechange = function () {
    if (http.readyState == 4 && http.status == 200) {
      SimpleGet ("football", "teamdetails", "fslteamdetails", league, team);
      if (http.responseText.length) { alert (http.responseText); }
    }
    else if (http.readyState == 4) {
      alert ('Error: ' + http.status);
    }
  };
  http.send (params);
  delete http;
}

function FSLAddManager (sport, league, team) {
  var url = sport + '_post.php';
  var http = new XMLHttpRequest;
  var addman = document.getElementById ('selectaddmanager').value;
  var params = 'a=addmanager&l=' + league + '&t=' + team + '&m=' + addman;
  http.open ('post', url, true);
  http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  http.onreadystatechange = function () {
    if (http.readyState == 4 && http.status == 200) {
      SimpleGet ("football", "teamdetails", "fslteamdetails", league, team);
      if (http.responseText.length) { alert (http.responseText); }
    }
    else if (http.readyState == 4) {
      alert ('Error: ' + http.status);
    }
  };
  http.send (params);
  delete http;
}

function FSLChangeCommissioner (sport, league) {
  var url = sport + '_post.php';
  var http = new XMLHttpRequest;
  var changecom = document.getElementById ('selectchangecommissioner').value;
  var params = 'a=changecommissioner&l=' + league + '&c=' + changecom;
  if (confirm ("Appoint a new Commissioner? You will not be able to reverse this decision on your own!")) {
    http.open ('post', url, true);
    http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
    http.onreadystatechange = function () {
      if (http.readyState == 4 && http.status == 200) {
        if (http.responseText.length) { alert (http.responseText); }
      }
      else if (http.readyState == 4) {
        alert ('Error: ' + http.status);
      }
    };
    http.send (params);
    delete http;
  }
}

function FSLChangeDivision (sport, league, team) {
  var url = sport + '_post.php';
  var http = new XMLHttpRequest;
  var newdiv = document.getElementById ('selectchangedivision').value;
  var params = 'a=changedivision&l=' + league + '&t=' + team + '&d=' + newdiv;
  http.open ('post', url, true);
  http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  http.onreadystatechange = function () {
    if (http.readyState == 4 && http.status == 200) {
      SimpleGet ("football", "teamdetails", "fslteamdetails", league, team);
      if (http.responseText.length) { alert (http.responseText); }
    }
    else if (http.readyState == 4) {
      alert ('Error: ' + http.status);
    }
  };
  http.send (params);
  delete http;
}

function FSLMemberVoterToggle (sport, league, member) {
  var url = sport + '_post.php';
  var http = new XMLHttpRequest;
  var params = 'a=membervotertoggle&l=' + league + '&m=' + escape (member);
  http.open ('post', url, true);
  http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  http.onreadystatechange = function () {
    if (http.readyState == 4 && http.status == 200) {
      SimpleGet ("football", "showmanagers", "fslshowmanagers", league);
      if (http.responseText.length) { alert (http.responseText); }
    }
    else if (http.readyState == 4) {
      alert ('Error: ' + http.status);
    }
  };
  http.send (params);
  delete http;
}

function FSLDelMember (sport, league, member) {
  var url = sport + '_post.php';
  var http = new XMLHttpRequest;
  var params = 'a=delmember&l=' + league + '&m=' + escape (member);
  if (confirm ("Remove this member from the league. Are you sure?")) {
    http.open ('post', url, true);
    http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
    http.onreadystatechange = function () {
      if (http.readyState == 4 && http.status == 200) {
        SimpleGet ("football", "showmanagers", "fslshowmanagers", league);
        SimpleGet ("football", "leagueinvites", "fslleagueinvites", league);
        if (http.responseText.length) { alert (http.responseText); } 
      }
      else if (http.readyState == 4) {
        alert ('Error: ' + http.status);
      }
    };
    http.send (params);
    delete http;
  }
}

function FSLCreateLeague (sport, league) {
  var url = sport + '_post.php';
  var http = new XMLHttpRequest;
  var crel = document.getElementById ('fslcreateleague');
  var tel = document.getElementById ('fslnametaken');
  var namel = document.getElementById ('inputleaguename');
  var descel = document.getElementById('inputleaguedesc');
  var params = '';
  if (typeof league != "undefined") { 
    params = 'a=updateleague&l=' + league;
  }
  else {
    params = 'a=createleague';
  }

  params = params + '&name=' + escape (namel.value) + '&desc=' + escape (descel.value);

  http.open ('post', url, true);
  http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  http.onreadystatechange = function () {
    if (http.readyState == 4 && http.status == 200) {
      if (typeof league == "undefined") {
        crel.style.color = '#666';
        crel.style.backgroundColor = '#ccc';
        crel.style.cursor = 'auto';
        crel.onclick = null;
        namel.value = '';
        descel.value = '';
        tel.innerHTML = '';
        SimpleGet (sport, "ownleagues", "fslownleagues");
      }
      else {
        tel.innerHTML = 'Updated';
        setTimeout ("document.getElementById ('fslnametaken').innerHTML = ''", 3000);
      }
      if (http.responseText.length) { alert (http.responseText); }
    }
  };
  http.send (params);
  delete http;
}

function FSLInviteMember (sport, league) {
  var url = sport + '_post.php';
  var http = new XMLHttpRequest;
  var name = document.getElementById ('inputinvite');
  var check = document.getElementById ('fslinvitecheck');
  var invite = document.getElementById ('fslinvitemember');
  var params = 'a=invitemember&l=' + league + '&name=' + escape (name.value);

  http.open ('post', url, true);
  http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
//  http.setRequestHeader('Content-length', params.length);
//  http.setRequestHeader('Connection', 'close');
  http.onreadystatechange = function () {
    if (http.readyState == 4 && http.status == 200) {
      invite.style.color = '#666';
      invite.style.backgroundColor = '#ccc';
      invite.style.cursor = 'auto';
      invite.onclick = null;
      name.value = '';
      check.innerHTML = '';
      SimpleGet ("football", "leagueinvites", "fslleagueinvites", league);
      if (http.responseText.length) { alert (http.responseText); }
    }
  };
  http.send (params);
  delete http;
}

function FSLCreateTeam (sport, league) {
  var url = sport + '_post.php';
  var http = new XMLHttpRequest;
  var name = document.getElementById ('inputmaketeam');
  var create = document.getElementById ('fslmaketeam');
  var division = document.getElementById ('selectdivision').value;
  var params = 'a=createteam&l=' + league + '&division=' + division + '&name=' + escape (name.value);

  http.open ('post', url, true);
  http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  http.onreadystatechange = function () {
    if (http.readyState == 4 && http.status == 200) {
      create.style.color = '#666';
      create.style.backgroundColor = '#ccc';
      create.style.cursor = 'auto';
      create.onclick = null;
      name.value = '';
      SimpleGet ("football", "showteams", "fslshowteams", league, "all");
      if (http.responseText.length) { alert (http.responseText); }
    }
    else if (http.readyState == 4) {
      alert ('Error: ' + http.status);
    }
  };
  http.send (params);
  delete http;
}

function FSLCreateUniverse (sport, league) {
  var url = sport + '_post.php';
  var http = new XMLHttpRequest;
  var name = document.getElementById ('inputmakeuniverse');
  var create = document.getElementById ('fslmakeuniverse');
  var conf = document.getElementById ('selectconference');
  var params = 'a=createuniverse&l=' + league + '&name=' + escape (name.value) + '&conference=' + conf.value;

  http.open ('post', url, true);
  http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  http.onreadystatechange = function () {
    if (http.readyState == 4 && http.status == 200) {
      create.style.color = '#666';
      create.style.backgroundColor = '#ccc';
      create.style.cursor = 'auto';
      create.onclick = null;
      name.value = '';
      SimpleGet ("football", "showuniverses", "fslshowuniverses", league);
      if (http.responseText.length) { alert (http.responseText); }
    }
    else if (http.readyState == 4) {
      alert ('Error: ' + http.status);
    }
  };
  http.send (params);
  delete http;
}

function FSLCreateDivision (sport, league) {
  var url = sport + '_post.php';
  var http = new XMLHttpRequest;
  var name = document.getElementById ('inputmakedivision');
  var create = document.getElementById ('fslmakedivision');
  var conf = document.getElementById ('selectuniverse');
  var params = 'a=createdivision&l=' + league + '&name=' + escape (name.value) + '&universe=' + conf.value;

  http.open ('post', url, true);
  http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  http.onreadystatechange = function () {
    if (http.readyState == 4 && http.status == 200) {
      create.style.color = '#666';
      create.style.backgroundColor = '#ccc';
      create.style.cursor = 'auto';
      create.onclick = null;
      name.value = '';
      SimpleGet ("football", "showdivisions", "fslshowdivisions", league);
      if (http.responseText.length) { alert (http.responseText); }
    }
    else if (http.readyState == 4) {
      alert ('Error: ' + http.status);
    }
  };
  http.send (params);
  delete http;
}

function FSLCheckMakeDivision (sport, league) {
  var name = document.getElementById ('inputmakedivision');
  var create = document.getElementById ('fslmakedivision');

  if (name.value.length) {
    create.style.color = '#FFF';
    create.style.backgroundColor = '#090';
    create.style.cursor = 'pointer';
    create.onclick = function () {
            FSLCreateDivision (sport, league);
          };
  }
  else {
    create.style.color = '#666';
    create.style.backgroundColor = '#ccc';
    create.style.cursor = 'auto';
    create.onclick = null;
  }
}

function FSLCheckMakeUniverse (sport, league) {
  var name = document.getElementById ('inputmakeuniverse');
  var create = document.getElementById ('fslmakeuniverse');

  if (name.value.length) {
    create.style.color = '#FFF';
    create.style.backgroundColor = '#090';
    create.style.cursor = 'pointer';
    create.onclick = function () {
            FSLCreateUniverse (sport, league);
          };
  }
  else {
    create.style.color = '#666';
    create.style.backgroundColor = '#ccc';
    create.style.cursor = 'auto';
    create.onclick = null;
  }
}

function FSLCheckMakeTeam (sport, league) {
  var name = document.getElementById ('inputmaketeam');
  var create = document.getElementById ('fslmaketeam');

  if (name.value.length) {
    create.style.color = '#FFF';
    create.style.backgroundColor = '#090';
    create.style.cursor = 'pointer';
    create.onclick = function () {
            FSLCreateTeam (sport, league);
          };
  }
  else {
    create.style.color = '#666';
    create.style.backgroundColor = '#ccc';
    create.style.cursor = 'auto';
    create.onclick = null;
  }
}

function FSLCheckInvite (sport, league) {
  var name = document.getElementById ('inputinvite');
  var invite = document.getElementById ('fslinvitemember');
  var check = document.getElementById ('fslinvitecheck');

  if (name.value.length) {
    var http = new XMLHttpRequest;
    var url = sport + "_get.php?a=caninvite&p0=" + league + "&p1=" + escape (name.value);
    http.open ("get", url, true);
    http.onreadystatechange = function () {
      if (http.readyState == 4 && http.status == 200) {
        if (http.responseText == '2') {
          invite.style.color = '#FFF';
          invite.style.backgroundColor = '#090';
          invite.style.cursor = 'pointer';
          invite.onclick = function () {
            FSLInviteMember (sport, league);
          };
          check.style.color = '#090';
          check.innerHTML = 'Can Invite';
        }
        else {
          invite.style.color = '#666';
          invite.style.backgroundColor = '#ccc';
          invite.style.cursor = 'auto';
          invite.onclick = null;
          check.style.color = '#900';
          if (http.responseText == '1') { check.innerHTML = 'Already Invited.'; }
          else if (http.responseText == '0') { check.innerHTML = 'Bad e-mail address.'; }
          else { check.innerHTML = 'User Unknown'; }
        }
      }
    };
    http.send (null);
    delete http;
  }
  else {
    invite.style.color = '#666';
    invite.style.backgroundColor = '#ccc';
    invite.style.cursor = 'auto';
    invite.onclick = null;
    check.innerHTML = '';
  }
}

function FSLCheckLeagueName (sport) {
  var namel = document.getElementById ('inputleaguename');
  var crel = document.getElementById ('fslcreateleague');
  var tel = document.getElementById ('fslnametaken');
  namel.value = namel.value.replace (/[^a-z0-9_ .-]/ig, '');
  if (namel.value.length) {
    var http = new XMLHttpRequest;
    var url = sport + "_get.php?a=leagueexists&p0=" + namel.value;
    http.open ("get", url, true);
    http.onreadystatechange = function () {
      if (http.readyState == 4 && http.status == 200) {
        if (http.responseText == '1') {
          crel.style.color = '#666';
          crel.style.backgroundColor = '#ccc';
          crel.style.cursor = 'auto';
          crel.onclick = null;
          tel.style.color = '#900';
          tel.innerHTML = 'Name Taken';
        }
        else {
          crel.style.color = '#FFF';
          crel.style.backgroundColor = '#900';
          crel.style.cursor = 'pointer';
          crel.onclick = function () {
            FSLCreateLeague (sport); // , escape (namel.value), escape (document.getElementById('inputleaguedesc').value));
          };
          tel.style.color = '#090';
          tel.innerHTML = 'Name Available';
        }
      }
    };
    http.send (null);
    delete http;
  }
  else {
    crel.style.color = '#666';
    crel.style.backgroundColor = '#ccc';
    crel.style.cursor = 'auto';
    crel.onclick = null;
    tel.innerHTML = '';
  }
}

function SimpleGet (sport, action, fillid, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) {
  var http = new XMLHttpRequest;
  var el = document.getElementById (fillid);
  var url = sport + "_get.php?a=" + action;
  if (typeof p0 != "undefined") { url = url + "&p0=" + p0 }
  if (typeof p1 != "undefined") { url = url + "&p1=" + p1 }
  if (typeof p2 != "undefined") { url = url + "&p2=" + p2 }
  if (typeof p3 != "undefined") { url = url + "&p3=" + p3 }
  if (typeof p4 != "undefined") { url = url + "&p4=" + p4 }
  if (typeof p5 != "undefined") { url = url + "&p5=" + p5 }
  if (typeof p6 != "undefined") { url = url + "&p6=" + p6 }
  if (typeof p7 != "undefined") { url = url + "&p7=" + p7 }
  if (typeof p8 != "undefined") { url = url + "&p8=" + p8 }
  if (typeof p9 != "undefined") { url = url + "&p9=" + p9 }

//  alert (url);
  http.open ("get", url, true);

  http.onreadystatechange =  function () {
    if (http.readyState == 4 && http.status == 200) {
      el.innerHTML = http.responseText;
    }
    else if (http.readyState == 4) {
      el.innerHTML = 'Error. Response Code: ' + http.status;
    }
  };
  http.send (null);
  delete http;
}

