<html>

<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<title>New Committer</title>
<link rel="stylesheet" href="../default_style.css">
</head>

<body lang=EN-US link=blue vlink=purple>

<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr>
    <td align=LEFT valign=TOP colspan="2" bgcolor="#0080C0"><strong><font color="#FFFFFF" face="Arial,Helvetica">Eclipse Foundation Member Committer Questionnaire</font></strong></td>

  </tr>
  <tr>
	<td>
<?php

        $EMailDest = "emo-records@eclipse.org";
#	$EMailSubject = "Member Committer Questionnaire for " . $_POST['yourName'];;
	$EMailSubject = $_POST['yourName'] . " - Member Committer Questionnaire";


        $_STATE = $_POST['state'];

        if($_STATE == "submit") {
                echo "Thank you for submitting this questionnaire.";

                                $mailStr .= "

Member Committer Questionnaire

Has Read Guidelines: " . $_POST['hasReadGuidelines'] . "
Name: " . $_POST['yourName'] . "
Organization: " . $_POST['yourOrganization'] . "
Project: " . $_POST['yourProject'] . "

Address1: " . $_POST['yourAddress1'] . "
Address2: " . $_POST['yourAddress2'] . "
Address3: " . $_POST['yourAddress3'] . "

Email: " . $_POST['yourEmail'] . "
Phone: " . $_POST['yourPhone'] . "
Fax: " . $_POST['yourFax'] . "
Mobile: " . $_POST['yourMobile'] . "

Member Company: " . $_POST['memberCompany'] . "
Is Member Employee: " . $_POST['isMemberEmployee'];


                if($_POST['yourEmail'] != "") {
                        $EMailDest .= "," . $_POST['yourEmail'];
                }


                 mail($EMailDest, $EMailSubject, $mailStr, "From: emo-records@eclipse.org\n");



        }
?>
	</td>
			</tr>
		</table>
	</body>
</html>
