var a= new Object;
var waitForAjax= 30;
var myKeepAliveTimer;
var scoreboardTimer;
var scoreboardWatchdog;

function showVersion(v) {
   version= "1.4";
   if (v!= version) alert ("Uw browser heeft een verouderde versie van dit script bewaard De meest recente versie is " + v +" maar u gebruikt nog versie " + version +". Ververs de pagina door de shift-toets ingedurkt te houden terwijl u op het icoon om te verversen drukt. U komt dan terug op de login-pagina. Probeer het vervolgens opnieuw. Als dit niet helpt, ga dan naar 'Extra', 'Internet opties', tabblad 'Algemeen'. Klik op 'Instellingen' onder 'Browser geschiedenis' en vervolgens op 'Toon bestanden'. Daar verwijdert u het bestand dat verwijst naar 'http://www.nijb.nl/js/homepage.js'");
   else alert("U heeft de meest actuele versie (" + v + ") van onze bibliotheek.");
}

function openWindow(url, name) {
   // Name may NOT contain whitespace or MSIE will crash
   if (!name) name='kompsos';
   window.open(url, name, 'menubar=yes,toolbar=yes,status=yes,location=yes,scrollbars=yes,resizable=1');
}

function keepAliveCallback() {
   var a=AjaxCallback();
   if (a) {
      var e=document.getElementById('Watchdog');
      if (e) {
         e.value= a;
         e.title= 'De sessie is actief';
         e.background= 'white';
         e.display= 'none';
      }
      if (myKeepAliveTimer) { clearTimeout(myKeepAliveTimer); }
      myKeepAliveTimer= setTimeout(keepAlive, 1000);
   }
}

function keepAlive() {
   if (myKeepAliveTimer) { clearTimeout(myKeepAliveTimer); }
   myKeepAliveTimer= setTimeout(keepAlive, 1000);
   var e=document.getElementById('Watchdog');
   if (e) {
      if (e.value> 0) {
         e.style.backgroundColor= '#fff';
      }
      else if (e.value==0) {
         e.title='De sessie wordt momenteel ververst.';
         AjaxCall('keepalive.ajax.php', null, keepAliveCallback);
      }
      else if (e.value< -120) {
         // Stop taking it easy... If no response after 2 minutes this baby may be dead
         if (-e.value % 60 == 1) {
            AjaxCall('keepalive.ajax.php', null, keepAliveCallback);
         }
      }
      if (e.value % 15 == -1) { // 4 updates per minute, though the real update is once every 2 minutes...
         var n= -e.value / 15;
         if      (n<= 1) { e.style.backgroundColor= '#F7FF5E'; e.title='Het verversen van de sessie duurt langer dan verwacht.'; }
         else if (n<= 2) { e.style.backgroundColor= '#F5FF48'; }
         else if (n<= 3) { e.style.backgroundColor= '#F4FF2F'; e.title='De eerste update van de sessie is mislukt.'; }
         else if (n<= 4) { e.style.backgroundColor= '#F3FF0D'; }
         else if (n<= 6) { e.style.backgroundColor= '#FDD90F'; }
         else if (n<= 8) { e.style.backgroundColor= '#FCCD10'; }
         else if (n<=10) { e.style.backgroundColor= '#FCB510'; }
         else if (n<=12) { e.display='block'; e.style.backgroundColor= '#FF980D'; e.title='Controleer de internetverbinding.'; }
         else if (n<=15) { e.style.backgroundColor= '#FF800D'; }
         else if (n<=18) { e.style.backgroundColor= '#FF6D0D'; }
         else if (n<=21) { e.display='block'; e.style.backgroundColor= '#FF5B0D'; e.title='LET OP: De sessie loopt af! Open een nieuw venster en ga naar de login-pagina.'; }
         else if (n<=25) { e.style.backgroundColor= '#FF550D'; }
         else if (n<=28) { e.style.backgroundColor= '#FF3E0D'; }
         else if (n<=32) { e.style.backgroundColor= '#FE320E'; }
         else if (n<=36) { e.display='block'; e.style.backgroundColor= '#FF0D0D'; e.title='De sessie is vermoedelijk verloren gegaan.'; }
         else            { e.display='block'; e.style.backgroundColor= '#F00000'; }

      }
      e.value--;
   }
}

