var xmlhttp

/**
* Get our XML object so we can do some AJAX magic!
*/
function GetXmlHttpObject()
{
	if (window.XMLHttpRequest)
	{
		// code for IE7+, Firefox, Chrome, Opera, Safari
		return new XMLHttpRequest();
	}
	if (window.ActiveXObject)
	{
		// code for IE6, IE5
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
	return null;
}
function verify_login_form()
{
	var errorExists = false;
	
	//Clear error
	document.getElementById("error_box").innerHTML="";
	
    //Get our XML Object
	xmlhttp=GetXmlHttpObject();
	//Make sure we have javascript enabled.
	if (xmlhttp==null)
	{
		alert (no_ajax_message);
		return;
	}
	//Check Username not blank
    var username = document.getElementById("username").value;
    if(username == "")
    {
        document.getElementById("username_error").innerHTML= "Can't be empty";
		errorExists = true;
    }
    else
    {
        document.getElementById("username_error").innerHTML="";
    }
    
    //Check passwords
    var password = document.getElementById("password").value;
    
    if(password == "")
    {
        document.getElementById("password_error").innerHTML = "Can't be empty";
		errorExists = true;
    }
    else
    {
        document.getElementById("password_error").innerHTML = "";
    }
	
	if(errorExists == true)
	{
		return;
	}
	
	var redirect_page = document.getElementById("redirect_page").value;
	
	//BUild URL to send to server
    var url=domain+"/ajax.php?do=verify_login";
    var params = 'username=' + username;
	var params = params + '&password=' + password;
	var params = params + '&redirect_page=' + redirect_page;
	
    xmlhttp.open("POST",url,true);
    
    //Send the proper header information along with the request
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    
    //Link to function that receives response
    xmlhttp.onreadystatechange=verify_login_response;
    //Open and Send AJAX request
    xmlhttp.send(params);
}
function verify_login_response()
{
	//We are ready to change page html
	if (xmlhttp.readyState==4)
	{
		var response = xmlhttp.responseText.split("|");
		
		if(response[0] == "REDIRECT")
		{
			window.location = domain+"/login.php";
		}
		else
		{
			document.getElementById("error_box").innerHTML=response[1];
		}
		
	}
}
function listen_for_login_enter(keycode)
{
    if(keycode == 13)
    {
        verify_login_form();
    }
}
function verify_register_form()
{
    document.getElementById("register_error_box").innerHTML="";
	var errorExists = false;
    //Get our XML Object
	xmlhttp=GetXmlHttpObject();
	//Make sure we have javascript enabled.
	if (xmlhttp==null)
	{
		alert (no_ajax_message);
		return;
	}
	//Check Username not blank
    var username = document.getElementById("register_username").value;
    if(username == "")
    {
        document.getElementById("register_username_error").innerHTML= "Can't be empty";
		errorExists = true;
    }
    else if(username.length < 4)
    {
	document.getElementById("register_username_error").innerHTML= "Must be 4 characters or more.";
	errorExists = true;
    }
    else
    {
        document.getElementById("register_username_error").innerHTML="";
    }
    
    //Check passwords
    var password        = document.getElementById("register_password").value;
    var password_retype = document.getElementById("register_password_retype").value;
    
    if(password == "")
    {
        document.getElementById("register_password_error").innerHTML = "Can't be empty";
		errorExists = true;
    }
    else if(password.length < 6)
    {
        document.getElementById("register_password_error").innerHTML = "Must be 6 characters or more.";
		errorExists = true;
    }
    else if(password != password_retype)
    {
        document.getElementById("register_password_error").innerHTML = "Passwords do not match.";
		errorExists = true;
    }
    else
    {
        document.getElementById("register_password_error").innerHTML = "";
    }
    
    //Check email
    var email = document.getElementById("register_email").value;
    if(email == "")
    {
        document.getElementById("register_email_error").innerHTML = "Can't be empty.";
		errorExists = true;
    }
    else if(email_check(email) == false)
    {
        document.getElementById("register_email_error").innerHTML = "Not a valid email address.";
		errorExists = true;
    }
    else
    {
        document.getElementById("register_email_error").innerHTML = "";
    }
	
	if(errorExists == true)
	{
		return;
	}
	
    //BUild URL to send to server
    var url=domain+"/ajax.php?do=verify_register";
    var params = 'username=' + username;
	var params = params + '&password=' + password;
	var params = params + '&email=' + email;

    xmlhttp.open("POST",url,true);
    
    //Send the proper header information along with the request
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    
    //Link to function that receives response
    xmlhttp.onreadystatechange=verify_register_response;
    
    //Open and Send AJAX request
    xmlhttp.send(params);
}
function verify_register_response()
{
	//We are ready to change page html
	if (xmlhttp.readyState==4)
	{
		if(xmlhttp.responseText != "")
		{
			document.getElementById("register_error_box").innerHTML=xmlhttp.responseText;
		}
		else
		{
			post_register_form();
		}
	}

}
function listen_for_register_enter(keycode)
{
    if(keycode == 13)
    {
        verify_register_form();
    }
}
function post_register_form()
{
	//Get our XML Object
	xmlhttp=GetXmlHttpObject();
	//Make sure we have javascript enabled.
	if (xmlhttp==null)
	{
		alert (no_ajax_message);
		return;
	}

	var password = document.getElementById("register_password").value;
	var username = document.getElementById("register_username").value;
	var email    = document.getElementById("register_email").value;
	
	//BUild URL to send to server
    var url=domain+"/ajax.php?do=post_register";
    var params = 'username=' + username;
	var params = params + '&password=' + password;
	var params = params + '&email=' + email;

    xmlhttp.open("POST",url,true);

    //Send the proper header information along with the request
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");

    //Link to function that receives response
    xmlhttp.onreadystatechange=post_register_response;

    //Open and Send AJAX request
    xmlhttp.send(params);
}
function post_register_response()
{
	//We are ready to change page html
	if (xmlhttp.readyState==4)
	{
		document.getElementById("register_response").innerHTML=xmlhttp.responseText;

	}
}
function display_forgot_login()
{
    //Get our XML Object
	xmlhttp=GetXmlHttpObject();

	//Make sure we have javascript enabled.
	if (xmlhttp==null)
	{
		alert (no_ajax_message);
		return;
	}
	//Build URL to send to server
	var url=domain+"/ajax.php?do=display_forgot_login";
    
	//Link to function that receives response
	xmlhttp.onreadystatechange=display_forgot_login_response;
	//Open and Send AJAX request
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}
/**
* Handle server reponse from deleteImage_homepage
*/
function display_forgot_login_response()
{
	//We are ready to change page html
	if (xmlhttp.readyState==4)
	{
		document.getElementById("forgot_login_box").innerHTML=xmlhttp.responseText;
	}

}
function verify_forgot_login_form()
{
	var errorExists = false;
	
    //Get our XML Object
	xmlhttp=GetXmlHttpObject();
	//Make sure we have javascript enabled.
	if (xmlhttp==null)
	{
		alert (no_ajax_message);
		return;
	}
	//Check Username not blank
    var email = document.getElementById("forgot_login_email").value;
    if(email == "")
    {
        document.getElementById("forgot_login_email_error").innerHTML= "Can't be empty";
		errorExists = true;
    }
    else
    {
        document.getElementById("forgot_login_email_error").innerHTML="";
    }
	
	if(errorExists)
	{
		return;
	}
	//BUild URL to send to server
    var url=domain+"/ajax.php?do=verify_forgot_login";
    var params = 'email=' + email;
	
    xmlhttp.open("POST",url,true);
    
    //Send the proper header information along with the request
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    
    //Link to function that receives response
    xmlhttp.onreadystatechange=verify_forgot_login_response;
    
    //Open and Send AJAX request
    xmlhttp.send(params);
}
function verify_forgot_login_response()
{
	//We are ready to change page html
	if (xmlhttp.readyState==4)
	{
		
		var response = xmlhttp.responseText.split("|");
		
		if(response[0] == "SUCCESS")
		{
			document.getElementById("forgot_login_email_error").innerHTML = response[1];
		}
		else
		{
			document.getElementById("forgot_login_email_error").innerHTML=response[1];
		}
		
	}
}
function email_check(str)
{

	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1)
	{
	   return false;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
	{
	   return false;
	}
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
	{
	    return false;
	}
	if (str.indexOf(at,(lat+1))!=-1)
	{
	    return false;
	}
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
	{
		return false;
	}
	if (str.indexOf(dot,(lat+2))==-1)
	{
	   return false;
	}
	
	if (str.indexOf(" ")!=-1)
	{
		return false;
	}
 	return true;			
}
