<?php
	// Quiz registration page
		
    $select = "(Please select)";    
    $email = "";
    $age = "";
    $gender = "";
    $occupation = "";
    $country = "";
    $ethnicity = "";
  	$userID = "";
    $ipAddress = "";
    			
    // make sure user entered required values
    $enteredRequiredValues = true;
    $enteredGender = true;
    $enteredAge = true;
    $enteredEmail = true;
    $enteredOccupation = true;
    $enteredCountry = true;
    $enteredConsent = true;
  	
  	// record the user's IP address
  	$ipAddress = $_SERVER["REMOTE_ADDR"];

	// check and save responses
	if (isset($_POST['submit'])) {	
		$email = $_POST['email'];
		$age = $_POST['age'];
		$country = $_POST['country'];
		$occupation = $_POST['occupation'];
		$gender = $_POST['gender'];
		$ethnicity = $_POST['ethnicity'];

		if (empty($email)) { // check required value
			$enteredEmail = false; $enteredRequiredValues = false;
		}

		if (empty($age)) { // check required value
			$enteredAge = false; $enteredRequiredValues = false;
		}

		if (empty($gender)) { // check required value
			$enteredGender= false; $enteredRequiredValues = false;
		}

		if (empty($country) || ($country==$select)) { // check required value
			$enteredCountry = false; $enteredRequiredValues = false;
		}
		
		if (empty($occupation) || ($occupation==$select)) { // check required value
			$enteredOccupation = false; $enteredRequiredValues = false;
		}

		if (!empty($ethnicity) && ($ethnicity==$select)) { // get optional value
			$ethnicity = "";
		}
		
		if (empty($_POST['terms'])) { // make sure they checked consent
			$enteredConsent = false; $enteredRequiredValues = false;
		}
																		 	 
		// did user enter the required values? if so, continue to store data
		if ($enteredRequiredValues) {
				
			 // Create a new mysqli object with database connection parameters 
   			$conn = new mysqli('localhost', 'numeracy_web', 'numeracy', 'numeracy');

   			if(mysqli_connect_errno()) {
     			 echo "Connection Failed: " . mysqli_connect_errno();
      			exit();
   			}

			// store results using prepared statement so it catches quotes in strings!
			$query = "INSERT into user_profile (USER_EMAIL,USER_AGE,USER_GENDER,USER_ETHNICITY,USER_COUNTRY,USER_OCCUPATION,USER_IP_ADDRESS,USER_CREATED) VALUES (?,?,?,?,?,?,?,NOW())";
			$stmt = $conn->prepare($query);
			$stmt->bind_param('sisssss', $email, $age, $gender, $ethnicity,$country,$occupation,$ipAddress);
			$stmt->execute();
			
			// get auto increment ID
			$userID = $conn->insert_id;
						
			$stmt->close();
			$conn->close();

			// store id data in session
			session_start();
			$_SESSION["id"] = $userID;
			$_SESSION["email"] = $email;

      		// redirect to instructions. Note that header() must be called before any actual
      		// output is sent, either by normal HTML tags, blank lines in a file, or from PHP
      		header('Location: instructions.php');
      	}       	
  } else { // show signup
?>

<head>
	<title>More Numerate : Quiz Registration</title>
	<link rel="stylesheet" type="text/css" href="http://numeracy.sri.com/numeracy.css"/>
</head>

<body OnLoad="document.registerform.email.focus();">

<p class="h1">Start the Numeracy Quiz</p>

<p>To begin the quiz, complete and submit the form below. Items in bold are required.
	You must be 18 years of age or older to participate.</p>

<?php
  if (!$enteredRequiredValues) { 
?>
<p class="error">Some required items were not completed. Please complete all items.</p>

<?php
  }
?>

<form name="registerform" method="post">
          <table width="100%" border="0" cellspacing="0" cellpadding="4">
            <tr>
              <th align="right" valign="top">E-mail Address:</th>
              <td>
                <input type="text" name="email" size="50" maxlength="80" ><br>(Answers will be emailed to this address)</td>
			  </td>
			 <tr>
            <tr>
              <th align="right" valign="top">Gender:</th>
              <td>
              	  <input type="radio" name="gender" value="f" > Female
                  <input type="radio" name="gender" value="m" > Male
			  </td>
			</tr>			 
			<tr>
              <th align="right" valign="top">Age:</th>
              <td>
              <input type="text" name="age" size="4" maxlength="3" value="<?php echo $age ?>">
              </td>
            </tr>
            <tr>
              <th align="right" valign="top">Primary occupation:</th>
              <td>
              <select name="occupation">
				    <option value="" >(Please select)</option>
 					<option value="Other" >Other</option>
  					<option value="EdGen" >Educator - General</option>
  					<option value="EdMath" >Educator - Math</option>
  					<option value="EdK12" >Educator - K-12</option>
  					<option value="EdUniv" >Educator - University</option>
  					<option value="EdOther" >Educator - Other</option>
 					<option value="JournGen" >Journalism - General</option>
 					<option value="JournPrint" >Journalism - Print</option>
 					<option value="JournBroad" >Journalism - Broadcast</option>
 					<option value="JournOnline" >Journalism - Online</option>
 					<option value="JournGradStu" >Journalism - Graduate Student</option>
 					<option value="JournUndergradStu" >Journalism - Undergraduate Student</option>
 					<option value="JournFaculty" >Journalism - Faculty</option>
 					<option value="JournOther" >Journalism - Other</option>
 					<option value="Researcher" >Researcher</option>
  					<option value="StuUndergrad" >Student - Undergraduate</option>
  					<option value="StuGrad" >Student - Graduate</option>
			   </select>
			</td>
            </tr>
            
            <tr>
              <th align="right" valign="top">Country:</th>
              <td>
                  <select name="country">
				  <option value="" >(Please select)</option>
				  <option value="US" >United States</option>
				  <option value="CA" >Canada</option>
				  <option value="">---------</option>
				  <option value="AF" >Afghanistan</option>
				  <option value="AX" >Aland Islands</option>
				  <option value="AL" >Albania</option>
				  <option value="DZ" >Algeria</option>
				  <option value="AS" >American Samoa</option>
				  <option value="AD" >Andorra</option>
				  <option value="AO" >Angola</option>
				  <option value="AI" >Anguilla</option>
				  <option value="AQ" >Antarctica</option>
				  <option value="AG" >Antigua And Barbuda</option>
				  <option value="AR" >Argentina</option>
				  <option value="AM" >Armenia</option>
				  <option value="AW" >Aruba</option>
				  <option value="AU" >Australia</option>
				  <option value="AT" >Austria</option>
				  <option value="AZ" >Azerbaijan</option>
				  <option value="BS" >Bahamas</option>
				  <option value="BH" >Bahrain</option>
				  <option value="BD" >Bangladesh</option>
				  <option value="BB" >Barbados</option>
				  <option value="BY" >Belarus</option>
				  <option value="BE" >Belgium</option>
				  <option value="BZ" >Belize</option>
				  <option value="BJ" >Benin</option>
				  <option value="BM" >Bermuda</option>
				  <option value="BT" >Bhutan</option>
				  <option value="BO" >Bolivia</option>
				  <option value="BA" >Bosnia And Herzegovina</option>
				  <option value="BW" >Botswana</option>
				  <option value="BV" >Bouvet Island</option>
				  <option value="BR" >Brazil</option>
				  <option value="IO" >British Indian Ocean Territory</option>
				  <option value="BN" >Brunei Darussalam</option>
				  <option value="BG" >Bulgaria</option>
				  <option value="BF" >Burkina Faso</option>
				  <option value="BI" >Burundi</option>
				  <option value="KH" >Cambodia</option>
				  <option value="CM" >Cameroon</option>
				  <option value="CA" >Canada</option>
				  <option value="CV" >Cape Verde</option>
				  <option value="KY" >Cayman Islands</option>
				  <option value="CF" >Central African Republic</option>
				  <option value="TD" >Chad</option>
				  <option value="CL" >Chile</option>
				  <option value="CN" >China</option>
				  <option value="CX" >Christmas Island</option>
				  <option value="CC" >Cocos (Keeling) Islands</option>
				  <option value="CO" >Colombia</option>
				  <option value="KM" >Comoros</option>
				  <option value="CG" >Congo</option>
				  <option value="CD" >Congo, The Democratic Republic Of The</option>
				  <option value="CK" >Cook Islands</option>
				  <option value="CR" >Costa Rica</option>
				  <option value="CI" >Cote D'Ivoire</option>
				  <option value="HR" >Croatia</option>
				  <option value="CU" >Cuba</option>
				  <option value="CY" >Cyprus</option>
				  <option value="CZ" >Czech Republic</option>
				  <option value="DK" >Denmark</option>
				  <option value="DJ" >Djibouti</option>
				  <option value="DM" >Dominica</option>
				  <option value="DO" >Dominican Republic</option>
				  <option value="TP" >East Timor</option>
				  <option value="EC" >Ecuador</option>
				  <option value="EG" >Egypt</option>
				  <option value="SV" >El Salvador</option>
				  <option value="GQ" >Equatorial Guinea</option>
				  <option value="ER" >Eritrea</option>
				  <option value="EE" >Estonia</option>
				  <option value="ET" >Ethiopia</option>
				  <option value="FK" >Falkland Islands</option>
				  <option value="FO" >Faroe Islands</option>
				  <option value="FJ" >Fiji</option>
				  <option value="FI" >Finland</option>
				  <option value="FR" >France</option>
				  <option value="GF" >French Guiana</option>
				  <option value="PF" >French Polynesia</option>
				  <option value="TF" >French Southern Territories</option>
				  <option value="GA" >Gabon</option>
				  <option value="GM" >Gambia</option>
				  <option value="GE" >Georgia</option>
				  <option value="DE" >Germany</option>
				  <option value="GH" >Ghana</option>
				  <option value="GI" >Gibraltar</option>
				  <option value="GR" >Greece</option>
				  <option value="GL" >Greenland</option>
				  <option value="GD" >Grenada</option>
				  <option value="GP" >Guadeloupe</option>
				  <option value="GU" >Guam</option>
				  <option value="GT" >Guatemala</option>
				  <option value="GN" >Guinea</option>
				  <option value="GW" >Guinea-bissau</option>
				  <option value="GY" >Guyana</option>
				  <option value="HT" >Haiti</option>
				  <option value="HM" >Heard Island And Mcdonald Islands</option>
				  <option value="VA" >Holy See (Vatican City State)</option>
				  <option value="HN" >Honduras</option>
				  <option value="HK" >Hong Kong</option>
				  <option value="HU" >Hungary</option>
				  <option value="IS" >Iceland</option>
				  <option value="IN" >India</option>
				  <option value="ID" >Indonesia</option>
				  <option value="IR" >Iran</option>
				  <option value="IQ" >Iraq</option>
				  <option value="IE" >Ireland</option>
				  <option value="IL" >Israel</option>
				  <option value="IT" >Italy</option>
				  <option value="JM" >Jamaica</option>
				  <option value="JP" >Japan</option>
				  <option value="JO" >Jordan</option>
				  <option value="KZ" >Kazakstan</option>
				  <option value="KE" >Kenya</option>
				  <option value="KI" >Kiribati</option>
				  <option value="KW" >Kuwait</option>
				  <option value="KG" >Kyrgyzstan</option>
				  <option value="LA" >Lao People's Democratic Republic</option>
				  <option value="LV" >Latvia</option>
				  <option value="LB" >Lebanon</option>
				  <option value="LS" >Lesotho</option>
				  <option value="LR" >Liberia</option>
				  <option value="LY" >Libyan Arab Jamahiriya</option>
				  <option value="LI" >Liechtenstein</option>
				  <option value="LT" >Lithuania</option>
				  <option value="LU" >Luxembourg</option>
				  <option value="MO" >Macau</option>
				  <option value="MK" >Macedonia</option>
				  <option value="MG" >Madagascar</option>
				  <option value="MW" >Malawi</option>
				  <option value="MY" >Malaysia</option>
				  <option value="MV" >Maldives</option>
				  <option value="ML" >Mali</option>
				  <option value="MT" >Malta</option>
				  <option value="MH" >Marshall Islands</option>
				  <option value="MQ" >Martinique</option>
				  <option value="MR" >Mauritania</option>
				  <option value="MU" >Mauritius</option>
				  <option value="YT" >Mayotte</option>
				  <option value="MX" >Mexico</option>
				  <option value="FM" >Micronesia</option>
				  <option value="MD" >Moldova</option>
				  <option value="MC" >Monaco</option>
				  <option value="MN" >Mongolia</option>
				  <option value="MS" >Montserrat</option>
				  <option value="MA" >Morocco</option>
				  <option value="MZ" >Mozambique</option>
				  <option value="MM" >Myanmar</option>
				  <option value="NA" >Namibia</option>
				  <option value="NR" >Nauru</option>
				  <option value="NP" >Nepal</option>
				  <option value="NL" >Netherlands</option>
				  <option value="AN" >Netherlands Antilles</option>
				  <option value="NC" >New Caledonia</option>
				  <option value="NZ" >New Zealand</option>
				  <option value="NI" >Nicaragua</option>
				  <option value="NE" >Niger</option>
				  <option value="NG" >Nigeria</option>
				  <option value="NU" >Niue</option>
				  <option value="NF" >Norfolk Island</option>
				  <option value="KP" >North Korea</option>
				  <option value="MP" >Northern Mariana Islands</option>
				  <option value="NO" >Norway</option>
				  <option value="OM" >Oman</option>
				  <option value="PK" >Pakistan</option>
				  <option value="PW" >Palau</option>
				  <option value="PS" >Palestinian Territory</option>
				  <option value="PA" >Panama</option>
				  <option value="PG" >Papua New Guinea</option>
				  <option value="PY" >Paraguay</option>
				  <option value="PE" >Peru</option>
				  <option value="PH" >Philippines</option>
				  <option value="PN" >Pitcairn</option>
				  <option value="PL" >Poland</option>
				  <option value="PT" >Portugal</option>
				  <option value="PR" >Puerto Rico</option>
				  <option value="QA" >Qatar</option>
				  <option value="RE" >Reunion</option>
				  <option value="RO" >Romania</option>
				  <option value="RU" >Russian Federation</option>
				  <option value="RW" >Rwanda</option>
				  <option value="SH" >Saint Helena</option>
				  <option value="KN" >Saint Kitts And Nevis</option>
				  <option value="LC" >Saint Lucia</option>
				  <option value="PM" >Saint Pierre And Miquelon</option>
				  <option value="VC" >Saint Vincent And The Grenadines</option>
				  <option value="WS" >Samoa</option>
				  <option value="SM" >San Marino</option>
				  <option value="ST" >Sao Tome And Principe</option>
				  <option value="SA" >Saudi Arabia</option>
				  <option value="SN" >Senegal</option>
				  <option value="CS" >Serbia And Montenegro</option>
				  <option value="SC" >Seychelles</option>
				  <option value="SL" >Sierra Leone</option>
				  <option value="SG" >Singapore</option>
				  <option value="SK" >Slovakia</option>
				  <option value="SI" >Slovenia</option>
				  <option value="GS" >So. Georgia And The So. Sandwich Islands</option>
				  <option value="SB" >Solomon Islands</option>
				  <option value="SO" >Somalia</option>
				  <option value="ZA" >South Africa</option>
				  <option value="KR" >South Korea</option>
				  <option value="ES" >Spain</option>
				  <option value="LK" >Sri Lanka</option>
				  <option value="SD" >Sudan</option>
				  <option value="SR" >Suriname</option>
				  <option value="SJ" >Svalbard And Jan Mayen</option>
				  <option value="SZ" >Swaziland</option>
				  <option value="SE" >Sweden</option>
				  <option value="CH" >Switzerland</option>
				  <option value="SY" >Syrian Arab Republic</option>
				  <option value="TW" >Taiwan</option>
				  <option value="TJ" >Tajikistan</option>
				  <option value="TZ" >Tanzania</option>
				  <option value="TH" >Thailand</option>
				  <option value="TL" >Timor-Leste</option>
				  <option value="TG" >Togo</option>
				  <option value="TK" >Tokelau</option>
				  <option value="TO" >Tonga</option>
				  <option value="TT" >Trinidad And Tobago</option>
				  <option value="TN" >Tunisia</option>
				  <option value="TR" >Turkey</option>
				  <option value="TM" >Turkmenistan</option>
				  <option value="TC" >Turks And Caicos Islands</option>
				  <option value="TV" >Tuvalu</option>
				  <option value="UG" >Uganda</option>
				  <option value="UA" >Ukraine</option>
				  <option value="AE" >United Arab Emirates</option>
				  <option value="GB" >United Kingdom</option>
				  <option value="US" >United States</option>
				  <option value="UM" >United States Minor Outlying Islands</option>
				  <option value="UY" >Uruguay</option>
				  <option value="UZ" >Uzbekistan</option>
				  <option value="VU" >Vanuatu</option>
				  <option value="VE" >Venezuela</option>
				  <option value="VN" >Viet Nam</option>
				  <option value="VG" >Virgin Islands, British</option>
				  <option value="VI" >Virgin Islands, U.S.</option>
				  <option value="WF" >Wallis And Futuna</option>
				  <option value="EH" >Western Sahara</option>
				  <option value="YE" >Yemen</option>
				  <option value="YU" >Yugoslavia</option>
				  <option value="ZM" >Zambia</option>
				  <option value="ZW" >Zimbabwe</option>
				</select>
			</td>
            </tr>

<!-- ethnicity is optional -->

            <tr>
              <td align="right" valign="top"><p>Ethnicity:</p></td>
              <td><select name="ethnicity">
				    <option value="" >(Please select)</option>
  					<option value="Other" >Other</option>
 			 		<option value="Caucasian" >White, Caucasian</option>
 			 		<option value="AfricanAmerican" >Black, African American</option>
 			 		<option value="Hispanic" >Hispanic, Latino</option>
 			 		<option value="Asian" >Asian</option>
 			 		<option value="PacificIslander" >Pacific Islander</option>
 			 		<option value="AmericanIndian" >American Indian</option>
 			 		<option value="Multi" >Multi-ethnic</option>
				 </select>
				</td>
            </tr>
                        
           <tr><th align="right">Research Consent:</th>
                <td>
                <p><textarea rows="12" cols="60">
Primary Investigator: Prof. Michael Ranney, Ph.D., 
Graduate School of Education, UC Berkeley

We are currently conducting research about how people use 
numbers with regard to base rates that involve a great 
variety of issues and we would like you to consider aiding 
us by participating in this study. This form is provided to 
help you make an informed decision as to whether or not you 
would like to take part in these investigations. Below is 
information regarding what you can expect. Please read it 
carefully; if you have any questions, please contact 
ranney at berkeley.edu. Once you have finished reading the 
form, if you would like to participate, check the box below 
and click on the "Submit" button. Your participation in this 
research is voluntary. You are free to withdraw your consent 
and discontinue participation in this study at any time. If 
you participate throughout this study, you may refuse to 
answer any question(s) that might make you feel uncomfortable 
(e.g., by closing your browser window or typing "I refuse" in 
the appropriate box).

PROCEDURES: If you agree to take part in my research, you 
will answer several questions on a wide variety of topics. We
would like you to make estimates and decisions about the 
topics in quantitative terms. You may be asked to list reasons 
for your estimates. The information will be presented on paper 
or computer and require written responses.

RISKS AND BENEFITS: There are no foreseeable risks associated 
with this study beyond those encountered in routine 
examination and testing. 

CONFIDENTIALITY: All information about you and your 
responses will be identified only through a randomly 
assigned identification number. Once we have completed 
the process of collecting data, the key linking your email 
address to this number will be destroyed. At this point, 
it will be impossible to link you to your responses. All 
information will be kept in a locked room.
 
FOLLOW-UP:  Following your participation in this study, you 
will receive some feedback.

By checking the box below and clicking on the "Submit" button, 
you are agreeing to the following:  "I have read and understood 
this consent form, and being 18 years of age or older, I agree 
to participate in this study. I understand that my participation 
is voluntary and that I am free to withdraw my consent and 
discontinue participation in this study at any time. If I 
participate throughout this study, I may refuse to answer any 
question(s) that might make me feel uncomfortable."
</textarea></p>
      		</tr>
      		
      		<tr><td colspan="2">
<?php
  if (!$enteredConsent) {
?>
<p class="error">Please verify your age and consent.</p>
<?php
  }
?>
      			 <p><input type="checkbox" name="terms" value="true">
      			   I verify that I am at least 18 years of age, and I agree to the Research Consent terms.</p>
      		    </td>
      		</tr>
      		<tr><td colspan="2">
                <input NAME="submit" VALUE="Submit" type="submit">
              </td>
            </tr>
          </table>
        </form>

</form>

<?php } ?>

</body>
</html>