function startScoreboard(Delay, LevelID) {
   scoreboardTimer= setTimeout('getSurveyLevel()', Delay* 1000);
}

function showSurvey() {
   var a= AjaxCallback();
   if (a) {
      clearTimeout(scoreboardTimer);
      clearTimeout(scoreboardWatchdog);
      var e= a.split('::');
      if (e[1]) {
         surveyTimeOut= setTimeout('getSurveyLevel()', e[0]* 1000);
      }
      else {
         e[2]= e[0];
      }
      var p= document.getElementById('scoreboard');
      if (p) p.innerHTML= e[2];
   }
}

function dummy() {
   a= AjaxCallback();
   if (a) {
      // Do nothing, just make sure the call is handled properly
   }
}

function getSurvey(id) {
   var k= 'LevelID=' + id;
   scoreboardWatchdog=setTimeout('getSurveyLevel()', waitForAjax* 1000);
   AjaxCall('survey.ajax.php', k, showSurvey);
}

function getSurveyLevel() {
   var l=document.getElementById('LevelID');
   var k= 'LevelID=' + l.value;
   scoreboardWatchdog=setTimeout('getSurveyLevel()', waitForAjax* 1000);
   AjaxCall('survey.ajax.php', k, showSurvey);
}

function nextMonth(article, year, month, RandomID) {
   if (month<12) { month++; }
   else  {month=1; year++; }
   if (!RandomID) RandomID= 'null';
   k= "Article="+ article +"&Month=" + month + "&Year=" + year + "&RandomID=" + RandomID;
   AjaxCall('calendar.ajax.php', k, showMonth);
}

function prevMonth(article, year, month, RandomID) {
   if (month>1) { month--; }
   else { month=12; year--; }
   if (!RandomID) RandomID= 'null';
   k= "Article="+ article +"&Month=" + month + "&Year=" + year + "&RandomID=" + RandomID;
   AjaxCall('calendar.ajax.php', k, showMonth);
}

function showMonth() {
   a= AjaxCallback();
   if (a) {
      var p= document.getElementById('calendar');
      if (p) p.innerHTML= a;
   }
}

function editPoll(Poll, ID) {
   window.open('poll.php?Poll='+Poll+'&ID='+ID);
}

function hasVoted() {
   a= AjaxCallback();
   if (a) {
      // First line contains the name of the DIV
      var pp= a.split(';');
      var s= 'poll['+ pp[0] + ']';
      var p= document.getElementById(s);
      if (p) p.innerHTML= pp[1];
   }
}


function vote(e) {
   var f=document.getElementById('form['+ e +']');
   if (f) {
      var a= f.elements;
      for (var j=0; j<a.length; j++) {
         if (a[j].checked) {
            k= 'poll'+ '=' + e +'&answer='+ a[j].value;
            AjaxCall('vote.ajax.php', k, hasVoted);
         }
      }
   }
}

var oldInnerHTML='';

function loadArticle() {
   var a= AjaxCallback();
   var popup= document.getElementById('centercolumns');
//   var popup= document.getElementById('popup');
   if (a) {
      if (popup) {
         if (! oldInnerHTML) oldInnerHTML= popup.innerHTML;
         popup.innerHTML=a;
         // Make sure, if it wasn't opened otherwise, to open the popup layer
         // var subframe= document.getElementById('subframe');
         // if (subframe) { subframe.innerHTML=a; }
         // var shade= document.getElementById('shade');
         // if (shade) { shade.style.display= 'block'; }
         popup.scrollTop = 0;
         var s= document.getElementById('runScript');
         if (s) eval(s.innerHTML);
//         popup.style.display= 'block';
      }
   }
}

