
// 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:


// Function that adds the Ajax layer:
function add_fav() {

  // 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('add_f').onclick = function() {

        // Call the PHP script.
        // Use the POST method.
         
        // Open the connection:
        ajax.open('post', 'add_fav');
        
        // Function that handles the response:
        ajax.onreadystatechange = function() {
          // Pass it this request object:
          addHandleResponse(ajax);
        }
		
        // Assemble all the form data:
        var fields = ['add_f'];
	
        for (var i = 0; i < fields.length; i++) {
			
          fields[i] = fields[i] + '=' + encodeURIComponent(document.getElementById(fields[i]).href);
		
        }
        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 addHandleResponse(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');
		results.innerHTML = ajax.responseText;
		
		results.style.display = "block";
		
      // Put the received response in the DOM:
      
      // Make the results box visible:

    } else { // Bad status code, submit the form.
	
    }
    
  } // End of readyState IF.
  
} // End of handleResponse() function.


window.onload = add_fav;
