var LithiumSite = {
	_config: {
		assetBase: 'http://lithify.me'
	},
	_timeout: {},

	setup: function(options) {
		$.extend(this._config, options);
		if (this._config.homepage) {
			this.homepageAnimations();
			this.setupSiteNav();
			this.setupTestimonials();
		}
	},

	homepageAnimations: function() {
		$("ul.jump, #cli, #git-shortcuts").addClass("hidden").hide();
		$("#wrapper, #header").mouseenter(function() {
			if ($("ul.jump, #cli").hasClass("hidden")) {
				$("ul.jump, #cli").removeClass("hidden").animate({
					opacity: "show"
				}, 1000, function() {
					$("#git-shortcuts").show();
				});
			}
		});
	},

	setupSiteNav: function() {
		$('li.collapse ul').hide();
		$('li.collapse').bind("click", function(e) {
			$(e.target).stop(true, true);
			if (!$(e.target).hasClass('open')) {

				$('li.collapse').removeClass('open');
				$(e.target).addClass('open');

				$('li.collapse ul').animate({
					height : 'hide',
					opacity : 'hide'
				}, 'normal');

				$(e.target).children('ul').animate({
					height : 'show',
					opacity : 'show'
				}, 'normal');

			} else {
				$('li.collapse').removeClass('open');
				$('li.collapse ul').animate({
					height : 'hide',
					opacity : 'hide'
				}, 'normal');
			}
		});
	},

	setupTestimonials: function() {
		this.testimonials = {
			max : 20
		};
		this.testimonials.last = this.testimonials.max + 1;
		$('#footer').after('<div id="ridiculous-testimonial"></div>');
		$('#ridiculous-testimonial').dblclick(function() { LithiumSite.randomTestimonial(); });
		this.randomTestimonial();
	},

	randomTestimonial: function() {

		var rand = Math.round((this.testimonials.max) * Math.random());

		while (this.testimonials.last == rand) {
			rand = Math.round((this.testimonials.max) * Math.random());
		}

		this.testimonials.last = rand;

		var image = new Image();
		image.src = this._config.assetBase + '/img/testimonials/' + this.testimonials.last + '.png';

		$('#ridiculous-testimonial').animate({
			height: 'hide',
			opacity: 'hide'
		}, 3000);

		setTimeout(function() {
			$('#ridiculous-testimonial').hide().html(image).animate({
				height: 'show',
				opacity: 'show'
			}, 4000);
		}, 4000);

		setTimeout(function() { LithiumSite.randomTestimonial(); }, 20000);
	}
};
