/*Bind Events */
$(function(){
   $("#firstName").blur(function()
   {
     validateFirstName();  
   });
   $("#lastName").blur(function()
   {
     validateLastName();  
   });
   $("#emailAddress").blur(function()
   {
      validateEmail();
   });
   $("#newPassword").blur(function()
   {
     validatePassword();  
   });
    $("#newPasswordConfirmation").blur(function()
   {
     validatePassword();  
   });
   $("#save").click(function(){
      return validate(); 
   });
});

/*Validation Functions*/
var validateGlobal = true;
function validate()
{
    var valide = validateGlobal;
    //first NAme
    if(document.getElementById('firstName').value == "")
    {
       document.getElementById('firstNameSpan').style.display = "inline";
       valide = false;  
    } 
    else
     {
       document.getElementById('firstNameSpan').style.display = "none";  
    } 
    //last NAme
    if(document.getElementById('lastName').value == "")
    {
       document.getElementById('lastNameSpan').style.display = "inline";
       valide = false;  
    } 
    else
     {
       document.getElementById('lastNameSpan').style.display = "none";  
    }
    //email 
     if(document.getElementById('emailAddress').value == "")
    {
       document.getElementById('emailSpan').style.display = "inline";
        document.getElementById('emailSpan').innerHTML = "Field is required<span class='hint-pointer'>&nbsp;</span>";
       valide = false;  
    } 
    else
     {
           //email correct
          var RegExPattern  = /[\w-\.]{3,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}/;
          if (document.getElementById('emailAddress').value.match(RegExPattern))
          {
              document.getElementById('emailSpan').style.display = "none";
              var usermail =document.getElementById('emailAddress').value; 
             $.ajax({url: "func/doesUserExist.php", 
                     data : "mail=" + usermail ,
                     async : false,
                     success:
                           function(data)
                           {
                                 if(data == "true")
                              {
                               document.getElementById('emailSpan').style.display = "inline";
                               document.getElementById('emailSpan').innerHTML = "Email already exists <span class='hint-pointer'>&nbsp;</span>";
                               valide = false;   
                    
                              }   
                           },
                    error:
                          function()
                          {

                               document.getElementById('emailSpan').style.display = "inline";
                               document.getElementById('emailSpan').innerHTML = "Email already exists <span class='hint-pointer'>&nbsp;</span>";
                               valide = false;   
                      
                          }
                   }); 
            
         } 
         else
         {
            document.getElementById('emailSpan').style.display = "inline";
            document.getElementById('emailSpan').innerHTML = "Must be a valid e-mail<span class='hint-pointer'>&nbsp;</span>";
            valide = false;   
        }
    }
    
    //password
      if(document.getElementById('newPassword').value == "")
    {
       document.getElementById('passwordSpan').style.display = "inline";
        document.getElementById('passwordSpan').innerHTML = "Field is required<span class='hint-pointer'>&nbsp;</span>";
       valide = false;  
    } 
    else
     {
         //distinct password  with confirm password?   
        if(document.getElementById('newPassword').value != document.getElementById('newPasswordConfirmation').value)
       {
       document.getElementById('passwordSpan').style.display = "inline";
        document.getElementById('passwordSpan').innerHTML = "The password confirmation does not match the password<span class='hint-pointer'>&nbsp;</span>";
       valide = false;  
      } 
    else
     {    
         var Regex = /(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{6,10})$/;
         if(document.getElementById('newPassword').value.match(Regex))
         {
           document.getElementById('passwordSpan').style.display = "none";
         }
         else
         {
         document.getElementById('passwordSpan').style.display = "inline";
         document.getElementById('passwordSpan').innerHTML = "The password must be at least 6 characters, only letters and numbers, and include at least one letter and one number. <span class='hint-pointer'>&nbsp;</span>";
         valide = false;   
         }
  
    } 
    }
    //user exists???
    if(document.getElementById('emailSpan').style.display == "inline")
    {
        valide = false;
    }
    
    
    if(valide == false)
    {
        $(window).scrollTop(0);
    }
    return valide; 
} 


           
 function xmlhttpResquest(url)
    {
        
      
        var resp = '';  
        try
        {
            xmlhttp=null;
            if (window.XMLHttpRequest)
              {// code for all new browsers
              xmlhttp=new XMLHttpRequest();
              }
            else if (window.ActiveXObject)
              {// code for IE5 and IE6
              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
              }            
            if (xmlhttp!=null)
              {
             // xmlhttp.onreadystatechange=state_Change;              
              xmlhttp.open("GET",url+"&rnd="+(new Date()).getTime(),false);               
              xmlhttp.send(null);      
              resp = xmlhttp.responseText;
              return resp;
                          
              }
            else
              {
              alert("Your browser does not support XMLHTTP.");
              }
      }
      catch(err)
      {
          //alert(err);
      }

      
 }
 function validateFirstName()
 {
       if(document.getElementById('firstName').value == "")
    {
       document.getElementById('firstNameSpan').style.display = "inline";
          validateGlobal = false;  
    } 
    else
     {
       document.getElementById('firstNameSpan').style.display = "none";  
        validateGlobal = true;  
    } 
          
 }
 
function validateLastName()
 { 
 if(document.getElementById('lastName').value == "")
    {
       document.getElementById('lastNameSpan').style.display = "inline";
         validateGlobal = false;  
    } 
    else
     {
       document.getElementById('lastNameSpan').style.display = "none";
        validateGlobal = true;    
    }
 }
function validateEmail(){ 
      if(document.getElementById('emailAddress').value == "")
    {
       document.getElementById('emailSpan').style.display = "inline";
        document.getElementById('emailSpan').innerHTML = "Field is required<span class='hint-pointer'>&nbsp;</span>";
        validateGlobal = false;  
    } 
    else
     {
           //email correct
          var RegExPattern  = /[\w-\.]{3,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}/;
          if (document.getElementById('emailAddress').value.match(RegExPattern))
          {
              document.getElementById('emailSpan').style.display = "none";
              var usermail =document.getElementById('emailAddress').value; 
               $.get("func/doesUserExist.php", {mail :usermail },
               function(data)
               {
                     if(data == "true")
                  {
                   document.getElementById('emailSpan').style.display = "inline";
                   document.getElementById('emailSpan').innerHTML = "Email already exists <span class='hint-pointer'>&nbsp;</span>";
                   validateGlobal = false;    
        
                  }  
                  else
                  {
                       validateGlobal = true;  
                  } 
               }
             );
         } 
         else
         {
            document.getElementById('emailSpan').style.display = "inline";
            document.getElementById('emailSpan').innerHTML = "Must be a valid e-mail<span class='hint-pointer'>&nbsp;</span>";
            validateGlobal = false;  
        }
    }
}
function validatePassword()
{
  //password
      if(document.getElementById('newPassword').value == "")
    {
       document.getElementById('passwordSpan').style.display = "inline";
        document.getElementById('passwordSpan').innerHTML = "Field is required<span class='hint-pointer'>&nbsp;</span>";
        validateGlobal = false;
    } 
    else
     {
       
       

       document.getElementById('passwordSpan').style.display = "none";  
       validateGlobal = true;
    }
}