function loadHeadlines() {
   var a= AjaxCallback();
   if (a) {
      // return value is articleID::InnerHTML
      var v=a.split('::');
      var popup= document.getElementById(v[0]);
      if (popup) popup.innerHTML=v[1];
   }
}

function closeArticle() {
   var popup= document.getElementById('centercolumns');
//   var popup= document.getElementById('popup');
   if (popup) {
      popup.innerHTML=oldInnerHTML;
      oldInnerHTML='';
//      var shade= document.getElementById('shade');
//      if (shade) { shade.style.display= 'none'; }
//      popup.style.display= 'none';
//      var subframe= document.getElementById('subframe');
//      if (subframe) { subframe.innerHTML=""; }

      return false; // To make sure the link is not activated
   }
   else {
      return true;
   }
}


function getArticle(ID, Params) {
   // TODO: Use scriptaculous for a more flashy opening
   var OK=false;
   var popup= document.getElementById('centercolumns');
   if (!oldInnerHTML) oldInnerHTML= popup.innerHTML;
//   if (popup) popup.innerHTML="<img class='loadimg' src='./images/loading.gif'>";
//   var subframe= document.getElementById('subframe');
//   if (subframe) {
//      var shade= document.getElementById('shade');
//      if (shade) { shade.style.display= 'block'; }
//     var popup= document.getElementById('popup');
//      if (popup) { shade.style.display= 'block'; }
//      popup.style.display= 'block';
//      subframe.innerHTML="<img class='loadimg' src='./images/loading.gif'>";

      var k='Article='+ ID;
      if (Params) k+= '&' + Params;
      AjaxCall('getarticle.ajax.php', k, loadArticle);
//   }
   // else { OK= true; }
   return OK;
}

function refreshArticle(Input, ID, Param) {
   var k= Param + '=';
   switch (Input.type) {
   case 'checkbox':
      if (Input.checked) { k+= Input.value; }
      else if (Input.value=='Y') { k+= 'N'; }
      else if (Input.value=='N') { k+= 'Y'; }
      else { k+= '0'; }
      break;
   case 'select-one':
      k+= Input.options[Input.selectedIndex].value;
      break;
   case 'radio':
      k+= Input.value;
      break;
   default:
      k+= Input.value;
      break;
   }
   return getArticle(ID, k);
}

function getUsers(e) {
   if (e.value) {
      getArticle('usermanagement', 'ClubID='+e.value);
   }
}

function compileRights(ID) {
   var e= document.getElementsByTagName('input');
   var tags= new Array();
   var c, C='';

   for (var i=0;i<e.length;i++) {
      if (e[i].type=='checkbox' && e[i].name.slice(0, 4)=='box_') {
         C= e[i].value.toUpperCase();
         c= e[i].value.toLowerCase();
         if (e[i].checked) {
            if (C=='X') { tags=e[i].value; break; }
            else if (e[i].value== C) {  if (tags.indexOf(c)>= 0) tags= tags.replace(c, ''); tags+= C; }
            else { if (tags.indexOf(C)<0) tags+= c; }
         }
      }
   }
   // Stitch in the modifiers
   var c=document.getElementById('defaultRights').value;
   var h= document.getElementById('users[Access]['+ ID +']');
   h.value=c;
   for (i=0; i<tags.length; i++) {
      c= tags.substr(i, 1);
      C= c.toUpperCase();
      h.value+= c;
      var k= document.getElementById('mod_'+C);
      if (k && k.value) {
         h.value+='[' + k.value + ']';
      }
   }
   // Now add this to the hidden part, i.e. all rights that the user is not allowed to edit, and update the field
   // finaly, call doUpdate()
   doUpdate(h);
}

// TODO: Put these in a secondary library as they are also defined in editor.js
function showInfo() {
   var a= AjaxCallback();
   if (a) { alert(a) }
}
function getInfo(Table, ID) {
   AjaxCall('info.ajax.php', 'Table=' + Table +'&ID=' + ID, showInfo);
}

