var xmlHttp;
// retrieves the XMLHttpRequest object


function createXmlHttpRequestObject()
{
    // will store the reference to the XMLHttpRequest object
    var xmlHttp;
    // if running Internet Explorer
    if(window.ActiveXObject)
    {
        try
        {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (e)
        {
            xmlHttp = false;
        }
    }
    // if running Mozilla or other browsers
    else
    {
        try
        {
            xmlHttp = new XMLHttpRequest();
        }
        catch (e)
        {
            xmlHttp = false;
        }
    }
    // return the created object or display an error message
    if (!xmlHttp)
        alert("Error creating the XMLHttpRequest object.");
    else
        return xmlHttp;
}

// make asynchronous HTTP request using the XMLHttpRequest object
function funcProcess()
{
	var intCode = null;	var strEmail = "";	var strComments = "";
	
	strEmail =  document.getElementById("Email").value;
	strComments =  document.getElementById("Comments").value;
	
	if (strEmail != '' && strComments != '')
	{
		xmlHttp = createXmlHttpRequestObject();
		// proceed only if the xmlHttp object isn't busy
		if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
		{
			// retrieve the name typed by the user on the form
			//name = encodeURIComponent(document.getElementById("myName").value);
			// execute the quickstart.php page from the server
			intCode = document.getElementById("txtCode").value;
			xmlHttp.open("GET", "verifyCode.php?txtCode=" + intCode, true);
			// define the method to handle server responses
			xmlHttp.onreadystatechange = handleServerResponse;
			// make the server request
			xmlHttp.send(null);
		}
		else
		{
			// if the connection is busy, try again after one second
			setTimeout('funcProcess()', 1000);
		}	
	}
	
    
}


function funcVerifyMember()
{
	var intCode = null; var strUsername = null;

	intCode = document.getElementById("Code").value;
	strUsername = document.getElementById("Username").value;
	
	if (intCode != '' && strUsername != '') {
		xmlHttp = createXmlHttpRequestObject();
		// proceed only if the xmlHttp object isn't busy
		if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
		{
			// retrieve the name typed by the user on the form
			//name = encodeURIComponent(document.getElementById("myName").value);
			// execute the quickstart.php page from the server
			
			xmlHttp.open("GET", "verifyUsername.php?txtCode=" + intCode + "&txtUsername=" + strUsername, true);
			// define the method to handle server responses
			xmlHttp.onreadystatechange = handleMemberResponse;
			// make the server request
			xmlHttp.send(null);
		}
		else
		{
			// if the connection is busy, try again after one second
			setTimeout('funcVerifyMember()', 1000);
		}	
	}
    
}

// executed automatically when a message is received from the server
function handleMemberResponse()
{
    // move forward only if the transaction has completed
    if (xmlHttp.readyState == 4)
    {
        // status of 200 indicates the transaction completed successfully
        if (xmlHttp.status == 200)
        {
            if (xmlHttp.responseText == "11")
			{
				document.getElementById('fmRegister').submit();
			}
			else if (xmlHttp.responseText == "10")
			{
				document.getElementById("alertUser").innerHTML = "Username already exist. Please try a different one.";
				document.getElementById("Username").focus();
			}
			else
			{
				//alert(xmlHttp.responseText);
				alert("Please enter the correct security code");	
			}

        }
        // a HTTP status different than 200 signals an error
        else
        {
            alert("There was a problem accessing the server: " + xmlHttp.statusText);
        }
    }
}


// executed automatically when a message is received from the server
function handleServerResponse()
{
    // move forward only if the transaction has completed
    if (xmlHttp.readyState == 4)
    {
        // status of 200 indicates the transaction completed successfully
        if (xmlHttp.status == 200)
        {
            if (xmlHttp.responseText == "1")
			{
				document.getElementById('frmMain').submit();
			}
			else
			{
				//alert(xmlHttp.responseText);
				alert("Please enter the correct code");	
			}

        }
        // a HTTP status different than 200 signals an error
        else
        {
            alert("There was a problem accessing the server: " + xmlHttp.statusText);
        }
    }
}

