FastInit.addOnLoad(function() {
  // Not even going to bother with IE 6.0
  if(navigator.userAgent.match("MSIE 6.0"))
  {
    return;
  }
  var pics = $$('img.reflect');
   
  var bgColor = $A($$('div.wrapper')).first().getStyle('background-color');
  
  pics.each(function(pic) {
    pic.style.display = "none";
    var container = document.createElement('div');
    pic.parentNode.appendChild(container);
    container.className = "pic-replace";
    var r = Raphael(container, pic.getAttribute('width'), pic.getAttribute('height') * 1.5);
    r.image(pic.src, 0, 0 , pic.getAttribute('width'), pic.getAttribute('height'));
    r.image(pic.src, 0, pic.getAttribute('height'), pic.getAttribute('width'), pic.getAttribute('height')).scale(1, -1).attr({opacity: .2});
    r.rect(0, pic.getAttribute('height'), pic.getAttribute('width'), pic.getAttribute('height') * 0.5).attr({stroke: bgColor, gradient: "90-" + bgColor + "-" + bgColor, opacity: .2});
  });
});

FastInit.addOnLoad(function() {
  var summaries = $$('div.class_summary');
  summaries.each(function(summary) {
    var h2s = $A(summary.getElementsByTagName('h2'));
    var divs = $A(summary.getElementsByTagName('div'));
    
    divs.each(function(div) {
      div = $(div);
      if(div.hasClassName('info')) {
        div.hide();
      }
    });

    h2s.each(function(h2) {
      $(h2).observe('click', function(e) {
        if(e.element().hasClassName('open')) {
          e.element().removeClassName('open');
        } else {
          e.element().addClassName('open');
        }

        var divs = $A(summary.getElementsByTagName('div'));
        divs.each(function(div) {
          div = $(div);
          if(div.hasClassName('info')) {
            if(Element.visible(div)) {
              Effect.BlindUp(div);
            } else {
              Effect.BlindDown(div);
            }
          }
        });
      });
    });

  });

  var timetableStart = $('timetable_start');
  if(timetableStart) {
    timetableStart.observe('change', function(e) {
      e.stop();
      e.element().up('form').submit();
    });
  }

  var timetableFilter = $('timetable_filter');
  if(timetableFilter) {
    timetableFilter.observe('change', function(e) {
      e.stop();
      e.element().up('form').submit();
    });
  }

  var maps = $$('td.map');
  maps.each(function(map) {
    map.getElementsBySelector('div').each(function(d) {
      d.hide();
    });

    map.getElementsBySelector('a').each(function(a) {
      a.observe('click', function(e) {
        e.stop();
        e.element().up('td').getElementsBySelector('div').each(function(d) {
          if(Element.visible(d)) {
            Effect.BlindUp(d);
          } else {
            Effect.BlindDown(d);
          }
        });
      });
    });
  });

  $$('.date-picker').each(function(picker) {
    (function($) {
      $(picker).datepicker({
        dateFormat: 'MM dd, yy'
      });
    })(jQuery)
  });

  $$('.time-picker').each(function(picker) {
    (function($) {
      $(picker).timepickr({
        convention: 12
      });
    })(jQuery)
  });



  /*
  var links = $$('table.timetable tbody a');
  
  links.each(function(link) {
    link.observe('click', function(e) {
      e.stop();

      var divs = $$('div.class_summary div.info');
      divs.each(function(div) {
        if(Element.visible(div)) {
          Effect.BlindUp(div);
        }
      });

      var a = e.element();
      if(a.tagName != 'A')
      {
        a = a.up('a');
      }

      var id = $A(a.href.split("#")).last();
      h2 = $(id);
      h2.scrollTo();
      
      var divs = $A(h2.up('div').getElementsByTagName('div'));
      divs.each(function(div) {
        div = $(div);
        if(div.hasClassName('info')) {
          Effect.BlindDown(div);
        }
      });

    }.bindAsEventListener(this));
  }.bindAsEventListener(this));
  */
  var paymentSelector = $$('div.payment-selector');
  paymentSelector.each(function(selector) {
    $(selector).hide();
  });

  var enrol = $$('a.enrol');
  enrol.each(function(a) {
    a.observe('click', function(e) {
      e.stop();
      var divs = $A(a.up('div').getElementsByTagName('div'));
      divs.each(function(div) {
        if(Element.visible(div)) {
          Effect.BlindUp(div);
        } else {
          Effect.BlindDown(div);
        }
      });
    });
  });

  var paymentForm = $('payment_form');
  if(paymentForm) {
    paymentForm.observe('submit', function(e) {
      var button = e.element().getElementsBySelector('button').first();
      if(button) {
        button.disabled = true;
        var span = document.createElement('span');
        var txt = document.createTextNode('Please wait while your payment is processed.');
        span.appendChild(txt);
        button.parentNode.appendChild(span);
      }
    });
  }
});
