// mootoolized: http://forum.mootools.net/topic.php?id=1278&replies=4
// original: http://web.tampabay.rr.com/bmerkey/examples/css-pullquotes.html
var pullQuote = function(classToLookFor, classToAdd){
	classToAdd = classToAdd || '';
	$$('cite').each(function(cite){
		if (cite.hasClass(classToLookFor))
			new Element('blockquote').setHTML(cite.innerHTML).addClass(classToAdd).injectAfter(cite);
		});
	};

	/*
	 * usage:
	 * <a href="javascript:void(0);" onclick="return ajaxFunction('includes/txt/test.inc.php', 'test');">Click to open TEST file</a>
	 *
	 */
	function ajaxFunction(url, div) {
		var doStuff = new Ajax(url, { 
			update: $(div) 
		}).request();
	}

window.onDomReady(function() {
//window.addEvent('load', function() {

	// mouseover tips display
	var myTips = new Tips($$('.toolTipImg'), {
		maxTitleChars: 50,
		offsets: {'x': 0, 'y': 0},
		fixed: true
		}
	);

/*
	var myTips = new Tips($$('.toolTipImg'), {
	    initialize: function(){
	        this.fx = new Fx.Style(this.toolTip, 'opacity', {wait: false});
	    },
	    onHide: function(){
	        this.fx.start(0);
	    },
	    onShow: function(){
	        this.fx.start(1);
	    }
	});
*/


	// slide animation: View Site Map
	var theslider = new Fx.Slide('topShade', {
		mode: 'vertical',
		// duration: 1500, 
		//transition: Fx.Transitions.bounceOut, 
		wait: false,
		onComplete: function(){
			if (this.element.getStyle('margin-top') == '0px') $('mySpan').setHTML('Hide Site Map');
				else $('mySpan').setHTML('View Site Map');
    	}
	}).hide();

	/* View Site Map */
	$('mySpan').addEvent('click', function() {
		theslider.toggle();
	});


	// slide animation: View Visitor Info
	var visitorslider = new Fx.Slide('visitors', {
		mode: 'vertical',
		wait: false,
		onComplete: function(){
			if (this.element.getStyle('margin-top') == '0px') $('myVisitors_span').setHTML('Hide visitor info');
				else $('myVisitors_span').setHTML('View visitor info');
    	}
	}).hide();

	/* View Visitor Info */
	$('myVisitors_span').addEvent('click', function() {
		visitorslider.toggle();
	});


	// define scroll animation
	var skroll = new Fx.Scroll(window, {
		duration: 2000, 
		wait: false, 
		transition: Fx.Transitions.sineInOut
	});
	/* custom scroll window */
	$$("#totop, #tocontent, .tomiddle, #tocanada, #tosamerica, #torest").addEvent('click', function(){
			skroll.toElement($(this.rel));
		});

	/* make pull quotes */
	pullQuote('pullme', 'pullQuote');
	
	// photo gallery
	Lightbox.init({
		descriptions: '.lightboxDesc', 
		showControls: true
		});

	// http://devthought.com/cssjavascript-true-power-fancy-menu/
	if($('fancymenu'))
		FancyExample = new SlideList($E('ul', 'fancymenu'), {
			transition: Fx.Transitions.backOut, 
			duration: 700
			});

	/* class="fade_hover" fade images on hover */
	$$('.fade_hover').each(function(el) {
		el.fl = new Fx.FadeHoverLink(el,{ duration: 500 });
	});

	/* AJAX load file */
	/*
	$('ajaxTrigger').addEvent('click', function() {
			return ajaxFunction('includes/txt/test.inc.php', 'test');
		});
	*/

	/* a tag with class="confirm" alert message */
	$$('a.confirm').each(function(el) {
		el.addEvent('click', function() {
			confirm( "Are you sure you want to delete this?" );
			});
		}); 

	/* class="fadeBg" mouseover_mouseout fade between two colors */
	var announceDiv = $$('.fadeBg');
	announceDiv.each(function(obj, i) {
		obj.fxBgTransition = new Fx.Style(obj, 'background-color', { 
			duration: 1000,
			transition: Fx.Transitions.linear
		});
		obj.addEvents({
			"mouseover": function() { obj.fxBgTransition.start('#F9F1D1'); },
			"mouseout": function() { obj.fxBgTransition.start('#FFFFFF'); }
		});
	});


	$$('.alertMe').each(function(el){
		var fx = el.effect('opacity', { duration: 500 });
		var evnt = (function(){
			fx.custom(1,0).chain(function(){
				fx.custom(0,1);
			});
		}).periodical(2500);

		el.addEvent('click', function(){
			$clear(evnt);
			});
		});

	$$('div.fadeShow').each(function(div) {
		div.setStyle('background','#F9F1D1').effect('opacity', {duration: 1500}).start(0).chain(
			function() { this.start(0,1); }).chain(
				function(){ this.start(1,0); }).chain(
					function(){ this.start(0,1); }).chain(
						function(){ this.start(1,0); }).chain(
							function(){ this.start(0,1); });
		});

	// fading and showing 3x with start delay
	$$('div.fadeShow_delay').each(function(div) {
		// only 'background' effect
		//div.setStyle('background','#F9F1D1').effect('opacity', { duration: 1000 }).start(0).chain(
		// multiple styling effects
		div.setStyles({
					display:'block',
					background: '#F9F1D1',
					// border-top is none
					'border-style': 'solid', 
					'border-color': '#C7D5E1', 
					'border-width': '0px 1px 1px 1px'
					// border all around
					//border: '1px solid #C7D5E1'
				}).effect('opacity', { duration: 1000 }).start(0).chain(
					function() { (function(){ this.start(0); }).delay(1000, this); }).chain(
						function(){ this.start(1); }).chain(
							function(){ this.start(0); }).chain(
								function(){ this.start(1); }).chain(
									function(){ this.start(0); }).chain(
										function(){ this.start(1); });
		});


	$$('#_main_menu ul li a').each(function(el) {
		/*
		var bounce = new Fx.Style(el, 'top', {
			duration:700, 
			transition: Fx.Transitions.elasticOut
		});
		*/
		var colors = new Fx.Styles(el, {wait:false});

		el.addEvent('mouseover', function(){
			el.setStyle('background-color', '#d5e88f');
			//bounce.start(15,0);
			colors.start({
				color: '35342e'
			});
		});

		el.addEvent('mouseout', function(){
			colors.start({
				'background-color': '35342e',
				color: 'd5e88f'
			});
		});
	});


	$$('div#content img').each(function(e){
		//var black = new Color('#000');
		//var purple = new Color([255,0,255]);
			// mix black with white and purple, each time at 10% of the new color
			//var darkpurple = black.mix('#fff', purple, 10);

		var bgClr = new Fx.Style(e, 'background-color', {wait:false});
		bgClr.set('#FFF')

		var fade = new Fx.Style(e, 'opacity', {wait:false});
		fade.set(1);

			e.addEvent('mouseover', function(){
				fade.start(0.2);
				bgClr.start('#C7D5E1');
			});
			e.addEvent('mouseout', function(){
				fade.start(1);
				bgClr.start('#FFF');
			});
	});











}); // end of onDomReady