	<?php 
	
	ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
	
$con=mysqli_connect("db701942142.db.1and1.com","dbo701942142","rRaw5be6fV6DBaLw","db701942142");
// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}



		$dServer = array();
		$labels=array();
		$row = 1;
		$filen=mt_rand(1,4);
if (($handle = fopen($filen.".csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        
		if ($row>1){
			$dServer[]=$data[1];
			$labels[]=""; //$row-1;
			
		}
        $row++;
        
		
    }
    fclose($handle);
	
}

$st=mt_rand(0,$row-3-99); //-4 can provide length enough for 5
$output1 = array_slice($dServer, $st, 100); 
$labels = array_slice($labels, 1, 100); 



foreach($output1 as $key => $num) {
	if ($key>0) $devs[] = abs($num - $output1[$key-1]);
}


$mean = array_sum($devs) / count($devs);
$sd=standard_deviation($devs);


//$sd=standard_innovation($output1);
$mx=max($devs);
//$mn=0;

//$output2[]=mt_rand($mn,$mx);
$output2[]=$output1[0];
for ($i = 1; $i <= 99; $i++) {
	//$trans=normalrand()*$sd+$mean;
	$trans=purebell(-$mx, $mx,$sd,0.01);
	$output2[$i]=$output2[$i-1]+$trans;//$output2[$i-1]+$trans;
}

$answer=mt_rand(0,1);
if ($answer==0){
$output0=$output2;
$output2=$output1;
$output1=$output0;
}
$serial1=serialize($output1);
$serial2=serialize($output2);
$hash=sha1(microtime(true).mt_rand(10000,90000));

//$client_ip=ipstuff();
$client_ip=$_SERVER['REMOTE_ADDR'];
if ($client_ip=="::1") $client_ip="127.0.0.1";
$client_ip = ip2long($client_ip);
$result = mysqli_query($con,"INSERT INTO randomwalks (walk1, walk2, random,useranswer,uhash,startindex,filen,ip) VALUES ('$serial1','$serial2',$answer+1,0,'$hash',$st,$filen,$client_ip)");


function standard_deviation($sample){
	if(is_array($sample)){
		$mean = array_sum($sample) / count($sample);
		foreach($sample as $key => $num) $devs[$key] = pow($num - $mean, 2);
		return sqrt(array_sum($devs) / (count($devs) - 1));
	}
}
function standard_innovation($sample){
	if(is_array($sample)){
		
		foreach($sample as $key => $num) {
			if ($key>0) $devs[$key] = abs($num - $sample[$key-1]);
		}
		return array_sum($devs) / (count($devs) - 2);
	}
}

function purebell($min,$max,$std_deviation,$step=1) {
  $rand1 = (float)mt_rand()/(float)mt_getrandmax();
  $rand2 = (float)mt_rand()/(float)mt_getrandmax();
  $gaussian_number = sqrt(-2 * log($rand1)) * cos(2 * M_PI * $rand2);
  $mean = ($max + $min) / 2;
  $random_number = ($gaussian_number * $std_deviation) + $mean;
  $random_number = round($random_number / $step) * $step;
  if($random_number < $min || $random_number > $max) {
    $random_number = purebell($min, $max,$std_deviation);
  }
  return $random_number;
}
function normalrand(){
$randmax = 9999;
 $v = 2; 
while ($v > 1) { 
	$u1 = rand(0, $randmax) / $randmax; 
	$u2 = rand(0, $randmax) / $randmax; 

	$v = (2 * $u1 - 1) * (2 * $u1 - 1) + (2 * $u2 - 1) * (2 * $u2 - 1); 
} 

return (2* $u1 - 1) * (( -2 * log($v) / $v) ^ 0.5); 

}
?>
	

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
	<head>
		<title>Line Chart</title>
			<link href='//fonts.googleapis.com/css?family=Patua+One' rel='stylesheet' type='text/css'>
			<link href="jq/jquery-ui.css" rel="stylesheet">
			<script src="jq/external/jquery/jquery.js"></script>
			<script src="jq/jquery-ui.js"></script>
	
	<script src="Chart.min.js"></script>
	<style>
.smallscript {
	color: #000000;
	font-size: 65%;
}
.redscript {
	color: #AA0000;
}
.greenscript {
	color: #00AA00;
}

.bluescript {
	color: #0000AA;
}
#container
{
	margin: 0 auto;
	width: 700px;
	text-align:center;
	
	border:0px solid;
}
body {
    background-image: url('IMG/subtlenet2.png');
    background-repeat: repeat;
	font-family: 'Patua One';
	font-size: 20pt;
}
#canvas {
	
}
	</style>
	
	</head>
	<body>
	
	<div id="container" >
			Can you spot a random walk?*	
		<div style="width:600px;" >
			<div  >
				<canvas id="canvas" height="450" width="600" style="border:0px solid; "></canvas>
			</div>
		</div>


	<script>
		
	var $done=0;
	var labels= <?php echo json_encode($labels); ?>;
	var data1 = <?php echo json_encode($output1); ?>;
	var data2 = <?php echo json_encode($output2); ?>;

		var randomScalingFactor = function(){ return Math.round(Math.random()*100)};
		var lineChartData = {
			labels : labels,
			datasets : [
				{
					label: "My First dataset",
					//fillColor : "rgba(220,220,220,0.2)",
					//strokeColor : "rgba(220,220,220,1)",
					//pointColor : "rgba(220,220,220,1)",
					fillColor : "rgba(251,187,205,0.2)",
					strokeColor : "rgba(251,187,205,1)",
					pointColor : "rgba(251,187,205,1)",
					pointStrokeColor : "#fff",
					pointHighlightFill : "#fff",
					pointHighlightStroke : "rgba(220,220,220,1)",
					data : data1
				},
				{
					label: "My Second dataset",
					fillColor : "rgba(151,187,205,0.2)",
					strokeColor : "rgba(151,187,205,1)",
					pointColor : "rgba(151,187,205,1)",
					pointStrokeColor : "#fff",
					pointHighlightFill : "#fff",
					pointHighlightStroke : "rgba(151,187,205,1)",
					data : data2
				}
			]

		}

	window.onload = function(){
		var ctx = document.getElementById("canvas").getContext("2d");
		window.myLine = new Chart(ctx).Line(lineChartData, {
			responsive: true,
			pointDotRadius : 2,
			pointDot: false
		});
		ctx.onclick = function(evt){
			
			var activePoints = myLine.getPointsAtEvent(evt);
			//alert(activePoints);
			// => activePoints is an array of points on the canvas that are at the same position as the click event.
		};
		}
	
	


	</script>

