// add_employee.js

/*  This page does all the magic for applying
 *  Ajax to an "add an employee" form.
 *  The form data is sent to a PHP 
 *  script using the POST method.
 *  The PHP script sends back a response in XML format.
 */
 
// Have a function run after the page loads:
window.onload = init;

// Function that adds the Ajax layer:
function init() {

  // Get an XMLHttpRequest object:
  var ajax = getXMLHttpRequestObject();
  
  // Attach the function call to the form submission, if supported:
  if (ajax) {

    // Check for DOM support:
    if (document.getElementById('results')) {
  
      // Add an onsubmit event handler to the form:
      document.getElementById('emp_form').onsubmit = function() {

        // Call the PHP script.
        // Use the POST method.
        
        // Open the connection:
        ajax.open('post', 'add_employee_xml.php');
        
        // Function that handles the response:
        ajax.onreadystatechange = function() {
          // Pass it this request object:
          handleResponse(ajax);
        }

        // Assemble all the form data:
        var fields = ['first_name', 'last_name', 'email', 'department_id',
'phone_extt_helper','ref_by','http_ref_by'];
        for (var i = 0; i < fields.length; i++) {
          fields[i] = fields[i] + '=' +
encodeURIComponent(document.getElementById(fields[i]).value);
        }
        var values = fields.join('&');

        // Set the request headers:
        ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        
        // Send the request along with the data:
        ajax.send(values);
      
        return false; // So form isn't submitted.

      } // End of anonymous function.
      
    } // End of DOM check.
    
  } // End of ajax IF.

} // End of init() function.

// Function that handles the response from the PHP script:
function handleResponse(ajax) {

  // Check that the transaction is complete:
  if (ajax.readyState == 4) {
  
    // Check for a valid HTTP status code:
    if ((ajax.status == 200) || (ajax.status == 304) ) {
      
      var results = document.getElementById('results');
      
      // Reset all the labels:
      document.getElementById('first_name_label').className = 'title';
      document.getElementById('last_name_label').className = 'title';
      document.getElementById('email_label').className = 'title';
      document.getElementById('department_id_label').className = 'title';
      document.getElementById('phone_ext_label').className = 'title';

      // Get the XML data:
      var data = ajax.responseXML;
      
      // Get the main response:
      var message = data.getElementsByTagName('result');
      
      // Get all the errors:
      var errors = data.getElementsByTagName('error');

      // Temp variable to use in the loop:
      var temp = false;
      
      // Loop through each error:
      for (var i = 0; i < errors.length; i++) {
      
        // Get the error value:
        temp = errors[i].firstChild.nodeValue;
        
        // Change the class:
        document.getElementById(temp + '_label').className = 'error';
        
      } // End of FOR loop.
  
      // Put the received response in the DOM:
      results.innerHTML = message[0].firstChild.nodeValue;
	  
	 
      
	  if ( results.innerHTML == 'Passwords do not match.Please re-enter your password')
	  
	 {
		   document.getElementById('first_name').value = '';
           document.getElementById('last_name').value = '';
		 
	  }
	  
	  
	  if ( results.innerHTML=='Please wait')
	  
	  {
		  var email = document.getElementById('email').value;
		  
		  location.replace("captcha/registerc.php?id="+email+"");}

      // Make the results box visible:
      results.style.display = 'block';

    } 
	//elseif ( results.innerHTML == 'Passwords do not match.Please re-enter your password')
	  
	  //{
		   //document.getElementById('first_name').value = '';
           //document.getElementById('last_name').value = '';
		 
	  // Make the results box visible:
	  //}

      
	
	
	else { // Bad status code, submit the form.
      document.getElementById('emp_form').submit();
    }
    
  } // End of readyState IF.
  
} // End of handleResponse() function.

 
