/**
 * @author Jim Clark
 */

function doBoosterLogin(theForm) {
	var recdata = "";
	var reason = "";
	/* check for all the mandatory fields... */
	reason += validateUsername(theForm.youruser, "Username");
	reason += validateClean(theForm.yourpass, "Password");
	if (reason != "") {
		alert("Some fields need correction:\n" + reason);
	}
	else {
		recdata = theForm.youruser.value + ":" + theForm.yourpass.value;
		var url = "src/BoosterLogin2.php";
		request.open("POST", url, true);
		request.onreadystatechange = BoosterLoginResults;
		request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		request.send("dataset=" + escape(recdata));	
	}	
}
function BoosterLoginResults(){
	if (request.readyState == 4) {
		if (request.status == 200) {
			/* Get the response from the server */
			var results = request.responseText;
			if (results != "") {
				/* alert(results); */
				if (results == "ok") {
					/* alert(results); */
					window.location = '/index.php?site=recsports&page=boosterHome';
				}
				else {
					var message = "Login Failed - ";
					alert(results);
					window.location = '/index.php?site=recsports&page=boosterLogin';
				}
			}
			else {
				alert("Error! Request status is " + request.status);
			}
		}
	}
}

function doClubLogin(theForm) {
	var recdata = "";
	var reason = "";
	/* check for all the mandatory fields... */
	reason += validateUsername(theForm.youruser, "Username");
	reason += validateClean(theForm.yourpass, "Password");
	if (reason != "") {
		alert("Some fields need correction:\n" + reason);
	}
	else {
		var orgIndex = theForm.orglist.selectedIndex;
		var theOrg = theForm.orglist[orgIndex].value;
		
		recdata = theForm.youruser.value + ":" + theForm.yourpass.value + ":" + theOrg;
		var url = "src/ClubLogin2.php";
		request.open("POST", url, true);
		request.onreadystatechange = ClubLoginResults;
		request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		request.send("dataset=" + escape(recdata));	
	}	
}
function ClubLoginResults() 
{
  if (request.readyState == 4) {
    if (request.status == 200) {
      /* Get the response from the server */
      var results = request.responseText;
      if(results != "") {
	  	/* alert(results); */
	  	if (results == "ok") {
			/* alert(results); */
			window.location = '/index.php?site=recsports&page=clubTools';
		} else {
	  		var message = "Login Failed - Try Again";
	  		alert(message);
			window.location = '/index.php?site=recsports&page=clubLogin';
	  	}
	  } else {
	  		var message = "Login Failed - Try Again";
	  		alert(message);
			window.location = '/index.php?site=recsports&page=clubLogin';
	  }
    } else {
      alert("Error! Request status is " + request.status);
	}
  }
}



function doAdminLogin(theForm) {

	var recdata = "";
	var reason = "";
	/* check for all the mandatory fields... */
	reason += validateClean(theForm.youruser);
	reason += validateClean(theForm.yourpass);
	if (reason != "") {
		alert("Some fields need correction:\n" + reason);
	}
	else {
		recdata = theForm.youruser.value + ":" + theForm.yourpass.value;
		var url = "/ssi/AdminLogin2.php";
		request.open("POST", url, true);
		request.onreadystatechange = AdminLoginResults;
		request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		request.send("dataset=" + escape(recdata));	
	}	
}
function AdminLoginResults() 
{
  if (request.readyState == 4) {
    if (request.status == 200) {
      /* Get the response from the server */
      var results = request.responseText;
      if(results != "") {
	  	/* alert(results); */
		window.location = results;
	  } else {
	  	var message = "Login Failed - Try Again";
	  	alert(message);
	  }
    } else {
      alert("Error! Request status is " + request.status);
	}
  }
}


function validateClean(fld) {
    var error = "";
    var illegalChars = /\W/; // allow letters, numbers and underscores
     if ((illegalChars.test(fld.value)) || (fld.value.length == 0)) {
        error = "A field is either blank or contains illegal characters. Please review each section and remove any characters that are not letters or numbers.\n";
        fld.style.background = 'Yellow';
    } else {
        fld.style.background = 'White';
    }
   return error;
}  

function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
} 

function validateUsername(fld) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
    
    if (fld.value == "") {
        fld.style.background = 'Yellow';
        error = "Your username field was empty. It must be a valid email address. Please enter the email address you registered with.\n";
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        fld.style.background = 'Yellow';
        error = "Your username must be a valid email address. Please enter the email address you registered with.\n";
    } else if (fld.value.match(illegalChars)) {
        fld.style.background = 'Yellow';
        error = "The email address contains illegal characters. Please check your spelling.\n";
    } else {
        fld.style.background = 'White';
    }
    return error;
}