function doLogin() {
   var a= AjaxCallback();
   if (a) {
      if (a.indexOf('location:')==0) {
          window.location.href=a.substr(9);
          window.location.reload(true);
      }
      else {
         var e= document.getElementById('login');
         if (e) e.innerHTML=a;
      }
   }
}

function tryLogin() {
   // TODO: Encrypt the password
   var e;
   var k= 'ajax=1';
   if (e= document.login.Cookie) {
      for (var i=0; i< e.length; i++) {
         if (e[i].checked==true) {
             k+= "&Cookie="+e[i].value;
             break;
         }
      }
   }
   var e= document.getElementById('ClubCode'); if(e) { k+= "&ClubCode=" + e.value; }
   var e= document.getElementById('UserName'); if(e) { k+= "&UserName=" + e.value; }
   var e= document.getElementById('Password'); if(e) { k+= "&Password=" + e.value; }
   AjaxCall('login.ajax.php', k, doLogin);

}

function tryLogoff() {
   AjaxCall('login.ajax.php', 'ajax=1&logoff=1', doLogin);
}

function doLogoff() {
   AjaxCall('login.ajax.php', 'ajax=1&logoff=0', loadArticle);
}

function reOpenGame(ID) {
   AjaxCall('reopen.ajax.php', 'GameID='+ID, dummy);
   return false;
}

function getMyGames(Article) {
   var e=document.getElementById('LevelID');
   if (e) {
      var k= "ajax=1&LevelID=" + e.options[e.selectedIndex].value;
      getArticle(Article, k);
   }
   return false;
}

function getRefAssignments(Article) {
   var k= "ajax=1";
   var e= document.getElementById('publish');
   if (e) { k+= "&publish=" + e.options[e.selectedIndex].value; }
   var e= document.getElementById('Begin');   if (e) k+= "&Begin="+e.value;
   var e= document.getElementById('End');     if (e) k+= "&End="+e.value;
   getArticle(Article, k);
   return false;
}

function reloadStats(Article, First, Last) {
   var e= null;
   var k='ajax=1&StatsMin=' + First + '&StatsMax=' + Last;

   e= document.getElementById('Sort'); if (e) k+= "&Sort="+ e.value;
   e= document.getElementById('LevelID'); if (e) k+= "&LevelID="+ e.value;
   e= document.getElementById('CompID'); if (e) k+= "&CompID=" + e.value;
   e= document.getElementById('TeamID'); if (e) k+= "&TeamID=" + e.value;
   e= document.getElementById('ClubID'); if (e) k+= "&ClubID=" + e.value;
   e= document.getElementById('Licence'); if (e) k+= "&Licence=" + e.value;
   getArticle(Article, k);
   return false;
}

function reloadPenalties(Article, First, Last) {
   var e= null;
   var k='ajax=1&PenMin=' + First + '&PenMax=' + Last;

   e= document.getElementById('LevelID'); if (e) k+= "&LevelID="+ e.value;
   e= document.getElementById('CompID'); if (e) k+= "&CompID=" + e.value;
   e= document.getElementById('TeamID'); if (e) k+= "&TeamID=" + e.value;
   e= document.getElementById('ClubID'); if (e) k+= "&ClubID=" + e.value;
   e= document.getElementById('Licence'); if (e) k+= "&Licence=" + e.value;
   getArticle(Article, k);
   return false;
}

function getHeadlines(ID, Limit) {
   var k='Article='+ ID;
   if (Limit) k+= '&ajax=1&Limit=' + Limit;
   AjaxCall('headlines.ajax.php', k, loadHeadlines);
}

function showIncident() {
   var a= AjaxCallback();
   if (a) {
      // callback kwill be ID::InnerHTML
      var v= a.split('::');
      if (v[0]) {
         var e=document.getElementById(v[0]);
         if (e) e.innerHTML=v[1];
      }
   }
}

function editIncident(ID) {
   var k= 'Incident='+ ID;
   AjaxCall('incidents.ajax.php', k, showIncident);
   return false;
}

var busy= false;
var eElement= null;
function hurryUp() {
   if (!busy) {
      if (!eElement) eElement= document.getElementById('Edit');
      if (eElement && eElement.checked) busy= true;
   }
}

