(function($){

	$(function(){
		
		$('#top-menu li:last-child, #main-menu li:last-child, #sidebar .twitter li:last-child').addClass('last');

        $("a.showDetails").click(function(){
            $(".c-details").hide();
            $(this).next("div.c-details").show();
            return false;
        });
		
		//Default text inputs
		$('input.default-text, textarea.default-text').each(function(){
			
			var $this = $(this);
			var type = this.nodeName.toLowerCase();
			var defaultValue = '';
			
			switch( type ) {
				case 'input':
						defaultValue = $this.attr('value');
					break;
				case 'textarea':
						defaultValue = $this.html();
					break;
			}
			
			$this.focus(function(){
				if( $this.val() == defaultValue ) {
					$this.val('');
				}
			}).blur(function(){
				if( $this.val() == '' ) {
					$this.val(defaultValue);
				}
			});
			
		});

		$('#sidebar>li, .feature>ul>li').hover(
			function(){
				var ul = $(this).children('ul');
				var li = $(this);
				if(ul.length) {
					var ulHeight = ul.get(0).scrollHeight;
					if( !li.hasClass('first') && li.data('menu-items') > 2 ) {
						li.stop().animate({'margin-top': -ulHeight}, 'slow');
					}
					ul.stop().animate({'height': ulHeight}, 'slow');
				}
			},
			function(){
				var ul = $(this).children('ul');
				var li = $(this);
				if(ul.length) {
					if( !li.hasClass('first') || li.data('menu-items') <= 2) {
					li.stop().animate({'margin-top': 0}, 'slow');
					}
					ul.stop().animate({'height': 0},'slow');
				}
			}
		).each(function(){
			var li = $(this);
			li.data('menu-items', li.parent().children('li').length);
		}).filter(':first').addClass('first');
		
		
		$('#testimonials').each(function(){
			var wrapper = $(this);
			var quotes = wrapper.find('blockquote').hide();
			var current = 0;
			
			setInterval(function(){
				var oldIndex = current;
				++current;
				if( current >= quotes.length ) {
					current = 0;
				}
				
				$(quotes.get(oldIndex)).fadeOut('fast');
				$(quotes.get(current)).fadeIn('fast');
			}, 5000);
			
			$(quotes.get(current)).show();
		});
		
		$('a.login-box-trigger').click(function(){
			$('form#login').fadeToggle();
			return false;
		});
		
		// $('.content-header > ul').height( $('.content-header').height() );
		
		//Members
		$('#members ul.letters a').click(function(){
			var li = $(this).parent();
			if(li.hasClass('active')) {
				var id = this.href.split('-').pop();
				$('#members ul.letters li').removeClass('selected');
				li.addClass('selected');
				$('#members ul.letter').hide().filter('.letter-' + id).show();
			}
            if($(this).attr("href")=="#all") {
                $('#members ul.letter').show();
            }
			return false;
		});

        $("ul.letters li").each(function(i,d){
            if($($(d).children("a").attr("href")).length || $(d).children("a").attr("href")=="#all") {
                $(d).addClass("active");
            } else {
                $(d).addClass("disabled");
            }
        });
		
		//$('#members ul.letter').hide();
		
		var selectors = [
			'#sidebar h4',
			'#header blockquote',
			'#main-menu a',
			'#content h1',
			'.content-header h2',
			'.content-header p',
			'.content-header ul a',
			'.submenu a',
			'#sidebar a'
		];
		
		$('.content-header ul.fourth').each(function(){
			var ul = this;
			var wrapper = $(this);
			this.scrollTop = 0;
			
			var prev = $('<a class="prev">Prev</a>').hide().insertAfter(this).css({'opacity': 0.5});
			var next = $('<a class="next">Next</a>').hide().insertAfter(this).css({'opacity': 0.5});
			
			next.click(function(){
				wrapper.animate({'scrollTop': Math.ceil(ul.scrollTop / 109) * 109 + 109}, 'fast', function(){
					renderButtons();
				});
				return false;
			});
			
			var onHover = function() {
				$(this).animate({'opacity': 1}, 'fast');
			};
			
			var outHover = function() {
				$(this).animate({'opacity': 0.5}, 'fast');
			};
			
			prev.hover(onHover, outHover);
			next.hover(onHover, outHover);
			
			
			prev.click(function(){
				wrapper.animate({'scrollTop': Math.ceil(ul.scrollTop / 109) * 109 - 109}, 'fast', function(){
					renderButtons();
				});
				return false;
			});
			
			var renderButtons = function() {
				if( ul.scrollTop == 0 ) {
					prev.hide();
				} else {
					prev.show();
				}
				
				if( ul.scrollTop >= ul.scrollHeight - ul.offsetHeight ) {
					next.hide();
				} else {
					next.show();
				}
			};
			
			renderButtons();
			
		});
		Cufon.replace(selectors.join(','), {'hover': true});
		
		setTimeout(function(){
			$('.hand-1').each(function(){
				var li = $(this);
				var a = li.children('a');
				var multipleRows = false;
				var rowWidth = 0;
				var cufonTop = 0;
				var cufon = a.children('cufon').each(function(id){
					var cufon = $(this);
					
					if(id && cufonTop != cufon.position().top) {
						multipleRows = true;
					}
					
					if(!multipleRows) {
						rowWidth += cufon.width();
					}
					
					if(!id) {
						cufonTop = cufon.position().top;
					}
				});
				
				if( !multipleRows ) {
					li.addClass('hasOneRow');
				}
				
				if( rowWidth <= 90 ) {
					li.addClass('hasShortTitle');
				}
			});
		}, 100);
		
		$('.feature').each(function(){
			var wrapper = $(this);
			var slides = $('.slide');
			var current = 0;
			
			slides.each(function(id){
				var slide = $(this);
				slide.css({
					'position': 'absolute',
					'top': 0,
					'left': 0,
					'opacity': id ? 0 : 1,
					'display': id ? 'none' : 'block'
				});
			});
			
			var show = function(id) {
				var filter = ':nth-child('+ (id + 1) +')';
				slides.not(filter).animate({'opacity': 0}, 'slow', function(){
					$(this).css('display', 'none');
				});
				slides.filter(filter).css({'opacity': 0, 'display': 'block'}).animate({'opacity': 1}, 'slow');
			};
			
			setInterval(function(){
				++current;
				if( current >= slides.length ) {
					current = 0;
				}
				show(current);
			}, 7000);
		});
		
	});

})(jQuery);
