// CLUBS / VENUES (STORED PROCEDURES)
// sp_clubs.js
// USES VARS AND FUNCTIONS FROM database.js

// :: FUNCTIONS
// f_clubRecords() ** NOT USED **
// f_clubs()
// f_clubWebsites() - LISTS THOSE CLUBS WITH WEBSITES - USED IN SITE MAP
// f_venues()
// f_venueDetails() - LISTS VENUES WITH MORE DETAILS - USED IN SITE MAP
// f_clubsPlayAt(VenueID) - RETURNS A LIST OF CLUBS WHO PLAY AT A PARTICULAR VENUE
// f_rtnOptClubs() - RTN <OPTION>s LIST

// RETURNS LIST OF CLUB RECORDS - LONG VERSION
// ** NOT USED **
function f_clubRecords() {
  var i, j, t, carr, vlist;

  // INIT;
  t = '<TABLE CLASS="record" ALIGN="center" CELLPADDING=0 CELLSPACING=0 BORDER=0>';

  for (i=0; i<ClubArr.length; i++) {
    carr = ClubArr[i].split(',');
    if (i > 0) {t += '<TR><TD COLSPAN=2>&nbsp;</TD></TR>';}

    t += '<TR><TD CLASS="title" COLSPAN=2>' + carr[1] + '</TD></TR>';

    // WEBSITE
    if (carr[3] > ' ') {
      t += '<TR><TH>Website:</TH><TD><A HREF="http://' + carr[3] + '" TARGET="_window">' + carr[3] + '</A></TD></TR>';
    }

    // VENUES
    t += '<TR><TH>Venue:</TH><TD>';
    vlist = carr[2].split('|');
    for (j=0; j<vlist.length; j++) {
      t += (j>0) ? ', ' : '';
      t += f_linkVenue(vlist[j]);
    }
    t += '</TD></TR>';
  }

  // DONE
  t += '</TABLE>';

  return t;
}

// RETURNS LIST OF CLUBS - SHORT TABLE VERSION
function f_clubs() {
  var i, j, t, carr, vlist, heading;
  var count = 0;

  // INIT;
  t = '<TABLE CLASS="fixtures" CELLPADDING=0 CELLSPACING=0 BORDER=0>';
  heading = '<TR><TH>Club</TH><TH>Venue(s)</TH><TH>Club Website</TH></TR>';
  t += heading;
  //t += '<TR><TD COLSPAN=3>&nbsp;</TD></TR>';

  for (i=0; i<ClubArr.length; i++) {
    carr = ClubArr[i].split(',');

    // NO VENUE THEN SPECIAL CASE - NOT A CLUB - CONTINUE
    if (carr[2] < ' ') {
			continue;
    }
		
		// Has club been deleted?
		if (carr[4] == 'D') {
			continue;
		}

		count++;
		
    // CONVERT SPACES IN NAME INTO &nbsp;
		// But could be of the form... <span class="info" title="Formerly Blah">Club Name</span>
		// Just ignore if <span for now
		if (carr[1].indexOf('<span') == -1) {
    	carr[1] = carr[1].replace(/\s/g,'&nbsp;');
		}

    // SPECIAL: CONVERT 'University' INTO 'Uni' TO SAVE SPACE AND AVOID OVERLAP ON 800x600
    // >> CHANGED IN DATA
    //carr[1] = carr[1].replace(/University/g,'Uni');

    t += '<TR';
    if (carr[0] == _HOME_CLUBID) {
      t += ' class="bgshade"';
    } else if ((i % 2) != 0) {
      t += ' class="highlight"';
    }
    t += '>';
    t += '<TD>';
    t += '<B>' + carr[1] + '</B></TD>';

    // VENUES
    t += '<TD>';
    vlist = carr[2].split('|');
    for (j=0; j<vlist.length; j++) {
      t += (j>0) ? ', ' : '';
      t += f_linkVenue(vlist[j]);
    }
    t += '</TD>';

    // WEBSITE
    if (carr[3] > ' ') {
      t += '<TD><A HREF="/links/framed.php?url=http://' + carr[3] + '">' + carr[3] + '</A></TD>';
    } else {
      t += '<TD CLASS="faint">-?-</TD>';
    }

    t += '</TR>';
  }

  // DONE
  //t += '<TR><TD COLSPAN=3>&nbsp;</TD></TR>';
  t += heading + '</table>';
  t += '<p>' + count + ' clubs listed.</p>';

  return t;
}

