function validateContact(x)
{
	// clear any error messages if this is second attempt
	document.getElementById('alert'+x).innerHTML = "";

	// this function will handle validating the form prior to sending the form to cgi
	var name = eval('document.contactform'+x+'.name.value');
	var phone_number = eval('document.contactform'+x+'.phone_number.value');
	var email_address = eval('document.contactform'+x+'.email_address.value');
	var your_msg = eval('document.contactform'+x+'.your_msg.value');
	var your_person = eval('document.contactform'+x+'.your_request.value');
	var your_mod_msg = your_person + "<p>" + your_msg;
	var myerr = "Please provide your ";
	var valid = true;
	
	// email validation
	var email_regexp = /^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i;;
	var checkMail=email_regexp.test(email_address);

	if (!name) { myerr += "Name"; valid = false; }
	//if (!phone_nusmber) { if (!valid) { myerr += ", "; } myerr += "Phone Number"; valid = false; }
//	if (!email_address) { if (!valid) { myerr += ", "; } myerr += "valid E-mail Address"; valid = false; }
	if (!checkMail) { if (!valid) { myerr += ", "; } myerr += "valid E-mail Address"; valid = false; }
	//if (!preferred_office) { if (!valid) { myerr += ", "; } myerr += "Preferred Office"; valid = false; }
	if (!your_msg) { if (!valid) { myerr += ", and "; } myerr += "Inquiry"; valid = false; }
	
	myerr += ".";
	
	if (valid) {
		//eval('document.contactform'+x+'.your_request.value=your_mod_msg');
		return true;
	} else{
		document.getElementById('alert'+x).innerHTML = myerr;
		return false;
	}
}


var xvalue = "";
function showMsgForm(x,y) {
	var formBody = "<div class=\"contactform\" id=\"cform"+x+"\" style=\"border: 1px solid #784E42; margin: 4px;\"><div id=\"alert"+x+"\" style=\"color: #b22;margin-bottom:6px;\"></div>" +
		"<form name=\"contactform"+x+"\" target=\"_blank\" method=\"post\">" + // onSubmit=\"this.your_request.value+='<p>'+this.your_msg.value;return validateContact("+x+");var hideIt = hideMsgForm("+x+",'"+y+"');\" action=\"/cgi-bin/contactprof2\">" +
			"<input type=\"hidden\" name=\"user_agent\" value=\"\"><input type=\"hidden\" name=\"page_list\" value=\"\">" +
			"<input type=\"hidden\" name=\"your_request\" value=\"" +y+ "\">" +
			"<table width=\"80%\" cellpadding=\"0\" cellspacing=\"0\">" +
				"<tr valign=\"top\">" +
					"<td><strong>*Name:</strong><br><input type=\"text\" name=\"name\" size=\"20\" maxlength=\"150\" value=\"\"></td>" +
					"<td><strong>Phone Number:</strong><br><input type=\"text\" name=\"phone_number\" size=\"15\" maxlength=\"150\"></td>" +
					"<td><strong>*E-mail Address:</strong><br><input type=\"text\" name=\"email_address\" size=\"30\" maxlength=\"150\"></td>" +
				"</tr>" +
				"<tr valign=\"top\">" +
					"<td colspan=\"3\">" +
						"<strong>*Your Message:</strong><br><textarea name=\"your_msg\" cols=\"96\" rows=\"6\" wrap=\"virtual\"></textarea><br>" +
						//"<input name=\"action\" type=\"Submit\" value=\"Click here to send\">" +
						"<input name=\"action\" type=\"button\" value=\"Click here to send\" onclick=\"javascript:sub(this.form,'"+y+"')\">" +
						"<br><em>* Required fields</em><p><a href=\"javascript:hideMsgForm("+x+",'"+y+"');\">Close without sending</a></p><br>" +
					"</td>" +
				"</tr>" +
			"</table>" +
		"</form>" +
		"</div>";
	xvalue = x;
	yvalue = y;
	document.getElementById("cform"+x+"_holder").innerHTML=formBody;
}

