var springfieldx2 = {

	startTimer : null,
	lastHovered : '',
	menuHovered : '',

	styleTwitterList : function () {

		$("a[href^='http://twitter.com/springfieldx2']").each( function() {
			$(this).addClass('twitter_link_style');
		});
		$("a[href^='http://twitter.com/springfieldx2']").hover( function () {
			$(this).css('color','#000');
		}, function () {
			$(this).css('color','#fff');
		}
		);
		$("#twitter_update_list li>span>a").each( function() {
			$(this).css({
				'text-decoration': 'underline'
			});
		});
		$("#twitter_update_list li").each( function(index) {

			var little_image;

			if (index === 0 || index === 4) {
				little_image = 'images/little_homer.png';
			}
			if (index === 1 || index === 5) {
				little_image = 'images/little_marge.png';
			}
			if (index === 2 || index === 6) {
				little_image = 'images/little_bart.png';
			}
			if (index === 3 || index === 7) {
				little_image = 'images/little_lisa.png';
			}
			if (index === 4 || index === 8) {
				little_image = 'images/little_maggie.png';
			}
			if (index === 5 || index === 9) {
				little_image = 'images/little_family.png';
			}

			$(this).prepend('<img src="' + little_image + '" alt="Character Image" class="little_image_style">');
		});
	},
	updateMargins : function () {
		var twitterListHeight = $('#twitter_update_list').height();
		var roundedBoxesHeight = $('#rounded_1').height() + $('#rounded_2').height() +$('#rounded_1').height();

		var marginDifference = twitterListHeight - roundedBoxesHeight;
		var topMargin = marginDifference / 2;

		$('#rounded_2, #rounded_3').css('margin-top',topMargin + 'px');
	},
	enableSlider : function() {
		$("#slider").easySlider({
			controlsShow: false,
			continuous: true,
			auto: true
		});
	},
	menuActions : {
		startTimerToHide: function() {
			springfieldx2.startTimer = setTimeout( function() {
				$('.menu_container_links').fadeOut();
			},750);
		},
		stopHidingTimer: function() {
			clearTimeout(springfieldx2.startTimer);
			springfieldx2.startTimer = null;
		},
		menuHover : function(menu_id) {

			springfieldx2.menuActions.stopHidingTimer();

			springfieldx2.menuHovered = menu_id;

			if (springfieldx2.lastHovered === springfieldx2.menuHovered) {

				if ($('#' + menu_id + '_menu').not(":visible")) {
					$('#' + menu_id + '_menu').fadeIn();
				}

				return false;
			} else {

				springfieldx2.menuActions.stopHidingTimer();

				$('.menu_container_links').hide();
			}

			if (springfieldx2.menuHovered !== 'home') {

				$('#' + menu_id + '_menu').fadeIn();
				//startTimerToHide();

			}

			springfieldx2.lastHovered = springfieldx2.menuHovered;

		}
	},
	validateForm: function() {

		$('#status_message').html('<img src="images/yellow_loader.gif" alt="Loading">');

		var error = '<p class="error">Error</p>';

		var name = $('#name').val();
		var email = $('#email').val();
		var subject = $('#subject').val();
		var message = $('#message').val();

		if (name === '') {
			error = error + 'Please enter your name';
		}

		if (email === '') {
			error = error + '<br>Please enter your e-mail address';
		}

		if (subject === '') {
			error = error + '<br>Please enter a subject';
		}

		if (message === '') {
			error = error + '<br>Please enter your message';
		}

		if (error !== '<p class="error">Error</p>') {
			$('#status_message').html(error);
		} else {

			data = $('[name=input_form]').serialize();

			$("#input_form :input").attr("disabled", true);

			$.ajax({
				type: 'POST',
				url: 'send_message.php',
				data: data,
				success: function() {

					$('#status_message').empty().html('<p><strong>Message successfully sent</strong></p>');

				}
			});

		}

	},
	showMoreInfo: function () {
		var link_value = $('#more_info_link').html();

		if (link_value === 'More Info') {
			$('#more_info').slideDown('slow');
			$('#more_info_link').html('Less Info');
		} else {
			$('#more_info').slideUp('slow');
			$('#more_info_link').html('More Info');
		}
	},
	hideLoadingImage: function() {
		$('#loading_image').fadeOut();
	},
	setFocus: function () {
		$('#name').focus();
	}
};

$(document).ready( function() {

	springfieldx2.styleTwitterList();
	//springfieldx2.updateMargins();
	springfieldx2.enableSlider();
	springfieldx2.setFocus();

	$('.menu_links').mouseover( function() {
		springfieldx2.menuActions.menuHover(this.id);
	});
	$('.menu_links, .menu_container_links').mouseleave( function() {
		springfieldx2.menuActions.startTimerToHide();
	});
	$('.menu_container_links').mouseover( function() {
		springfieldx2.menuActions.stopHidingTimer();
	});
	$('#send_button').click( function(e) {
		e.preventDefault();
		springfieldx2.validateForm();
	});
	$('#more_info_link').click( function(e) {
		e.preventDefault();
		springfieldx2.showMoreInfo();
	});
	$(window).load( function() {
		springfieldx2.hideLoadingImage();
	});
});
