// JavaScript Document
function hasAgreed(agree_val){
if(agree_val.checked)
	document.frmreg.agree_val.value = "checked";
else
	document.frmreg.agree_val.value = "";
}

function showStates(country)
{
	countryName = country.options[country.options.selectedIndex].value;
	//alert(countryName);
	
	if (countryName == "India")
	{
		document.getElementById('StateBox').style.display = 'block';
		document.getElementById('StateTitle').style.display = 'block';
	}
	else
	{
		document.getElementById('StateBox').style.display = 'none';
		document.getElementById('StateTitle').style.display = 'none';
	}
}

function checkPass(passwd1) {
 	//alert(passwd1.value);
	//alert(document.frmreg.password.value);
if ((document.frmreg.password.value != '') && (document.frmreg.password.value == passwd1.value))
	document.getElementById('mismatch').innerHTML = '';
	
else{
	document.getElementById('mismatch').innerHTML = '<span style="color:red">Passwords don\'t match</span>';
	document.frmreg.passwd1.value = "";
}
}

var showValidateUserName = function(str){
	var msg = '';
	if(str == "True")
	{
		msg = "<font color=red>Username already exists</font>";
		document.frmreg.nick_val.value = "";
	}
	else if(str == "False")
	{
		msg = "<span style='color:#2E8B2E'>Username is available</span>";
		document.frmreg.nick_val.value = "ok";
		
	}
	else
	{
		alert(str);
		msg = "<font color=red>Unknown error</font>";
		document.frmreg.nick_val.value = "";
	}
	window.document.getElementById('user_response').innerHTML= msg;
}

var showValidateEmail = function(str){
	var msg = '';
	if(str == "True")
	{
		msg = "<font color=red>A user with email-id already exists.</font>";
		document.frmreg.email_val.value = "";
	}
	else if(str == "False")
	{
		msg = "<span style='color:#2E8B2E'>Email-id available to register</span>";
		//msg ='';
		document.frmreg.email_val.value = "ok";
		
	}
	else
	{
		alert(str);
		msg = "<font color=red>Unknown error</font>";
		document.frmreg.email_val.value = "";
	}
	window.document.getElementById('email_response').innerHTML= msg;
}

function validateUsername(user){
	if (user != '' && validateUserNameString(user))
	{
		window.document.getElementById('user_response').innerHTML="Validating username...";
		var ajax = new MyAjax();
		ajax.doGet('ajax-test.php?action=validateUsername&user_id='+user,showValidateUserName,'text');
	}
	else
	{
		alert("Enter a valid Nick. Min 4 characters. Max 31 charcters. Only alphabets, digits, '.' and '_' allowed.");
	}
}

function validateEmail(email){
	if (email != '' && validateEmailString(email))
	{
		window.document.getElementById('email_response').innerHTML="Validating Email-id...";
		var ajax = new MyAjax();
		ajax.doGet('ajax-test.php?action=validateEmail&email='+email,showValidateEmail,'text');
	}
	else
	{
		alert("Enter a valid email-id");
	}
}

function validatePwd(password,nick){
	//alert(nick);
	if (password!='')
	{
		window.document.getElementById('pwd_response').innerHTML="<span style='font-size:11px;'>Validating Password...</span>";
		var ajax = new MyAjax();
		ajax.doGet('ajax-test.php?action=validatePwd&pwd='+password+'&nick='+nick,showValidatePwd,'text');
	}
	else
	{
		alert("Enter old password.");
	}
}

var showValidatePwd = function(str){
	var msg = '';
	if(str == "True")
	{
		//msg = "<span style='color:#2E8B2E'>Password accepted.</span>";
		document.changePwdForm.pwd_val.value = "ok";
	}
	else if(str == "False")
	{
		msg = "<span style='color:red; font-size:11px;' class='smallalert'>Password is incorrect</span>";
		document.changePwdForm.pwd_val.value = "";
	}
	else
	{
		alert(str);
		msg = "<font color=red>Unknown error</font>";
		document.changePwdForm.pwd_val.value = "";
	}
	window.document.getElementById('pwd_response').innerHTML= msg;
}


function getAgeInYears(dob)
{
	var now = new Date(); 
	var d = new Date(dob.getTime()); 
	d.setFullYear(now.getFullYear()); 
	return (d > now ? now.getFullYear() - dob.getFullYear()-1 : now.getFullYear() - dob.getFullYear() );
}

function validateAge()
{
	dob = new Date();
	var year = document.frmreg.year;
	var year_val = year.options[year.options.selectedIndex].value;
	
	var month = document.frmreg.month;
	var month_val = month.options[month.options.selectedIndex].value -1; 
	
	var day = document.frmreg.day;
	var day_val = day.options[day.options.selectedIndex].value; 
	
	dob.setFullYear(year_val,month_val,day_val);
	
	if (getAgeInYears(dob) < 13)
	{
		document.frmreg.dob_val.value = "";
		//alert("You must be at least 13 years of age to register");
	}
	else
	{
		document.frmreg.dob_val.value = "checked";
		//alert("old enough to register");
	}
}
function validateUserNameString(user)
{
	//alert(user.match("^[A-Za-z0-9._  ]{1,31}$"));
	//alert(user.length);
	if (user.length >= 4 && user.length <= 31 && user.match("^[A-Za-z0-9._  ]{1,31}$")!=null)
		return true;
	else
		return false;
}

function validateEmailString(email){
// a very simple email validation checking. 
// you can add more complex email checking if it helps 

    if(email.length <= 0){
	  return false;
	}
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
    var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return false;
      }// if
      return true;
    }
return false;
}
