function toggle_visibility(id) {
	var e = document.getElementById(id);
	if(e.style.display == 'block')
	  e.style.display = 'none';
	else
	  e.style.display = 'block';
}

// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function getCheckedValue(radioObj) {

	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function createWMFormElement(inputForm, elementName, elementValue){
	var newWMElement = document.createElement('<input name="'+elementName+'" type="hidden">');
	inputForm.appendChild(newWMElement);
	newWMElement.setAttribute('value', elementValue);
	return newWMElement;
}

function validate_agent_form_js(agent_form, agent_form_msg, form_web) {
	objForm = document.getElementById(agent_form);

	var form_valid = false;
	var contact_type = getCheckedValue(objForm.contact_type);

	var re_email = new RegExp("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$");
	var vaild_email_format = re_email.exec(objForm.email.value);

	var re_name = new RegExp("^[A-Za-z' -]*$");
	var vaild_name_format = re_name.exec(objForm.name.value);

	if (contact_type == "phone" && objForm.phone.value == "") {
		show_warning(agent_form_msg, 'Phone is required when Phone is selected as the Preferred Form Contact');
	} else if (contact_type == "email" && objForm.email.value == "") {
		show_warning(agent_form_msg, 'Email is required when Email is selected as the Preferred Form Contact');
	} else if (objForm.phone.value == "" && objForm.email.value == "") {
		show_warning(agent_form_msg, '"E-mail or phone number are required fields.');
	} else if (contact_type == "email" && vaild_email_format == null) {
		show_warning(agent_form_msg, 'That is not a valid e-mail address.');
	} else if (contact_type == "") {
		show_warning(agent_form_msg, 'Preferred Form of Contact is required.');
	} else if (vaild_name_format == null) {
		show_warning(agent_form_msg, 'Name must not contain special characters.');
	} else {
		form_valid = true;
	}

	if (form_valid) {
		
		var Website_Name = "";
		var toEmail = "";
		if (form_web == "ab") {
			Website_Name = "Action Benefits";
			toEmail = "CAnderson@actionbenefits.com, SShaw@actionbenefits.com";
		} else if (form_web == "asb") {
			Website_Name = "Association Benefits";
			toEmail = "brianne@association-benefits.com, Sherrian@association-benefits.com";
		} else if (form_web == "plus") {
			Website_Name = "Plus On Web";
			toEmail = "pmaher@plusonweb.com";
		}

		var webmailFORM = document.createElement("FORM");
		
		document.body.appendChild(webmailFORM);
		webmailFORM.method = "POST";
		webmailFORM.action= "http://samples.ipipeline.com/eForm/eForm.asp";
		createWMFormElement(webmailFORM, "emailto", toEmail);
		createWMFormElement(webmailFORM, "emailfrom", "output@ipipeline.com");
		createWMFormElement(webmailFORM, "error", "http://samples.ipipeline.com/eForm/Error.htm");
		createWMFormElement(webmailFORM, "success", "http://samples.ipipeline.com/eForm/Success.htm");
		createWMFormElement(webmailFORM, "page", Website_Name + " - Contact Request");
		createWMFormElement(webmailFORM, "q1", "Name");
		createWMFormElement(webmailFORM, "a1", objForm.name.value);
		createWMFormElement(webmailFORM, "q2", "Email Address");
		createWMFormElement(webmailFORM, "a2", objForm.email.value);
		createWMFormElement(webmailFORM, "q3", "Phone Number");
		createWMFormElement(webmailFORM, "a3", objForm.phone.value);
		createWMFormElement(webmailFORM, "q4", "Preferred Contact Method");
		createWMFormElement(webmailFORM, "a4", contact_type);
		
		webmailFORM.submit();
	}
	
	return false;
}

function validate_agent_form(agent_form, form_msg_div, form_web) {
	
	objForm = document.getElementById(agent_form);
	var contact_type = getCheckedValue(objForm.contact_type);

	var ajhttp;
	if (window.XMLHttpRequest) {
		// code for IE7+, Firefox, Chrome, Opera, Safari
		ajhttp=new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		// code for IE6, IE5
		ajhttp=new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		show_warning(form_msg_div, "Your browser does not support XMLHTTP, please update the browser");
	}
	
	 var parameters = "form_web=" + encodeURI(form_web) + 
				"&phone=" + encodeURI(objForm.phone.value) +
				"&email=" + encodeURI(objForm.email.value) + 
				"&name=" + encodeURI(objForm.name.value) + 
				"&contact_type=" + encodeURI(contact_type);		

	ajhttp.open("POST","webmail.php",true);
	ajhttp.onreadystatechange = function () {
		if (ajhttp.readyState == 4) {
			if (ajhttp.status == 200) {
				var action_msg = "";
				var action_result = "";
				var form_response = ajhttp.responseText.split("&");
				for(i = 0; i < form_response.length; i++) {
					var response_pair = form_response[i].split("=");
					if (response_pair[0] == "result") {
						if (response_pair[1] == "success") {
							action_result = "success";
						}
					} else if (response_pair[0] == "msg") {
						action_msg = response_pair[1];
					}					
				}
				
				if (action_result == "success") {
					show_warning(form_msg_div, action_msg, true);
				} else {
					show_warning(form_msg_div, action_msg);
				}
			
			} else {
				show_warning(form_msg_div, "There was a problem with the request.");
			}
		}
	}
	
	ajhttp.setRequestHeader("Content-Type",     "application/x-www-form-urlencoded; charset=UTF-8"); 
	ajhttp.setRequestHeader("Content-length", parameters.length);
	ajhttp.setRequestHeader("Connection", "close");
	ajhttp.send(parameters);

	return false;

}

function show_warning(msg_div, message, message_success) {
	objMsgDiv = document.getElementById(msg_div);
	if (message_success) {
		objMsgDiv.innerHTML = '<p><strong style="color: green;"> ** ' + message + '</strong></p>';
	} else {
		objMsgDiv.innerHTML = '<p><strong style="color: red;"> ** ' + message + '</strong></p>';
	}
	objMsgDiv.style.display = 'block';
}