﻿var pickupTime;
var pickupDay;
var pickupMonth;
var pickupYear;
var dropoffTime;
var dropoffDay;
var dropoffMonth;
var dropoffYear;
  
function pickupTimeChanged( ) {
  fixSelected( );
}  
  
function pickupDayChanged( ) {
  fixSelected( );
}  
  
function pickupMonthChanged( ) {
  fixSelected( );
}  
  
function pickupYearChanged( ) {
  fixSelected( );
}  
  
function dropoffTimeChanged( ) {
  fixSelected( );
}  
  
function dropoffDayChanged( ) {
  fixSelected( );
}  
  
function dropoffMonthChanged( ) {
  fixSelected( );
}  
  
function dropoffYearChanged( ) {
  fixSelected( );
}  

function dropoffEarlierThanPickup( ) {
  if( dropoffYear.selectedIndex > pickupYear.selectedIndex ) return false;
  if( dropoffYear.selectedIndex < pickupYear.selectedIndex ) return true;
  
  if( dropoffMonth.selectedIndex > pickupMonth.selectedIndex ) return false;
  if( dropoffMonth.selectedIndex < pickupMonth.selectedIndex ) return true;
  
  if( dropoffDay.selectedIndex > pickupDay.selectedIndex ) return false;
  if( dropoffDay.selectedIndex < pickupDay.selectedIndex ) return true;
  
  if( dropoffTime.selectedIndex > pickupTime.selectedIndex ) return false;
  if( dropoffTime.selectedIndex < pickupTime.selectedIndex ) return true;
  
  return false;
}

function fixSelected( ) {
  if( dropoffEarlierThanPickup() ) {
    dropoffYear.selectedIndex = pickupYear.selectedIndex;
    dropoffMonth.selectedIndex = pickupMonth.selectedIndex;
    dropoffDay.selectedIndex = pickupDay.selectedIndex;
    dropoffTime.selectedIndex = pickupTime.selectedIndex;
  }
}
  
function start( ){ 
  pickupTime = document.getElementById( 'pickup-time' ); 
  pickupDay = document.getElementById( 'pickup-year-dd' );
  pickupMonth = document.getElementById( 'pickup-year-mm' );
  pickupYear = document.getElementById( 'pickup-year' );  
  
  dropoffTime = document.getElementById( 'dropoff-time' ); 
  dropoffDay = document.getElementById( 'dropoff-year-dd' );
  dropoffMonth = document.getElementById( 'dropoff-year-mm' );
  dropoffYear = document.getElementById( 'dropoff-year' );
  
  pickupTime.addEventListener ? 
    pickupTime.addEventListener( "change", pickupTimeChanged, false ) : 
    pickupTime.attachEvent( "onchange", pickupTimeChanged );
  pickupDay.addEventListener ? 
    pickupDay.addEventListener( "change", pickupDayChanged, false ) : 
    pickupDay.attachEvent( "onchange", pickupDayChanged );
  pickupMonth.addEventListener ? 
    pickupMonth.addEventListener( "change", pickupMonthChanged, false ) : 
    pickupMonth.attachEvent( "onchange", pickupMonthChanged );
  pickupYear.addEventListener ? 
    pickupYear.addEventListener( "change", pickupYearChanged, false ) : 
    pickupYear.attachEvent( "onchange", pickupYearChanged );  
  
  dropoffTime.addEventListener ? 
    dropoffTime.addEventListener( "change", dropoffTimeChanged, false ) : 
    dropoffTime.attachEvent( "onchange", dropoffTimeChanged );
  dropoffDay.addEventListener ? 
    dropoffDay.addEventListener( "change", dropoffDayChanged, false ) : 
    dropoffDay.attachEvent( "onchange", dropoffDayChanged );
  dropoffMonth.addEventListener ? 
    dropoffMonth.addEventListener( "change", dropoffMonthChanged, false ) : 
    dropoffMonth.attachEvent( "onchange", dropoffMonthChanged );
  dropoffYear.addEventListener ? 
    dropoffYear.addEventListener( "change", dropoffYearChanged, false ) : 
    dropoffYear.attachEvent( "onchange", dropoffYearChanged );
}  
  
window.addEventListener ? 
  window.addEventListener( "load", start, false ) : 
  window.attachEvent( "onload", start );