// default rule set
var defaultRules = 
{
	start: function()
	{
		// XHTML 1.1 'valid' targets
		$$('a.external').each(function(el){
			el.target = '_blank';
		});
		
		$$('.external a').each(function(el){
			el.target = '_blank';
		});
		
		// quote scroller
		if ($('paper_right')) {
			var q_scroll = new Fx.Scroll('paper_right', {
				wait: false,
				duration: 1000,
				transition: Fx.Transitions.Expo.easeInOut
			});
		}
		if ($('paper_right')) {
			var q_scroll_fast = new Fx.Scroll('paper_right', {
				wait: false,
				duration: 250,
				transition: Fx.Transitions.Expo.easeInOut
			});
		}
		if ($('paper_left')) {
			var p_scroll = new Fx.Scroll('paper_left', {
				wait: false,
				duration: 750,
				transition: Fx.Transitions.Expo.easeOut
			});
		}
		
		$$('.topjump').each(function(el) {
			el.addEvent('click', function(e) {
				new Event(e).stop();
				accordion.display(-1);
				q_scroll.toElement(this.alt);
			});
		});
		
		//tips
		var myTips = new Tips('.tip');
		myTips.addEvent('onShow', function(tip){
			var myFx = new Fx.Morph(tip).set({
				// 'background-color': '#f00',
				'opacity': 0.1
			});
			tip.fade(0.7);
		});
		
		var current_monade = '';
		$$('.toggler').each(function(el) {
			el.addEvent('click', function(e) {
				// new Event(e).stop();
				
				// el.title='&nbsp;::Click to close quotation';
				
				var hop = el.id.replace('monade','')-1;
				var mon = 'a_monade'+(hop+1);
				
				if (current_monade != mon) {
					
					accordion.display(-1).chain(function(){
						
						q_scroll.toElement(mon).chain(function(){
							// executes immediately after completion of above effect
							accordion.display(hop);
						});
						
					});
					
				} else {
					accordion.display(-1);
				}
				current_monade = mon;
				// alert(el.id);
			});
		});
		
		// $$('.toggler').each(function(el) {
		// 	el.addEvent('click', function(e) {
		// 		// new Event(e).stop();
		// 		var hop = el.id.replace('mon','')-1;
		// 		
		// 		accordion.display(-1).chain(function(){
		// 			// executes immediately after completion of above effect
		// 			// accordion.display(hop);
		// 			q_scroll.toElement(el).chain(function(){
		// 				// executes immediately after completion of above effect
		// 				accordion.display(hop);
		// 			});
		// 			
		// 		});
		// 		// alert(el.id);
		// 	});
		// });
			
		$$('a.jump').each(function(el){
			el.addEvent('click', function(e) {
				scroll(0,0);
				new Event(e).stop();
				var jumper = el.hash.replace('#','');
				// alert(jumper);
				if (jumper.substring(0,1)=='q') q_scroll.toElement(jumper);
				if (jumper.substring(0,1)=='p') p_scroll.toElement(jumper);
				if (jumper.substring(0,6)=='monade') {
					// q_scroll.toElement(jumper).chain(function(){
					// 	// executes immediately after completion of above effect
					// 	accordion.display(jumper.replace('monade','')-1);
					// 	// var mySlide = new Fx.Slide(jumper+'slide');
					// 	// 						mySlide.slideIn();
					// 	});
					// }
					
					var jump = jumper.replace('monade','');
					// accordion.display(-1);
					accordion.display((jump-1)).chain(function(){
						// executes immediately after completion of above effect
						q_scroll.toElement(jumper);
						// var mySlide = new Fx.Slide(jumper+'slide');
						// 						mySlide.slideIn();
						
						// $$('.element').each(function(el){
						// 							el.style.display='none';
						// 						});
						
					});
				}
				//
			});
			
		});
		//end
		
		// accordion
		var accordion = new Accordion('#accordion h4.toggler', '#accordion div.element', {
			show: -1,
			opacity: false,
			alwaysHide: true,
			onActive: function(toggler, element){
				element.setStyle('display', 'block');
				toggler.addClass('toggled');
			},
			onBackground: function(toggler, element){
				toggler.removeClass('toggled');
			}
		}, $('accordion'));
		//end
		
		
		
	}
};

// initialize rules
window.addEvent('domready', function() {
	defaultRules.start();
	// accordion.show(-1);
});