<!DOCTYPE html>
<html>
	<head>
		<script src="http://code.jquery.com/jquery-latest.js"></script>
<?php		REQUIRE 'db.php';
		REQUIRE 'global_functions.php';
		$action=$_REQUEST['action'];
		if($action=='login'){			//login attempt
			REQUIRE'authenticate.php';
			authenticate($email, $pwd);		
		}
			$id=$_SESSION['id'];
			$user_name=$_SESSION['name'];
			$user_level=$_SESSION['level'];
			$login=$_SESSION['login'];
	
/*-----SEMESTER DATA (before printing anything to screen)-----*/
		function semester_data($id){
				$matrix = array(
    					"work"=>array(
						0=>array(),
						"classname"=>array()
					),
    					"class"=>array(
						0=>array()
					)
				);
//classes mysql
				$classes_sql=mysql_query("SELECT * FROM classes WHERE userID='$id' AND current=1") or die("Error finding classes [003]: ".mysql_error());
				$matrix["class"]=mysql_fetch_array($classes_sql);
//homework mysql & descriptions
				$work_sql=mysql_query("SELECT * FROM assessments WHERE userID='$id' ORDER BY duedate ASC") or die("Error finding assessments [004]: ".mysql_error());
				$x=0;
				while($temp=mysql_fetch_array($work_sql)){
					$matrix["work"][$x]=$temp;
					$workID=$temp['assessmentID'];
					$classID=$temp['classID'];
//formated date/time
					$calendar=mysql_query("SELECT UNIX_TIMESTAMP(duedate) as postDateInt from assessments WHERE assessmentID='$workID'") or die("Error finding due date: ".mysql_error());
					$result=mysql_fetch_array($calendar);
					$due=$result['postDateInt'];
					$calendar=mysql_query("SELECT UNIX_TIMESTAMP(start) as postDateInt from assessments WHERE assessmentID='$workID'") or die("Error finding due date: ".mysql_error());
					$result=mysql_fetch_array($calendar);
					$start=$result['postDateInt'];
					$clock=mysql_query("SELECT UNIX_TIMESTAMP(duedate) as postTimeInt from assessments WHERE assessmentID='$workID'") or die("Error finding due date: ".mysql_error());
					$result=mysql_fetch_array($clock);
					$time=$result['postTimeInt'];
					$matrix["work"][$x]["duetime"]=$time;
					$matrix["work"][$x]["duedate"]=$due;
					$matrix["work"][$x]["startdate"]=$start;
//formated classname					
					$class_name=mysql_query("SELECT * FROM classes WHERE classID='$classID'") or die("Error finding due date: ".mysql_error());
					$classname=mysql_fetch_array($class_name);
					$matrix["work"][$x]["classname"]=$classname["name"].' '.$classname["number"];
					if($due==0){
						$duedate='unscheduled';
					}
					if($duedate!=='unscheduled'){
						$today=time();
						$now=time('u');
						$until=$due-$today;
						$untilDay=floor($until/60/60/24);
						$untilDay++;
					}
					else{
						$until='unknown';
					}
					$x++;		
				}				
?>			<a class='description_window_name' id='default'>FALL 2012</a>						<!--DEFAULT DESCRIPTION CONTENT--!>
			</br><span id='description_window_type'>None</span>
			<div id='clock'>

			</div></br>
			<p class='description_window_content' id='default'>
				<span class='home_due'>Due: None</span></br>
				<span class='home_class'>Class: None</span></br>
			</p>
<?						return $matrix;

	}/*----------END OF semester_data----------*/	

/*
----------CLOCK shows time remaining to complete an assignment/exam----------
		function clock($id,$matrix){
				$calendar=mysql_query("SELECT UNIX_TIMESTAMP(duedate) as postDateInt from assessments WHERE assessmentID='$assID'") or die("Error finding due date: ".mysql_error());
				$result=mysql_fetch_array($calendar);
				$due=$result['postDateInt'];
				$clock=mysql_query("SELECT UNIX_TIMESTAMP(duedate) as postTimeInt from assessments WHERE assessmentID='$assID'") or die("Error finding due date: ".mysql_error());
				$result=mysql_fetch_array($clock);
				$time=$result['postTimeInt'];
				$time=date('g:i a',$time);
				$duedate=date('M j, Y', $due);
				$type=strtoupper($ass['type']);
				if($due==0){
					$duedate='unscheduled';
				}
				$classID=$ass['classID'];
				if($duedate!=='unscheduled'){
					$today=time();
					$now=time('u');
					$until=$due-$today;
					$untilDay=floor($until/60/60/24);
					$untilDay++;
				}
				else{
					$until='unknown';
				}
		}----------END OF CLOCK----------
*/

/*----------DESCRIPTION WINDOW div shows DETAILS on selected homework and exams----------*/
		function description_window($matrix){																				

		}/*----------END OF description_window----------*/	