<form style="margin-top: 1em;" id="form1">
	<div id="radioset">
		<input type="radio" id="radio1" name="radio" value=1><label for="radio1"><span class="redscript">Red</span><BR> <span class="smallscript">is random walk</span></label>
		<input type="radio" id="radio2" name="radio" value=2><label for="radio2"><span class="bluescript">Blue</span><BR> <span class="smallscript">is random walk</span></label>
		
	</div>
</form>
<button id="button">Submit <BR><span class="smallscript">and show the answer</span></button>
<BR><BR>
<div id="reveal" style="height:40px"><BR></div>
<BR><BR>
<div class="smallscript">* One of the lines is a random sample of 100 consecutive days for the price of a specific stock. <BR>The other one is a random walk. Which one's which?
<BR> Guess, read more on random walks and the set up <A href="info.html">here</A> or go back to <a href="https://arthurdolgopolov.net">my page.</a></div> 
<script>
$( "#button" ).button();
$( "#radioset" ).buttonset();
$( "#button" ).click(function() {
	  if ($done==0){
	  $("#reveal").html("<BR>");
	  $userpicked=$('input[name="radio"]:checked', '#form1').val();
	  
	   if(typeof $userpicked === 'undefined'){
		   // your code here.
		   $("#reveal").html("<span class='redscript'>Pick one of the lines with the buttons above, please.</span>");
		 } else {
	  
	  var serializedData= {hash:"<? echo $hash?>",userpicked: $userpicked};
	  request = $.ajax({
        url: "form.php",
        type: "post",
        data: serializedData,
		success: function(data)
		{
			//alert();
			$("#reveal").html(data);
			$done=1;
		}
    });
	  
	  }
	  }
	});
	
		
	
</script>
</div>
	</body>
</html>
<?
mysqli_close($con);
?>