var error_state=false;

function validCoreField(field_id,num){
	var ele=document.getElementById(field_id)
	  alertToMsgBox(field_id,"correct","ok")
	switch(field_id)
	{
	case "first_name":
	  if (v_empty(ele))                                
		  alertToMsgBox(field_id,"incorrect","Please provide First name")
	  break;    
	case "last_name":
	  if (v_empty(ele))
		  alertToMsgBox(field_id,"incorrect","Please provide Last name")
	  break;    
	case "username":
	  if (v_empty(ele))
		  alertToMsgBox(field_id,"incorrect","Please provide Username")
	  else 
		  ajaxUser(ele,field_id)

	  break;   
	case "email":
	  if (v_email(ele))
		  alertToMsgBox(field_id,"incorrect","Invalid Email")
	  else 
		  ajaxEmail(ele,field_id)

	  break;   
	  
	case "password":
	   if (v_password(ele))
		  alertToMsgBox(field_id,"incorrect","Invalid Password (min 4, max 8)")
	  break;   
	  
	case "password2":
	  if (v_password(ele))
		  alertToMsgBox(field_id,"incorrect","Invalid Password")
	  else  if (v_password2(ele))
		  alertToMsgBox(field_id,"incorrect","Password not match")
	  break;  
	case "title":
	 if (v_select(ele))
		  alertToMsgBox(field_id,"incorrect","Invalid Title.")
	  break;  
	case "customer_type":
		validCoreField('company_name');
		validCoreField('job_title');
	break;  
	case "company_name":
	
	 if (isWho()=="wholesale")
		if  (v_empty(ele))
			  alertToMsgBox(field_id,"incorrect","Please provide Company name")
	  break;  
	case "job_title":
	 if (isWho()=="wholesale")
		if  (v_empty(ele))
			  alertToMsgBox(field_id,"incorrect","Please provide Job title")
	  break; 
	  
	case "phone_number":
		if  (v_empty(ele))
			alertToMsgBox(field_id,"incorrect","Invalid Phone number")
	  break; 
	case "hear_us":
	 if (v_select(ele))
		  alertToMsgBox(field_id,"incorrect","Invalid field.")
	  break;
	case "terms":
	if (!(ele.checked)){
		  error_state=true
		  alertToMsgBox(field_id,"incorrect","Must agree for terms")
		}
	  break;    	  
	  

	}
                           
	
}

function submitForm(){
	 error_state=false
	validCoreField("first_name",0)
	validCoreField("last_name",0)
	validCoreField("username",0)
	validCoreField("email",0)
	validCoreField("password",0)
	validCoreField("password2",0)
	validCoreField("title",0)
	validCoreField("company_name",0)
	validCoreField("customer_type",0)
	validCoreField("job_title",0)
	validCoreField("phone_number",0)
	validCoreField("hear_us",0)
	validCoreField("terms",0)
	
	 return !error_state

}
function isWho(){
	var ele=document.getElementsByName('customer_type')
	for (var i=0; i <ele.length; i++)
		if (ele[i].checked)
			return ele[i].value
}


function v_select(ele){
	if(ele.value==""){	 
	  error_state=true
	  return error_state  
	}
}
           
function v_empty(ele){
	if( trim(ele.value) == "" ) {
	  error_state=true
	  return error_state  
	} 
}

function v_password2(ele){
	var p2=ele.value
	var p=document.getElementById('password').value
	

	
	 if (p2!=p){
		 error_state=true
		 return error_state
	}
 
}
function v_password(ele){
	var l=ele.value
	
	if (l.length<4 || l.length>8){
		 error_state=true
		 return error_state
	}
	
}


function v_email(ele) {

	email = ele.value
	AtPos = email.indexOf("@")
	StopPos = email.lastIndexOf(".")
	
	if (AtPos == -1 || StopPos == -1) {
		  error_state=true
		  return error_state  
	}
}

function alertToMsgBox(field_id,isWhat,msg){
	var img="";
	if (isWhat=='correct'){
		img="<img src='http://billionstocks.com/registration/correct.png'></img>"
		msg="<font color='green'>"+msg+"</font>"
	}
	

	else if (isWhat="incorrect"){
		img="<img src='http://billionstocks.com/registration/error.png'></img>"
		msg="<font color='red'>"+msg+"</font>"
	}
	
		
	return document.getElementById(field_id+"_message_box") .innerHTML=img+msg
}


function ajaxEmail(ele,field_id){
	 alertToMsgBox(field_id,"Please wait...");
	    var xmlHttp=getAjax()

	    xmlHttp.onreadystatechange=function()
	    {
		    if(xmlHttp.readyState==4)
		    {
			    if (xmlHttp.responseText=="false"){
				    alertToMsgBox(field_id,"inccorect","Email exists")	
				    error_state=false
			    } else if( xmlHttp.responseText=="true")
				    alertToMsgBox(field_id,"correct","ok")	

		    }
	    }               
	    var email=ele.value
		    alertToMsgBox(field_id,"inccorect","Please wait...")	

	    xmlHttp.open("GET","/registration/verifyEmail.php?email="+email,true);
	    xmlHttp.send(null);
  }
  
  
  function ajaxUser(ele,field_id){
	 alertToMsgBox(field_id,"Please wait...");
	    var xmlHttp=getAjax()

	    xmlHttp.onreadystatechange=function()
	    {
		    if(xmlHttp.readyState==4)
		    {
			    if (xmlHttp.responseText=="false"){
				    alertToMsgBox(field_id,"inccorect","User exists")	
				    error_state=false
			    } else if( xmlHttp.responseText=="true")
				    alertToMsgBox(field_id,"correct","ok")	

		    }
	    }               
	    var user=ele.value
		    alertToMsgBox(field_id,"inccorect","Please wait...")	

	    xmlHttp.open("GET","/registration/verifyUser.php?user="+user,true);
	    xmlHttp.send(null);
  }


function validExtendedField(){}

function getAjax(){
	    var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
   return xmlHttp
    
    }
    
