// <script>

var Events = Class.create();
Events.prototype = {

	initialize : function() {

		var monthFilter = '<div id="dateFilter"><ul class="pipe"><li class="first"><a href="#" class="current">View All</a></li><li><a href="#" name="sos">View SOS Events</li><li><a name="q1" href="#q1">Jan - Mar</a></li><li><a name="q2" href="#q2">Apr - Jun</a></li><li><a name="q3" href="#q3">Jul - Sep</a></li><li><a name="q4" href="#q4">Oct - Dec</a></li></ul></div>';
		new Insertion.Before($('schedule'), monthFilter);
		$A($('dateFilter').getElementsByTagName('a')).each(function(el){
			Event.observe(el, 'click', this.filterByQuarter.bindAsEventListener(this));
		}.bind(this));
		
	},
	
	filterByQuarter : function(event, coords, filter) {
		
		if(event){
			// get filtering from the click event
			var target  = Event.element(event);
			filter  = target.name;
		}
		
		$A($('dateFilter').getElementsByTagName('a')).each(function(el){
			Element.removeClassName(el,'current');
		});
		
		// set current class indicator
		Element.addClassName(target,'current');
		
		var classes=[];		
		
		switch (filter){
			case "sos":
				classes = $$('tr.sos');
				break;
			case "q1":
				//months = ['January','February','March'];
				classes = $$('tr.January','tr.February','tr.March');
				break;
			case "q2":
				//months = ['April','May','June'];
				classes = $$('tr.April','tr.May','tr.June');
				break;
			case "q3":
				//months = ['July','August','September'];
				classes = $$('tr.July','tr.August','tr.September');
				break;
			case "q4":
				//months = ['October','November','December'];
				classes = $$('tr.October','tr.Novemeber','tr.December');
				break;
			default:
				classes = $$('#schedule tr');
				break;
		}
	
		// show all rows that were previously hidden, but not part of new hide
		$$('#schedule tr.hidden').findAll(function(el){
			return (classes.include(el));
		}).each(function(el){
			new Effect.Appear(el,{duration:.3});	
			el.removeClassName('hidden');		
		});
				
		// show all rows that were previously hidden, but not part of new hide
		$$('#schedule tr').findAll(function(el){
			return !(classes.include(el));
		}).each(function(el){
			new Effect.Fade(el,{duration:.3});
			el.addClassName('hidden');			
		});
		
		// prevent link jump
		if (event) Event.stop(event);
	}


			
};

Event.observe(window, "load", function() { new Events() } );
