// JavaScript Document

function validateEmail(addr,man,db) 
{
	if (addr == '' && man) 
	{
		if (db) alert('email address is mandatory');
		
		return false;
	}
	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
	for (i=0; i<invalidChars.length; i++) 
	{
		if (addr.indexOf(invalidChars.charAt(i),0) > -1) 
		{
		  if (db) alert('email address contains invalid characters');
		  return false;
		}
	}
	for (i=0; i<addr.length; i++) 
	{
	   if (addr.charCodeAt(i)>127) 
	   {
		  if (db) alert("email address contains non ascii characters.");
		  return false;
	   }
	}

	var atPos = addr.indexOf('@',0);
	if (atPos == -1) 
	{
	   if (db) alert('email address must contain an @');
	   return false;
	}
	if (atPos == 0) 
	{
	   if (db) alert('email address must not start with @');
	   return false;
	}
	if (addr.indexOf('@', atPos + 1) > - 1) 
	{
	   if (db) alert('email address must contain only one @');
	   return false;
	}
	if (addr.indexOf('.', atPos) == -1) 
	{
	   if (db) alert('email address must contain a period in the domain name');
	   return false;
	}
	if (addr.indexOf('@.',0) != -1) 
	{
	   if (db) alert('period must not immediately follow @ in email address');
	   return false;
	}
	if (addr.indexOf('.@',0) != -1)
	{
	   if (db) alert('period must not immediately precede @ in email address');
	   return false;
	}
	if (addr.indexOf('..',0) != -1) 
	{
	   if (db) alert('two periods must not be adjacent in email address');
	   return false;
	}
	var suffix = addr.substring(addr.lastIndexOf('.')+1);
		if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') 
		{
		   if (db) alert('invalid primary domain in email address');
		   return false;
		}
	return true;
}


