	var AJAXObject = CreateAjaxObject();

	/* Declare Ajax Content Variables */
	var URL;
	var Params;
	var ConfirmationMessage;
	var RemovalConfirmationText;
	var ErrorMessage;
	var ClientIDs;

	/* Create Ajax Object */
	function CreateAjaxObject()
	{
		var xmlhttp = false;
		try
		{
			xmlhttp = new XMLHttpRequest();
		}
		catch(e1)
		{   try
			{
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch(e2)
			{   try
				{
					xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch(e3)
				{
					xmlhttp = false;
				}
			}
		}
		if (xmlhttp === false)
		{
			ErrorMessage = "Your browser does not support this action.\n";
			ErrorMessage+= "Error: " + e3.name + "\n";
			ErrorMessage+= "Description: " + e3.message + "\n.";
			alert(ErrorMessage);
		}
		return xmlhttp;
	}
	function AjaxRegisterNewMember(URL, Params)
	{
		AJAXObject.open("POST", URL, true);
		AJAXObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		AJAXObject.onreadystatechange = AjaxRegisterNewMemberResponseHandler;
		AJAXObject.send(Params);
	}

	function AjaxRegisterNewMemberResponseHandler()
	{
		if (AJAXObject.readyState == 1) 
		{
			ShowLoadingMessage();
		}
		if (AJAXObject.readyState == 4) 
		{
			HideLoadingMessage();
			if (AJAXObject.status == 500)
			{
				/* Post failed; show error message */
				ErrorMessage = '<table id="AjaxResponseText">';
				ErrorMessage+= '<tbody>';
				ErrorMessage+= '<tr>';
				ErrorMessage+= '<td class="FailureImage"><img alt="Error!" title="Error!" src="css/oldimages/error.png"/></td>';
				ErrorMessage+= '<td class="FailureMessage">Error [http status: ' + AJAXObject.status + ']</td>';
				 /* Uncomment the line below for debugging purposes.  It shows the error...  To ugly to leave in... 
				ErrorMessage+= '<tr><td>message: ' + AJAXObject.responseText + ']</td></tr>'; */
				ErrorMessage+= '</tr>';
				ErrorMessage+= '</tbody>';
				ErrorMessage+= '</table>';
				document.getElementById('ActionContent').innerHTML = "";
				document.getElementById('ActionContent').innerHTML = ErrorMessage;
			}
			if (AJAXObject.status == 200) 
			{
				/* Post succeeded; show results */	
				var data = AJAXObject.responseText;
				d = data.toString();
				if(d.match('User Already Exits') != null)
				{
				    document.getElementById('ActionContent').innerHTML = document.getElementById('register_email').value + ', ' + 'This User has Already Been Registered';
				    document.getElementById('Register').style.display = "block";
				    document.getElementById('passwordStrength').innerHTML = "";
				    document.getElementById('register_password').value = ""; 
				    document.getElementById('register_password_confirm').value = "";
				}
				else
				{
				    document.getElementById('ActionContent').innerHTML = d; 
				    document.getElementById('Register').style.display = "none";
				    document.getElementById('loginLink').style.display = "block";
				}
			}
		}
	}     
	
	function ShowLoadingMessage()
	{
		document.getElementById('Register').style.display = "none";
		document.getElementById('Actions').style.display = "block";
		document.getElementById('ActionContent').style.display = "none";
		document.getElementById('AjaxLoadingMessage').style.display = "block";
	}
	function HideLoadingMessage()
	{
		document.getElementById('Actions').style.display = "block";
		document.getElementById('ActionContent').style.display = "block";
		document.getElementById('AjaxLoadingMessage').style.display = "none";
		document.getElementById('login').style.display = "block";
	}
	function ErrorLoadingMessage()
	{
		document.getElementById('Register').style.display = "block";
		document.getElementById('Actions').style.display = "block";
		document.getElementById('ActionContent').style.display = "block";
		document.getElementById('AjaxLoadingMessage').style.display = "none";
	}
	
	function RegisterNewMember()
	{
		/* Set the URL to register a new member */
        URL = 'Handler/Register.ashx?mode=registermember';
        /* Set the RegisterMember Post param - the ID of the client that user originally clicked */
		if(document.getElementById('register_email').value == '' | document.getElementById('register_password').value == '' | document.getElementById('register_password_confirm').value == '' |
		document.getElementById('register_name_first').value == '' | document.getElementById('register_name_last').value == '' |
		document.getElementById('register_address').value == '' | document.getElementById('register_city').value == '' | document.getElementById('register_ZipCode').value == '' |
		document.getElementById('register_state').value == '')
		{
			ErrorLoadingMessage();
			document.getElementById('ActionContent').innerHTML = 'Enter all the Required Fields';
		}
		else if(document.getElementById('register_title').value == 'Other' && document.getElementById('register_title_other_').value == '')
		{
		    ErrorLoadingMessage();
			document.getElementById('ActionContent').innerHTML = 'Enter Title';
		}
		else
		{
			Params = "email=" + document.getElementById('register_email').value;
			Params += "&password=" + document.getElementById('register_password').value;
			if(document.getElementById('register_password').value != document.getElementById('register_password_confirm').value)
			{
				ErrorLoadingMessage();
				document.getElementById('ActionContent').innerHTML = 'Password and Confirm Password must be Match';
			}
			else
			{
				if( document.getElementById('register_title').value == 'Other')
				{
					Params += "&title=" + document.getElementById('register_title_other_').value;
				}
				else
				{
					Params += "&title=" + document.getElementById('register_title').value;
				}
			Params += "&firstname=" + document.getElementById('register_name_first').value;
			Params += "&lastname=" + document.getElementById('register_name_last').value;
			Params += "&address=" + document.getElementById('register_address').value;
			Params += "&city=" + document.getElementById('register_city').value;
			Params += "&zipcode=" + document.getElementById('register_ZipCode').value;
			Params += "&state=" + document.getElementById('register_state').value;
			Params += "&emailnotice=" + document.getElementById('register_optin').checked;
			/* Execute the Ajax Post */
			AjaxRegisterNewMember(URL, Params);
			}
		}
		
	}
	
	
