function in_array(needle,haystack){
	haystack.toString();
	var inarr=true;
	if (haystack.search(needle)==-1){ inarr=false; }
	return inarr;
}
function eValid(email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   return reg.test(email);		// True or false
}
function emailUs(){
	var reqText='REQUIRED INFORMATION:\n';
	reqText+='Please enter the following required information\nin order to submit the form:\n';
	var reqTrue=false;
	var reqfields=Array('fname','lname','address1','city','state','zip');
	var reqNames={'fname':'    First Name','lname':'    Last Name',
								'address1':'    Address Line 1','city':'    City',
								'state':'    State','zip':'    Zip Code'};
	var frm=document.emailUs;

	for (var i=0;i<reqfields.length;i++){
		if (eval('frm.'+reqfields[i]+'.value')==''){
			reqText+=reqNames[reqfields[i]]+"\n";
			reqTrue=true;
		}	
	}
	if (reqTrue!=true) reqText = '';
	var optTrue=false;
	
	if ((frm.phoneOK.checked == true) || (frm.emailOK.checked == true)) {
		var optText='IMPORTANT NOTICE:\n';
		optText+='Please note that we are unable to contact you via ';	
		if (frm.phoneOK.checked == true && frm.phone.value==''){
			optText+="phone";
			if (frm.emailOK.checked == true) {
				optText+=" or email";
			}
			optTrue = true;
		} else if (frm.emailOK.checked == true && !eValid(frm.email.value)){
			optText+="email";
			optTrue = true;
		}
		optText+='\nif you do not provide that information on the form.';
	}
	if (optTrue == true) {
		if (reqText != '') reqText+='\n\n';
		reqText+=optText;
	}
	
	
	
	if (reqText==''){	
		var dString='';
		var isProspective=false;
		
		// Common elements.
		var elFields=['whyEmail','fname','lname','address1','address2','city','state','zip'];
		var elNames=['Reason_for_emailing','First_name','Last_name','Address_line_1',
								 'Address_line_2','City','State','Zip'];
		for (i=0;i<elFields.length;i++){
			if (i>0) dString+='&';
			if (frm[elFields[i]].type==undefined) {
				if (frm[elFields[i]][0].type=='radio') {
					var group=frm[elFields[i]];
					for (j=0;j<group.length;j++) {
						if (group[j].checked==true) {
							dString+=elNames[i]+'='+group[j].value;
							if (group[j].value=="prospective member wants contact") isProspective=true;
							break;
						}
					}
				}
			} else {
				dString+=elNames[i]+'='+frm[elFields[i]].value;
			}
		}
		if (frm.phone.value!='') {
			dString+='&Phone_contact_OK='+((frm.phoneOK.checked==true) ? 'yes':'no');
			dString+='&Phone_number='+frm.phone.value;
		}
		if (frm.email.value!='') {
			dString+='&Email_contact_OK='+((frm.emailOK.checked==true) ? 'yes':'no');
			dString+='&Email_address='+frm.email.value;
		}
		
		// Prospective only.
		if (isProspective) {
			elFields=['haveMedicare','haveMedicaid','current_health_coverage','doctor_name',
								'hear_from_friend','hear_from_invitation','hear_from_mail',
								'hear_from_senior_paper','which_senior_paper','hear_from_local_paper',
								'which_local_paper'];
			elNames=['Have_Medicare','Have_Medicaid','Current_health_coverage','Doctor_name',
							 'Heard_about_from_friend','Heard_about_from_invitation','Heard_about_from_mail',
							 'Heard_about_from_senior_paper','____Which_senior_paper','Heard_about_from_local_paper',
							 '____Which_local_paper'];
			
			for (i=0;i<elFields.length;i++){
				if (frm[elFields[i]].type==undefined) {
					if (frm[elFields[i]][0].type=='radio') {
						var group=frm[elFields[i]];
						for (j=0;j<group.length;j++) {
							if (group[j].checked==true) {
								dString+='&'+elNames[i]+'='+group[j].value;
								break;
							}
						}
					}
				} else if (frm[elFields[i]].type=='checkbox') {
					var val=(frm[elFields[i]].checked == true) ? 'yes':'no';
					dString+='&'+elNames[i]+'='+val;
				} else {
					dString+='&'+elNames[i]+'='+frm[elFields[i]].value;
				}
			}
		}
		
		// Add subject and comments.
		dString+='&'+'Comment_subject='+frm.comment_subject.value;
		dString+='&Comment='+frm.limitedtextarea.value;

		sendEmail(dString);
	} else {
		alert(reqText);
	}		
}	
function sendEmail(dString){
	var frm=document.emailUs;
	var url="emailUsReply.php";
	var xmlRSVP=$.ajax({
		type: "POST",
		url: url,
		data: dString,
		dataType: "xml",
		success: function(xml){
			var success=xml.getElementsByTagName('success')[0].firstChild.nodeValue;
			if (success=='yes'){
				for (var i=0; i<frm.elements.length;i++){
					if (frm.elements[i].type=='text'){
						frm.elements[i].value='';
					} else if (frm.elements[i].type=='textarea'){
						frm.elements[i].innerHTML='';
					} else if (frm.elements[i].type=='checkbox'){
						frm.elements[i].selected=false;
					} else if (frm.elements[i].type=='select'){
						frm.elements[i].selectedIndex=0;
					}	
				}	
				var resp = '<div class="gradient"><h2>Email Us</h2></div><div class="rightContentContainer zoomable" style="height:300px;">';
				resp += '<span class="resultText">Thank you for your interest!  Your request has been sent.</span></div>';
				document.getElementById('formContent').innerHTML=resp;
			} else {
				var reason=xml.getElementsByTagName('reason')[0].firstChild.nodeValue;
				alert("Email Us did not go through, reason: "+reason+"\n");
			}		
			
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
		  // typically only one of textStatus or errorThrown 
		  // will have info
		  //this; // the options for this ajax request
		  alert("ERROR:"+XMLHttpRequest+"\n"+textStatus+"\n"+errorThrown);
		}
	});
}	
