Changeset - a20b78145ef5
[Not reviewed]
default
3 6 2
ethanzonca - 15 years ago 2010-10-05 22:26:52

Coloration, arrow keys, glider killed
11 files changed with 245 insertions and 4417 deletions:
0 comments (0 inline, 0 general)
class.schedule.php
Show inline comments
 
@@ -282,20 +282,23 @@ class Schedule
 
    $footcloser = '';
 

	
 
    if(isset($_REQUEST['print']) && $_REQUEST['print'] != ''){
 
      $headcode = array('jQuery', 'outputStyle', 'outputPrintStyle');
 
      $headcode = array('jQuery', 'jQueryUI', 'uiTabsKeyboard', 'outputStyle', 'outputPrintStyle');
 
    }
 
    else {
 
      $footcloser .="<script type=\"text/javascript\" charset=\"utf-8\">". 
 
/*      $footcloser .="<script type=\"text/javascript\" charset=\"utf-8\">". 
 
	"\n\tvar my_glider = new Glider('my-glider', {duration:0});".
 
	"\n</script>";
 
      $headcode = array('outputStyle', 'gliderHeadcode');
 
	"\n</script>"; */
 
      $headcode = array('outputStyle',  'jQuery', 'jQueryUI', 'uiTabsKeyboard');
 
    }
 
    $outputPage = new page($this->getName(), $headcode);
 

	
 

	
 

	
 
    if(isset($_REQUEST['print'])){
 
      echo '<script type="text/javascript">';
 
 
 
     echo '<script type="text/javascript">';
 
      echo 'jQuery(document).ready( function() {';
 

	
 
 
 
      /* If user entered items to print */
 
      if($_REQUEST['print'] != 'all'){
 
	echo 'jQuery(\'.section\').hide();';
 
@@ -312,33 +315,39 @@ class Schedule
 
			      jQuery(\'#cancelItems\').click( function() {
 
				jQuery(\'#selectItemsInput\').hide();
 
			      });';
 
      echo '});'; /* Close document.ready */
 
      echo 'window.print();
 
			      </script>';
 
      echo '}); '; /* Close document.ready for jquery */
 
      echo 'window.print(); </script>';
 

	
 
      echo '<p><span id="selectItems"><a href="#">Select Schedules to Print</a></span> :: <a href="'.$_SERVER['SCRIPT_NAME'].'?s=' . $this->id_get() . '">Return to normal view</a> :: <a href="input.php">Home</a></p>';
 
      echo '<div  id="selectItemsInput"><p><form action="'.$_SERVER["SCRIPT_NAME"].'?s=' . $this->id_get() . '"><label><strong>Schedules to Print</strong> <em>(seperate with commas, "all" for all)</em></label><br /><input type="text" name="print" value="'.$_REQUEST['print'].'" /><input type="submit" value="submit" /><span id="cancelItems"><input type="button" value="cancel" /></span></form></p></div>';
 
    }
 
    else {
 
      echo '<p><a href="'.$_SERVER["SCRIPT_NAME"].'?s=' . $this->id_get() . '&amp;print=all">Print</a> :: <a href="input.php">Home</a></p>';
 
      echo '<script type="text/javascript">';
 
      echo 'jQuery(document).ready( function() {';
 
      echo 'jQuery("#tabs").tabs();';
 
      echo '});</script>'; /* Close document.ready for jquery */
 
      echo '<p><a href="'.$_SERVER["SCRIPT_NAME"].'?s=' . $this->id_get() . '&amp;print=all">Print</a> :: <a href="input.php">Home</a></p><p class="centeredtext"><em>Tip: You can use the left and right arrow keys to switch between schedules</em></p>';
 
    }		
 

	
 

	
 

	
 
    if($this->nPermutations > 0)
 
      {
 
	$table .= "<div id=\"my-glider\">\n"
 
	  . "  <div class=\"controls\">\n";
 
	$table .= "<div id=\"tabs\">\n"
 
	  . "  <ul>\n";
 
			
 
	for($nn = 1; $nn <= $this->nPermutations; $nn++)
 
	  {
 
	    $table .= "<a href=\"#section" . $nn . "\">&nbsp;" . $nn . "&nbsp;</a>";
 
	    $table .= "<li><a href=\"#tabs-" . $nn . "\">&nbsp;" . $nn . "&nbsp;</a></li>\n";
 
	  }
 
			
 
	$table .= "  </div> <!-- class=\"controls\" -->\n"
 
	$table .= "    </ul><div class=\"clear\"><p> </p> </div>\n  \n"
 
	  . "  <div class=\"scroller\">"
 
	  . "    <div class=\"scontent\">";
 
		
 
	for($i = 0; $i < $this->nPermutations; $i++)
 
	  {
 
	    $table .= "<div class=\"section\" id=\"section" . ($i+1) . "\">";
 
	    $table .= "<div class=\"section\" id=\"tabs-" . ($i+1) . "\">";
 
  
 
	    // Beginning of table
 
	    $table .= "<table style=\"empty-cells:show;\" border=\"1\" cellspacing=\"0\">";
inc/class.page.php
Show inline comments
 
@@ -33,13 +33,13 @@ class page
 
  {
 
    // Scripts and styles available to include
 
    $this->headCode['jQuery'] = '<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript" />';
 
    $this->headCode['jQueryUI'] = '<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7/jquery-ui.min.js" type="text/javascript" />';
 
    $this->headCode['jQueryUI'] = '<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7/jquery-ui.min.js" type="text/javascript" /><link rel="stylesheet" href="styles/jqueryui.css" type="text/css" media="screen" charset="utf-8" />';
 
    $this->headCode['jValidate'] = '<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.pack.js"></script>';
 
    $this->headCode['schedInput'] = '<script type="text/javascript" src="scripts/scheduleInput.js"></script>';
 
    $this->headCode['outputPrintStyle'] = '<link rel="stylesheet" href="styles/print.css" type="text/css" media="screen" charset="utf-8" />';
 
    $this->headCode['outputStyle'] = '<link rel="stylesheet" href="styles/output.css" type="text/css" media="screen" charset="utf-8" />'; 
 
    $this->headCode['gliderHeadcode'] = '<link rel="stylesheet" href="styles/glider.css" type="text/css" media="screen" charset="utf-8" /><script src="scripts/prototype.js" type="text/javascript" charset="utf-8"></script><script src="scripts/effects.js" type="text/javascript" charset="utf-8"></script><script src="scripts/glider.js" type="text/javascript" charset="utf-8"></script>'; 
 

	
 
    $this->headCode['gliderHeadcode'] = '<link rel="stylesheet" href="styles/glider.css" type="text/css" media="screen" charset="utf-8" />'; 
 
   $this->headCode['uiTabsKeyboard'] = '<script type="text/javascript" src="scripts/uiTabsKeyboard.js"></script>'; 
 
   $this->pagetitle = $ntitle;
 
   $this->scripts = $nscripts;
 

	
scripts/effects.js
Show inline comments
 
deleted file
scripts/glider.js
Show inline comments
 
deleted file
scripts/prototype.js
Show inline comments
 
deleted file
scripts/uiTabsKeyboard.js
Show inline comments
 
new file 100644
 
jQuery(document).ready( function() {
 

	
 
  jQuery(document).keydown(function(e) {
 

	
 
    var direction = null;
 

	
 
   // handle cursor keys
 
   if (e.keyCode == 37) {
 
     // slide left
 
     direction = 'prev';
 
   } else if (e.keyCode == 39) {
 
     // slide right
 
     direction = 'next';
 
   }
 
   if (direction != null) {
 
     var totaltabs = jQuery('#tabs').tabs('length'); //gettting the total # of tabs
 
     var selected = jQuery('#tabs').tabs('option', 'selected');//getting the currently selected tab
 
 
 
     if (direction == 'next') {
 
       if (selected <= totaltabs - 1)
 
       jQuery('#tabs').tabs('select',selected + 1)
 
    }
 
    else {
 
      if (selected != 0)
 
      jQuery('#tabs').tabs('select',selected - 1)
 
    }
 
  }
 
 });
 
});
styles/general.css
Show inline comments
 
@@ -66,7 +66,7 @@ td.center {
 
  background: #DDDDDD;
 
}
 
.section:nth-child(odd) {
 
  background: #DDDDDD;
 
  background: #AAAAAA;
 
}
 
.none {
 
  background: #fff;
styles/glider.css
Show inline comments
 
@@ -6,8 +6,7 @@ div.scroller {
 
	border:0;
 
	padding:0;
 
	margin:0;
 
//OLD:	margin-left: -23px;
 
	}
 
}
 
	div.scroller div.section {
 
		/* modify width and height of each section as needed (should match the size of the scroller window)	*/		
 
		width:626px;
 
@@ -16,10 +15,6 @@ div.scroller {
 
		float:left;
 
		padding:0;		
 
		}
 
//OLD:	img.header {
 
//OLD:		padding-top: 15px;
 
//OLD:		margin-top:-5px;
 
//OLD:	 }
 
	div.scroller div.section div.txt {
 
		padding: 1em;
 
	}
 
@@ -27,7 +22,6 @@ div.scroller {
 
		width: 50000px;
 
		}
 
.controls {
 
//OLD:text-align: center;
 
text-align: left;
 
margin-top: 10px;
 
margin-bottom: 2px;
 
@@ -55,4 +49,4 @@ margin-bottom: 2px;
 
}
 
.controls a:active{
 
	color: rgba(200,200,200,1);
 
}
 
\ No newline at end of file
 
}
styles/jqueryui.css
Show inline comments
 
new file 100644
 
/*
 
 * jQuery UI Accordion @VERSION
 
 *
 
 * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
 
 * Dual licensed under the MIT or GPL Version 2 licenses.
 
 * http://jquery.org/license
 
 *
 
 * http://docs.jquery.com/UI/Accordion#theming
 
 */
 
/* IE/Win - Fix animation bug - #4615 */
 
.ui-accordion { width: 100%; }
 
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
 
.ui-accordion .ui-accordion-li-fix { display: inline; }
 
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
 
.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
 
.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
 
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
 
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
 
.ui-accordion .ui-accordion-content-active { display: block; }/*
 
 * jQuery UI Autocomplete @VERSION
 
 *
 
 * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
 
 * Dual licensed under the MIT or GPL Version 2 licenses.
 
 * http://jquery.org/license
 
 *
 
 * http://docs.jquery.com/UI/Autocomplete#theming
 
 */
 
.ui-autocomplete { position: absolute; cursor: default; }	
 

	
 
/* workarounds */
 
html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
 

	
 
/*
 
 * jQuery UI Slider @VERSION
 
 *
 
 * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
 
 * Dual licensed under the MIT or GPL Version 2 licenses.
 
 * http://jquery.org/license
 
 *
 
 * http://docs.jquery.com/UI/Slider#theming
 
 */
 
.ui-slider { position: relative; text-align: left; }
 
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
 
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
 

	
 
.ui-slider-horizontal { height: .8em; }
 
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
 
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
 
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
 
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
 

	
 
.ui-slider-vertical { width: .8em; height: 100px; }
 
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
 
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
 
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
 
.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
 
 * jQuery UI Tabs @VERSION
 
 *
 
 * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
 
 * Dual licensed under the MIT or GPL Version 2 licenses.
 
 * http://jquery.org/license
 
 *
 
 * http://docs.jquery.com/UI/Tabs#theming
 
 */
 
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
 
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
 
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 1px 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
 
.ui-tabs .ui-tabs-nav li a { float: left; padding: 0em .2em; text-decoration: none; }
 
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
 
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
 
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
 
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
 
.ui-tabs .ui-tabs-hide { display: none !important; }
 
/*
 
 * jQuery UI Datepicker @VERSION
 
 *
 
 * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
 
 * Dual licensed under the MIT or GPL Version 2 licenses.
 
 * http://jquery.org/license
 
 *
 
 * http://docs.jquery.com/UI/Datepicker#theming
 
 */
 
.ui-datepicker { width: 17em; padding: .2em .2em 0; }
 
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
 
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
 
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
 
.ui-datepicker .ui-datepicker-prev { left:2px; }
 
.ui-datepicker .ui-datepicker-next { right:2px; }
 
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
 
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
 
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px;  }
 
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
 
.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
 
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
 
.ui-datepicker select.ui-datepicker-month, 
 
.ui-datepicker select.ui-datepicker-year { width: 49%;}
 
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
 
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0;  }
 
.ui-datepicker td { border: 0; padding: 1px; }
 
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
 
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
 
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
 
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
 

	
 
/* with multiple calendars */
 
.ui-datepicker.ui-datepicker-multi { width:auto; }
 
.ui-datepicker-multi .ui-datepicker-group { float:left; }
 
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
 
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
 
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
 
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
 
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
 
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
 
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
 
.ui-datepicker-row-break { clear:both; width:100%; }
 

	
 
/* RTL support */
 
.ui-datepicker-rtl { direction: rtl; }
 
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
 
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
 
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
 
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
 
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
 
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
 
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
 
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
 
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
 
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
 

	
 
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
 
.ui-datepicker-cover {
 
    display: none; /*sorry for IE5*/
 
    display/**/: block; /*sorry for IE5*/
 
    position: absolute; /*must have*/
 
    z-index: -1; /*must have*/
 
    filter: mask(); /*must have*/
 
    top: -4px; /*must have*/
 
    left: -4px; /*must have*/
 
    width: 200px; /*must have*/
 
    height: 200px; /*must have*/
 
}
styles/output.css
Show inline comments
 
@@ -53,3 +53,46 @@ td{
 
.class9 { background: #00437d; color: #fff; }
 
.class10 { background: #7e2400; color: #fff; }
 
.permuteNum { border-bottom: 1px solid #000; font-weight: bold; color: #fff; background: #222; }
 

	
 
#tabs table {
 
  clear: all;
 
}
 

	
 
#tabs ul {
 
text-align: center;
 
margin: auto;
 
margin-top: 10px;
 
margin-bottom: 2px; 
 
}
 
#tabs table {
 
  margin: auto;
 
}
 
#tabs li a{
 
  -moz-border-radius-topright: 10px;
 
  border-top-right-radius: 10px;
 
  -moz-border-radius-topleft: 10px;
 
  border-top-left-radius: 10px;
 

	
 
  text-decoration: none;
 
  background: rgb(0,35,0); /* Fallback */
 
  background: rgba(0,35,0,0.9);
 
  padding: 2px;
 
}
 
#tabs li a:link {
 
        color: rgba(255,255,255,1);
 
}
 
#tabs li a:visited {
 
        color: rgba(255,255,255,1);
 
}
 
#tabs li a:hover, .ui-tabs-selected a  {
 
        background: rgba(200,200,200,1)!important;
 
        color: rgb(0,0,0)!important;
 
}
 
#tabs li a:active {
 
        color: rgba(200,200,200,1);
 
}
 
#tabs {
 
  min-width: 400px;
 
  max-width: 650px;
 
  margin: auto;
 
}
styles/print.css
Show inline comments
 
@@ -13,14 +13,7 @@ div.scroller div.section div.txt {
 
	padding: 1em;
 
}
 

	
 

	
 
.controls {
 
	text-align: left;
 
	margin-top: 10px;
 
	margin-bottom: 2px;
 
}
 

	
 
.controls {
 
#tabs ul {
 
	display: none;
 
}
 

	
 
@@ -30,4 +23,4 @@ div.scroller div.section div.txt {
 

	
 
#footer {
 
  text-align: center;
 
}
 
\ No newline at end of file
 
}
0 comments (0 inline, 0 general)