(function( $ ){
	jQuery.fn.ovSlideTo  = function(){
		var ele = jQuery(this),
			eleId = ele.attr('id'),
			curIdx = parseInt(jQuery("#slideshow-controls #current-idx").html()),
			slideIdx = parseInt(eleId.substr(eleId.lastIndexOf('-') + 1, eleId.length)),
			sliderWidth = jQuery('#slides li:first').outerWidth(),
			slidePos = - (slideIdx * parseInt(sliderWidth) - sliderWidth);


		jQuery('#slideshow-controls').removeClass('active-' + curIdx).addClass('active-' + slideIdx);
		jQuery("#slideshow-controls #current-idx").html(slideIdx);

		jQuery('#slides, #slideshow-text')
			.fadeTo(
				 	650
				,	0.2
				,	function(){
						jQuery('#slides').animate(
								{ left: slidePos }
							,	{ 
									duration: 1650
								,	complete: function(){
										slideTxt = jQuery('.slide-'+slideIdx).find('div.tagline').html();
							
										jQuery('#slideshow-text').html(slideTxt);
										jQuery('#slides, #slideshow-text').fadeTo(550, 1);
						
										clearTimeout(window.myt);									
										window.myt = setTimeout('rotateSlides()', 22000);
									}
								,	queue: false
								}
							);
				});


		return this;
	}

})(jQuery);

function ovSlideNext(){
	var curIdx = parseInt(jQuery('#slideshow-controls #current-idx').html()),
		nxtIdx = curIdx + 1,
		maxIdx = jQuery('#slideshow-controls ul li').length;

		if (nxtIdx > maxIdx)
			nxtIdx = 1;

		jQuery('#slideshow-controls #ctl-' + nxtIdx).click();

		return false;
}

function ovSlidePrev(){
	var curIdx = parseInt(jQuery('#slideshow-controls #current-idx').html()),
		nxtIdx = curIdx - 1,
		maxIdx = jQuery('#slideshow-controls ul li').length;

		if (nxtIdx == 0)
			nxtIdx = maxIdx;

		jQuery('#slideshow-controls #ctl-' + nxtIdx).click();

		return false;
}

function rotateSlides(){
	ovSlideNext();
 	clearTimeout(window.myt);
	window.myt = setTimeout('rotateSlides()', 22000);

	return false;
}