function isEmail(str)
{
            var regex = /^[-_.a-z0-9]+@(([-_a-z0-9]+\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;

            return regex.test(str);
}




function text(name)
{
	var test1 = "1234567890<>?,./:{};'[]!@#$%^*()"
	var tests = test1
    var count = 0 ;    
    for( i=0;i< name.length ; i++)
    {
		var  ch = name.charAt(i);
        if ( count != 0 )
        break;
        for(j=0;j < tests.length ; j++)
        {
         if( ch == tests.charAt(j) )
          {
            count = count+1;
            break; 
          }
        } 
	 }
	
	if( count == 0 )
    {    
      return true;
    }
	else
	{
		return false;
	}
}


function numeric(pin)
{
	var test1  = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ;
	var test2  = "abcdefghijklmnopqrstuvwxyz" ;
	var test3  = "!@#$%^&*()_+|~`{}[]:;'<>?,./" ;
	var test = test1 + test2 + test3
	var count = 0 ;            
    for( i=0;i< pin.length ; i++)
    {
        var  ch = pin.charAt(i);
         if ( count != 0 )
             break;
         for(j=0;j < test.length ; j++)
          {
              if( ch == test.charAt(j) )
               {
                  count = count+1;
                   break; 
                 }
           } 
    }
    if( count == 0 )
    {
		return true;
    }
	else
	{
		return false;
	}
}


function chkPass(w)
{
	x1 = /^[a-z\d]{6,10}$/i // only alphanumerics, and length 6-10
	x2 = /[a-z]/i           // a letter present
	x3 = /\d/               // a digit present
	if(x1.test(w) && x2.test(w) && x3.test(w))
	{
		return true;
	}
	else
	{
		return false;
	}
}


function registerValidation()
{	
	var fname = document.getElementById('fname');
	var lname = document.getElementById('lname');
	var month = document.getElementById('month');
	var day = document.getElementById('day');	
	var year = document.getElementById('year');	
	var email = document.getElementById('email');	
	var email_conf = document.getElementById('email_conf');	
	var address = document.getElementById('address');	
	var city = document.getElementById('city');	
	var state = document.getElementById('state');	
	var zip = document.getElementById('zip');	
	var country = document.getElementById('country');	
	var username = document.getElementById('signup_username');	
	var password = document.getElementById('signup_password');	
	var password_conf = document.getElementById('password_conf');
	
	
/*	var home_contact_no = home1.value+home2.value+home3.value;
	var cell_contact_no = cell1.value+cell2.value+cell3.value;*/
	
	var pattern = /^\s/;	
	var passBegin = /^[a-zA-Z\d]/;
	var passLegalChars = /[^a-z_.\d]+/gi;
	
	if(fname.value=="")
	{
		alert("Please Enter The First Name.");
		fname.focus();
		return false;
	}	
	
	if(pattern.test(fname.value))
	{
		alert("Please Enter Valid First Name.");
		fname.focus();
		return false;
	}
	
	if(!text(fname.value))
	{
		alert("First Name Is Invalid.");
		fname.focus();
		return false;
	}		

	if(lname.value=="")
	{
		alert("Please Enter The Last Name.");
		lname.focus();
		return false;
	}
	if(pattern.test(lname.value))
	{
		alert("Please Enter Valid Last Name.");
		lname.focus();
		return false;
	}
	if(!text(lname.value))
	{
		alert("Last Name Is Invalid.");
		lname.focus();
		return false;
	}	
	
	
	if(month.value=="-1")
	{
		alert("Please Select Month.");
		month.focus();
		return false;
	}
	if(day.value=="-1")
	{
		alert("Please Select Day.");
		day.focus();
		return false;
	}
	if(year.value=="-1")
	{
		alert("Please Select Year.");
		year.focus();
		return false;
	}	
	

	if(email.value=="")
	{
		alert("Please Enter The Email Address");
		email.focus();
		return false;
	}
	if(pattern.test(email.value))
	{
		alert("Please Enter Valid Email.");
		email.focus();
		return false;
	}
	
	if(!isEmail(email.value)) 
	{
		alert('Email Address Is Invalid.');
		email.focus();
		return false;
	}
	
	if(email_conf.value=="")
	{
		alert("Please Enter The Confirm Email Address");
		email_conf.focus();
		return false;
	}
	if(email.value!=email_conf.value)
	{
		alert('Email Address Is Not Matching.');
		email_conf.focus();
		return false;	
	}	
	
	
	if(address.value!='') 
	{
		if(address.value.length>100)
		{
			alert('Address Length Is 100.');
			address.focus();
			return false;
		}
	}	
	
	/*	
	if(cell_contact_no!="")
	{
		if(!isUSPhoneNumber(cell_contact_no))   
		{            
			alert("Please Enter Valid US Phone Number."); 
			cell3.focus();
			return false;
		}
	}*/
	
	if(username.value=='')
	{	alert('Please Enter Your Username.');	username.focus(); return false; 	}	
	
	if(password.value=='')
	{	alert('Please Enter Your Password.');	password.focus(); return false; 	}	
		
	if(!passBegin.test(password.value))
	{	alert("Password Should Begin With Alphabets Or Numbers"); password.focus(); return false;	}
	
	/*if(passLegalChars.test(password.value))
	{ 	alert("Password Should Contain Only Alphabets Or Numbers Or (_) Or (.)"); password.focus(); return false;	}	*/
	
	if( (password.value.length < 6) || (password.value.length > 15))
	{	alert("Password Should Be Between 6 And 15 Characters"); password.focus(); return false;	}
	
	if(password_conf.value=='')
	{	alert('Please Enter Confirm Password');	password_conf.focus(); return false; 	}	
	
	if(password.value!=password_conf.value)
	{	alert('Password is Not Matching.');	password_conf.focus(); return false;  }	
	
	
	if(document.getElementById("unstatus").value=="0")
	{ 	alert('Please Change Your Username.');	username.focus(); return false; }

 	return true;
}



/*function validateETPquestions()
{
	var questionIDs = document.etpquestions.questionIDs.value;	
	
	var qid = questionIDs.split('|');
	
	for(var i=0; i<(qid.length-1); i++)
	{	
		 if (!checkRadio("etpquestions","radiobutton"+qid[i]))
		 {
	  		alert("Please Answer All The Questions.");
			return false;
		 }	
	}	
	
	return true;
}*/

// Radio Button Validation

function checkRadio (frmName, rbGroupName) 
{	
	 var radios = document[frmName].elements[rbGroupName];
	 for (var i=0; i <radios.length; i++) {
	  if (radios[i].checked) {
	   return true;
	  }
	 }
	 return false;
}


function onlyAlphabets(name)
{
	var test1 = "1234567890<>?,./:{};'[]!@#$%^*()+_="
	var tests = test1
    var count = 0 ;    
    for( i=0;i< name.length ; i++)
    {
		var  ch = name.charAt(i);
        if ( count != 0 )
        break;
        for(j=0;j < tests.length ; j++)
        {
         if( ch == tests.charAt(j) )
          {
            count = count+1;
            break; 
          }
        } 
	 }
	
	if( count == 0 )
    {    
      return true;
    }
	else
	{
		return false;
	}
}



function checkUserName(str)
{
	if (str.length==0)
	  { 
	  document.getElementById("txtHint").innerHTML="";
	  document.getElementById("unstatus").value="";
	  return;
	  }
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	  {
	  alert ("Your browser does not support AJAX!");
	  return;
	  } 
	var url="checkUsername.php";
	url=url+"?uname="+str;
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=function() 
								{ 
									if (xmlHttp.readyState==4)
									{ 
										var res = xmlHttp.responseText;
										if(res>0)
										{
											document.getElementById("txtHint").innerHTML="User Name is not available";
											document.getElementById("unstatus").value="0";	
											
										}
										else 
										{
											document.getElementById("txtHint").innerHTML="User Name is available";
											document.getElementById("unstatus").value="1";
										}											
									}
								}

	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}



function accountValidation()
{	
	var fname = document.getElementById('fname');
	var lname = document.getElementById('lname');
	var month = document.getElementById('month');
	var day = document.getElementById('day');	
	var year = document.getElementById('year');	
	var email = document.getElementById('email');	
	var email_conf = document.getElementById('email_conf');	
	var address = document.getElementById('address');	
	var city = document.getElementById('city');	
	var state = document.getElementById('state');	
	var zip = document.getElementById('zip');	
	var country = document.getElementById('country');	
	var username = document.getElementById('username');	
	var password = document.getElementById('password');	
	var password_conf = document.getElementById('password_conf');
	
	

	
	var pattern = /^\s/;	
	var passBegin = /^[a-zA-Z\d]/;
	var passLegalChars = /[^a-z_.\d]+/gi;
	
	if(fname.value=="")
	{
		alert("Please Enter The First Name.");
		fname.focus();
		return false;
	}	
	
	if(pattern.test(fname.value))
	{
		alert("Please Enter Valid First Name.");
		fname.focus();
		return false;
	}
	
	if(!text(fname.value))
	{
		alert("First Name Is Invalid.");
		fname.focus();
		return false;
	}		

	if(lname.value=="")
	{
		alert("Please Enter The Last Name.");
		lname.focus();
		return false;
	}
	if(pattern.test(lname.value))
	{
		alert("Please Enter Valid Last Name.");
		lname.focus();
		return false;
	}
	if(!text(lname.value))
	{
		alert("Last Name Is Invalid.");
		lname.focus();
		return false;
	}	
	
	
	if(month.value=="-1")
	{
		alert("Please Select Month.");
		month.focus();
		return false;
	}
	if(day.value=="-1")
	{
		alert("Please Select Day.");
		day.focus();
		return false;
	}
	if(year.value=="-1")
	{
		alert("Please Select Year.");
		year.focus();
		return false;
	}	
	

	if(email.value=="")
	{
		alert("Please Enter The Email Address");
		email.focus();
		return false;
	}
	if(pattern.test(email.value))
	{
		alert("Please Enter Valid Email.");
		email.focus();
		return false;
	}
	
	if(!isEmail(email.value)) 
	{
		alert('Email Address Is Invalid.');
		email.focus();
		return false;
	}
	
	if(email_conf.value=="")
	{
		alert("Please Enter The Confirm Email Address");
		email_conf.focus();
		return false;
	}
	if(email.value!=email_conf.value)
	{
		alert('Email Address Is Not Matching.');
		email_conf.focus();
		return false;	
	}	
	
	
	if(address.value!='') 
	{
		if(address.value.length>100)
		{
			alert('Address Length Is 100.');
			address.focus();
			return false;
		}
	}	
	
	
	
	if(password.value!='')
	{
		if(!passBegin.test(password.value))
		{	alert("Password Should Begin With Alphabets Or Numbers"); password.focus(); return false;	}		
		
		if( (password.value.length < 6) || (password.value.length > 15))
		{	alert("Password Should Be Between 6 And 15 Characters"); password.focus(); return false;	}
		
		if(password_conf.value=='')
		{	alert('Please Enter Confirm Password');	password_conf.focus(); return false; 	}	
	
		if(password.value!=password_conf.value)
		{	alert('Password is Not Matching.');	password_conf.focus(); return false;  }	
		
	}


 	return true;
}



/*function loginValidation()
{	
	var username = document.getElementById('username');
	var password = document.getElementById('password');
	
	if(username.value=="" || username.value=="Username")
	{
		alert("Please Enter The Username.");
		username.focus();
		return false;
	}	
	if(password.value=="")
	{
		alert("Please Enter The Password.");
		password.focus();
		return false;
	}	
	
}*/

