var msgSubmitted = false;
var btn = null;
var caption = "";
function pre_validate_email() {
	// make sure required fields are there.
	var msg = "";
	if (document.getElementById("name").value == "") {
		msg = "'Your Name' is required";
	}
	if (document.getElementById("emailAddress").value == "") {
		if (msg != "")
			msg += "\n\n";
		msg += "'Your Email' is required";
	}
	if (document.getElementById("subject").value == "") {
		if (msg != "")
			msg += "\n\n";
		msg += "'Subject' is required";
	}
	if (document.getElementById("body").value == "") {
		if (msg != "")
			msg += "\n\n";
		msg += "'Message' is required";
	}
	if (msg != "") {
		msg = "Your message was not sent for the following reason(s):\n\n" + msg;
		alert(msg);
		return false;
	}
	return true;
}

function send_email(formObj, buttonObj) {
	if (msgSubmitted) {
		return false;
	}
	if (!pre_validate_email()) {
		return false;
	}
	btn = buttonObj;
	caption = buttonObj.value;
	msgSubmitted = true;
	buttonObj.className = "button buttonDisabled";
	buttonObj.value = "Sending...";
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (req != undefined) {
    req.onreadystatechange = function() {send_email_done();};
    req.open("POST", "/contactAjax.html", true);
    var params = make_params_from_form(formObj);
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	req.setRequestHeader("Content-length", params.length);
	req.setRequestHeader("Connection", "close");
    req.send(params);
  }
  
  return false;
}  

function send_email_done() {
  if (req.readyState == 4) { // only if req is "loaded"
    if (req.status == 200) { // only if "OK"
    	//alert(req.responseText);
    	var messageContainer = document.getElementById("contactMessage");
    	messageContainer.innerHTML = req.responseText;
    	messageContainer.style.display = "block";
    	var entryContainer = document.getElementById("contactEntry");
    	entryContainer.style.display = "none";
      //target.innerHTML = req.responseText;
      //target.style.display = "none";
    } else {
      //document.getElementById(target).innerHTML=" Synda Load Error:\n"+ req.status + "\n" +req.statusText;
    }
    msgSubmitted = false;
	btn.className = "button";
	btn.value = caption;
    
  } else {
  }
}

// taken and adapted from various sources on the web
function make_params_from_form(formNode) {
	var values = [];
	for(var i = 0; i < formNode.elements.length; i++){
		var elm = formNode.elements[i];
		if(!elm || elm.tagName.toLowerCase() == "fieldset") { continue; }
		var name = encodeURIComponent(elm.name);
		var type = elm.type.toLowerCase();

		if(type == "select-multiple"){
			for(var j = 0; j < elm.options.length; j++){
				if(elm.options[j].selected) {
					values.push(name + "=" + encodeURIComponent(elm.options[j].value));
				}
			}
		}else if(type == "radio" || type == "checkbox"){
			if(elm.checked){
				values.push(name + "=" + encodeURIComponent(elm.value));
			}
		}else{
			values.push(name + "=" + encodeURIComponent(elm.value));
		}
	}
	return values.join("&") + "&";
}


function gupta_textCounter(field, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
}