jQuery(document).ready(function($) {
	
	//prevent default on links with # as href
	$('body a[href=#]').click(function(event) { event.preventDefault(); });
	
	//fancybox
	$('a.fancyimage').fancybox({
		'showNavArrows':true,
		'hideonContentClick':true
	});
		
	//navigation effect
	$('#nav').each(function() {		
		var bar = $(this).find('.navhover');
		var active = $(this).find('ul li.active a');
		if(active.length == 0) { active = $(this).find('il li:first a'); }
		var pos = active.position();
				
		//init
		bar.width(active.innerWidth()).css('left', pos.left);
		
		$(this).find('ul li').hover(function() {
			//animate to this pos and width
			var newPos = $(this).find('a').position();
			bar.animate({
				width:$(this).find('a').innerWidth(),
				left:newPos.left
			}, {
				queue:false,
				speed:500,
				easing:'jswing'
			});
		}, function() {
			//go back
			bar.animate({
				width:active.innerWidth(),
				left:pos.left
			}, {
				queue:false,
				speed:500,
				easing:'jswing'
			});
		});
		
	});
	
	//cycle
	$('#header .cycle').each(function() {
		
		var l = $(this).find('.cycleft');
		var r = $(this).find('.cycright');
		
		r.find('ul').cycle({
			fx:'fade',
			timeout:5000,
			speed:1500,
			pager:'#cyclenav',
			pagerAnchorBuilder:function(i, e) {
				return "<a href='#'></a>";
			},
			before:function(curr, nex, opt, ff) {
				var i = r.find('li').index(nex);
				var next = l.find('li').eq(i);
				var active = l.find('li.active');
				active.animate({left:-343}, {speed:1000, easing:'jswing'}).removeClass('active');
				next.animate({left:0}, {speed:1000, easing:'jswing'}).addClass('active');
			}
		});
		
	});
	
	//generic cycle
	$('#content .col-gallery, #content .videos, #content .photos').each(function() {
		var wrap = $(this);
		
		var pager = wrap.find('.x-nav');
		
		wrap.find('.x-wrap .track').cycle({
			fx:'fade',
			timeout:0,
			speed:900,
			pager:pager,
			pagerAnchorBuilder:function(i, e) {
				return '<a href="#"></a>';
			}
		});
		
	});
	
	//auto clear form
	$('#content form').each(function() {
		$(this).find('input[type=text], textarea').each(function() {
			var d = $(this).val();
			$(this).focus(function() { if($(this).val() == d) { $(this).val(''); } });
			$(this).blur(function() { if($(this).val() == "") { $(this).val(d); } });
		});
	});
	
	//update form
	$('#update-submit').click(function(e) {
		var form = $(this).closest('form');
		var n = form.find('input[name=name]').val();
		var e = form.find('input[name=email]').val();
		var z = form.find('input[name=zip]').val();
		var p =  /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
		
		if(n != "" && z != "" && p.test(e)) {
			form.submit();
		}
	});
	
	function equalHeight(group) {
		tallest = 0;
		group.each(function() {
			thisHeight = $(this).height();
			if(thisHeight > tallest) {
				tallest = thisHeight;
			}
		});
		group.height(tallest);
	}
	
	//issues
	equalHeight($('#content .issues .eq1'));
	equalHeight($('#content .issues .eq2'));
	
});

//form
jQuery(document).ready(function($) {
	
	var errors;
	
	function setError(o) {
		o.css('border', 'red 1px solid');
		errors = true;
	}
	
	function removeErrors(o) {
		o.each(function() {
			$(this).css('border', 'none');
		});
	}
	
	$('.volunteer-form, .contact-form').submit(function() {
		var form = $(this);
		errors = false;
		
		removeErrors(form.find('.x-noempty, .x-email'));
		
		form.find('.x-noempty, .x-email').each(function() {
			
			if($(this).hasClass('x-noempty')) {
				if($(this).val() == "") {
					setError($(this));
				}
			}
			
			if($(this).hasClass('x-email')) {
				var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
				if(!pattern.test($(this).val()))
					setError($(this));
			}
			
		});
		
		if(!errors) {
					
			var data = form.serialize();
			$.ajax({
				url:global_ajaxurl,
				data:data,
				type:'POST',
				success:function(html) {
					form.find('input[type=submit]').removeAttr('disabled');
					form.find('input[name=action]').remove();	//lose the hidden input before submit
				}
			});
			
			return true;
			
		}
		
		return false;
		
	});
	
});