/*
----------------------------------------------------------------------------
CHECK FOR BROWSER TYPE FIRST */


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;
}








var xmlhttp
/* ------------------------------------------------------------------------------
CHECK FOR USERNAME AVAILABILITY  */

function showUserName(str)
{
if (str.length==0)
  {
  document.getElementById("flagarea").innerHTML="";
  return;
  }
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Your browser does not support XMLHTTP!");
  return;
  }

var url="http://www.menxs.com/signup/form/validator/";
url=url+"?username="+str;

xmlhttp.onreadystatechange=UserNameChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function UserNameChanged()
{
if (xmlhttp.readyState==4)
  {
  document.getElementById("flagarea").innerHTML=xmlhttp.responseText;
  }
}



/* ------------------------------------------------------------------------------
CHECK FOR EMAIL ADDRESS TO SEE IF THERE AN ACCOUNT ALREADY! */

function showEmail(str)
{
if (str.length==0)
  {
  document.getElementById("flagarea").innerHTML="";
  return;
  }
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Your browser does not support XMLHTTP!");
  return;
  }

var url="http://www.menxs.com/signup/form/validator/";
url=url+"?email="+str;

xmlhttp.onreadystatechange=EmailChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function EmailChanged()
{
if (xmlhttp.readyState==4)
  {
  document.getElementById("flagarea").innerHTML=xmlhttp.responseText;
  
  }
}

















/* ----------------------------------------------------------------------------------------------
VALIDATE THE FORM FIELDS */

function isEmailAddr(email)
{
  var result = false
  var theStr = new String(email)
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}


regex=/^[a-zA-Z_0-9]*$/; 
regexname=/^[a-zA-Z]*$/; 


function SIGNUP(theForm)
{
	if (theForm.username.value == "")
	{
	document.getElementById("flagarea").innerHTML="<p class=warning>Username cannot be blank.</p>";
    theForm.username.focus();
    return (false);
    }
		var UserNameMin=4;
		if (theForm.username.value.length < UserNameMin)
			{
			document.getElementById("flagarea").innerHTML="<p class=warning>Username unavailable.</p>";
			return false;
			}
		var UserNameMax=20;
		if (theForm.username.value.length > UserNameMax) 
			{
			document.getElementById("flagarea").innerHTML="<p class=warning>Your username is too long.</p>";
			return false;
			}

            if(!regex.exec(theForm.username.value)) 
            { 
				document.getElementById("flagarea").innerHTML="<p class=warning>Username must be letters, numbers and underscores only.</p>";
                theForm.username.focus(); 
                return false; 
            } 
			
	if (theForm.password1.value == "")
  	{
	document.getElementById("flagarea").innerHTML="<p class=warning>Password cannot be blank.</p>";
    theForm.password1.focus();
    return (false);
    }
            if(!regex.exec(theForm.password1.value)) 
            { 
				document.getElementById("flagarea").innerHTML="<p class=warning>Password must be letters and numbers only.</p>";
                theForm.password1.focus(); 
                return false; 
            } 

	if (theForm.password2.value == "")
  	{
	document.getElementById("flagarea").innerHTML="<p class=warning>Please confirm password.</p>";
    theForm.password2.focus();
    return (false);
    }

  	if 	(theForm.password1.value == theForm.password2.value)
		(theForm.password.value == theForm.password2.value)
	else
   	 	{
		document.getElementById("flagarea").innerHTML="<p class=warning>Passwords do not match.</p>";
    	theForm.password2.focus();
    	return (false);
    	}
		var Password1Min=4;
		if (theForm.password1.value.length < Password1Min) 
		{
		document.getElementById("flagarea").innerHTML="<p class=warning>Password is too short.</p>";
		return false; 
		}
		var Password1Max=20;
		if (theForm.password1.value.length > Password1Max) 
		{
		document.getElementById("flagarea").innerHTML="<p class=warning>Password is too long.</p>";
		return false; 
		}


	if (theForm.email.value == "")
  	{
	document.getElementById("flagarea").innerHTML="<p class=warning>Please enter your email address.</p>";
    theForm.email.focus();
    return (false);
    }
	if (!isEmailAddr(theForm.email.value))
  	{
	document.getElementById("flagarea").innerHTML="<p class=warning>Please enter a valid email address.</p>";
    theForm.email.focus();
    return (false);
    }
		var Email1Max=255;
		if (theForm.email.value.length > Email1Max) {
		document.getElementById("flagarea").innerHTML="<p class=warning>Please enter a valid email address.</p>";
		return false; }

	if (theForm.firstname.value == "")
  	{
	document.getElementById("flagarea").innerHTML="<p class=warning>Please type your name.</p>";
    theForm.firstname.focus();
    return (false);
    }
            if(!regexname.exec(theForm.firstname.value)) 
            { 
				document.getElementById("flagarea").innerHTML="<p class=warning>Please enter your real name.</p>";
                theForm.firstname.focus(); 
                return false; 
            } 

		var FirstNameMax=50;
		if (theForm.firstname.value.length > FirstNameMax) 
		{
		document.getElementById("flagarea").innerHTML="<p class=warning>Please type your real first name.</p>";
		return false; 
		}

	if (theForm.lastname.value == "")
  	{
	document.getElementById("flagarea").innerHTML="<p class=warning>Please enter your last name.</p>";
    theForm.lastname.focus();
    return (false);
    }
		if(!regexname.exec(theForm.lastname.value)) 
            { 
				document.getElementById("flagarea").innerHTML="<p class=warning>Please type your real last name.</p>";
                theForm.lastname.focus(); 
                return false; 
            } 

    
		var LastNameMax=50;
		if (theForm.lastname.value.length > LastNameMax) 
		{
		document.getElementById("flagarea").innerHTML="<p class=warning>Please enter your real last name.</p>";
		return false; 
		}
	
	if (theForm.termsagreement.checked == false)
  	{
		document.getElementById("flagarea").innerHTML="<p class=warning>You must agree to the terms and conditions.</p>";
  		theForm.termsagreement.focus();
  		return (false);
  	}
	
	if (theForm.certify.checked == false)
  	{
		document.getElementById("flagarea").innerHTML="<p class=warning>You must certify that you are at least 18 years old.</p>";
  		theForm.certify.focus();
  		return (false);
  	}
	return (true);
}











