
var httpCheckRegister = null;
var httpCheckEmail = null;

function checkRegister() {    
  httpCheckRegister = GetXmlHttpObject();
  var first_name = document.getElementById('first_name').value;
  var middle_name = document.getElementById('middle_name').value;
  var last_name = document.getElementById('last_name').value;
  //var full_name = document.getElementById('first_name').value + " " + document.getElementById('middle_name').value + " " + document.getElementById('last_name').value;  
  var dob = document.getElementById('dobYear').value + '-' + document.getElementById('dobMonth').value + '-' + document.getElementById('dobDay').value;  
  
  if (httpCheckRegister != null) {
    if (httpCheckRegister.readyState == 4 || httpCheckRegister.readyState == 0) {
      var url = "process.php?type=CHECK_REGISTER&first_name=" + first_name + "&middle_name=" + middle_name + "&last_name=" + last_name + "&dob=" + dob;
      httpCheckRegister.onreadystatechange = drawResult;
      httpCheckRegister.open("GET", url, true);
      httpCheckRegister.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      httpCheckRegister.send(null);
    }
  }
  else {
    alert("Your browser does not support AJAX!");
    document.getElementById('signup').disabled = false;
  }  
}

function drawResult() {    
  if (httpCheckRegister != null) {
    if (httpCheckRegister.readyState == 4 && httpCheckRegister.status == 200) {
      var xmlDoc = httpCheckRegister.responseXML.documentElement;

      for (n = 0; n < xmlDoc.childNodes.length; n++) {
        if (xmlDoc.childNodes[n].nodeName == "check") {
          var checkNode = xmlDoc.childNodes[n];
          var structMember = nodeFieldsToArray(checkNode);
          //get rank
          var rankIndex = document.getElementById('rank').selectedIndex;
          var rank = document.getElementById('rank')[rankIndex].text;
          
          if (structMember['register'] == "true") {//registered          
            document.getElementById('signup').value = 'Signup'; //change back                        
            
            if (confirm("Hi, if you have registered with EMAS before under the name of "+ structMember['full_name'] +" with the rank of "+ rank +", please click the OK button.\nIf you have not, please click the CANCEL button to register as a new applicant.")) {              
              if(structMember['userid']){
                location.href = "fake_login.php?type=LOGIN&userid="+ structMember['userid'] +"&password=" + structMember['password']; 
              }
              else { //** check email is empty here **//
                var email = document.getElementById('email').value;
                alert("Hi, we have updated your record with "+ email +" as we do not have an email address in our previous record from you.");
                location.href = "fake_login.php?type=LOGIN_NO_EMAIL&id="+ structMember['id'] +"&email="+ email +"&password="+ structMember['password'] +"&hash="+ structMember['hash'];                                    
              }
            }
            else{//ignore found, display msg 
              location.href = 'member_found.php';
            }
          }
          else{ //not found
            document.frm.submit();
          }
        }
      }      
    }
  }
}

function checkEmail() {      
  httpCheckEmail = GetXmlHttpObject();
  var email = document.getElementById('email').value;  
  
  if(email == ''){
    return false;
  }
  
  if (httpCheckEmail != null) {
    if (httpCheckEmail.readyState == 4 || httpCheckEmail.readyState == 0) {
      var url = "process.php?type=CHECK_EMAIL&email=" + email;
      httpCheckEmail.onreadystatechange = drawEmailResult;
      httpCheckEmail.open("GET", url, true);
      httpCheckEmail.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      httpCheckEmail.send(null);
    }
  }
  else {
    alert("Your browser does not support AJAX!");
    document.getElementById('signup').disabled = false;
  }  
}

function drawEmailResult() {    
  if (httpCheckEmail != null) {
    if (httpCheckEmail.readyState == 4 && httpCheckEmail.status == 200) {
      var xmlDoc = httpCheckEmail.responseXML.documentElement;

      for (n = 0; n < xmlDoc.childNodes.length; n++) {
        if (xmlDoc.childNodes[n].nodeName == "email") {
          var checkNode = xmlDoc.childNodes[n];
          var structEmail = nodeFieldsToArray(checkNode);        
          
          if (structEmail['is_valid'] == "false") {//registered                                            
            alert("This email already exist. Please try again.");
            document.getElementById('email').focus();
            //global variable
            var isValidEmail = false;
          }
          else{
            var isValidEmail = true;
          }
        }
      }      
    }
  }
}

/* unuse code */
function deleteMember(id) {
  if (confirm("Do you really want to delete this member?")) {
    location.href='member.process.php?update_type=DELETE&id='+id;
  }
  return false;
}

/* ajax.js */
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;
}

function getLoadingBar() {
 var str = "<div style='width:100px;margin:auto;margin-top:30px'><b>Loading...</b></div>";
 return str;
}
 
function nodeFieldsToArray(node) {
var struct = new Array();
for (j=0; j<node.childNodes.length; j++) {
  if (node.childNodes[j].childNodes[0] != undefined) {
    struct[node.childNodes[j].nodeName] = node.childNodes[j].childNodes[0].nodeValue;
  }
  else  {
    struct[node.childNodes[j].nodeName] = "";
  }
}
return struct;
}
/* end of ajax.js */
