/* originally found on 
* http://www.yourhtmlsource.com/examples/util-functions.js*/
function knackerEvent(eventObject) {
       if (eventObject && eventObject.stopPropagation) {
                  eventObject.stopPropagation();
                      }
           if (window.event && window.event.cancelBubble ) {
                      window.event.cancelBubble = true;
                          }
           if (eventObject && eventObject.preventDefault) {
                      eventObject.preventDefault();
                          }
           if (window.event) {
                      window.event.returnValue = false;
                          }
}
/* Originally from Scott Andrew
   * from http://onlinetools.org/articles/unobtrusivejavascript/chapter4.html */
function addEvent(obj, evType, fn){ 
    if (obj.addEventListener){ 
          obj.addEventListener(evType, fn, false); 
             return true; 
    } else if (obj.attachEvent){ 
        var r = obj.attachEvent("on"+evType, fn); 
        return r; 
    } else { 
       return false; 
    }
}
function unsubSet(){
   if(document.getElementById('unsubBox').value=="false"){
      document.getElementById('unsubBox').value="true";
   } else {
      document.getElementById('unsubBox').value="false";
   }
}
function submitToList(e){
   // stop real submission. we are loaded with AJAX!
   knackerEvent(e);
   done=false;
   var name = document.getElementById("name").value;
   var email = document.getElementById("email").value;
   var url = "announceListHandler.php?ajax=true&name="+name;
   url = url + "&email=" + email;
   if(document.getElementById('unsubBox').value=="true"){
      url = url + "&unsub=true";
      unsubSet();
   }
   request.open("GET", url, true);
   request.onreadystatechange = handler;
   request.send(null);
   if(!done){
      document.getElementById("loadingBox").className = "block";
      document.getElementById("messageBox").className = "hidden";
      document.getElementById("listForm").className = "hidden";
   }
}
function handler(){
   if(request.readyState==4){
      done = true;
      var code = request.responseText;
      var message = "";
      var displayForm = true;
      switch(code){
      case "1":
         message="Email successfully added";
         displayForm = false;
         break;
      case "2":
         message="Email successfully removed";
         displayForm = false;
         break;
      case "3":
         message="Verification email sent";
         displayForm = false;
         break;
      case "-1":
         message="Email already on announce list";
         displayForm = false;
         break;
      case "-2":
         message="Email not on list (nothing removed)";
         break;
      case "-3":
         message="The provided email address is invalid. Please try again";
         break;
      case "-4":
         message="One or more of the required fields was not filled in."+
            " Please try again";
         break;
      case "-5":
         message="The second email address does not match the first."+
            " Please try again";
         break;
      }
      document.getElementById("loadingBox").className = "hidden";
      document.getElementById("messageBox").className = "block";
      document.getElementById("messageBox").innerHTML = message;
      if(displayForm){
         document.getElementById("listForm").className = "block";
      }
      return true;
      }
   }


