<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 Individual Committer Questionnaire</font></strong></td>

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

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


        $_STATE = $_POST['state'];

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

                                $mailStr .= "

Individual 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'] . "

Committer Type: " . $_POST['committerType'];

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


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



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