jQuery(document).ready(function(){
	/* Slideshow
	 *****************************/
		window.rotateSlides();

		jQuery('#slideshow-controls a').click(function(e){
			e.preventDefault();
			jQuery(this).parents('ul').find('li a.active').removeClass('active');
			jQuery(this).addClass('active');
			clearTimeout(window.myt);
			
			jQuery(this).ovSlideTo()
		});

		jQuery('#slidecontrol-prev, #slidecontrol-next').hover(
			function(){
				jQuery(this).addClass('hover');
			},
			function(){
				jQuery(this).removeClass('hover');
			});

		jQuery('#slidecontrol-prev').click(function(e){
			e.preventDefault();
			ovSlidePrev();
			// clearTimeout(window.myt);
			// window.myt = setTimeout('rotateSlides()', 22000);
		});
	
		jQuery('#slidecontrol-next').click(function(e){
			e.preventDefault();
			ovSlideNext();
			// clearTimeout(window.myt);
			// window.myt = setTimeout('rotateSlides()', 22000);
		});


		

	jQuery('input[type=text], #gform_wrapper_1 input[type=text], textarea').focusin(function(){
			jQuery(this).addClass('hasfocus');
		}).focusout(function(){
			jQuery(this).removeClass('hasfocus');
		});

	jQuery('div.article-wrap ul li, div.article-wrap ol li').each(function(){
		var curHtml = jQuery(this).html(),
			replace = jQuery('<span />');

		jQuery(this).html(replace.html(curHtml));
	});
	
	jQuery('#primary-nav a').hover(
		function(){
			jQuery(this).parent('li').addClass('hover');
		},
		function(){
			jQuery(this).parent('li').removeClass('hover');
		});
	
/* Footer slideup
 ****************************************/
	jQuery('#footerinfo-content').hide();

	jQuery('#footerinfo-toggle').toggle(
		function(){
			jQuery('#footerinfo-content').slideDown('slow')
			jQuery(this).addClass('active')
		},
		function(){
			jQuery('#footerinfo-content').slideUp('slow')
			jQuery(this).removeClass('active')
		});

	jQuery('div.content-accordion h3').toggle(
		function() {
			jQuery(this).addClass('active').next().addClass('active').slideDown('slow', 'linear');
		},
		function(){
			jQuery(this).removeClass('active').next().removeClass('active').slideUp('slow', 'linear');
		})

/* Event calendar stuff
 ****************************************/
	var d = new Date();
	var caldate = d.getDate();
	var calmonth = d.getMonth()+1;
	var calyear = d.getFullYear();
	var month=new Array(12);
		month[1]="January";
		month[2]="February";
		month[3]="March";
		month[4]="April";
		month[5]="May";
		month[6]="June";
		month[7]="July";
		month[8]="August";
		month[9]="September";
		month[10]="October";
		month[11]="November";
		month[12]="December";
		
	var calysel = Array(4);
		// calysel[0] = calyear;
		calysel[0] = calyear;
		calysel[1] = calyear + 1;
		calysel[2] = calyear + 2;
		calysel[3] = calyear + 3;

	function cyclecal(){
		jQuery('#calendarwrapper, #event-pane').animate({'opacity': 0.4}, 500);
		
		jQuery.post(
				jQuery('#form-uri').attr('href') + '/wp-admin/admin-ajax.php'
			,	{
					'action' : 'om_get_calendar'
				,	'y'	: calyear
				,	'm' : calmonth
				}
			,	function(data){
					jQuery('table.calendar').replaceWith(data);
					addCalCtl();

					// display events in month, hide ones not
					jQuery('#event-pane').find('div.date-wrapper').not('div[id^="event-day-'+calyear+'-'+calmonth+'"]').hide()
					jQuery('#event-pane').find('div.date-wrapper[id^="event-day-'+calyear+'-'+calmonth+'"]').removeClass('hidden').show()
					
					jQuery('#calendarwrapper, #event-pane').animate({'opacity': 1}, 900)					
			}
		)
		return false;
	}

	function addCalCtl(){
		var yearsel  = '<div id="calendarysel">';
			yearsel += month[calmonth];
			yearsel += '<a href="#" class="current">';
			yearsel += calyear;
			yearsel += '</a>';
			yearsel += '<ul>';

			for ( n = 0; n < calysel.length; n++ )
			{
				yearsel += '<li';
					
				if (calyear == calysel[n])	
					yearsel += ' class="current"';
					
				yearsel += '><a href="#">';
				yearsel += calysel[n];
				yearsel += '</a></li>';
			}

			yearsel += '</ul>';
			yearsel += '</div>';
			
		jQuery('#calendarwrapper caption').html('<div id="calendarnav"><a class="ir" href="#" id="calendarprev">Previous Month</a><a class="ir" href="#" id="calendarnext">Next Month</a>'+ yearsel +'</div>').show();
		jQuery('#calendarysel ul').hide();
		jQuery('#calendarysel a.current').toggle(
			function(){
				jQuery(this).addClass('active').next('ul').show();
			},
			function(){
				jQuery(this).removeClass('active').next('ul').hide();
			});

		return false;
	}

	addCalCtl();
	// alert('here');
	jQuery('#event-pane').find('div.date-wrapper').not('div[id^="event-day-'+calyear+'-'+calmonth+'"]').hide()

	jQuery('#calendarprev').live('click',function(e){
		e.preventDefault();
		calmonth--;
		if ( calmonth < 1 ) {
			calmonth=12;
			calyear--;
		}
		cyclecal();
		return false;
	});
	
	jQuery('#calendarnext').live('click', function(e){
		e.preventDefault();
		calmonth++;
		if(calmonth>12){
			calmonth=1;
			calyear++;
		}
		cyclecal();
		
		return false;
	});

	jQuery('#calendarysel a').live('click', function(e){
		e.preventDefault();
		calyear = jQuery(this).html();
		cyclecal();
		return false;
	})

	jQuery('#events-calendar table.calendar tbody tr td').live('click', function(){
		jQuery('#events-calendar table.calendar tbody tr td[class*="active"]').removeClass('active');
		jQuery(this).addClass('active');
		jQuery('#event-pane').find('div.date-wrapper').not('div[id^="event-day-'+calyear+'-'+calmonth+'"]').hide()

		var scrollSel = 'section_' + jQuery(this).attr('id');
		if (jQuery('[name="'+scrollSel+'"]').length > 0)
			jQuery.scrollTo(jQuery('[name="'+scrollSel+'"]'), 1200)
	})
	
	jQuery('#events-calendar table.calendar tbody tr td a').live('click', function(e){
		e.preventDefault();
	})

/* Form enhancements
 ****************************************/
	jQuery('.fancy select').each(
		function(){
			var firstSelected = jQuery(this).find('option:selected').text();
			jQuery('<label/>').html(firstSelected).addClass('fancydrop').insertBefore(this);
		});
	
	jQuery('.fancy select').change(
		function(){
			var newTxt = jQuery(this).find('option:selected').val();
			jQuery(this).parents('.ginput_container').find('label').text(newTxt);
			jQuery(this).parents('div.ginput_container').removeClass('active');
		}).focus(function(){
			jQuery(this).prev('label').addClass('fancydropactive');
		}).blur(function(){
			jQuery(this).prev('label').removeClass('fancydropactive');
		});

	jQuery('.fancy select').mouseover(
		function(){
			jQuery(this).parent('div.ginput_container').addClass('active');
		}).mouseout(
			function(){
				jQuery(this).parent('div.ginput_container').removeClass('active');
			});
		
	jQuery('.recurring input[type=radio][value="Yes"]').each(function(){
		var $this = jQuery(this),
			active = '';
		
		if($this.attr('checked'))
		 	active = ' affirmative-selected';
		
		$this.addClass('hidden');
		$this.siblings('label').addClass('inline').addClass('green');
		jQuery('<div class="radio-item affirmative'+active+'"/>').insertAfter($this.siblings('label'));
	});
	
	jQuery('.recurring input[type=radio][value="No"]').each(function(){
		var $this = jQuery(this),
			active = '';
			
		if($this.attr('checked'))
		 	active = ' negative-selected';

		$this.siblings('label').addClass('inline').addClass('red');		
		$this.addClass('hidden');
		jQuery('<div class="radio-item negative'+active+'"/>').insertAfter($this.siblings('label'));
	});
	
	// jQuery('.radio-item.negative').click(function(){
	// 
	// 
	// });
	
	jQuery('.gfield_checkbox input[type=checkbox]').each(function(){
		var displayHelper = jQuery('<div/>')
			, me = jQuery(this);
		
		if (me.attr('checked') == 'checked')
			displayHelper.addClass('checked');
			
		displayHelper.addClass('cb_fancy').insertBefore(this);
		displayHelper.click(function(){
			me.click();
		})
		me.click(function(){
			var deco = jQuery(this).siblings('div.cb_fancy');
			if (deco.hasClass('checked') == true)
				deco.removeClass('checked')
			else
				deco.addClass('checked')
		});
	});


/* Sidebar Image Gallery
 ****************************************/
	jQuery('#image-gallery div.gallery-thumbs a').click(
		function(e){
			e.preventDefault();
			e.stopPropagation();
			var trigger = jQuery(this),
				imgSrc = trigger.attr('href'),
				imgEle = jQuery('<img />');
			
			trigger.parents('ul').children('li').removeClass('selected');
			trigger.parents('li').addClass('selected');	
			imgEle.attr('src', imgSrc);
			jQuery('#image-gallery div.content').animate(
					{opacity: "0.05"}
				, 	800
				,	function(){
						jQuery('#image-gallery #current-img').html(imgEle);
						jQuery('#image-gallery div.content span.caption-title').html(trigger.find('img').attr('title'));
						jQuery('#image-gallery div.content p').html(trigger.attr('title'));
						jQuery('#image-gallery div.content').animate({opacity: "1"}, 1000);
				});
		}).hover(
			function(){
				var trigger = jQuery(this),
					overlay = jQuery('<div />');
				overlay.addClass('overlay');
				trigger.append(overlay);
			},
			function(){
				jQuery('#image-gallery div.overlay').remove();
			});

jQuery('#gform_3').hide();

// jQuery('.radio-item.affirmative').click(function(e){
	// jQuery('.recurring input[type=radio][value="Yes"]').attr('checked', 'checked')
	// 	.siblings('div.radio-item')
	// 	.addClass('affirmative-selected')
	// $this.click();
// });


jQuery(".recurring div.radio-item").live('click',function(e){
	// console.log(jQuery(this));
	if(jQuery(this).hasClass('affirmative'))
	{
		jQuery('.recurring').find('[class$="-selected"]').each(function(){
			jQuery(this).removeClass('negative-selected').removeClass('affirmative-selected');
		});
		jQuery(".recurring div.radio-item.affirmative").addClass('affirmative-selected');
		jQuery(".recurring div.radio-item.affirmative").siblings('input[type=radio][value="Yes"]').click();
		
		
		jQuery('#gform_2').hide();
		jQuery('#gform_3').show();
				
		// copy field vals over
		jQuery('#gform_2 input[type!=hidden][type!=submit], #gform_2 select, #gform_2 textarea').each(function(){
			if (this.nodeName.toLowerCase() === 'input')
			{
				if (jQuery(this).attr('type') == 'checkbox'){
					jQuery('#gform_3').find('input[name='+jQuery(this).attr('name')+']').attr('checked', jQuery(this).attr('checked'))
					jQuery('#gform_3').find('input:checked').siblings('div.cb_fancy').addClass('checked')
				}else if (jQuery(this).attr('type') == 'radio') {
				}else if (jQuery(this).attr('type') == 'text'){
					jQuery('#gform_3').find('input[name='+ jQuery(this).attr('name')+']').val(jQuery(this).val())
				}
			}
			
			if (this.nodeName.toLowerCase() === 'select')
			{
				var Ele = jQuery('#gform_3').find('select[name='+ jQuery(this).attr('name')+']');
					Ele.parent('div.ginput_container').find('label.fancydrop').html(jQuery(this).val())
					Ele.find('option[value='+ jQuery(this).val()+']').css('border', '1px solid #f00').attr('selected', 'selected')
			}
			jQuery('#input_3_36').val(jQuery('#input_2_13').val());
			if (this.nodeName.toLowerCase() === 'textarea')
			{
				jQuery('#gform_3 textarea[name='+jQuery(this).attr('name')+']').val(jQuery(this).val())
			}
		});
	}else if (jQuery(this).hasClass('negative')){
		jQuery('.recurring').find('[class$="-selected"]').each(function(){
			jQuery(this).removeClass('negative-selected').removeClass('affirmative-selected');
		});
		jQuery(".recurring div.radio-item.negative").addClass('negative-selected')
		jQuery(".recurring div.radio-item.negative").siblings('input[type=radio][value="No"]').click();
			
		
		jQuery('#gform_2').show();
		jQuery('#gform_3').hide();
		// copy field vals over
		jQuery('#gform_3 input[type!=hidden][type!=submit], #gform_3 select, #gform_3 textarea').each(function(){
			if (this.nodeName.toLowerCase() === 'input')
			{
				if (jQuery(this).attr('type') == 'checkbox'){
					jQuery('#gform_2').find('input[name='+jQuery(this).attr('name')+']').attr('checked', jQuery(this).attr('checked'))
					jQuery('#gform_2').find('input:checked').siblings('div.cb_fancy').addClass('checked')
				}else if (jQuery(this).attr('type') == 'radio') {
				}else if (jQuery(this).attr('type') == 'text'){
					jQuery('#gform_2').find('input[name='+ jQuery(this).attr('name')+']').val(jQuery(this).val())
				}
			}
			
			if (this.nodeName.toLowerCase() === 'select')
			{
				var Ele = jQuery('#gform_2').find('select[name='+ jQuery(this).attr('name')+']');
					Ele.parent('div.ginput_container').find('label.fancydrop').html(jQuery(this).val())
					Ele.find('option[value='+ jQuery(this).val()+']').css('border', '1px solid #f00').attr('selected', 'selected')
			}
			jQuery('#input_2_13').val(jQuery('#input_3_36').val());
			if (this.nodeName.toLowerCase() === 'textarea')
			{
				jQuery('#gform_2 textarea[name='+jQuery(this).attr('name')+']').val(jQuery(this).val())
			}
		});
	}
});



jQuery('#gform_submit_button_2').click(function(e){
	e.preventDefault();
	jQuery('#gform_3').parents('.form_cont').remove();
	jQuery(this).parents('form').submit();
});

jQuery('#gform_submit_button_3').click(function(e){
	e.preventDefault();
	jQuery('#gform_2').parents('.form_cont').remove();
	jQuery(this).parents('form').submit();
});








/*  dev nav 
 *******************************/	
	jQuery('.accordion, #headsup-ctl').hide();

	jQuery('#sf-toggle-nav').toggle(function(){
			jQuery('#headsup-ctl').show();
			},
		function(){
			jQuery('#headsup-ctl').hide();
		});
		
	jQuery('.om-debug-output-wrap').each(function(){
		jQuery(this).appendTo(jQuery('#debug-capture div.info'));
		
	});
	
	jQuery('#headsup-ctl a').each(function(){
		var target = jQuery(this).attr('id');
			target = target.substr(0, target.indexOf('-'), target);
			
		jQuery(this).toggle(function(){
			jQuery(this).addClass('active');
			jQuery('#debug-'+ target +', #debug-'+ target + ' div.info,#debug-'+ target +', #debug-'+ target + ' div.info .accordion, #debug-'+ target + ' h3').show();
			},
		function(){
			jQuery(this).removeClass('active');
			jQuery('#debug-'+ target +', #debug-'+target+' div.info, #debug-'+ target + ' div.info .accordion, #debug-'+ target + ' h3').hide();
		});
	});
});

