%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
<%
function getName(competeID){
var name = Server.CreateObject("ADODB.Recordset");
name.ActiveConnection = BULSCA_CON_STRING;//BULSCA current members
name.Source = "SELECT CHAMPS_Competitors.Competitor_ID, CHAMPS_Competitors.First_Name, CHAMPS_Competitors.Last_Name FROM CHAMPS_Competitors WHERE CHAMPS_Competitors.Competitor_ID="+competeID;
name.CursorType = 0;
name.CursorLocation = 2;
name.LockType = 1;
name.Open();
return name.Fields.Item("First_Name").Value+" "+name.Fields.Item("Last_Name").Value
}
function details(entryID){ //Will return the name, unversity of the competitor
var check = Server.CreateObject("ADODB.Recordset");
check.ActiveConnection = BULSCA_CON_STRING;//BULSCA current members
check.Source = "SELECT `CHAMPS_ENTRIES_DETAILS_2`.`type`AS typeE,`CHAMPS_Competitors`.`Club_ID`, `CHAMPS_Competitors`.`Type` AS typeC,`CHAMPS_ENTRIES_DETAILS_2`.`Competitor_ID_1`,`CHAMPS_ENTRIES_DETAILS_2`.`Competitor_ID_2` FROM `CHAMPS_ENTRIES_DETAILS_2` AS `CHAMPS_ENTRIES_DETAILS_2`, `CHAMPS_Competitors` AS `CHAMPS_Competitors` WHERE `CHAMPS_ENTRIES_DETAILS_2`.`Competitor_ID_1` = `CHAMPS_Competitors`.`Competitor_ID` AND `CHAMPS_ENTRIES_DETAILS_2`.ENTRIES_DETAILS_2_ID ="+entryID;
check.CursorType = 0;
check.CursorLocation = 2;
check.LockType = 1;
check.Open();
var entry="
"+UniClub(check.Fields.Item("Club_ID").Value)+" | "+StringClubName(check.Fields.Item("Club_ID").Value)+" | "+check.Fields.Item("Club_ID").Value+" | ";
entry=entry+""+getName(check.Fields.Item("Competitor_ID_1").Value)+" | "+check.Fields.Item("Competitor_ID_1").Value+" | ";
entry=entry+""+getName(check.Fields.Item("Competitor_ID_2").Value)+" | "+check.Fields.Item("Competitor_ID_2").Value+" | ";
entry=entry+" | "+check.Fields.Item("typeE").Value+" | "+check.Fields.Item("typeC").Value+" | "
return entry;
}
function getTime(entryID){ //Will return time of the compettitor
var getTimes= Server.CreateObject("ADODB.Recordset");
getTimes.ActiveConnection = BULSCA_CON_STRING;//BULSCA current members
getTimes.Source = "SELECT `ENTRY_TIME` FROM `CHAMPS_ENTRIES_DETAILS_2` AS `CHAMPS_ENTRIES_DETAILS_2` WHERE `ENTRIES_DETAILS_2_ID`="+entryID;
getTimes.CursorType = 0;
getTimes.CursorLocation = 2;
getTimes.LockType = 1;
getTimes.Open();
return getTimes.Fields.Item("ENTRY_TIME").Value;
}
function eventName(eventID){
var eventNames= Server.CreateObject("ADODB.Recordset");
eventNames.ActiveConnection = BULSCA_CON_STRING;//BULSCA current members
eventNames.Source = "SELECT `EVENT_NAME` FROM `CHAMPS_SPEED_EVENTS` AS `CHAMPS_SPEED_EVENTS` WHERE `EVENT_ID` = "+eventID;
eventNames.CursorType = 0;
eventNames.CursorLocation = 2;
eventNames.LockType = 1;
eventNames.Open();
return eventNames.Fields.Item("EVENT_NAME").Value;
}
%>
<%Session.LCID = 2057;//makes it the Uk dates%>
<% //all the entery id and time for all compettitos
//varible used in both methods
var competitors= new Array();// array to hold all the competitorID
var num_teams=0;// the number of teams
if (Request.QueryString("champs")<6){ // id befor 6 are for the 2013 champs and earlier
//all the entery id and time for all compettitos
var seed = Server.CreateObject("ADODB.Recordset");
seed.ActiveConnection = BULSCA_CON_STRING;//BULSCA current members
seed.Source = "SELECT ENTRY_ID FROM (SELECT `CHAMPS_ENTRIES_ACEPTED`.`ENTRY_ID`,`CHAMPS_ENTRIES_DETAILS_2`.`ENTRY_TIME` FROM `CHAMPS_Competitors` AS `CHAMPS_Competitors`, `BUSLCA_ACREDITEDCLUB` AS `BUSLCA_ACREDITEDCLUB`, `CHAMPS_ENTRIES_DETAILS_2` AS `CHAMPS_ENTRIES_DETAILS_2`, `CHAMPS_SPEED_ENTRIES` AS `CHAMPS_SPEED_ENTRIES`, `CHAMPS_ENTRIES_ACEPTED` AS `CHAMPS_ENTRIES_ACEPTED` WHERE `CHAMPS_Competitors`.`Club_ID` IN (SELECT BUSLCA_ACREDITEDCLUB.CULB_ID FROM BUSLCA_ACREDITEDCLUB WHERE BUSLCA_ACREDITEDCLUB.time_removed Is Null) AND `CHAMPS_ENTRIES_DETAILS_2`.`Competitor_ID_1` = `CHAMPS_Competitors`.`Competitor_ID` AND `CHAMPS_ENTRIES_DETAILS_2`.`ENTRY_ID` = `CHAMPS_SPEED_ENTRIES`.`ENTRY_ID` AND `CHAMPS_ENTRIES_ACEPTED`.`COMP`=2 AND `CHAMPS_ENTRIES_ACEPTED`.`ENTRY_ID` = `CHAMPS_ENTRIES_DETAILS_2`.`ENTRIES_DETAILS_2_ID` AND `CHAMPS_Competitors`.`Club_ID` = `CHAMPS_SPEED_ENTRIES`.`Club_ID` AND NOT `CHAMPS_SPEED_ENTRIES`.`ENTRY_ID` IN (SELECT CHAMPS_ENTRIES_removed.ENTRY_ID FROM CHAMPS_ENTRIES_removed)AND NOT CHAMPS_ENTRIES_DETAILS_2.Competitor_ID_1 IN (SELECT CHAMPS_Competitors_removed.Competitor_ID FROM CHAMPS_Competitors_removed) AND `CHAMPS_Competitors`.`Type` <> 'K' AND `CHAMPS_Competitors`.`Type` <> 'Q' AND `CHAMPS_SPEED_ENTRIES`.`SEX` = '"+Request.QueryString("sex")+"' AND `CHAMPS_Competitors`.`verified_by` IS NOT NULL AND `CHAMPS_ENTRIES_DETAILS_2`.`ENTRY_TIME`>0 AND `CHAMPS_SPEED_ENTRIES`.`CHAMPS_ID` = "+Request.QueryString("champs")+" AND `CHAMPS_SPEED_ENTRIES`.`EVENT_ID` = "+Request.QueryString("event")+" AND NOT CHAMPS_ENTRIES_DETAILS_2.Competitor_ID_2 IN (SELECT CHAMPS_Competitors_removed.Competitor_ID FROM CHAMPS_Competitors_removed)) GROUP BY ENTRY_ID, ENTRY_TIME ORDER BY ENTRY_TIME DESC";
seed.CursorType = 0;
seed.CursorLocation = 2;
seed.LockType = 1;
seed.Open();
var seedOthers = Server.CreateObject("ADODB.Recordset");//non-BUSLCa 16-18's
seedOthers.ActiveConnection = BULSCA_CON_STRING;
seedOthers.Source = "SELECT ENTRY_ID FROM (SELECT `CHAMPS_ENTRIES_ACEPTED`.`ENTRY_ID`,`CHAMPS_ENTRIES_DETAILS_2`.`ENTRY_TIME` FROM `CHAMPS_ENTRIES_ACEPTED` AS `CHAMPS_ENTRIES_ACEPTED`, `CHAMPS_ENTRIES_DETAILS_2` AS `CHAMPS_ENTRIES_DETAILS_2`, `BUSLCA_ACREDITEDCLUB` AS `BUSLCA_ACREDITEDCLUB`, `CHAMPS_Competitors` AS `CHAMPS_Competitors`, `CHAMPS_SPEED_ENTRIES` AS `CHAMPS_SPEED_ENTRIES` WHERE `CHAMPS_ENTRIES_ACEPTED`.`ENTRY_ID` = `CHAMPS_ENTRIES_DETAILS_2`.`ENTRIES_DETAILS_2_ID` AND NOT `CHAMPS_SPEED_ENTRIES`.`ENTRY_ID` IN (SELECT CHAMPS_ENTRIES_removed.ENTRY_ID FROM CHAMPS_ENTRIES_removed)AND NOT CHAMPS_ENTRIES_DETAILS_2.Competitor_ID_1 IN (SELECT CHAMPS_Competitors_removed.Competitor_ID FROM CHAMPS_Competitors_removed)AND NOT CHAMPS_ENTRIES_DETAILS_2.Competitor_ID_2 IN (SELECT CHAMPS_Competitors_removed.Competitor_ID FROM CHAMPS_Competitors_removed) AND `CHAMPS_SPEED_ENTRIES`.`CHAMPS_ID` = "+Request.QueryString("champs")+" AND `CHAMPS_SPEED_ENTRIES`.`EVENT_ID` = "+Request.QueryString("event")+" AND `CHAMPS_Competitors`.`Club_ID` NOT IN (SELECT BUSLCA_ACREDITEDCLUB.CULB_ID FROM BUSLCA_ACREDITEDCLUB WHERE BUSLCA_ACREDITEDCLUB.time_removed Is Null)AND `CHAMPS_ENTRIES_ACEPTED`.`COMP`=2 AND `CHAMPS_ENTRIES_DETAILS_2`.`Competitor_ID_1` = `CHAMPS_Competitors`.`Competitor_ID` AND `CHAMPS_ENTRIES_DETAILS_2`.`ENTRY_ID` = `CHAMPS_SPEED_ENTRIES`.`ENTRY_ID` AND `CHAMPS_Competitors`.`Club_ID` = `CHAMPS_SPEED_ENTRIES`.`Club_ID` AND `CHAMPS_Competitors`.`Type` = '"+Request.QueryString("sex")+"' AND `CHAMPS_ENTRIES_DETAILS_2`.`ENTRY_TIME` >0 AND `CHAMPS_Competitors`.`verified_by` IS NOT NULL AND `CHAMPS_Competitors`.`DOB`>#17/3/1994#) GROUP BY ENTRY_ID, ENTRY_TIME ORDER BY ENTRY_TIME DESC";
seedOthers.CursorLocation = 2;
seedOthers.LockType = 1;
seedOthers.Open();
var noseed = Server.CreateObject("ADODB.Recordset");//non bulsca older people
noseed.ActiveConnection = BULSCA_CON_STRING;
noseed.Source = "SELECT ENTRY_ID FROM (SELECT `CHAMPS_ENTRIES_ACEPTED`.`ENTRY_ID`,`CHAMPS_ENTRIES_DETAILS_2`.`ENTRY_TIME` FROM `CHAMPS_ENTRIES_ACEPTED` AS `CHAMPS_ENTRIES_ACEPTED`, `CHAMPS_ENTRIES_DETAILS_2` AS `CHAMPS_ENTRIES_DETAILS_2`, `BUSLCA_ACREDITEDCLUB` AS `BUSLCA_ACREDITEDCLUB`, `CHAMPS_Competitors` AS `CHAMPS_Competitors`, `CHAMPS_SPEED_ENTRIES` AS `CHAMPS_SPEED_ENTRIES` WHERE `CHAMPS_ENTRIES_ACEPTED`.`ENTRY_ID` = `CHAMPS_ENTRIES_DETAILS_2`.`ENTRIES_DETAILS_2_ID` AND NOT `CHAMPS_SPEED_ENTRIES`.`ENTRY_ID` IN (SELECT CHAMPS_ENTRIES_removed.ENTRY_ID FROM CHAMPS_ENTRIES_removed)AND NOT CHAMPS_ENTRIES_DETAILS_2.Competitor_ID_1 IN (SELECT CHAMPS_Competitors_removed.Competitor_ID FROM CHAMPS_Competitors_removed)AND NOT CHAMPS_ENTRIES_DETAILS_2.Competitor_ID_2 IN (SELECT CHAMPS_Competitors_removed.Competitor_ID FROM CHAMPS_Competitors_removed) AND `CHAMPS_SPEED_ENTRIES`.`CHAMPS_ID` = "+Request.QueryString("champs")+" AND `CHAMPS_SPEED_ENTRIES`.`EVENT_ID` = "+Request.QueryString("event")+" AND `CHAMPS_Competitors`.`Club_ID` NOT IN (SELECT BUSLCA_ACREDITEDCLUB.CULB_ID FROM BUSLCA_ACREDITEDCLUB WHERE BUSLCA_ACREDITEDCLUB.time_removed Is Null)AND `CHAMPS_ENTRIES_ACEPTED`.`COMP`=2 AND `CHAMPS_ENTRIES_DETAILS_2`.`Competitor_ID_1` = `CHAMPS_Competitors`.`Competitor_ID` AND `CHAMPS_ENTRIES_DETAILS_2`.`ENTRY_ID` = `CHAMPS_SPEED_ENTRIES`.`ENTRY_ID` AND `CHAMPS_Competitors`.`Club_ID` = `CHAMPS_SPEED_ENTRIES`.`Club_ID` AND `CHAMPS_Competitors`.`Type` = '"+Request.QueryString("sex")+"' AND `CHAMPS_ENTRIES_DETAILS_2`.`ENTRY_TIME` >0 AND `CHAMPS_Competitors`.`verified_by` IS NOT NULL AND `CHAMPS_Competitors`.`DOB`<#17/3/1994#) GROUP BY ENTRY_ID, ENTRY_TIME ORDER BY ENTRY_TIME DESC";
noseed.CursorLocation = 2;
noseed.LockType = 1;
noseed.Open();
var noseedOthers = Server.CreateObject("ADODB.Recordset");
noseedOthers.ActiveConnection = BULSCA_CON_STRING;//BULSCA old boys
noseedOthers.Source = "SELECT ENTRY_ID FROM (SELECT `CHAMPS_ENTRIES_ACEPTED`.`ENTRY_ID`,`CHAMPS_ENTRIES_DETAILS_2`.`ENTRY_TIME` FROM `CHAMPS_Competitors` AS `CHAMPS_Competitors`, `BUSLCA_ACREDITEDCLUB` AS `BUSLCA_ACREDITEDCLUB`, `CHAMPS_ENTRIES_DETAILS_2` AS `CHAMPS_ENTRIES_DETAILS_2`, `CHAMPS_SPEED_ENTRIES` AS `CHAMPS_SPEED_ENTRIES`, `CHAMPS_ENTRIES_ACEPTED` AS `CHAMPS_ENTRIES_ACEPTED` WHERE `CHAMPS_Competitors`.`Club_ID` IN (SELECT BUSLCA_ACREDITEDCLUB.CULB_ID FROM BUSLCA_ACREDITEDCLUB WHERE BUSLCA_ACREDITEDCLUB.time_removed Is Null) AND `CHAMPS_ENTRIES_DETAILS_2`.`Competitor_ID_1` = `CHAMPS_Competitors`.`Competitor_ID` AND `CHAMPS_ENTRIES_DETAILS_2`.`ENTRY_ID` = `CHAMPS_SPEED_ENTRIES`.`ENTRY_ID` AND `CHAMPS_ENTRIES_ACEPTED`.`ENTRY_ID` = `CHAMPS_ENTRIES_DETAILS_2`.`ENTRIES_DETAILS_2_ID` AND `CHAMPS_Competitors`.`Club_ID` = `CHAMPS_SPEED_ENTRIES`.`Club_ID` AND NOT `CHAMPS_SPEED_ENTRIES`.`ENTRY_ID` IN (SELECT CHAMPS_ENTRIES_removed.ENTRY_ID FROM CHAMPS_ENTRIES_removed)AND NOT CHAMPS_ENTRIES_DETAILS_2.Competitor_ID_1 IN (SELECT CHAMPS_Competitors_removed.Competitor_ID FROM CHAMPS_Competitors_removed)AND `CHAMPS_ENTRIES_ACEPTED`.`COMP`=2 AND (`CHAMPS_Competitors`.`Type` = 'K' OR `CHAMPS_Competitors`.`Type` = 'Q') AND `CHAMPS_SPEED_ENTRIES`.`SEX` = '"+Request.QueryString("sex")+"' AND `CHAMPS_Competitors`.`verified_by` IS NOT NULL AND `CHAMPS_ENTRIES_DETAILS_2`.`ENTRY_TIME`>0 AND `CHAMPS_SPEED_ENTRIES`.`CHAMPS_ID` = "+Request.QueryString("champs")+" AND `CHAMPS_SPEED_ENTRIES`.`EVENT_ID` = "+Request.QueryString("event")+"AND NOT CHAMPS_ENTRIES_DETAILS_2.Competitor_ID_2 IN (SELECT CHAMPS_Competitors_removed.Competitor_ID FROM CHAMPS_Competitors_removed))GROUP BY ENTRY_ID, ENTRY_TIME ORDER BY ENTRY_TIME DESC";
noseedOthers.CursorType = 0;
noseedOthers.CursorLocation = 2;
noseedOthers.LockType = 1;
noseedOthers.Open();
var noTime = Server.CreateObject("ADODB.Recordset");
noTime.ActiveConnection = BULSCA_CON_STRING;//BULSCA old boys
noTime.Source = "SELECT ENTRY_ID FROM (SELECT `CHAMPS_ENTRIES_ACEPTED`.`ENTRY_ID` FROM `CHAMPS_Competitors` AS `CHAMPS_Competitors`, `BUSLCA_ACREDITEDCLUB` AS `BUSLCA_ACREDITEDCLUB`, `CHAMPS_ENTRIES_DETAILS_2` AS `CHAMPS_ENTRIES_DETAILS_2`, `CHAMPS_SPEED_ENTRIES` AS `CHAMPS_SPEED_ENTRIES`, `CHAMPS_ENTRIES_ACEPTED` AS `CHAMPS_ENTRIES_ACEPTED` WHERE `CHAMPS_ENTRIES_DETAILS_2`.`Competitor_ID_1` = `CHAMPS_Competitors`.`Competitor_ID` AND `CHAMPS_ENTRIES_DETAILS_2`.`ENTRY_ID` = `CHAMPS_SPEED_ENTRIES`.`ENTRY_ID` AND `CHAMPS_ENTRIES_ACEPTED`.`ENTRY_ID` = `CHAMPS_ENTRIES_DETAILS_2`.`ENTRIES_DETAILS_2_ID` AND `CHAMPS_Competitors`.`Club_ID` = `CHAMPS_SPEED_ENTRIES`.`Club_ID` AND NOT `CHAMPS_SPEED_ENTRIES`.`ENTRY_ID` IN (SELECT CHAMPS_ENTRIES_removed.ENTRY_ID FROM CHAMPS_ENTRIES_removed)AND NOT CHAMPS_ENTRIES_DETAILS_2.Competitor_ID_1 IN (SELECT CHAMPS_Competitors_removed.Competitor_ID FROM CHAMPS_Competitors_removed) AND `CHAMPS_SPEED_ENTRIES`.`SEX` = '"+Request.QueryString("sex")+"' AND `CHAMPS_Competitors`.`verified_by` IS NOT NULL AND `CHAMPS_ENTRIES_ACEPTED`.`COMP`=2 AND NOT CHAMPS_ENTRIES_DETAILS_2.Competitor_ID_2 IN (SELECT CHAMPS_Competitors_removed.Competitor_ID FROM CHAMPS_Competitors_removed) AND `CHAMPS_ENTRIES_DETAILS_2`.`ENTRY_TIME`=0 AND `CHAMPS_SPEED_ENTRIES`.`CHAMPS_ID` = "+Request.QueryString("champs")+" AND `CHAMPS_SPEED_ENTRIES`.`EVENT_ID` = "+Request.QueryString("event")+") GROUP BY ENTRY_ID";
noTime.CursorType = 0;
noTime.CursorLocation = 2;
noTime.LockType = 1;
noTime.Open();
//adds team to the array to calculate the draw
while(!noTime.EOF){
num_teams++;
competitors[num_teams]=noTime.Fields.Item("ENTRY_ID").Value;
noTime.MoveNext();
}
noTime.Close();
while (!noseed.EOF && !noseedOthers.EOF){// merges groups of peopel who are un seeded
num_teams++;
if(getTime(noseed.Fields.Item("ENTRY_ID").Value)>getTime(noseedOthers.Fields.Item("ENTRY_ID").Value)){
competitors[num_teams]=noseed.Fields.Item("ENTRY_ID").Value;
noseed.MoveNext();
}else{
competitors[num_teams]=noseedOthers.Fields.Item("ENTRY_ID").Value;
noseedOthers.MoveNext();
}
}
while (!noseed.EOF){// flushes the left overs
num_teams++;
competitors[num_teams]=noseed.Fields.Item("ENTRY_ID").Value;
noseed.MoveNext();
}
while (!noseedOthers.EOF){// flushes the other left overs
num_teams++;
competitors[num_teams]=noseedOthers.Fields.Item("ENTRY_ID").Value;
noseedOthers.MoveNext();
}
noseed.Close();
noseedOthers.Close();
//all add the rest of the swimmer to the draw
while (!seed.EOF && !seedOthers.EOF){// mergeges groups of people to0 be seeded
num_teams++;
if(getTime(seed.Fields.Item("ENTRY_ID").Value)>getTime(seedOthers.Fields.Item("ENTRY_ID").Value)){
competitors[num_teams]=seed.Fields.Item("ENTRY_ID").Value;
seed.MoveNext();
}else{
competitors[num_teams]=seedOthers.Fields.Item("ENTRY_ID").Value;
seedOthers.MoveNext();
}
}
while (!seed.EOF){// flushes the left overs
num_teams++;
competitors[num_teams]=seed.Fields.Item("ENTRY_ID").Value;
seed.MoveNext();
}
while (!seedOthers.EOF){// flushes the other left overs
num_teams++;
competitors[num_teams]=seedOthers.Fields.Item("ENTRY_ID").Value;
seedOthers.MoveNext();
}
seed.Close();
seedOthers.Close();
//END OF PRE 2014 CHAMPS LSIT CREATION
}else{
//START OF 2014 ONWARD
var seed = Server.CreateObject("ADODB.Recordset");
seed.ActiveConnection = BULSCA_CON_STRING;//all with a time
seed.Source = "SELECT ENTRY_ID FROM (SELECT `CHAMPS_ENTRIES_ACEPTED`.`ENTRY_ID`,`CHAMPS_ENTRIES_DETAILS_2`.`ENTRY_TIME` FROM `CHAMPS_Competitors` AS `CHAMPS_Competitors`, `CHAMPS_ENTRIES_DETAILS_2` AS `CHAMPS_ENTRIES_DETAILS_2`, `CHAMPS_SPEED_ENTRIES` AS `CHAMPS_SPEED_ENTRIES`, `CHAMPS_ENTRIES_ACEPTED` AS `CHAMPS_ENTRIES_ACEPTED` WHERE `CHAMPS_ENTRIES_DETAILS_2`.`Competitor_ID_1` = `CHAMPS_Competitors`.`Competitor_ID` AND `CHAMPS_ENTRIES_DETAILS_2`.`ENTRY_ID` = `CHAMPS_SPEED_ENTRIES`.`ENTRY_ID` AND `CHAMPS_ENTRIES_ACEPTED`.`COMP`=2 AND `CHAMPS_ENTRIES_ACEPTED`.`ENTRY_ID` = `CHAMPS_ENTRIES_DETAILS_2`.`ENTRIES_DETAILS_2_ID` AND `CHAMPS_Competitors`.`Club_ID` = `CHAMPS_SPEED_ENTRIES`.`Club_ID` AND NOT `CHAMPS_SPEED_ENTRIES`.`ENTRY_ID` IN (SELECT CHAMPS_ENTRIES_removed.ENTRY_ID FROM CHAMPS_ENTRIES_removed)AND NOT CHAMPS_ENTRIES_DETAILS_2.Competitor_ID_1 IN (SELECT CHAMPS_Competitors_removed.Competitor_ID FROM CHAMPS_Competitors_removed) AND `CHAMPS_SPEED_ENTRIES`.`SEX` = '"+Request.QueryString("sex")+"' AND `CHAMPS_Competitors`.`verified_by` IS NOT NULL AND `CHAMPS_ENTRIES_DETAILS_2`.`ENTRY_TIME`>0 AND `CHAMPS_SPEED_ENTRIES`.`CHAMPS_ID` = "+Request.QueryString("champs")+" AND `CHAMPS_SPEED_ENTRIES`.`EVENT_ID` = "+Request.QueryString("event")+" AND NOT CHAMPS_ENTRIES_DETAILS_2.Competitor_ID_2 IN (SELECT CHAMPS_Competitors_removed.Competitor_ID FROM CHAMPS_Competitors_removed)) GROUP BY ENTRY_ID, ENTRY_TIME ORDER BY ENTRY_TIME DESC";
seed.CursorType = 0;
seed.CursorLocation = 2;
seed.LockType = 1;
seed.Open();
var noTime = Server.CreateObject("ADODB.Recordset");
noTime.ActiveConnection = BULSCA_CON_STRING;//BULSCA old boys
noTime.Source = "SELECT ENTRY_ID FROM (SELECT `CHAMPS_ENTRIES_ACEPTED`.`ENTRY_ID` FROM `CHAMPS_Competitors` AS `CHAMPS_Competitors`, `BUSLCA_ACREDITEDCLUB` AS `BUSLCA_ACREDITEDCLUB`, `CHAMPS_ENTRIES_DETAILS_2` AS `CHAMPS_ENTRIES_DETAILS_2`, `CHAMPS_SPEED_ENTRIES` AS `CHAMPS_SPEED_ENTRIES`, `CHAMPS_ENTRIES_ACEPTED` AS `CHAMPS_ENTRIES_ACEPTED` WHERE `CHAMPS_ENTRIES_DETAILS_2`.`Competitor_ID_1` = `CHAMPS_Competitors`.`Competitor_ID` AND `CHAMPS_ENTRIES_DETAILS_2`.`ENTRY_ID` = `CHAMPS_SPEED_ENTRIES`.`ENTRY_ID` AND `CHAMPS_ENTRIES_ACEPTED`.`ENTRY_ID` = `CHAMPS_ENTRIES_DETAILS_2`.`ENTRIES_DETAILS_2_ID` AND `CHAMPS_Competitors`.`Club_ID` = `CHAMPS_SPEED_ENTRIES`.`Club_ID` AND NOT `CHAMPS_SPEED_ENTRIES`.`ENTRY_ID` IN (SELECT CHAMPS_ENTRIES_removed.ENTRY_ID FROM CHAMPS_ENTRIES_removed)AND NOT CHAMPS_ENTRIES_DETAILS_2.Competitor_ID_1 IN (SELECT CHAMPS_Competitors_removed.Competitor_ID FROM CHAMPS_Competitors_removed) AND `CHAMPS_SPEED_ENTRIES`.`SEX` = '"+Request.QueryString("sex")+"' AND `CHAMPS_Competitors`.`verified_by` IS NOT NULL AND `CHAMPS_ENTRIES_ACEPTED`.`COMP`=2 AND NOT CHAMPS_ENTRIES_DETAILS_2.Competitor_ID_2 IN (SELECT CHAMPS_Competitors_removed.Competitor_ID FROM CHAMPS_Competitors_removed) AND `CHAMPS_ENTRIES_DETAILS_2`.`ENTRY_TIME`=0 AND `CHAMPS_SPEED_ENTRIES`.`CHAMPS_ID` = "+Request.QueryString("champs")+" AND `CHAMPS_SPEED_ENTRIES`.`EVENT_ID` = "+Request.QueryString("event")+") GROUP BY ENTRY_ID";
noTime.CursorType = 0;
noTime.CursorLocation = 2;
noTime.LockType = 1;
noTime.Open();
//start to pouplate arrays
while(!noTime.EOF){
num_teams++;
competitors[num_teams]=noTime.Fields.Item("ENTRY_ID").Value;
noTime.MoveNext();
}
noTime.Close();
//those with a time
while (!seed.EOF){
num_teams++;
competitors[num_teams]=seed.Fields.Item("ENTRY_ID").Value;
seed.MoveNext();
}
}
// every person is now in the draw
// every person is now in the draw
//we now must set up the lane number array with how far extra down the list we must move to find the correct team
var laneExtra=new Array();//addtional for lane allowance
var lanes=8;//how many lanes there are
if(Request.QueryString("champs")=="12"){
lanes=10;
}
if(Request.QueryString("champs")=="14"){
lanes=10;
}
if(Request.QueryString("champs")=="16"){
lanes=10;
}
for(var i=1;i<=Math.floor(lanes/2);i++){//places the reltive offset requitred for lanes where i is the lane number
laneExtra[i]=2*i;
laneExtra[lanes-i+1]=2*i-1;
}
if(lanes%2!=0)laneExtra[(Math.floor(lanes/2)+1)]=lanes; // for an odd number of lanes we must the set the middle lane offset
%>
<%=eventName(Request.QueryString("event"))%>
<%h_num=1; //the heat number we are currently doing%>
<% heats=Math.floor(num_teams/lanes)+1;
var extra;//varible to hodl how many teams we have before we have full heats
//code only speard heads once we have full heat before that just places in the centre of the pool
if(((num_teams%lanes)!=0)&&((num_teams%lanes)<(lanes/2))){//works out if we need 1 or 2 non-full heat these are non-spear headed
extra=lanes+num_teams%lanes;%>
<%var offset=Math.floor((Math.floor(lanes-extra/2))/2);//how far offset must the lanes be
var templaneExtra=new Array();//addtional for lane allowance
var templanes=Math.floor(extra/2);//how many lanes there are in thsi heat
for(var i=1;i<=Math.floor(templanes/2);i++){//places the reltive offset requitred for lanes where i is the lane number
templaneExtra[i]=2*i;
templaneExtra[templanes-i+1]=2*i-1;
}
if(templanes%2!=0)templaneExtra[(Math.floor(templanes/2)+1)]=templanes;
for(var i=1;i<=extra/2;i++){%>
<%=details(competitors[templaneExtra[i]])%>
| <%=getTime(competitors[templaneExtra[i]])%> |
<%}%>
<%h_num++%>
<%
var teamInHeat1=(Math.floor(extra/2));
offset=Math.floor((lanes-(extra-teamInHeat1))/2);
templaneExtra=new Array();//addtional for lane allowance
templanes=extra-teamInHeat1;//how many lanes there are in thsi heat
for(var i=1;i<=Math.floor(templanes/2);i++){//places the reltive offset requitred for lanes where i is the lane number
templaneExtra[i]=2*i;
templaneExtra[templanes-i+1]=2*i-1;
}
if(templanes%2!=0)templaneExtra[(Math.floor(templanes/2)+1)]=templanes;
for(var i=1;i<=extra-teamInHeat1;i++){%>
<%=details(competitors[templaneExtra[i]+teamInHeat1])%>
| <%=getTime(competitors[templaneExtra[i]+teamInHeat1])%> |
<%}%>
<%extra=extra-lanes;//makes extra the corretc mount for having 2 heats taken palce fr the shift in the for loop
}else{//when we ahve one non ful lheat.
extra=num_teams%lanes;
if(extra==0){extra=lanes;heats--;}
%>
<%var offset=Math.floor((Math.floor(lanes-extra/2))/2);//how far offset must the lanes be
var templaneExtra=new Array();//addtional for lane allowance
var templanes=extra;//how many lanes there are in thsi heat
for(var i=1;i<=Math.floor(templanes/2);i++){//places the reltive offset requitred for lanes where i is the lane number
templaneExtra[i]=2*i;
templaneExtra[templanes-i+1]=2*i-1;
}
if(templanes%2!=0)templaneExtra[(Math.floor(templanes/2)+1)]=templanes;
for(var i=1;i<=extra;i++){%>
<%=details(competitors[templaneExtra[i]])%>
| <%=getTime(competitors[templaneExtra[i]])%> |
<%}%>
<%}h_num++;//end if for first heats
//now we fill out the rest of the heat with teams
for(h_num;h_num<=heats;h_num++){//h_num on entering loop is the next heat to be dispalyed%>
<%for(var i=1;i<=lanes;i++){
arrayID=lanes*h_num-(2*lanes-extra)+laneExtra[i];// takes the maxium we could have in theses heats then take off 2 times the amount of extra teams + the off set
entryID=competitors[arrayID];%>
<%=details(entryID)%>
| <%=getTime(entryID)%> |
<%}
}//end for loop for heats%>