/**
 * Clears a text form element when it has the style 'clear-default'
 */
function clickClear() {
	if ($('input.clear-default').size() > 0) {
		$('input.clear-default').each(function(index) {
			this.defaultValue = $(this).val();
			$(this).click(function() {
				if ($(this).val() == this.defaultValue) {
					$(this).val('');
				};
			})
			.focus(function() {
				if ($(this).val() == this.defaultValue) {
					$(this).val('');
				};
			})
			.blur(function() {
				if ($(this).val() == "") {
					$(this).val(this.defaultValue);
				};
			});
		});
	};
}

/**
 * Builds pull quote divs assuming you've wrappted your content with a span with the class: pullquote-left or pullquote-right
 */
function buildPullQuote () {
	$('span.pullquote-left, span.pullquote-right').each(function(index) {
		var contents = $.trim($(this).html());
		var firstCharacterCode = contents.charCodeAt(0);
		if (firstCharacterCode < 65 || firstCharacterCode > 96) {
			contents = '&hellip; ' + contents;
		};
		
		var lastCharacter = contents.charAt(contents.length - 1);
		if ("?!.".search(lastCharacter) < 0) {
			contents = contents + ' &hellip;';
		};
		var $parent = $(this).parent();
		var $pullquote = $('<div>').attr('class', $(this).attr('class')).html(contents);
		$parent.before($pullquote);
	});
}

function decorateTables () {
	$('table tr:has(td):odd').addClass('odd');
	$('table tr:has(td):even').addClass('even');
	
	$('table tr :first-child').addClass('first');
}

function form () {
	if ($('form#submit-event').size() > 0) {
		
		// Fieldset show or hide
		$('form#submit-event fieldset').hide();
		$('form#submit-event p:has(#submit)').hide();
		
		var	fieldsetToggle = function(isOnLoad) {
			var isOnLoad = (isOnLoad) ? isOnLoad : false;
			if ($('form#submit-event p:first input:checked').size()	> 0) {
				(isOnLoad) ? $('form#submit-event fieldset').show() : $('form#submit-event fieldset').slideDown('normal');
				$('form#submit-event p:has(#submit)').fadeIn();
			} else {
				(isOnLoad) ? $('form#submit-event fieldset').hide() : $('form#submit-event fieldset').slideUp('normal');
				$('form#submit-event p:has(#submit)').fadeOut();
			};
		};
		
		fieldsetToggle(true);
		$('form#submit-event p:first input').click(function() {
			fieldsetToggle();
		});
		
		
		// Preparer 
		var $radios = $('form#submit-event #fieldset-preparer input[type=radio]');
		var $paragraphs = $('form#submit-event #fieldset-preparer p:has(input[type=text])');
		
		var prepToggle = function() {
			var $radiosChecked = $('form#submit-event #fieldset-preparer input[type=radio]:checked');
			
			if ($radiosChecked.val() == "contact") {
				$paragraphs.slideUp();
			} else if ($radiosChecked.val() == "other") {
				$paragraphs.slideDown();
			};
		};

		$paragraphs.hide();		
		prepToggle();
		$radios.change(function() {
			prepToggle();
		});
		
		
		// Date Pickers
		$('#fieldset-when input#start_date, #fieldset-when input#end_date').datepicker();
	};
}

$(document).ready(function() {
	clickClear();
	buildPullQuote();
	decorateTables();
	// form();
});