function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}

var clear = true;

function checkEmail(address) 
{
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   return reg.test(address);
}

function availablelityAlert(show, fld)
{
	if (fld == "username")
	{
		document.getElementById("username_pl").style.display = "none";
		document.getElementById("username_avail").style.display = "none";
		document.getElementById("username_unavail").style.display = "none";
		document.getElementById("username_noemail").style.display = "none";
		document.getElementById("username_empty").style.display = "none";
	}
	else if (fld == "email")
	{
		document.getElementById("email_pl").style.display = "none";
		document.getElementById("email_frmt").style.display = "none";
		document.getElementById("email_avail").style.display = "none";
		document.getElementById("email_unavail").style.display = "none";
		document.getElementById("email_empty").style.display = "none";
	}
	document.getElementById(fld+"_"+show).style.display = "block";
	if (show == "noemail" || show == "frmt" || show == "unavail" || show == "empty")
	clear = false;
	else
	clear = true;
	return;
}

function SignupValidate(form)
{
	if (form.username.value == "")
	{
		document.getElementById("username_empty").style.display = "block";
		clear = false;
	}
	else
	{
		clear = true;
	}
	if (form.email.value == "")
	{
		document.getElementById("email_empty").style.display = "block";
		clear = false;	
	}
	else
	{
		clear = true;
	}
	if (form.agree.checked == false)
	{
		document.getElementById("agreealert").style.display = "block";
		clear = false;
	}
	else
	{
		document.getElementById("agreealert").style.display = "none";
		clear = true;
	}
	return clear;
}

function checkAvailability(value, field)
{
	document.getElementById(field+"_pl").style.display = "block";
	if (value == "")
	{
		availablelityAlert("empty", field);
		return;
	}
	if (field == "email" && checkEmail(value) == false)
	{
		availablelityAlert("frmt", "email");
		clear = false;
		return;
	}
	else if (field == "username" && checkEmail(value) == true)
	{
		availablelityAlert("noemail", "username");
		clear = false;
		return;
	}
		
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	  {
	  alert ("Your browser does not support AJAX!");
	  return;
	  }
	
	var url="checkavailability.php";
	url=url+"?value="+value;
	url=url+"&field="+field;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
	xmlhttp.onreadystatechange = function ()
	{
		if (xmlhttp.readyState==4)
		{	
			availablelityAlert(xmlhttp.responseText, field);
		}
	}
}


var fpavailmsg;

function forgotpassNotavailableAlert(show, fld)
{
	if (show == "avail")
	{
		fpavailmsg = "This "+fld+" does not exists in our database. Please try again.";
		clear = false;
	}
	return;
}


function passforgotValidate(form)
{
	if (form.email.value == "" && form.username.value == "")
	{
		document.getElementById("sent").style.display = "none";
		document.getElementById("errormsg").innerHTML = "Please provide your username or the e-mail you registered with .";
		document.getElementById("erroralert").style.display = "block";
		return false;
	}
	if (form.email.value != "" && form.username.value != "")
	{
		document.getElementById("sent").style.display = "none";
		document.getElementById("errormsg").innerHTML = "Please provide either of your username or the e-mail address."
		document.getElementById("erroralert").style.display = "block";
		return false;
	}
	
	if (form.email.value != "" && checkEmail(form.email.value) == false)
	{
		document.getElementById("sent").style.display = "none";
		document.getElementById("errormsg").innerHTML = "Please provide a valid e-mail address."
		document.getElementById("erroralert").style.display = "block";
		return false;	
	}
	
	if(clear == false)
	{
		document.getElementById("sent").style.display = "none";
		document.getElementById("errormsg").innerHTML = fpavailmsg;
		document.getElementById("erroralert").style.display = "block";
		return false;
	}
}


function checkPresence(value, field)
{
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	  {
	  alert ("Your browser does not support AJAX!");
	  return;
	  }
	
	var url="checkavailability.php";
	url=url+"?value="+value;
	url=url+"&field="+field;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
	xmlhttp.onreadystatechange = function ()
	{
		if (xmlhttp.readyState==4)
		{	
			if (xmlhttp.responseText == "avail")
			{
				forgotpassNotavailableAlert(xmlhttp.responseText, field);
			}
		}
	}
}