function showUpdate() {
   var a= AjaxCallback();
   if (a) {
      if (a=='ERROR') { alert(a); }
      var p= document.getElementById('Edit');
      if (p) {
         p.disabled= false;
         p.checked= true;
      }
      p= document.getElementById('Feedback');
      if (p) {
         p.innerHTML= a;
         p.style.display='block';
      }
   }
}

function doUpdate(Field) {
   var go= 0;
   var k= new String;
   var p= document.getElementById('Edit');

   // Figure out what kind of field we are dealing with
//   if (!p.checked) { p.checked= confirm('Do you want to switch editing on?'); }
   switch (Field.type) {
   case 'checkbox':
      if (Field.checked) { k= Field.name + '=' +Field.value; }
      else if (Field.value=='Y') { k= Field.name + '=N'; }
      else if (Field.value=='N') { k= Field.name + '=Y'; }
      else { k= Field.name + '=0'; }
      break;
   case 'select-one':
      k= Field.name + '=' + Field.options[Field.selectedIndex].value;
      break;
   case 'radio':
      k= Field.name + '=' +Field.value;
      break;
   default:
      if (Field.value== Field.defaultValue) { return 0; }
//      else { Field.defaultValue= Field.value; } // Don't do this until upon return from Ajax!!'
      k= Field.name + '=' +Field.value;
      break;
   }

   if (!p || (p && p.checked)) {
      for (var n=0; n<50; n++) {
         if (i= document.getElementById('similar_'+ n)) {
            if (i.checked) v= i.value;  else v= 0;
            k+= "&similar[" + i.value + "]=" +v;
         }
         else {
            break;
         }
      }
      if (p) p.disabled= true;
      AjaxCall('update.ajax.php', k, showUpdate);
   }
   else {
      switch (Field.type) {
      case 'checkbox':
         Field.checked= Field.defaultChecked;
         break;
      case 'select-one':
         for (i=0; i<Field.length; i++) {
             Field.options[i].selected= Field.options[i].defaultSelected;
         }
         break;
      case 'radio':
         break;
      default:
         Field.value= Field.defaultValue;
      }
   }
}

function doUpdateDiv() {
   var a= AjaxCallback();
   if (a) {
      // returns 2 lines
      // Element
      // innerHTML
      var r= a.split('::');
      var p= document.getElementById(r[0]);
      if (p) {
         p.innerHTML= r[1];
      }
      else {
         alert("can't find "+ r[0]);
      }
   }
}

function updatePitches(p) {
   if (p) {
      var k= p.name + '=' + p.value;
      AjaxCall('updatepitches.ajax.php', k, doUpdateDiv);
   }
}

function toggleVisibility(id) {
   var e= document.getElementById(id);
   if (e) {
      if (e.style.display=='none') e.style.display='block';
      else e.style.display= 'none';
   }
}

function addTimeSlot() {
   AjaxCall('addtimeslot.ajax.php', null, doUpdateDiv);
}

function deleteTimeSlot(ID) {
   AjaxCall('addtimeslot.ajax.php', 'delete='+ID, doUpdateDiv);
}

function editRefereeCalendar(a) {
   var clear= false;
   var r= document.getElementById('reason').value;
   var p= document.getElementById('partial').checked;
   var k= 'PID='+PID+'&Date='+a.id;

   if (a.marked || (r==a.title)) { clear= true; }
   if (clear) { a.marked= false; a.oldClass=a.original; }
   else { if (r.length) { k+='&Reason='+r; } k+= '&Partial='; k+= (p) ? 'Y' : 'N'; a.original= a.oldClass; a.className='marked'; a.marked= true; }
   AjaxCall('referee.ajax.php', k, updateCalendar);
}

function updateCalendar() {
   var a= AjaxCallback();
   if (a) {
      var v= a.split('::');
      var d= document.getElementById(v[0]);
      if (d) {
         d.oldClass=v[1];
         if (d.className!='hovered') { d.className= v[1]; }
         d.title=v[2]; // Reason
         if (v[3]) { d.marked= (v[3]=='true'); }
         else { d.marked=(v[1].length>0); }
      }
   }
}

