// JavaScript Document

  var http_request = false;
  
  function submitForm() {
  
  //Format the message body to include the sender's name, email and message
  //Display warning in the area of the page called status that was assigned its own div html
    var msgBody = "Name: "+ document.getElementById("name").value + 
                 "\nEmail: "+ document.getElementById("email").value + 
                 "\nMessage: "+document.getElementById("msgText").value + "\n";           
    var msgSubject = ""+document.getElementById("msgSubject").value;
    var email = document.getElementById("email").value;
    var str = "msgSubject=" + msgSubject + "&msgBody=" + msgBody;
    

    //Ensure that sender enters a name
    if (document.getElementById("name").value == "") {
      document.getElementById("status").innerHTML="Please enter your name";
      document.getElementById("name").focus();
      return false;
    }    
    
    //Ensure that sender enters an email address
    if (document.getElementById("email").value  == "") {
    document.getElementById("status").innerHTML="Please enter your email address.";
    document.getElementById("email").focus();
    return false;
    }
    
    //Ensures that email address is not too short - at least a@a.c = 5 characters
    if (document.getElementById("email").value  < 5) {
    document.getElementById("status").innerHTML="Email address is too short. Please ensure you are entering the correct email address.";
    document.getElementById("email").focus();
    return false;
    }
    
    //Ensures that the @ symbol is in the email address and is not the first character 
    if ((document.getElementById("email").value.indexOf("@") < 1) || (document.getElementById("email").value.length - document.getElementById("email").value.indexOf("@") < 4)) {
    document.getElementById("status").innerHTML="Email address format is incorrect. Please ensure that address is in a form similar to anonymous@anonymous.com.";
    document.getElementById("email").focus();
    return false;
    }   
    
    /*Ensure that sender enters a message subject
    if (document.getElementById("msgSubject").value == "") {
      document.getElementById("status").innerHTML="Please enter the subject of your message";
      document.getElementById("msgSubject").focus();
      return false;
    }*/
    
    //Ensure that sender enters a message in the form
    if (document.getElementById("msgText").value == "") {
      document.getElementById("status").innerHTML="You must enter message in order to send feedback.";
      document.getElementById("msgText").focus();
      return false;
    }
    
    //create new XMLHTTPRequest
    http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
      http_request = new XMLHttpRequest();
      if (http_request.overrideMimeType) {
        // set type accordingly to anticipated content type
        http_request.overrideMimeType('text/html');
      }
    } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      
    if (!http_request) {
      alert('Cannot create XMLHTTP instance');
      return false;
    }

    //Specify method to use to send parameters from form to php
    http_request.onreadystatechange = alertContents;
    http_request.open('POST', 'sendNote.php', true);
    http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http_request.setRequestHeader("Content-length", str.length);
    http_request.setRequestHeader("Connection", "close");
    http_request.send(str);   
  }

  //Inform sender of message status during/after submission
  function alertContents() {
    //if at loading state
    if (http_request.readyState == 1) {
      document.getElementById('status').innerHTML = "Message Sending, please wait...";
    }
    //if at loaded state
    if (http_request.readyState == 2) {
      document.getElementById('status').innerHTML = "Message Sending, please wait...";
    }
    //if at interactive state
    if (http_request.readyState == 3) {
      document.getElementById('status').innerHTML = "Message Sending, please wait...";
    }
    //once submission is complete, display response from the server
    if (http_request.readyState == 4) {
            document.getElementById('status').innerHTML = http_request.responseText;
    }
  }
