// JavaScript Document
var emailExists = true;

function membersPageTo(argPage)
{
	document.getElementById("offset").value = argPage;
	
	membersSubmitForm("");
}

function membersSubmitForm(argBoxId)
{
	//var membersFormObj = document.getElementById("membersForm");
	//membersFormObj.submit();	
	document.getElementById("filterSource").value = argBoxId;
	
	ajaxSubmitForm("membersForm", "membersForm", "", "membersLoadingDiv");
	
}

function ajaxSubmitForm(argFormName, argObjId, argUrl, argImgId)
{
	
	var ajaxsForm = document.getElementById(argFormName);
	var ajaxUpdateObj = document.getElementById(argObjId);
	var ajaxsfLoadingImg = document.getElementById(argImgId);


	if (ajaxsForm == null)
	{
		alert("Form with name " + argFormName + " does not exist.");	
		return false;
	}
	
	if(ajaxUpdateObj == null)
	{
		alert("Object with ID " + argObjId + " does not exist.");
		return false;
	}
	
	var ajaxsdata = "";
	
	for(i=0; i < ajaxsForm.elements.length; i++)
	{
		var elmObj = ajaxsForm.elements[i];
		//replace(" ", "+")
		ajaxsdata = ajaxsdata + elmObj.name + "=" + escape(elmObj.value) + "&";

	}
	
	
	var httpRequest;
	
	if (window.XMLHttpRequest)     // Object of the current windows
	{
		httpRequest = new XMLHttpRequest();     // Firefox, Safari, ...
	}
	else 
	{
		if (window.ActiveXObject)   // ActiveX version
		{
			httpRequest = new ActiveXObject("Microsoft.XMLHTTP");  // Internet Explorer 
		}
	}
	
	httpRequest.onreadystatechange = function() {
		
		if(httpRequest.readyState == 4)
		{
			if(httpRequest.status == 200)
			{
				ajaxUpdateObj.innerHTML = httpRequest.responseText;
				
				window.setTimeout("document.getElementById(document.getElementById(\"filterSource\").value).select();", 0);
				
				
				//if (ajaxsfLoadingImg != null)
					//ajaxsfLoadingImg.style.display = "none";	
			}
			else
			{
				if(confirm("Error " + httpRequest.status + ". Do you want to see the response?"))
				{
					document.write(httpRequest.responseText);
				}
				return false;
			}
		}
	};
	
	if (ajaxsfLoadingImg != null)
	{
		document.getElementById("membersLoadingDiv_alt").style.display = "none";
		ajaxsfLoadingImg.style.display = "";	
	}
		
	var ajaxsUrl = "";
	
	if (argUrl == "")
		ajaxsUrl = ajaxsForm.action;
	else
		ajaxsUrl = argUrl;
	

	httpRequest.open("POST", ajaxsUrl, true); 
	httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
	httpRequest.send(ajaxsdata);

}

function sortBy(argColumnName)
{
	var objCol = document.getElementById("sortColumn");
	var objDir = document.getElementById("sortDirection");
	var objColAct = document.getElementById("sortColumnActive");

	objCol.value = argColumnName;

	if(objColAct.value == argColumnName)
	{
		if (objDir.value == "ASC")
			objDir.value = "DESC";
		else
			objDir.value = "ASC";
	}
	else
	{
		objDir.value = "ASC"
	}


	//alert(objDir.value);
	membersSubmitForm("sortColumn");
}


function doKey(boxId, e)
{
	var key;

	 if(window.event)
		  key = window.event.keyCode;     //IE
	 else
		  key = e.which;     //firefox
		 

	if (key == 13)
	{
		membersSubmitForm(boxId);					
	}
	
	return false;
}

function validateEmail(elementValue)
{
	var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; 
	return emailPattern.test(elementValue); 
} 

function checkAjaxEmailExists(argEmail)
{
	var httpRequest;
	
	if (window.XMLHttpRequest)     // Object of the current windows
	{
		httpRequest = new XMLHttpRequest();     // Firefox, Safari, ...
	}
	else 
	{
		if (window.ActiveXObject)   // ActiveX version
		{
			httpRequest = new ActiveXObject("Microsoft.XMLHTTP");  // Internet Explorer 
		}
	}

	httpRequest.onreadystatechange = function() {
		
		if(httpRequest.readyState == 4)
		{
			if(httpRequest.status == 200)
			{
				
				if (httpRequest.responseText == "true")
					emailExists = true;
				else
					emailExists = false;
					
				var emailOrigObj = document.getElementById("member_email_original");
				
				if (emailOrigObj != null)
				{
					if (emailExists)
					{
						if (argEmail == emailOrigObj.value)
						{
							emailExists = false;
						}
						
					}					
				}
				
					
					
								
				document.getElementById("submit_button").disabled = false;
				
				if (emailExists == false)
				{
					//alert("email doesnt exist");
					//validateRegistrationForm();
					//document.getElementById("submit_button").click();
				}
				else
				{
					//alert("The email address is already in the database. Please enter another");
					//document.getElementById("member_email").select();
				}


			}
			else
			{
				if(confirm("Error " + httpRequest.status + ". Do you want to see the response?"))
				{
					document.write(httpRequest.responseText);
				}
				return false;
			}
		}
	};
	
	
	httpRequest.open("GET", "members.asp?check=emailexists&member_email=" + argEmail + "",  true); 
	httpRequest.send(null);
	

	return false;

}