function editBlockerCalendar(a) {
   var clear= false;
   var k= 'Date='+a.id;
   var r='';

   var e= document.getElementById('Reason'); if (e) r= e.value;
   var e= document.getElementById('PID');    if (e) k+= '&PID=' + e.value;
   var e= document.getElementById('ClubID'); if (e) k+= '&ClubID=' + e.value;
   var e= document.getElementById('TeamID'); if (e) k+= '&TeamID=' + e.value;
   var e= document.getElementById('Venue');  if (e) k+= '&Venue=' + e.value;
   var e= document.getElementById('Pitch');  if (e) k+= '&Pitch=' + e.value;
   var e= document.getElementById('From');   if (e) k+= '&From=' + e.value;
   var e= document.getElementById('Till');   if (e) k+= '&Till=' + e.value;

   // Check which time slots are checked
   var e= document.getElementsByTagName('input');
   for (var i=0;i<e.length;i++) {
      if (e[i].type=='checkbox' && e[i].checked ) { k+= "&checkbox[" + e[i]['id'] +"]=" + e[i]['id']; }
   }

   if (a.marked || (r==a.title)) { clear= true; }
   if (clear) { a.marked= false; a.oldClass=a.original; }
   else {
      if (r.length) { k+= '&Reason=' + r; }
      a.original= a.oldClass; a.className='marked'; a.marked= true;
   }
   AjaxCall('blocker.ajax.php', k, updateCalendar);
}

function initCalendar(jsCall, extraParams) {
   var t=document.getElementsByTagName('table');
   for (var i=0;i<t.length;i++) {
      if(t[i].className=='month') {
         var r=t[i].getElementsByTagName('tr');
         for(var j=0; j<r.length; j++) {
            if(r[j].parentNode.nodeName=='TBODY' && r[j].parentNode.nodeName!='TFOOT') {
               var d=r[j].getElementsByTagName('td');
               for (var k=0; k<d.length; k++) {
                  if (d[k].id) {
                     d[k].onmouseover=function(){ this.oldClass= this.className; this.className='hovered'; return false; }
                     d[k].onmouseout=function(){ this.className=this.oldClass; return false; }
                     d[k].onclick= function() { eval(jsCall + "(this, extraParams)"); }
                  }
               }
            }
         }
      }
   }
}


function updatePitches(p) {
   if (p) {
      var k= p.name + '=' + p.value;
      AjaxCall('updatepitches.ajax.php', k, doUpdateDiv);
   }
}

function editBlock(Venue, ID) {
   var k= 'VenueID=' + Venue + '&Chronological=1';
   k+= '&BlockID='+ ID;
   if (!confirm('Verhindering verwijderen?')) return false;
   else { AjaxCall('showblockers.ajax.php', k, popupFeedback); return true; }
}

function addBlock(Venue) {
   var tables=document.getElementsByTagName('table');
   var d='';
   for (var i=0;i<tables.length;i++)  {
      if(tables[i].className=='month') {
         var trs=tables[i].getElementsByTagName('tr');
         for(var j=0; j<trs.length; j++) {
            if(trs[j].parentNode.nodeName=='TBODY' && trs[j].parentNode.nodeName!='TFOOT') {
               var tds=trs[j].getElementsByTagName('td');
               for (var k=0; k<tds.length; k++) {
                  if (tds[k].id) {
                     if (tds[k].marked) {
                        d+= (d) ? ',' : ''; d+=tds[k].id;
                     }
                  }
               }
            }
         }
      }
   }
   if (!d) { alert('U moet minimaal 1 dag selecteren'); return false; }

   var k= "VenueID=" + Venue + "&Dates="+d;
   var f= document.getElementById('write');
   if (f && f.checked) k+='&Write=1';

   var v= '';
   for (var i=1; i< 15; i++) {
      p=document.getElementById('pitch_' + i);
      if (p && p.checked) {
          v+= (v) ? ', ' : '';
          v+= p.value;
      }
   }
   if (!v) { alert('U moet minimaal 1 veld aanvinken'); return false; }
   k+= "&Pitch="+v;

   var r=document.getElementById('Reason').value;
   if (!r) { alert('U moet een reden opgeven'); return false; }
   k+= '&Reason=' + r;
   k+= '&Begin=' + document.getElementById('Begin').value;
   k+= '&End=' + document.getElementById('End').value;
   AjaxCall('showblockers.ajax.php', k, popupFeedback);
   return true;
}

