﻿//
//
/* AJAX / XMLHttpRequest */
//
//
//
var request;
function newXMLHttpRequest() {

  var xmlreq = false;

  if (window.XMLHttpRequest) {

    xmlreq = new XMLHttpRequest();

  } else if (window.ActiveXObject) {

    try {
      xmlreq = new ActiveXObject("Msxml2.XMLHTTP");

    } catch (e1) {

      try {
        xmlreq = new ActiveXObject("Microsoft.XMLHTTP");

      } catch (e2) {

      }
    }
  }

  return xmlreq;
}
function Handler(request, xmlHandlerFunction) {

  return function () {
    if (request.readyState == 4) {
      if (request.status == 200) {
	  	if(request.responseXML != null) {
       		xmlHandlerFunction(request.responseXML);
		} else {
			xmlHandlerFunction(request.responseText);
		}

      } else {
        alert("HTTP error: " + request.status);
      }
    }
  }
}


//
//
/* Contact Page Functions */
//
//
//
function validateEmail(email) {
   var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
   var regex = new RegExp(emailReg);
   return regex.test(email);
}
function checkEmail_1(){
	
	var email1 = document.getElementById("email_1");
	var email1_status = document.getElementById("email_1_status");
	
	if(validateEmail(email1.value)){
		email1.className = "formValid";	
		email1_status.setAttribute("style", "color: green;");
		email1_status.innerHTML = "Address Verified!";
	} else {
		email1.className = "formInvalid";
		email1_status.setAttribute("style", "color: red;");
		email1_status.innerHTML = "Address Not Yet Verified.";
	}
}
function checkEmail_2(){
	
	var email1 = document.getElementById("email_1");	
	var email2 = document.getElementById("email_2");
	
	var email2_status = document.getElementById("email_2_status");
	
	if(email1.value == email2.value){
		email2_status.setAttribute("style", "color: green;");
		email2_status.innerHTML = "Addresses Match!";
	} else {
		email2_status.setAttribute("style", "color: red;");
		email2_status.innerHTML = "Addresses Do Not Match.";
	}
}

function sendContact(){
	var response = request.responseText;
	var formBody = document.getElementById("contactForm");
	
	formBody.innerHTML = response;
	//alert(response);
	
}

function checkContactForm() {
	
	var fullname = document.getElementById("name");
	var email1 = document.getElementById("email_1");	
	var email2 = document.getElementById("email_2");
	var textbody  = document.getElementById("message");
	var formBody = document.getElementById("contactForm");
	var textStatus = document.getElementById("textStatus");
	var msg = textbody.value;
	if(!(textbody.value.match(/\w/))){
		textStatus.innerHTML = "<span style=\"color: red;\"><strong>Please enter the message or comment you would like to send.</strong></span>";
		return;
	}
	
	
	if(validateEmail(email1.value) && validateEmail(email2.value) && (email1.value == email2.value)) {
		formBody.innerHTML = "<center><strong>Submitting request... Please wait.</strong></center>";
		//alert("message<br>"+msg);
		request = new newXMLHttpRequest();
		var handler = Handler(request, sendContact);
		request.onreadystatechange = handler;
		request.open("POST", "contactsub.php", true);
		request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		request.send("name=" + fullname.value + "&email=" + email1.value + "&message=" + msg);
		
	} else {
		alert("Please ensure that you've entered a valid email address and that you have confirmed it correctly");	
	}
}