/*--- racerFunctions.js  2010-01-18 RestonSprint  [GF] */

//"NameID,Name1,Name2,Sex,City,YOB,Year,Total_Sec,Swim_Sec,T1_Sec,Bike_Sec,T2_Sec,Run_Sec,Place,Count"
//" 0,     1,    2,    3,  4,   5,  6,   7,        8,       9,     10,      11,    12,     13",  14
	
function minutes(sec) /* converts seconds into hh:mm:ss as needed */
	{
		var min1 = Math.floor(sec/60);
		var secs = sec - min1*60;
		if(secs<10){secs='0' + secs;};
		if(min1>60)
			{hr = Math.floor(min1/60);
		 	 min1 = min1-(60*hr);
			 if(min1<10) min1= '0' + min1;
			 min1 = hr + ':' + min1;
			};
		if(sec==0){return '&nbsp;';}
		else 			{return min1 + ':' + secs;};
	};

function byOverall(a,b)
	{
		var aTime = a.split(",")[7]; if(aTime<=0)aTime=9999;
		var bTime = b.split(",")[7]; if(bTime<=0)bTime=9999;
		var diff = aTime - bTime;
		if(diff>0)return 1;
		if(diff==0)return 0;
		if(diff<0)return -1;
	};

function bySwim(a,b)
	{
		var aTime = a.split(",")[8]; if(aTime<=0)aTime=9999;
		var bTime = b.split(",")[8]; if(bTime<=0)bTime=9999;
		var diff = aTime - bTime;
		if(diff>0)return 1;
		if(diff==0)return 0;
		if(diff<0)return -1;
	};

function byBike(a,b) // sorts raceResults array by bike time 
	{
		var aTime = a.split(",")[10]; if(aTime<=0)aTime=9999;
		var bTime = b.split(",")[10]; if(bTime<=0)bTime=9999;
		var diff = aTime - bTime;
		if(diff>0)return 1;
		if(diff==0)return 0;
		if(diff<0)return -1;
	};

function byRun(a,b) // sorts raceResults array by run time
	{
		var aTime = a.split(",")[12]; if(aTime<=0)aTime=9999;
		var bTime = b.split(",")[12]; if(bTime<=0)bTime=9999;
		var diff = aTime - bTime;
		if(diff>0)return 1;
		if(diff==0)return 0;
		if(diff<0)return -1;
	};
	
	
function byName(a,b)	/* sorts raceResults array by name */
	{
		if(uName(a) > uName(b)) return 1;
		if(uName(a) < uName(b)) return -1;
		if(uName(a) == uName(b)) return 0;
	};

function uName(a) /* returns raceResults name in all uppercase */
	{
		var aUpper = a.toUpperCase().split(",");
		return ( aUpper[2] + aUpper[1] );
	};

function uCity(a) /* forces raceResults array city and surname to all CAPS */
	{
		var aUpper = a.toUpperCase().split(",");
		var words = aUpper[4].split(" ");
		var wordCount = words.length-1;
		var state = words[wordCount]
		var city = "";
		for(w=0;w<wordCount;w++) {city+=words[w]+' ';};
		city = city.substring(0,city.length-1);
		return ( state + ',' +  iCap(city) + ',' + aUpper[2] + aUpper[1] );
	};

function byCity(a,b)	/* sorts raceResults array by city */
	{
		if( uCity(a) > uCity(b) ) return 1;
		if( uCity(a) < uCity(b) ) return -1;
		if( uCity(a) == uCity(b) ) return 0;
	};

function byAge(a,b) /* sorts raceResults array by age group*/
	{
		var aRec = a.split(",");
		var bRec = b.split(",");
		if(racerRange(aRec) > racerRange(bRec) ) return 1;
		if(racerRange(aRec) < racerRange(bRec) ) return -1;
		if(racerRange(aRec) == racerRange(bRec) ) return 0;
	};

var first=1;
function racerRange(racerData) /* returns raceResults array array age group*/
{
//	if(first){document.write('<br><font size="2">' + racerRec + '</font><br>');first=0;};
//	var racerData = racerRec.split(",");
	var racerAge = racerData[6] - racerData[5];
	var racerRange1 = racerAge - racerAge%5;
	var racerRange2 = '-' + (racerRange1+4);
	if(racerAge>=70){racerRange2 = '+';racerRange1=70;};
	if(racerAge<15) {racerRange1 = ' under ';racerRange2=15;};
	var racerTime = racerData[7];if(racerTime<=0)racerTime=9999;
	return racerRange1 + racerRange2 + "," + racerTime;
};

function iCap(str) /* returns a string with initial caps */
{
	var wordList = str.split(" ");
	var strOut = '';
	for(w=0;w<wordList.length;w++)
	{
		word = wordList[w];
		word = word.substring(0,1).toUpperCase() + word.substring(1,99).toLowerCase();
		strOut = strOut + word + ' ';	
	};

	var strOut = strOut.substring(0,strOut.length-1);
	var wordList = strOut.split("'");
	var strOut = '';
	for(w=0;w<wordList.length;w++)
	{
		word = wordList[w];
		word = word.substring(0,1).toUpperCase() + word.substring(1,99);
		strOut = strOut + word + "'";	
	};
		
	return strOut.substring(0,strOut.length-1);
};