function hideMsgForm(x,y) {
	var formBody = "<a href=\"javascript:showMsgForm("+x+",'"+y+"');\"><img src=\"/images/emailButton.gif\" width=\"16\" height=\"16\" border=\"0\" style=\"margin-right:6px;\">Send a message</a>";
	document.getElementById("cform"+x+"_holder").innerHTML=formBody;
}








var doc = null;; 

function sub(f,y) 

{ 

	var isValid = validateContact(xvalue);
	if (isValid) { // is valid
		var file = '/cgi-bin/contactprof2'; 
		//http://www.atlantictrust.dev.amvescap.net/cgi-bin/contactprof2
		var str = getFormValues(f,"validate"); 
		xmlReq = getXML(file,str,y);
	}

} 

function getXML(file,str,y) 

{ 
   //var doc = null 
   if (typeof window.ActiveXObject != 'undefined' ) 
   { 
       doc = new ActiveXObject("Microsoft.XMLHTTP"); 
       doc.onreadystatechange = triggered; 
   } 
   else 
   { 
       doc = new XMLHttpRequest(); 
       doc.onload = triggered;//displayState; 
   } 
   str =  "user_agent=&page_list=&your_request="+y+"&" + str + "&action=Click+here+to+send";
   //alert(str);
   //doc.open( "POST", file, true ); 
   //doc.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"); 
   //doc.send(str); 
   //return doc; 
   
   //?user_agent=&page_list=&your_request=Stephen+Harris%3Cp%3Etest+msg+1&name=jason&phone_number=2817047230&email_address=jason.pham@invesco.com&your_msg=test+msg+1&action=Click+here+to+send
   file = file +"?" + str;
   //alert(file);
   doc.open("GET", file, true);
   doc.send(null); 
   return doc;
}
function getFormValues(fobj,valFunc) 

{ 
   var str = ""; 
   var valueArr = null; 
   var val = ""; 
   var cmd = ""; 
   for(var i = 0;i < fobj.elements.length;i++) 

   { 
       switch(fobj.elements[i].type) 

       { 
           case "text": 
                if(valFunc) 
                { 
                    //use single quotes for argument so that the value of 
                    //fobj.elements[i].value is treated as a string not a literal 
                    
                    //cmd = valFunc + "(" + 'fobj.elements[i].value' + ")"; 
                    val = eval(cmd) 
                } 
                str += fobj.elements[i].name + 
                 "=" + escape(fobj.elements[i].value) + "&"; 
                 break; 
        case "textarea":
			str += fobj.elements[i].name + 
            "=" + escape(fobj.elements[i].value) + "&"; 
            break; 
        case "select-one": 
            str += fobj.elements[i].name + 
            "=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&"; 
			break; 
       } 
   } 
   str = str.substr(0,(str.length - 1)); 
   //alert(str);
   return str; 
}

 function triggered() {
    // if the readyState code is 4 (Completed)
    // and http status is 200 (OK) we go ahead and get the responseText
    // other readyState codes:
    // 0=Uninitialised 1=Loading 2=Loaded 3=Interactive
	if (doc.readyState == 1) {
        // this will show whatever during loading process
        //document.getElementById("output").innerHTML = "<div style=\"background-color:#006600;color:#FFFFFF;padding:5px;\">Saving...</div>";
		//test 
		document.getElementById("cform"+xvalue+"_holder").innerHTML="<div id=\"send_msg\">Sending...</div>";
    }
    if ((doc.readyState == 4) && (doc.status == 200)) {
        // xmlhttp.responseText object contains the response.
		//document.getElementById("output").innerHTML = xmlhttp.responseText;
        //window.setTimeout("document.getElementById(\"output\").innerHTML = \"<div>&nbsp;</div>\"",2000);
		document.getElementById("cform"+xvalue+"_holder").innerHTML=doc.responseText;
		var swapMsg = window.setTimeout("hideMsgForm(xvalue,yvalue)",5000);
	}
}