/*----------UPCOMING WORK organized by due date (quick view)----------*/
		function upcoming_work($id,$matrix){
//look through homework, show each
				$work_count=count($matrix["work"])-1;
				for($x=0; $x<$work_count; $x++){	
?>						<li class='home_all_assignments'>
							<span id='w<?echo $matrix["work"][$x]["assessmentID"];?>' class='assessmentInfo'>
<?								echo $matrix["work"][$x]["name"];
								if($matrix["work"][$x]["type"]=='exam'){
?> 									is on
<?								}
								else{
?>									is due on
<?								}
								echo date('M j',$matrix["work"][$x]["duedate"]);?> in <?echo strtoupper($matrix["work"][$x]["classname"]);?>
							</span>	
						</li>		
<!--ANIMATIONS--!>
<script>
					$("span#w<?echo $matrix["work"][$x]["assessmentID"];?>").click(
					function(){
						$("span#description_window_type")
						.fadeOut();
						$("a.description_window_name")
						.fadeOut();
						$("p.description_window_content")
						.fadeOut(
						function(){
//title
							$("a.description_window_name")
							.replaceWith("<a href='classes.php?assessmentID=<?echo $matrix["work"][$x]["assessmentID"];?>' class='description_window_name'><?echo $matrix["work"][$x]["name"];?></a>");
							$("span#description_window_type")
							.replaceWith("<span id='description_window_type'><?echo strtoupper($matrix["work"][$x]["type"]);?></span>");
//content
							$("p.description_window_content")
							.replaceWith("<p class='description_window_content'><span class='home_due'>Due: <?echo date('M j, Y',$matrix["work"][$x]["duedate"]);?></span></br><span class='home_class'>Class: <?echo strtoupper($matrix["work"][$x]["classname"]);?></span></br></p>");
							$("a.description_window_name")
							.fadeIn();
							$("span#description_window_type")
							.fadeIn();
							$("p.description_window_content")
							.fadeIn();
						});	
						$("span")
						.removeClass("focus");
						$("span#w<?echo $matrix["work"][$x]["assessmentID"];?>")
						.addClass("focus");	
					});											
</script><?		}
		}/*-----END OF home_assignments----------*/