/*
------------------------------------------------------------------------------------------------
GRAB THE FIELDS FILLED OUT AND POST THEM TO DATABASE  */


var http_request = false;
	function SignupPostRequest(url, parameters) 
	{
		http_request = false;
		if (window.XMLHttpRequest) 
		{
		 	// Mozilla, Safari,...
         	http_request = new XMLHttpRequest();
	        if (http_request.overrideMimeType) 
	        {
	         	// set type accordingly to anticipated content type
	         	//http_request.overrideMimeType('text/xml');
	         	http_request.overrideMimeType('text/html');
	        }
		}
		else if (window.ActiveXObject) 
		{
			// IE
        	try
        {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) 
        {
        	try
        	{
        		http_request = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) 
            {
            }
         }
	}
	
    if (!http_request) 
    {
		alert('Cannot create XMLHTTP instance');
        return false;
    }
      http_request.onreadystatechange = BuddyAlert;
      http_request.open('post', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
	}
   
   function BuddyAlert() 
   {
	if (http_request.readyState == 4) 
	{
		if (http_request.status == 200) 
		{
			//alert(http_request.responseText);
            result = http_request.responseText;
            document.getElementById('signupresponsearea').innerHTML = result;            
        }
        else 
        {
            alert('There was a problem with the request.');
        }
}

}

function getSignupInfo(obj) 
{
	var signupstr = "username=" + encodeURI( document.getElementById("username").value ) +
                    "&password2=" + encodeURI( document.getElementById("password2").value ) +
                    "&email=" + encodeURI( document.getElementById("email").value ) +
                    "&firstname=" + encodeURI( document.getElementById("firstname").value ) +
                    "&lastname=" + encodeURI( document.getElementById("lastname").value ) +
                    "&termsagreement=" + encodeURI( document.getElementById("termsagreement").value ) +
                    "&certify=" + encodeURI( document.getElementById("certify").value ); 
	SignupPostRequest('http://www.menxs.com/signup/check/', signupstr);
}