// RETURNS LIST OF CLUB WEBSITES
// (USED IN SITE MAP)
function f_clubWebsites() {
  var i, t, carr;
  var count = 0;

  // INIT;
  t = '';

  for (i=0; i<ClubArr.length; i++) {
    carr = ClubArr[i].split(',');

    // ONLY THOSE WITH WEBSITES...
    // (AND NOT US!)
    if ((carr[3] > ' ') && (carr[0] != _HOME_CLUBID)) {
      if (count > 0) t += '<BR>';
      t += '<IMG STYLE="margin-right:4px;" SRC="/img/sdot7.gif" WIDTH=7 HEIGHT=7>';
      t += '<A CLASS="nounderline" HREF="/links/framed.php?url=http://' + carr[3] + '">';
      t += carr[1] + ' - <SPAN CLASS="smallfont">' + carr[3] + '</SPAN></A>';
      count++;
    }
  }

  return t;
}

// RETURNS LIST OF VENUES - SHORT TABLE VERSION
function f_venues() {
  var i, t, varr, heading;
  var count = 0;

  // INIT;
  t = '<TABLE CLASS="fixtures" CELLPADDING=0 CELLSPACING=0 BORDER=0>';
  heading = '<TR><TH>Venue</TH><TH>Clubs who play here...</TH></TR>';
  t += heading;
  //t += '<TR><TD COLSPAN="2">&nbsp;</TD></TR>';

  for (i=0; i<VenueArr.length; i++) {
    count++;
    varr = VenueArr[i].split(',');

    t += '<TR';
    if ((i % 2) != 0) {t += ' class="highlight"';}
    t += '>';

    // VENUE
    t += '<TD><B>' + f_linkVenue(varr[0]) + '</B>';
		
		// Photo of venue?
		if (varr[3] == '_PHOTO') {
			t += ' <img src="/img/minicam_anim.gif" width="9" height="8" border="0" alt="Includes a photo of the hall" title="Includes a photo of the hall" />';
		}
		
		t += '</TD>';

    // CLUBS...
    t += '<TD>' + f_clubsPlayAt(varr[0]) + '</TD>';    
  }

  // DONE
  //t += '<TR><TD COLSPAN="2">&nbsp;</TD></TR>';
  t += heading + '</table>';
  t += '<p>' + count + ' venues listed.</p>';

  return t;
}

// RETURNS LIST OF VENUES WITH MORE DETAILS
// (USED IN SITE MAP)
function f_venueDetails() {
  var i, t, varr;
  var count = 0;

  // INIT;
  t = '';

  for (i=0; i<VenueArr.length; i++) {
    varr = VenueArr[i].split(',');

    // ONLY THOSE WITH MORE DETAILS...
    if (varr[2] > ' ') {
      if (count > 0) t += '<BR>';
      t += '<IMG STYLE="margin-right:4px;" SRC="/img/sdot7.gif" WIDTH=7 HEIGHT=7>';
      t += f_linkVenue(varr[0]);
      count++;
    }
  }

  return t;
}

// RETURNS A LIST OF CLUBS WHO PLAY AT A PARTICULAR VENUE
function f_clubsPlayAt(VenueID) {
  var t = '';
  var j, k, carr, varr;

  // STEP THROUGH ALL CLUBS LOOKING FOR VENUE!
  for (j=0; j<ClubArr.length; j++) {
    carr = ClubArr[j].split(',');
		
		// Has club been deleted?
		if (carr[4] == 'D') {
			continue;
		}
		
    // NB: CLUB COULD PLAY AT MORE THAN ONE VENUE, SEPERATED BY '|'
    // BUT, VENUE ID COULD BE PART OF ANOTHER ID! eg. WCSch (Waingels) AND CSch (Crosfields)
    varr = carr[2].split('|');
    for (k=0; k<varr.length; k++) {
      if (varr[k] == VenueID) {
        if (t > ' ') {t += ', ';}
        t += carr[1];
        break;
      }
    }
  }
	
	// Found any?!
	if (t == '') {t = '-?-';}

  return t;
}

// RTNS LIST OF CLUBS <OPTION>...
// Used in Player Lookup (lookup.html)
function f_rtnOptClubs() {
  var t, i, fields;

  // INIT - 'ALL CLUBS' OPTION (DEFAULT)
  t = '<OPTION VALUE="' + _ALL + '" SELECTED>All Clubs\n';

  // STEP THROUGH CLUB ARRAY
  for (i=0; i<ClubArr.length; i++) {
    fields = ClubArr[i].split(',');

    // PUT DIVISION BEFORE LEAGUE COMMITTEEs
    if (fields[0] == 'BLC') {
      t += '<OPTION>-----------------------------------';
    }

    t += '<OPTION VALUE="' + fields[0] + '">' + fields[1] + '\n';
  }

  return t;
}
