var teams = ['','','AG-Systems','Assegai','Auricom','EG-X','FEISAR','Goteki 45','Harimau','Icaras','Mirage','Qirex','Piranha','Triakis','Zone','AG-Systems (F)','Assegai (F)','Auricom (F)','EG-X (F)','FEISAR (F)','Goteki 45 (F)','Harimau (F)','Icaras (F)','Mirage (F)','Qirex (F)','Piranha (F)','Triakis (F)'];
var editingrec = 0;
var ajaxlb = new sack();
var ajaxrecname = new sack();
var ajaxvids = new sack();
var ajaxsetcountry = new sack();
var ajaxflagrec = new sack();


function trim(str) {
   return str.replace(/^\s+|\s+$/g,"");
}



function hidediv(divname) {
if (document.getElementById) { // DOM3 = IE5, NS6
document.getElementById(divname).style.display = 'none';
}
else {
if (document.layers) { // Netscape 4
document.hideshow.display = 'none';
}
else { // IE 4
document.all.hideshow.style.display = 'none';
}
}
}

function showdiv(divname, cssstyle) {
	if (cssstyle == null)
		cssstyle = 'block';
if (document.getElementById) { // DOM3 = IE5, NS6
document.getElementById(divname).style.display = cssstyle;
}
else {
if (document.layers) { // Netscape 4
document.hideshow.display = cssstyle;
}
else { // IE 4
document.all.hideshow.style.display = cssstyle;
}
}
}

function addNewRow (numrows)
{
	for (var i = 1;i <= numrows;i++)
	{
		showdiv ('newrow' + i,'');
	}
}


function recNameEntered (rowNum)
{
	ajaxrecname.setVar("playername", document.forms['editrecord'].elements["name"+rowNum].value); 
	ajaxrecname.setVar("mode", document.forms['editrecord'].elements["mode"+rowNum].value); 
	ajaxrecname.setVar("class", document.forms['editrecord'].elements["class"+rowNum].value); 
	ajaxrecname.setVar("track", document.forms['editrecord'].elements["track"+rowNum].value); 
	ajaxrecname.requestFile = "http://www.wipeoutrecords.com/js/getplayertime.php";
	ajaxrecname.element = "time"+rowNum;
	//ajax.onCompletion = recNameEnteredCompleted;
	ajaxrecname.runAJAX();
}



function vidsLoading ()
{
	var e = document.getElementById('wovideos'); 
	e.innerHTML = "<p align=center><img src='ajax-loader.gif'></p>";
}

function showVids (recmode, recclass, rectrack)
{
	ajaxvids.setVar("mode", recmode); 
	ajaxvids.setVar("class", recclass); 
	ajaxvids.setVar("track", rectrack); 
	ajaxvids.requestFile = "http://www.wipeoutrecords.com/js/getvids.php";
	ajaxvids.element = "wovideos";
	ajaxvids.onLoading = vidsLoading;
	//ajax.onCompletion = recNameEnteredCompleted;
	ajaxvids.runAJAX();
	
}

function lbLoading ()
{
	var e = document.getElementById('filtereddiv'); 
	e.innerHTML = "<p align=center><img src='ajax-loader.gif'></p>";
}

function lbEventChange ()
{
	ajaxlb.setVar("playername", document.forms['navform'].elements["id"].value); 
	ajaxlb.setVar("mode", document.forms['navform'].elements["mode"].value); 
	ajaxlb.setVar("class", document.forms['navform'].elements["class"].value); 
	ajaxlb.setVar("track", document.forms['navform'].elements["track"].value); 
	ajaxlb.setVar("ajax", "1"); 
	if (document.forms['navform'].elements["id"].value.length > 0 || 
		  document.forms['navform'].elements["mode"].value > 0 ||
		  document.forms['navform'].elements["class"].value > 0 ||
		  document.forms['navform'].elements["track"].value > 0)
		ajaxlb.requestFile = "http://www.wipeoutrecords.com/filteredranking.php";
	else
		ajaxlb.requestFile = "http://www.wipeoutrecords.com/overallranking.php";
	
	
	document.forms['editrecord'].elements['qs'].value = "filter=1" + 
	"&mode=" + document.forms['navform'].elements["mode"].value + 
	"&class=" + document.forms['navform'].elements["class"].value + 
	"&track=" + document.forms['navform'].elements["track"].value;
	
	ajaxlb.element = "filtereddiv";
	ajaxlb.onLoading = lbLoading;
	ajaxlb.onCompletion = lbLoaded;	
	ajaxlb.runAJAX();
}

function lbLoaded ()
{
	for (var j = 1;j <= 16; j++)
	{
				YAHOO.example.BasicRemote = function() {
				    var oDS = new YAHOO.util.XHRDataSource('autocomplete.php');
				    oDS.responseType = YAHOO.util.XHRDataSource.TYPE_TEXT;
				    oDS.responseSchema = {
				        recordDelim: '\n',
				        fieldDelim: '\t'
				    };
				    oDS.maxCacheEntries = 5;
				    var oAC = new YAHOO.widget.AutoComplete('name' + j, 'suggestbox' + j, oDS);
				    return {
				        oDS: oDS,
				        oAC: oAC
				    };
				}();
	}
	
}


function recNameEnteredCompleted()
{
	//alert('done');	
}

