﻿// sorts dates using bubble sort and base classes extensions
function bubbleSort()
{
  // get reference to the div elements
  originalDiv = $get("originalDates");
  sortedDiv = $get("sortedDates");

  // define an array of strings containing dates 
  var dateArr = new Array(
    Date.parseInvariant("08/13/1981", "MM/dd/yyyy"),
    Date.parseInvariant("12/23/1984", "MM/dd/yyyy"), 
    Date.parseInvariant("04/22/1977", "MM/dd/yyyy"),
    Date.parseInvariant("09/22/1979", "MM/dd/yyyy"));

  // display the original dates
  for (i=0; i<dateArr.length; i++)
    originalDiv.innerHTML += 
      dateArr[i].format("dddd, dd MMMM yyyy <br />");

  // bubble sort the dates
  do
  {
    // initialize swapped to false
    swapped = false;
    
    // bubble sort 
    for (i=0; i<dateArr.length - 1; i++)
    {        
      // if condition is met, swap dates and set the swapped flag
      if (dateArr[i] > dateArr[i+1])
      {
        tempDate = dateArr[i];
        dateArr[i] = dateArr[i+1];
        dateArr[i+1] = tempDate;          
        swapped = true;
      }
    }
  }
  while (swapped);
  
  // display the sorted dates
  for (i=0; i<dateArr.length; i++)
    sortedDiv.innerHTML += 
      dateArr[i].format("dddd, dd MMMM yyyy <br />");
}