function deleteTeam(CID, FID, SID, TeamID) {
   var k= 'ClubID=' + CID + '&FID=' + FID + '&SID='+SID + '&TeamID=' + TeamID;
   AjaxCall('addteam.ajax.php', k, doUpdateDiv);
}

function addTeam(CID, FID, SID) {
   var k= 'ClubID=' + CID + '&FID=' + FID + '&SID='+SID;
   AjaxCall('addteam.ajax.php', k, doUpdateDiv);
}

function addVenue(CID, VenueID) {
   var k='ClubID='+CID;
   if (VenueID<0) k+='&VenueID=-1&Command=Add';
   AjaxCall('addpreferedvenue.ajax.php', k, refreshVenues);
}

function updateVenues (CID) {
   var k='ClubID='+CID +'&VenueID=-1';
   AjaxCall('addpreferedvenue.ajax.php', k, refreshVenues);
}

function deleteVenue(CID, VenueID) {
   var k='ClubID='+CID +'&Command=Del&VenueID=' + VenueID;
   AjaxCall('addpreferedvenue.ajax.php', k, refreshVenues);
}



function openInOverlay(phpFile, paramStr) { AjaxCall(phpFile, paramStr, showOverlay); }
function openInFeedback(phpFile, paramStr) { AjaxCall(phpFile, paramStr, popupFeedback); }
function openInDiv(phpFile, paramStr) { AjaxCall(phpFile, paramStr, showDiv); }

function setTeamCalendar(TeamID) { openInOverlay('showcalendar.ajax.php', 'TeamID='+TeamID); }
function delAlternative(TeamID, ID) { openInOverlay('showalternatives.ajax.php', 'TeamID=' + TeamID +'&ID=' + ID + '&Command=Del'); }
function setSlotCalendar(Venue, Pitch, Day, Time) { openInOverlay('showcalendar.ajax.php', 'Venue='+Venue + '&Pitch=' + Pitch + '&Day=' +Day + '&Time='+ Time); }
function addAlternative(TeamID) { openInOverlay('showalternatives.ajax.php', 'TeamID='+TeamID+'&Command=Add'); }
function setAlternatives(TeamID) { openInOverlay('showalternatives.ajax.php', 'TeamID='+TeamID); }

function showShowTeamCalendar(TeamID) { openInFeedback('showcalendar.ajax.php', 'TeamID='+TeamID); }
function showAlternatives(TeamID) { openInFeedback('showalternatives.ajax.php', 'TeamID='+TeamID); }
function showBlockers(VenueID, chronological) {
   var k= 'VenueID='+VenueID;
   if (chronological) k+= '&Chronological=1';
   openInFeedback('showblockers.ajax.php', k);
}


function editUser(ID, Club)   { var k= 'Command=Edit&ID=' + ID; if (Club) k+= "&Club=" + Club; openInOverlay('edituser.ajax.php', k); }
function deleteUser(ID, Club) { var k= 'Command=Del&ID=' + ID; if (Club) k+= "&Club=" + Club; openInOverlay('edituser.ajax.php', k); }
function addUser(ID, Club)    { var k= 'Command=Add&ID=' + ID; if (Club) k+= "&Club=" + Club; openInOverlay('edituser.ajax.php', k); }

function addPlayer(TeamID, Pos) {
   var k= 'TeamID=' + TeamID + '&Pos=' + Pos;
   openInDiv('addplayer.ajax.php', k);                                                     
}