function editrec (woid,recmode,recclass,rectrack, playername, rectime,recextra,recteam)
{
	if (editingrec == 1)
		return;
		
	var formstart = "<input type='hidden' name='woid' value='" + woid + "'><input type='hidden' name='name0' value='" + playername + "'><input type='hidden' name='mode0' value='" + recmode + "'><input type='hidden' name='track0' value='" + rectrack + "'><input type='hidden' name='class0' value='" + recclass + "'>";
											
												
		
	var tdtag = document.getElementById ("time"+woid);
	tdtag.innerHTML = formstart + "<input AUTOCOMPLETE=OFF size=15 type='text' onkeypress='return onlyNumbersPeriod(event);' name='time0' value='" + rectime + "'>";
	
	if (recmode != 3)
	{
		tdtag = document.getElementById ("extra"+woid);
		tdtag.innerHTML = "<input size=10 type='text' AUTOCOMPLETE=OFF onkeypress='return onlyNumbersPeriod(event);' name='extra0' value='" + recextra + "'>";
		
		tdtag = document.getElementById ("team"+woid);
		var selecttag = "<select name='team0'>";
				
				for (var i = 2; i < teams.length; i++)
				{
					selecttag += "<option value='" + i + "' ";
					if (i == recteam)
						selecttag += " selected ";
					selecttag += ">" + teams[i] + "</option>";
				}
				selecttag +=  "</select>";
		
		tdtag.innerHTML = selecttag;
	}
	else if (recmode == 3)
	{
		var zonevars = recextra.split (".");
		
		tdtag = document.getElementById ("zones"+woid);
		tdtag.innerHTML = "<input AUTOCOMPLETE=OFF type='text' size=10 onkeypress='return onlyNumbers(event);' name='zones0' value='" + zonevars[0] + "'>";

		tdtag = document.getElementById ("perfect"+woid);
		tdtag.innerHTML = "<input AUTOCOMPLETE=OFF type='text' size=10 onkeypress='return onlyNumbers(event);' name='perfect0' value='" + zonevars[1] + "'>";
		
	}
	
	
	tdtag = document.getElementById ("date"+woid);
	tdtag.innerHTML = "<input type='image' src='../arrowright.png'>";

	document.forms['editrecord'].time0.focus();document.forms['editrecord'].time0.select();
	
	editingrec = 1;	
}


function onlyNumbers(evt)
{
   var charCode = (evt.which) ? evt.which : event.keyCode
   if (charCode > 31 && (charCode < 48 || charCode > 57))
      return false;

   return true;

}
function onlyNumbersPeriod(evt)
{
   var charCode = (evt.which) ? evt.which : event.keyCode
	  if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 46)
        return false;
    return true;
}

function validateRecordEdit (thisform)
{
	with (thisform)
	{
		for (var i = 0; i < 2; i++)
		{
			var thename = trim (elements["name"+i].value);
			if (thename.length < 1)
				continue;
				
			var thetime = elements["time"+i].value;
			var themode = elements["mode"+i].value;
			var timeparts = thetime.split(".");
			var numperiods = timeparts.length - 1;
			if (themode == 2 || themode == 4 || themode == 5)
			{
				if (numperiods != 2)
				{
					alert ("Please enter the time using the format shown in the leaderboards (ie. use both periods please)");
					return false;
				}
				if (isNaN(parseInt(timepars[0])) || isNaN(parseInt(timepars[1])) || isNaN(parseInt(timepars[2])))
				{
					alert ("Please be sure to ent");
					return false;
				}
				
				if (timeparts[0] < 1 || timeparts[0] > 5)
				{
					alert ("The time entered is either extremely low or extremely high, please double check your entry");
					return false;
				}
				if (timeparts[1] > 59)
				{
					alert ("The time has been entered incorrectly. Please check the number of seconds.");
					return false;
				}
				if (timeparts[2] > 99)
				{
					alert ("The time has been entered incorrectly. Please check the number of microseconds.");
					return false;
				}
				
			}
		}
	}
	return true;
}

function playerCountryLoading ()
{
	var e = document.getElementById('playerflag'); 
	e.innerHTML = "<img src='ajax-loader-small.gif'>";
	
}

function setPlayerCountry ()
{
	ajaxsetcountry.setVar("country", document.getElementById('countryselect').value); 
	ajaxsetcountry.setVar("playername", document.forms['navform'].elements["id"].value); 
	ajaxsetcountry.requestFile = "http://www.wipeoutrecords.com/js/setcountry.php";
	ajaxsetcountry.element = "playerflag";
	ajaxsetcountry.onLoading = playerCountryLoading;
	//ajax.onCompletion = recNameEnteredCompleted;
	ajaxsetcountry.runAJAX();
	
}


function flagRec (woid, flagreason, vote)
{
	ajaxflagrec.setVar("woid", woid); 
	ajaxflagrec.setVar("flagreason", flagreason); 
	ajaxflagrec.setVar("vote", vote); 
	ajaxflagrec.requestFile = "http://www.wipeoutrecords.com/js/flagrec.php";
	ajaxflagrec.element = "flagrec" + woid;
	ajaxflagrec.onLoading = flagRecLoading;
	//ajax.onCompletion = recNameEnteredCompleted;
	ajaxflagrec.runAJAX();
	
}

function flagRecLoading ()
{
	var e = document.getElementById(ajaxflagrec.element); 
	e.innerHTML = "<img src='ajax-loader-small.gif'>";
}
