// http://blueb.net/blog/attach/1/980547.txt
// The var docForm should be a reference to a <form>

function formData2QueryString(docForm) {

	var strSubmitContent = '';
	var formElem;
	var strLastElemName = '';
	
	for (i = 0; i < docForm.elements.length; i++) {
		
		formElem = docForm.elements[i];
		switch (formElem.type) {
			// Text fields, hidden form elements
			case 'text':
			case 'hidden':
			case 'password':
			case 'textarea':
			case 'select-one':
				strSubmitContent += formElem.name + '=' + escape(formElem.value) + '&'
				break;
				
			// Radio buttons
			case 'radio':
				if (formElem.checked) {
					strSubmitContent += formElem.name + '=' + escape(formElem.value) + '&'
				}
				break;
				
			// Checkboxes
			case 'checkbox':
				if (formElem.checked) {
					// Continuing multiple, same-name checkboxes
					if (formElem.name == strLastElemName) {
						// Strip of end ampersand if there is one
						if (strSubmitContent.lastIndexOf('&') == strSubmitContent.length-1) {
							strSubmitContent = strSubmitContent.substr(0, strSubmitContent.length - 1);
						}
						// Append value as comma-delimited string
						strSubmitContent += ',' + escape(formElem.value);
					}
					else {
						strSubmitContent += formElem.name + '=' + escape(formElem.value);
					}
					strSubmitContent += '&';
					strLastElemName = formElem.name;
				}
				break;
				
		}
	}
	
	// Remove trailing separator
	strSubmitContent = strSubmitContent.substr(0, strSubmitContent.length - 1);
	return strSubmitContent;
}



function NoCache(url) {
  return new String(url + (new Date().getTime()));
}

function doajax_moveUpDown(id, lid, bUP) {
  var ajax = new Ajax();
  var str;
  var url = NoCache("ajaxUpDown.php?id="+id+"&lid="+lid+"&drn="+bUP+"&nocache=");
  str=ajax.doGet(url, moveUpDown);
}

var moveUpDown = function(str) {
  document.getElementById('editDIV').innerHTML = str;
}



function doajax_delete(id, lid) {
  var ajax = new Ajax();
  var str;
  var url = NoCache("ajaxDeleteFromLadder.php?id="+id+"&lid="+lid+"&nocache=");
  str=ajax.doGet(url, DeleteFromLadder);
}

var DeleteFromLadder = function(str) {
  document.getElementById('editDIV').innerHTML = str;
}



function doajax_NameFilter(filterStr) {
  var ajax = new Ajax();
  var str;
  var m = document.namesForm.bAddMultiselect.value;
  var url = NoCache("ajaxFilterUsers.php?f="+filterStr+"&m="+m+"&nocache=");
  str=ajax.doGet(url, FilterUsers);
}

var FilterUsers = function(str) {
  document.getElementById('namesDIV').innerHTML = str;
}



function doajax_AddNamesToLadder(f) {
  var ajax = new Ajax();
  var str;
  var m = document.namesForm.bAddMultiselect.value;
  var formData = formData2QueryString(f);
  var url = NoCache("ajaxAddNamesToLadder.php?m="+m+"&nocache=");
  str=ajax.doPost(url, formData, AddNamesToLadder);
}

var AddNamesToLadder = function(str) {
  alert(str);
}



function doajax_doTournamentResults(f) {
  var ajax = new Ajax();
  var str;
  var formData = formData2QueryString(f);
  var m = 0;
  var url = NoCache("ajaxDoTournamentResults.php?m="+m+"&nocache=");
  str=ajax.doPost(url, formData, DoTournamentResults);
}

var DoTournamentResults = function(str) {
//alert(str);
  var datARR = str.split("<|>");
  var id = datARR[0];
  var theTable = datARR[1];
  document.getElementById('more'+id).innerHTML = theTable;
}



function doajax_EditUser() {
  var ajax = new Ajax();
  var str;
  var f = document.editDetailsForm;
  var id = f.details_number.value;
  var fn = f.details_firstname.value;
  var ln = f.details_lastname.value;
  var pw = f.details_password.value;
  var em = f.details_email.value;
  var a1 = f.details_address1.value;
  var a2 = f.details_address2.value;
  var a3 = f.details_address3.value;
  var a4 = f.details_address4.value;
  var pc = f.details_postcode.value;
  var ph = f.details_telephone.value;
  var url = NoCache("ajaxEditUser.php?id="+id+"&fn="+fn+"&ln="+ln+"&pw="+pw+"&em="+em+"&a1="+a1+"&a2="+a2+"&a3="+a3+"&a4="+a4+"&pc="+pc+"&ph="+ph+"&nocache=");
  str=ajax.doGet(url, EditUser);
}

var EditUser = function(str) {
  var infoArr = str.split("<|>");
  document.getElementById("firstNameID").innerHTML = infoArr[1];
  alert(infoArr[0]);
}

function doajax_PopulateEditUser() {
  var ajax = new Ajax();
  var str;
  var f = document.editDetailsForm;
  var id = f.details_number.value;
  var url = NoCache("ajaxPopulateEditUser.php?id="+id+"&nocache=");
  str=ajax.doGet(url, PopulateEditUser);
}

var PopulateEditUser = function(str) {
  var infoArr = str.split("<|>");
  var f = document.editDetailsForm;
  f.details_firstname.value = infoArr[0];
  f.details_lastname.value = infoArr[1];
  f.details_password.value = infoArr[2];
  f.details_password2.value = infoArr[2];
  f.details_email.value = infoArr[3];
  f.details_address1.value = infoArr[4];
  f.details_address2.value = infoArr[5];
  f.details_address3.value = infoArr[6];
  f.details_address4.value = infoArr[7];
  f.details_postcode.value = infoArr[8];
  f.details_telephone.value = infoArr[9];
}

///////////////////////////////////////////
// JUNIORS

function doajax_UpdateJuniorsPage(f) {
  var ajax = new Ajax();
  var str;
  var formData = formData2QueryString(f);
  var url = NoCache("ajaxUpdateJuniorsPage.php?nocache=");
  str=ajax.doPost(url, formData, DoUpdateJuniorsPage);
}

var DoUpdateJuniorsPage = function(str) {
  alert(str);
}

function doajax_UpdateFileList() {
  var ajax = new Ajax();
  var str;
  var url = NoCache("ajaxUpdateFileList.php?nocache=");
  str=ajax.doGet(url, DoUpdateFileList);
}

var DoUpdateFileList = function(str) {
// alert(str);
  document.getElementById('fileListID').innerHTML = str;
}