/*----------UPCOMING WORK organized into weekly schedule (quick view)----------*/
		function week_calendar($start_day,$matrix){	
			$printed=0;
			$color_picker='one';	
				$day=array(
					0=>mktime(0,0,0,date('m', $start_day),date('d', $start_day),date('Y', $start_day)),
					1=>mktime(0,0,0,date('m', $start_day),date('d', $start_day)+1,date('Y', $start_day)),
					2=>mktime(0,0,0,date('m', $start_day),date('d', $start_day)+2,date('Y', $start_day)),
					3=>mktime(0,0,0,date('m', $start_day),date('d', $start_day)+3,date('Y', $start_day)),
					4=>mktime(0,0,0,date('m', $start_day),date('d', $start_day)+4,date('Y', $start_day)),
					5=>mktime(0,0,0,date('m', $start_day),date('d', $start_day)+5,date('Y', $start_day)),
					6=>mktime(0,0,0,date('m', $start_day),date('d', $start_day)+6,date('Y', $start_day))
				);		
			?><tr>
				<td class='week_calendar_time'></td>
				<th class='even'><span class='mon_sun'><?echo strtoupper(date("D",$day[0]));?></span><?echo date("d",$day[0]);?></th>
				<th class='odd'><span class='mon_sun'><?echo strtoupper(date("D",$day[1]));?></span><?echo date("d",$day[1]);?></th>
				<th class='even'><span class='mon_sun'><?echo strtoupper(date("D",$day[2]));?></span><?echo date("d",$day[2]);?></th>
				<th class='odd'><span class='mon_sun'><?echo strtoupper(date("D",$day[3]));?></span><?echo date("d",$day[3]);?></th>
				<th class='even'><span class='mon_sun'><?echo strtoupper(date("D",$day[4]));?></span><?echo date("d",$day[4]);?></th>
				<th class='odd'><span class='mon_sun'><?echo strtoupper(date("D",$day[5]));?></span><?echo date("d",$day[5]);?></th>
				<th class='even'><span class='mon_sun'><?echo strtoupper(date("D",$day[6]));?></span><?echo date("d",$day[6]);?></th>
			</tr><?
			$work_count=count($matrix["work"]);
			for($y=0; $y<$work_count; $y++){
//week calendar is within the date interval for this assignment
				$due_day=mktime(0,0,0,date("m",$matrix["work"][$y]["duedate"]),date("d",$matrix["work"][$y]["duedate"]),date("Y",$matrix["work"][$y]["duedate"]));
				$start_working=mktime(0,0,0,date("m",$matrix["work"][$y]["startdate"]),date("d",$matrix["work"][$y]["startdate"]),date("Y",$matrix["work"][$y]["startdate"]));
				if($due_day>=$day[0]&&$due_day<=$day[6]||$start_working<=$day[0]&&$due_day>=$day[0]){					
					$turned_in=0;
					$printed++;
					$time=date("H", $matrix["work"][$y]["duetime"]);
					if(!$last_time){	//first assessment
						$last_time=$time-2;
					}
					if(($time-$last_time)>3){
						$end_time=$last_time+3;
						$long_gap=1;
					}
					else{
						$end_time=$time;
						$long_gap=0;
					}
					for($z=$last_time;$z<$end_time;$z++){
						if($time>$last_time){
							if(($z-$last_time)>0){
								if(!$long_gap){
									$killing_time=mktime($z,0,0,0,0,0);
									$killing_time=date("g:i a", $killing_time);
								}
								else{
									$killing_time=' ';
								}
								?><tr><td class='week_calendar_time'><?echo $killing_time;?></td>
									<td class='day even'></td>
									<td class='day odd'></td>
									<td class='day even'></td>
									<td class='day odd'></td>
									<td class='day even'></td>
									<td class='day odd'></td></tr><?
							}
							?><tr><td class='week_calendar_time'></td>
								<td class='day even'></td>
								<td class='day odd'></td>
								<td class='day even'></td>
								<td class='day odd'></td>
								<td class='day even'></td>
								<td class='day odd'></td></tr><?
						}
					}
					?><tr id='w<?echo $matrix["work"][$y]["assessmentID"];?>'>
					<td class='week_calendar_time'><?echo date("g:i a", $matrix["work"][$y]["duetime"]);?></td><?
					if($color_picker=='one'){
						$color_picker='two';	
					}
					else if($color_picker=='two'){
						$color_picker='three';	
					}
					else if($color_picker=='three'){
						$color_picker='one';	
					}
					for($x=0; $x<7; $x++){	//each day in week
						if($x==0||$x==2||$x==4||$x==6){
							$even_odd='even';
						}
						if($x==1||$x==3||$x==5){
							$even_odd='odd';
						}
						if($due_day>=$day[$x]&&!$turned_in){	
							if($due_day==$day[$x]){	//due first day in week_cal
								?><td class='due <?echo $color_picker;?>'>&#9679;</td><?
								$turned_in=1;
							}
							if($day[$x]>=$start_working&&!$turned_in){
								?><td class='working <?echo $color_picker;?>'></td><?
							}
							else if(!$turned_in){		
								?><td class='day <?echo $even_odd;?>'></td><?
							}//loop
						}
						if($turned_in){
							if($x==0){
								?><td class='day odd'></td>						
								<td class='day even'></td>
								<td class='day odd'></td>
								<td class='day even'></td>
								<td class='day odd'></td>
								<td class='day even'></td><?
							}
							if($x==1){
								?><td class='day even'></td>
								<td class='day odd'></td>
								<td class='day even'></td>
								<td class='day odd'></td>
								<td class='day even'></td><?
							}
							if($x==2){
								?><td class='day odd'></td>
								<td class='day even'></td>
								<td class='day odd'></td>
								<td class='day even'></td><?
							}
							if($x==3){
								?><td class='day even'></td>
								<td class='day odd'></td>
								<td class='day even'></td><?
							}
							if($x==4){
								?><td class='day odd'></td>
								<td class='day even'></td><?		
							}
							if($x==5){
								?><td class='day even'></td><?
							}
							break;
						}
					}
					?></tr>
<!--ANIMATIONS--!>
<script>
					$("tr#w<?echo $matrix["work"][$y]["assessmentID"];?>").click(
					function(){
						$("span#description_window_type")
						.fadeOut();
						$("a.description_window_name")
						.fadeOut();
						$("p.description_window_content")
						.fadeOut(
						function(){
//title
							$("a.description_window_name")
							.replaceWith("<a href='classes.php?assessmentID=<?echo $matrix["work"][$y]["assessmentID"];?>' class='description_window_name'><?echo $matrix["work"][$y]["name"];?></a>");
							$("span#description_window_type")
							.replaceWith("<span id='description_window_type'><?echo strtoupper($matrix["work"][$y]["type"]);?></span>");
//content
							$("p.description_window_content")
							.replaceWith("<p class='description_window_content'><span class='home_due'>Due: <?echo date('M j, Y',$matrix["work"][$y]["duedate"]);?></span></br><span class='home_class'>Class: <?echo strtoupper($matrix["work"][$y]["classname"]);?></span></br></p>");
							$("a.description_window_name")
							.fadeIn();
							$("span#description_window_type")
							.fadeIn();
							$("p.description_window_content")
							.fadeIn();
						});	
						$("span")
						.removeClass("focus");
						$("span#w<?echo $matrix["work"][$y]["assessmentID"];?>")
						.addClass("focus");	
						var box= $("#home_upcoming").scrollTop();			//sets height of scrollable content in HW box
						$("#home_upcoming")
						.animate({scrollTop:0},00,
						function(){
	     						$("#home_upcoming")
							.animate({scrollTop: $("#w<?echo $matrix["work"][$y-3]["assessmentID"];?>").offset().top}, 400);
						});
					});											
</script><?			$last_time=$time;
				}
			}
			if($printed<10){
				?><tr>
				<td class='empty week_calendar_time'></td>
				<td class='day empty even'></td>
				<td class='day empty odd'></td>
				<td class='day empty even'></td>
				<td class='day empty odd'></td>
				<td class='day empty even'></td>
				<td class='day empty odd'></td>
				<td class='day empty even'></td></tr><?
			}
		}/*-----END OF week_calendar----------*/	?>
</head>
</html>