function validateRegistrationForm()
{
	//   
	
	if (document.getElementById("member_first_name").value == "")
	{
		alert("Please enter your first name");
		document.getElementById("member_first_name").focus();
		return false;
	}
	
	if (document.getElementById("member_last_name").value == "")
	{
		alert("Please enter your last name");
		document.getElementById("member_last_name").focus();
		return false;
	}
	
	if (document.getElementById("member_email").value == "")
	{
		alert("Please enter your email address");
		document.getElementById("member_email").focus();
		return false;
	}
	else
	{
		if (!validateEmail(document.getElementById("member_email").value))
		{
			alert("Please enter a valid email address");
			document.getElementById("member_email").select();
			return false;
		}


	}
	
	if (document.getElementById("member_gender").value == "")
	{
		alert("Please select your gender");
		document.getElementById("member_gender").focus();
		return false;
	}
	
	if (document.getElementById("member_type_id").value == "")
	{
		alert("Please select your member type");
		document.getElementById("member_type_id").focus();
		return false;
	}

}



function validateUserForm()
{
	
	if (document.getElementById("member_first_name").value == "")
	{
		alert("Please enter a first name");
		document.getElementById("member_first_name").focus();
		return false;
	}
	
	if (document.getElementById("member_last_name").value == "")
	{
		alert("Please enter a last name");
		document.getElementById("member_last_name").focus();
		return false;
	}
	
	if (document.getElementById("member_email").value == "")
	{
		alert("Please enter a email address");
		document.getElementById("member_email").focus();
		return false;
	}
	else
	{
		if (!validateEmail(document.getElementById("member_email").value))
		{
			alert("Please enter a valid email address");
			document.getElementById("member_email").select();
			return false;
		}

	}
	
	if (emailExists)
	{
		alert("The email address is already in the database. Please enter another");
		document.getElementById("member_email").select();
		return false;
	}
	
	//if (!emailExists)
	//{

		if (document.getElementById("member_password").value == "")
		{
			alert("Please enter a password");
			document.getElementById("member_password").focus();
			return false;
		}
		
		if (document.getElementById("member_gender").value == "")
		{
			alert("Please select a member gender");
			document.getElementById("member_gender").focus();
			return false;
		}		
		
		if (document.getElementById("member_type_id").value == "")
		{
			alert("Please select a member type");
			document.getElementById("member_type_id").focus();
			return false;
		}
		
		if (document.getElementById("member_role").value == "")
		{
			alert("Please select a member role");
			document.getElementById("member_role").focus();
			return false;
		}
		
		if (document.getElementById("member_active_status").value == "")
		{
			alert("Please select the active status");
			document.getElementById("member_active_status").focus();
			return false;
		}
		
		document.getElementById("formAdd").submit();
		
		return true;
		
	//}
	//else
	//{
	//	return false;
	//}
	
	
}


function clearMembersFilters(argFormName)
{
	// tbFilter
	
	if (confirm("Are you sure you want to clear the search form?"))
	{
		var ajaxsForm = document.getElementById(argFormName);
		
		if (ajaxsForm == null)
		{
			alert("Form with name " + argFormName + " does not exist.");	
			return false;
		}
		
		for(i=0; i < ajaxsForm.elements.length; i++)
		{
			var elmObj = ajaxsForm.elements[i];
			
			if (elmObj.name.substring(0, 8) == "tbFilter")
			{
				elmObj.value = "";
			}
		}
		//sortColumnActive sortDirection sortColumn filterSource offset
		
		document.getElementById("filterSource").value = "";
		document.getElementById("sortColumn").value = "member_full_name";
		document.getElementById("sortDirection").value = "ASC";
		document.getElementById("sortColumnActive").value = "";
		document.getElementById("offset").value = "0";
		
		membersSubmitForm("sortColumn");
	}

}

