/**
 * Javascript functions for free trial signup form
 */
 
/** Check if email address is valid **/
document.getElementById("Email").onblur = function() {
	// Use xmlhttp object to see if email address is valid (check domain)
	makeHttpRequest("scripts/emailvalidate.php?email="+document.getElementById("Email").value, emailReturn, false);
}

function emailReturn(response) {
	elem = document.getElementById("EmailError");
	if (response == 'invalid')
	{
		showFormError(elem, '<span style="color: red; font-size: 11pt">Email address invalid. Please enter a valid email address.</span>');
	}
	else
	    hideFormError(elem);
}

/** Check if username is already taken **/
//document.getElementById("Username").onkeyup = function() {
document.getElementById("checkUsername").onclick = function() {
	// Use xmlhttp object to see if username exists
	// if it already exists, then
	if (this.value)
	{	
		elem = document.getElementById("UsernameError");
		showFormError(elem, 'Checking...', 'checking');	
		makeHttpRequest("scripts/checkusername.php?username="+document.getElementById("Username").value, usernameReturn, false);
	}
}

function usernameReturn(response) {
	elem = document.getElementById("UsernameError");
	/*if (response == 'invalid')
	{
	    name = document.getElementById("Username").value;
		showFormError(elem, 'Sorry, "' + name + '" is taken. Please try a different username.', 'error');
	}
	else
	    hideFormError(elem);
	   */

	elem = document.getElementById("UsernameError");
	if (response == 'invalid')
	{
	    name = document.getElementById("Username").value;
		showFormError(elem, 'Sorry, "' + name + '" is already taken or is invalid.', 'error');
	}
	else if (response == 'valid')
	{
	    name = document.getElementById("Username").value;
		showFormError(elem, '"' + name + '" is available!', 'success');
		//document.getElementById("submit").disabled = false;	 // if e-mail is also valid	
	}	
}

function showFormError(elem, msg, cssClass)
{
	elem.innerHTML = msg;
	elem.style.display = 'block';
	if (cssClass)
		elem.className = cssClass;
	//document.getElementById("submit").disabled = true;
}
function hideFormError(elem)
{
	elem.innerHTML = '';
	elem.style.display = 'none';
	//document.getElementById("submit").disabled = false;
}

/** Check if subdomain is valid and available **/
//document.getElementById("SubDomain").onkeyup = function() {
document.getElementById("checkSubdomain").onclick = function() {
	// check for spaces/valid url symbols, and make sure it's not already taken
	if (this.value)
	{
		elem = document.getElementById("SubDomainError");	
		showFormError(elem, 'Checking...', 'checking');
		makeHttpRequest("scripts/checksubdomain.php?subdomain="+document.getElementById("SubDomain").value, subDomainReturn, false);
	}
}

function subDomainReturn(response) {
	elem = document.getElementById("SubDomainError");
	if (response == 'taken')
	{
	    name = document.getElementById("SubDomain").value;
		showFormError(elem, 'Sorry, ' + name + '.musicteachershelper.com is already in use.', 'error');
	}
	else if (response == 'invalid' || !response)
	{
	    name = document.getElementById("SubDomain").value;
		showFormError(elem, 'Please enter only lowercase letters and numbers.', 'error');
	}
	else if (response == 'valid')
	{
	    name = document.getElementById("SubDomain").value;
		showFormError(elem, name + '.musicteachershelper.com is available!', 'success');
		document.getElementById("submit").disabled = false;	 // if e-mail is also valid	
	}	
	 //   hideFormError(elem);
}


document.getElementById("toggleWebsite").onclick = function() {
	if (document.getElementById('websiteHelp').style.display == 'block')
		document.getElementById('websiteHelp').style.display = "none";
	else
		document.getElementById('websiteHelp').style.display = "block";
}

document.getElementById("toggleLogin").onclick = function() {
	if (document.getElementById('loginHelp').style.display == 'block')
		document.getElementById('loginHelp').style.display = "none";
	else
		document.getElementById('loginHelp').style.display = "block";
}

/***

// Have list of form values (array) to check each time the validity is checked - and if they all match, 
// then enable the submit button. Otherwise, disable it.
// ACTUALLY - DON'T DISABLE THE SUBMIT BUTTON - LET THEM SUBMIT THE FORM, BUT JUST GIVE SERVER-SIDE ERRORS IF IT DOESN'T VALIDATE
var validation = new Array();
// Username
// (I suppose this array could be XML - part of our form validation xml stuff)
validation[0]['error'] = 'Username %s is already taken.';
validation[0]['success'] = 'Username %s is available.';
validation[0]['status'] = 'invalid';

// Subdomain
validation[1]['error'] = 'Sorry, %s.musicteachershelper.com is already in use.';
validation[1]['success'] = '%s.musicteachershelper.com is available!';
validation[1]['status'] = 'invalid';

function checkFormStatus()
{
	numValidators = validation.length;
	for (i = 0; i < numValidators; i++)
	{
		if (validation[i]['status'] == 'invalid')
			return false;
	}
	return true;
}
*/
