<%@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]])%> <%}%> <%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])%> <%}%> <%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]])%> <%}%> <%}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)%> <%} }//end for loop for heats%>
<%=getTime(competitors[templaneExtra[i]])%>
<%=getTime(competitors[templaneExtra[i]+teamInHeat1])%>
<%=getTime(competitors[templaneExtra[i]])%>
<%=getTime(entryID)%>