var Site = {
	
	
	start: function() {
		
		// Create full table row highlight effect
		if($$('table.hover tbody')) { new TableRowHighlight( 'table.hover tbody tr' ); }
		
		// Add hover effect to main nav table cells. Comment the line below to switch it off.
		if($$('#main_nav tbody td')) {new TableRowHighlight( '#main_nav tbody td' ); }
		
		// Create accordions
		Site.createAccordionEffect('accordion_1');
		Site.createAccordionEffect('#sidebar_nav');
		Site.createAccordionEffect('.sidebar_panel');
		
		// Create date pickers
		// Additional documentation at http://home.jongsma.org/software/js/datepicker
		if($('order_date_from')) {
			var date_picker_1 = new Control.DatePicker( 'order_date_from' );
		}
		if($('order_date_to')) {
			var date_picker_2 = new Control.DatePicker( 'order_date_to' );
		}
		
		if($('req_ship_date')) {
			var date_picker_3 = new Control.DatePicker( 'req_ship_date' );
		}
		
	},
	
	
	createAccordionEffect: function(elem) {
		// Find all togglers in document
		var togglers = $$( elem + ' .accordion_toggle');
		
		togglers.each( function(toggler) { // Cycle through the toggler elements
			
			var content = toggler.next(0);
			
			// Hide content with 'closed' class
			if( toggler.hasClassName('closed') && content.hasClassName('accordion_content')) {
				content.hide();
			}
			
			// Add toggle behaviour with animation (comment to stop using animation)...
			toggler.observe( 'click', Site.toggleContentWithAnimation, this);
			
			// Add toggle behaviour without animation (uncomment to use)...
			// toggler.observe( 'click', Site.toggleContentWithAnimation, this);
		});
	},


	toggleContent: function(event) {
		
		var toggler = this; // Toggler element
		event.preventDefault(); // Prevent default action (links)
		var content = toggler.next(0); // Find belonging content
		
		// Toggle content depending on the current state
		if( content.hasClassName('accordion_content')) {
			content.toggle();
			toggler.toggleClassName('open');
			toggler.toggleClassName('closed');
		}
	},
	
	
	toggleContentWithAnimation: function(event) {
		
		var toggler = this; // Toggler element
		event.preventDefault(); // Prevent default action (links)
		var content = toggler.next(0); // Find belonging content
		
		// Toggle content
		if( content.hasClassName('accordion_content')) {
			
			if( toggler.hasClassName('open')) { // Close if already open
				new Effect.BlindUp(content, { queue: 'end', duration: .4  });
			} else { // Open if closed
				new Effect.BlindDown(content, { queue: 'end', duration: .4 });
			}
			
			// Toggle necessary classes
			toggler.toggleClassName('open');
			toggler.toggleClassName('closed');
					
		}
	}
};


// Call Site.start after DOM has been loaded
document.observe("dom:loaded", Site.start, false );
